xuxiuxi
2017-07-25 8cdaa6689f3ff3c38afe2fd4f947df9814f69209
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/SyncUpAndDownThread.java
@@ -1,8 +1,22 @@
package cn.com.basic.face.util;
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,15 +28,48 @@
    public BaseSync buildSyncChain() {
        //up
        firstSync = DictionaryUpSync.getInstance();
        DeviceUpSync deviceUpSync = DeviceUpSync.getInstance();
        CompanyUpSync companyUpSync = CompanyUpSync.getInstance();
        VisitorRegisterUpSync visitorRegisterUpSync = VisitorRegisterUpSync.getInstance();
        AttenderRegisterUpSync attenderRegisterUpSync = AttenderRegisterUpSync.getInstance();
        visitorRegisterUpSync.setNext(attenderRegisterUpSync);
        CheckInUpSync checkInUpSync = CheckInUpSync.getInstance();
        attenderRegisterUpSync.setNext(checkInUpSync);
        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 visitorRegisterUpSync;
        // 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;
    }
@@ -31,8 +78,9 @@
        firstSync = buildSyncChain();
        while (true) {
            try {
                firstSync.setComplete(false);
                firstSync.setAllSyncComplete(false);
                if (firstSync.lastUpSyncComplete()) {
                    firstSync.sync();
                    Thread.sleep(5 * 60 * 1000);
                } else {
                    Thread.sleep(10*1000);