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] --- VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/SyncUpAndDownThread.java | 80 ++++++++++++++++++++++++++++++++++------ 1 files changed, 68 insertions(+), 12 deletions(-) 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 1132b2f..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,8 +1,24 @@ 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; +import cn.com.basic.face.service.sync.down.DeviceDownSync; +import cn.com.basic.face.service.sync.down.DictionaryDownSync; +import cn.com.basic.face.service.sync.down.EmployeeDownSync; +import cn.com.basic.face.service.sync.down.PhoneCallDownSync; +import cn.com.basic.face.service.sync.down.PostDownSync; +import cn.com.basic.face.service.sync.down.RegisterDownSync; +import cn.com.basic.face.service.sync.down.VisitDetailDownSync; +import cn.com.basic.face.service.sync.down.VisitDownSync; import cn.com.basic.face.service.sync.up.AttenderRegisterUpSync; import cn.com.basic.face.service.sync.up.BaseSync; import cn.com.basic.face.service.sync.up.CheckInUpSync; +import cn.com.basic.face.service.sync.up.CompanyUpSync; +import cn.com.basic.face.service.sync.up.DeviceUpSync; +import cn.com.basic.face.service.sync.up.DictionaryUpSync; import cn.com.basic.face.service.sync.up.OfflineSurveillanceUpSync; import cn.com.basic.face.service.sync.up.VisitorRegisterUpSync; @@ -10,30 +26,70 @@ public boolean isThisTimeSyncComplete = false; - BaseSync baseSync; + BaseSync firstSync; - public BaseSync buildUpChain() { + public BaseSync buildSyncChain() { - VisitorRegisterUpSync visitorRegisterSync = VisitorRegisterUpSync.getInstance(); - AttenderRegisterUpSync attenderRegisterSync = AttenderRegisterUpSync.getInstance(); - visitorRegisterSync.setNext(attenderRegisterSync); - CheckInUpSync checkInUpSync = CheckInUpSync.getInstance(); - attenderRegisterSync.setNext(checkInUpSync); + //up + firstSync = DictionaryUpSync.getInstance(); + DeviceUpSync deviceUpSync = DeviceUpSync.getInstance(); + CompanyUpSync companyUpSync = CompanyUpSync.getInstance(); + VisitorRegisterUpSync visitorRegisterUpSync = VisitorRegisterUpSync.getInstance(); + AttenderRegisterUpSync attenderRegisterUpSync = AttenderRegisterUpSync.getInstance(); OfflineSurveillanceUpSync offlineSurveillanceUpSync = OfflineSurveillanceUpSync.getInstance(); + CheckInUpSync checkInUpSync = CheckInUpSync.getInstance(); + + firstSync.setNext(companyUpSync); + companyUpSync.setNext(deviceUpSync); + deviceUpSync.setNext(visitorRegisterUpSync); + visitorRegisterUpSync.setNext(attenderRegisterUpSync); + attenderRegisterUpSync.setNext(checkInUpSync); checkInUpSync.setNext(offlineSurveillanceUpSync); - return visitorRegisterSync; + // down + AttendanceDownSync attendanceDownSync = AttendanceDownSync.getInstance(); + CompanyDownSync companyDownSync = CompanyDownSync.getInstance(); + DepartmentDownSync departmentDownSync = DepartmentDownSync.getInstance(); + DeviceDownSync deviceDownSync = DeviceDownSync.getInstance(); + DictionaryDownSync dictionaryDownSync = DictionaryDownSync.getInstance(); + EmployeeDownSync employeeDownSync = EmployeeDownSync.getInstance(); + PhoneCallDownSync phoneCallDownSync = PhoneCallDownSync.getInstance(); + PostDownSync postDownSync = PostDownSync.getInstance(); + RegisterDownSync registerDownSync = RegisterDownSync.getInstance(); + VisitDetailDownSync visitDetailDownSync = VisitDetailDownSync.getInstance(); + VisitDownSync visitDownSync = VisitDownSync.getInstance(); + + offlineSurveillanceUpSync.setNext(attendanceDownSync); + attendanceDownSync.setNext(companyDownSync); + companyDownSync.setNext(departmentDownSync); + departmentDownSync.setNext(deviceDownSync); + deviceDownSync.setNext(dictionaryDownSync); + dictionaryDownSync.setNext(employeeDownSync); + employeeDownSync.setNext(phoneCallDownSync); + phoneCallDownSync.setNext(postDownSync); + postDownSync.setNext(registerDownSync); + registerDownSync.setNext(visitDetailDownSync); + visitDetailDownSync.setNext(visitDownSync); + + return firstSync; } + Date lastTime = new Date(); + @Override public void run() { - BaseSync baseSync = buildUpChain(); + firstSync = buildSyncChain(); + firstSync.setAllSyncComplete(false); + firstSync.sync(); while (true) { try { - baseSync.setComplete(false); - if (baseSync.lastUpSyncComplete()) { - Thread.sleep(5 * 60 * 1000); + Date now = new Date(); + double minutes = (now.getTime() - lastTime.getTime())*1.0 / 1000 / 60; + if (minutes >= 5) { + firstSync.setAllSyncComplete(false); + firstSync.sync(); + lastTime = now; } else { Thread.sleep(10*1000); return; -- Gitblit v1.8.0