From 2020f8a388a82b716f5956014c00b2d76a8a1a65 Mon Sep 17 00:00:00 2001 From: sujinwen <sujinwen@454eff88-639b-444f-9e54-f578c98de674> Date: 星期二, 25 七月 2017 16:03:23 +0800 Subject: [PATCH] Failed commit: Default --- VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/SyncUpAndDownThread.java | 74 ++++++++++++++++++++++++++++++++---- 1 files changed, 65 insertions(+), 9 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 6f93f6f..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; @@ -14,26 +30,66 @@ 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() { firstSync = buildSyncChain(); + firstSync.setAllSyncComplete(false); + firstSync.sync(); while (true) { try { - firstSync.setComplete(false); - if (firstSync.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