From c6bba5994bbc7e6fdb1841fbc97f90800f9dce0d Mon Sep 17 00:00:00 2001 From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674> Date: 星期二, 25 七月 2017 15:33:07 +0800 Subject: [PATCH] --- /dev/null | 95 ------------------------------- VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/AppApi.java | 4 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DeviceMng.java | 9 +++ VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/DataDownSyn.java | 5 - VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/CommonVariables.java | 2 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/SyncUpAndDownThread.java | 14 +++- VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/BaseSync.java | 1 7 files changed, 26 insertions(+), 104 deletions(-) diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/CommonVariables.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/CommonVariables.java index 44f690c..7c9e650 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/CommonVariables.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/CommonVariables.java @@ -113,7 +113,7 @@ public static boolean FACE_SERVER = false; public static boolean ID_CARD = false; - public static boolean EMULATOR = false; + public static boolean EMULATOR = true; public static boolean androidOffline() { return true; diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DataSynchronService.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DataSynchronService.java deleted file mode 100644 index 846b96a..0000000 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DataSynchronService.java +++ /dev/null @@ -1,109 +0,0 @@ -package cn.com.basic.face.service; - -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 - * 2017/7/18 0018. - */ - -public class DataSynchronService { - - - public static DataSynchronService instance=new DataSynchronService(); - - public static DataSynchronService getInstance(){ - return instance; - } - - - /*** - * 鍚戜笅鍚屾锛岃姹傛湇鍔$锛屾湰鍦版洿鏂板搴旂殑鏁版嵁搴� - * @param synDate 鍚屾鏃堕棿 - * @param tableName 琛ㄥ悕 - * @param deviceCompanyId 璁惧鎵�鍦ㄦ満鏋刬d - * @return - */ - public void serviceToClient(Date synDate, final String tableName, String deviceCompanyId){ - try{ - RequestParams params = new RequestParams(AppApi.BASE_URL + AppApi.DOWN_SYNCHRON); - params.addBodyParameter("tableName", tableName); - params.addBodyParameter("synDate",String.valueOf(synDate)); - params.addBodyParameter("deviceCompanyId",deviceCompanyId); - x.http().post(params, new BaseCommonCallBack() { - public void success() { - SqliteSqlUtil.insert(getExtraList(SqliteSqlBean.class)); - } - }); - }catch(Exception e){ - e.printStackTrace(); - } - - } - - - /*** - * 鍙屽悜鍚屾 - * @param synDate 鍚屾鏃堕棿 - * @param deviceCompanyId 璁惧鎵�鍦ㄦ満鏋刬d - * @param tableName 琛ㄥ悕 - */ - public void twoWaySynchron(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(); - } - - } - - - -} diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DeviceMng.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DeviceMng.java index c6253f0..c8a4d1d 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DeviceMng.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DeviceMng.java @@ -21,9 +21,12 @@ import cn.com.basic.face.discern.common.BaseCommonCallBack; import cn.com.basic.face.discern.entity.Device; import cn.com.basic.face.util.SharedPreferencesUtils; +import cn.com.basic.face.util.SyncUpAndDownThread; public class DeviceMng { public static DeviceMng instance = new DeviceMng(); + + private SyncUpAndDownThread syncUpAndDownThread = null; public static String authorationId = "101"; @@ -141,6 +144,12 @@ } } }); + synchronized (this) { + if (syncUpAndDownThread == null) { + syncUpAndDownThread = new SyncUpAndDownThread(); + syncUpAndDownThread.start(); + } + } } else { Toast.makeText(BaseApplication.getInstance(), "鏁版嵁搴撲腑鎵句笉鍒拌璁惧", Toast.LENGTH_SHORT).show(); } diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/DataDownSyn.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/DataDownSyn.java index e8457b0..5a7ccce 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/DataDownSyn.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/DataDownSyn.java @@ -10,7 +10,6 @@ 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.DataSynchronService; import cn.com.basic.face.service.sqlite.SynchronRecordDao; import cn.com.basic.face.util.AppApi; import cn.com.basic.face.util.SqliteSqlUtil; @@ -25,9 +24,9 @@ public class DataDownSyn { - public static DataSynchronService instance = new DataSynchronService(); + public static DataDownSyn instance = new DataDownSyn(); - public static DataSynchronService getInstance() { + public static DataDownSyn getInstance() { return instance; } diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/BaseSync.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/BaseSync.java index cf7a6a1..3d206d8 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/BaseSync.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/BaseSync.java @@ -14,6 +14,7 @@ } public void sync() { + System.out.println("sync."+this.getClass().getName()+" 姝e湪鍚屾"); if (hasMore()) { syncComplete = false; doSync(); diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/DataTableUpSync.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/DataTableUpSync.java deleted file mode 100644 index 00f0dda..0000000 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/DataTableUpSync.java +++ /dev/null @@ -1,95 +0,0 @@ -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.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.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{ - BaseApplication.getInstance().getAndroidDevice().getCompanyId(); - 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; - } -} diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/AppApi.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/AppApi.java index 8926d78..c6dd6c9 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/AppApi.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/AppApi.java @@ -9,8 +9,8 @@ // public final static String BASE_URL = "http://192.168.1.51:8333/face/"; //public final static String BASE_URL = "http://192.168.1.101:8080/face/"; // public final static String BASE_URL = "http://192.168.1.36:8080/face/"; - public final static String BASE_URL = "http://192.168.1.51:8333/face/"; -// public final static String BASE_URL = "http://192.168.1.81:8080/face/"; +// public final static String BASE_URL = "http://192.168.1.51:8333/face/"; + public final static String BASE_URL = "http://192.168.1.81:8080/face/"; // public final static String BASE_URL="http://192.168.1.160:8080/ssm/"; diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/SyncUpAndDownThread.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/SyncUpAndDownThread.java index b9f1da4..e6cfbde 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/SyncUpAndDownThread.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/SyncUpAndDownThread.java @@ -1,5 +1,7 @@ package cn.com.basic.face.util; +import java.util.Date; + import cn.com.basic.face.service.sync.down.AttendanceDownSync; import cn.com.basic.face.service.sync.down.CompanyDownSync; import cn.com.basic.face.service.sync.down.DepartmentDownSync; @@ -73,15 +75,21 @@ } + Date lastTime = new Date(); + @Override public void run() { firstSync = buildSyncChain(); + firstSync.setAllSyncComplete(false); + firstSync.sync(); while (true) { try { - firstSync.setAllSyncComplete(false); - if (firstSync.lastUpSyncComplete()) { + Date now = new Date(); + double minutes = (now.getTime() - lastTime.getTime())*1.0 / 1000 / 60; + if (minutes >= 5) { + firstSync.setAllSyncComplete(false); firstSync.sync(); - Thread.sleep(5 * 60 * 1000); + lastTime = now; } else { Thread.sleep(10*1000); return; -- Gitblit v1.8.0