package com.mfh.comna.comn.cfg;
import android.content.Context;
import com.mfh.comn.net.ResponseBody;
import com.mfh.comn.net.data.RspBean;
import com.mfh.comna.comn.ComnApplication;
import com.mfh.comna.comn.database.dao.BaseDbDao;
import com.mfh.comna.comn.logic.JsonParser;
import com.mfh.comna.network.NetFactory;
import net.tsz.afinal.FinalDb;
import net.tsz.afinal.http.AjaxParams;
import java.util.List;
/**
* Created by Administrator on 2015/1/28.
*/
public class ServerConfig {
private Config config = new Config();
private static ServerConfig instance;
private Context context;
FinalDb db;
private ServerConfig(Context context) {
db = BaseDbDao.getDb(); // = FinalDb.create(context);
db.checkTableExist(Config.class);
List<Config> configs = db.findAll(Config.class);
for (Config config : configs) {
if (config.getId().equals(ComnApplication.getVersionCode())) {
this.config = config;
}
}
this.context = context;
}
public static ServerConfig getServerConfig(Context context) {
if (instance == null) {
synchronized (ServerConfig.class) {
if (instance == null) {
instance = new ServerConfig(context);
}
}
}
return instance;
}
public void init() {
try {
AjaxParams params = new AjaxParams();
params.put("buildVersion", String.valueOf(ComnApplication.getVersionCode()));
params.put("platform", "android");
String result = NetFactory.getHttp().getSync(NetFactory.getServerUrl() + "/sysClientConfig/list", params).toString();
ResponseBody body = JsonParser.parserResponse(result, Config.class);
if (body.isSuccess()) {
//TODO
RspBean<Config> bean = (RspBean<Config>) body.getData();
config = bean.getValue();
int count = db.findCountById(Config.class, config.getId());
if (count == 0)
db.save(config);
else
db.update(config);
}
} catch (Exception e) {
e.printStackTrace();
}
// new AjaxCallBack<Object>() {
// @Override
// public void onSuccess(Object o) {
// super.onSuccess(o);
// ResponseBody body = JsonParser.parserResponse(o.toString(), Config.class);
// if (body.isSuccess()) {
// RspBean<Config> bean = (RspBean<Config>) body.getData();
// config = bean.getValue();
// int count = db.findCountById(Config.class, config.getId());
// if (count == 0)
// db.save(config);
// else
// db.update(config);
// }
// }
//
// @Override
// public void onFailure(Throwable t, String strMsg) {
// super.onFailure(t, strMsg);
// }
// });
}
public String getDomain() {
return config.getDomain();
}
public void setDomain(String domain) {
config.setDomain(domain);
}
public String getConfigItem() {
return config.getConfigItem();
}
public void setConfigItem(String configItem) {
config.setConfigItem(configItem);
}
public String getConfigValue() {
return config.getConfigValue();
}
public void setConfigValue(String configValue) {
config.setConfigValue(configValue);
}
public String getConfigCaption() {
return config.getConfigCaption();
}
public void setConfigCaption(String configCaption) {
config.setConfigCaption(configCaption);
}
public String getPlatform() {
return config.getPlatform();
}
public void setPlatform(String platform) {
config.setPlatform(platform);
}
public String getBuildVersion() {
return config.getBuildVersion();
}
public void setBuildVersion(String buildVersion) {
config.setBuildVersion(buildVersion);
}
public void commitWrite() {
db.update(config);
}
}