package cn.com.basic.face.service.sync.up;
|
|
import com.alibaba.fastjson.JSONArray;
|
|
import org.xutils.http.RequestParams;
|
import org.xutils.x;
|
|
import java.text.SimpleDateFormat;
|
import java.util.List;
|
|
import cn.com.basic.face.base.BaseApplication;
|
import cn.com.basic.face.discern.common.BaseCommonCallBack;
|
import cn.com.basic.face.discern.common.SqliteSqlBean;
|
import cn.com.basic.face.service.sqlite.DictionaryDao;
|
import cn.com.basic.face.service.sqlite.SynchronRecordDao;
|
import cn.com.basic.face.util.AppApi;
|
import cn.com.basic.face.util.SqliteSqlUtil;
|
|
/**
|
*
|
* dictionary双向同步
|
* Created by SJW on 2017/7/25 0025.
|
*/
|
|
public class DictionaryUpSync extends BaseSync {
|
|
public static DeviceUpSync instance=new DeviceUpSync();
|
public static DeviceUpSync getInstance(){
|
return instance;
|
}
|
|
|
/***
|
* dictionary表双向同步
|
*/
|
public void doSync() {
|
try{
|
String tableName = "dictionary";
|
RequestParams params = new RequestParams(AppApi.BASE_URL + AppApi.TWO_WAY_SYNCHRON);
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
final String temp=tableName;
|
params.addBodyParameter("tableName", tableName);
|
params.addBodyParameter("synDate", SynchronRecordDao.getInstance().getSynRecord(tableName).getSynchronTime());
|
params.addBodyParameter("data", JSONArray.toJSONString(DictionaryDao.getInstance().getDictionayList(BaseApplication.getInstance().getAndroidDevice().getCompanyId())));
|
params.addBodyParameter("deviceCompanyId",BaseApplication.getInstance().getAndroidDevice().getCompanyId());
|
x.http().post(params, new BaseCommonCallBack() {
|
public void success() {
|
DictionaryDao.getInstance().delDictionary(BaseApplication.getInstance().getAndroidDevice().getCompanyId());
|
List<SqliteSqlBean> result= getExtraList(SqliteSqlBean.class);
|
SqliteSqlUtil.insert(getExtraList(SqliteSqlBean.class));
|
sync();
|
}
|
});
|
}catch(Exception e){
|
e.printStackTrace();
|
}
|
}
|
|
/***
|
* 查询dictionary表是否有需要同步的数据
|
* @return
|
*/
|
public boolean hasMore() {
|
int count= DictionaryDao.getInstance().getSynDataCount();
|
if(count==0){
|
return false;
|
}
|
return true;
|
}
|
|
}
|