New file |
| | |
| | | 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.Date;
|
| | | import java.util.List;
|
| | |
|
| | | import cn.com.basic.face.discern.common.BaseCommonCallBack;
|
| | | import cn.com.basic.face.discern.common.SqliteSqlBean;
|
| | | import cn.com.basic.face.service.sqlite.CompanyDao;
|
| | | import cn.com.basic.face.service.sqlite.DeviceDao;
|
| | | import cn.com.basic.face.service.sqlite.DictionaryDao;
|
| | | import cn.com.basic.face.util.AppApi;
|
| | | import cn.com.basic.face.util.SqliteSqlUtil;
|
| | |
|
| | | /**
|
| | | * Created by SJW on 2017/7/24 0024.
|
| | | */
|
| | |
|
| | | public class DataTableUpSync {
|
| | |
|
| | | public static DataTableUpSync instance=new DataTableUpSync();
|
| | | public static DataTableUpSync getInstance(){
|
| | | return instance;
|
| | | }
|
| | |
|
| | |
|
| | | //双向同步
|
| | | public void doSync(Date synDate, final String deviceCompanyId, String tableName) {
|
| | | try{
|
| | | 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",sdf.format(synDate));
|
| | | if("company".equals(tableName)){
|
| | | params.addBodyParameter("data", JSONArray.toJSONString(CompanyDao.getInstance().getCompanyList(deviceCompanyId)));
|
| | | }
|
| | | if("device".equals(tableName)){
|
| | | params.addBodyParameter("data", JSONArray.toJSONString(DeviceDao.getInstance().getDeviceList(deviceCompanyId)));
|
| | | }
|
| | | if("dictionary".equals(tableName)){
|
| | | params.addBodyParameter("data", JSONArray.toJSONString(DictionaryDao.getInstance().getDictionayList(deviceCompanyId)));
|
| | | }
|
| | | params.addBodyParameter("deviceCompanyId",deviceCompanyId);
|
| | | x.http().post(params, new BaseCommonCallBack() {
|
| | | public void success() {
|
| | | if("company".equals(temp)){
|
| | | CompanyDao.getInstance().delCompanyList(deviceCompanyId);
|
| | | }
|
| | | if("device".equals(temp)){
|
| | | DeviceDao.getInstance().delDevice(deviceCompanyId);
|
| | | }
|
| | | if("dictionary".equals(temp)){
|
| | | DictionaryDao.getInstance().delDictionary(deviceCompanyId);
|
| | | }
|
| | |
|
| | | List<SqliteSqlBean> result= getExtraList(SqliteSqlBean.class);
|
| | | SqliteSqlUtil.insert(getExtraList(SqliteSqlBean.class));
|
| | |
|
| | | }
|
| | | });
|
| | | }catch(Exception e){
|
| | | e.printStackTrace();
|
| | | }
|
| | | }
|
| | |
|
| | | /***
|
| | | * 查询某表是否有需要同步的数据
|
| | | * @param tableName 表名
|
| | | * @return
|
| | | */
|
| | | public boolean hasMore(String tableName) {
|
| | | int count=0;
|
| | | if("company".equals(tableName)){
|
| | | count= CompanyDao.getInstance().getSynDataCount();
|
| | | }
|
| | | if("device".equals(tableName)){
|
| | | count=DeviceDao.getInstance().getSynDataCount();
|
| | | }
|
| | | if("dictionary".equals(tableName)){
|
| | | count=DictionaryDao.getInstance().getSynDataCount();
|
| | | }
|
| | | if(count==0){
|
| | | return false;
|
| | | }
|
| | | return true;
|
| | | }
|
| | | }
|