|  |  | 
 |  |  | import com.doumee.core.constants.ResponseStatus; | 
 |  |  | import com.doumee.core.exception.BusinessException; | 
 |  |  | import com.doumee.core.utils.Constants; | 
 |  |  | import com.doumee.service.business.InterfaceLogService; | 
 |  |  | import com.doumee.service.business.MemberService; | 
 |  |  | import com.doumee.service.business.impl.hksync.HkSyncEmpowerServiceImpl; | 
 |  |  | import com.doumee.service.business.impl.hksync.HkSyncImgServiceImpl; | 
 |  |  | import com.doumee.service.business.impl.hksync.*; | 
 |  |  | import com.doumee.service.business.impl.hksync.ferp.HkSyncOrgUserToHKServiceImpl; | 
 |  |  | import com.doumee.service.business.impl.hksync.HkSyncVisitServiceImpl; | 
 |  |  | import com.doumee.service.business.impl.hksync.fhk.HkSyncVehicleFromHKServiceImpl; | 
 |  |  | import com.doumee.service.business.impl.hksync.fhk.HkSyncVisitFromHKServiceImpl; | 
 |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
 |  |  | 
 |  |  | import java.util.Date; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * 定时任务 | 
 |  |  |  * 定时任务(废弃) | 
 |  |  |  * @author jiangping | 
 |  |  |  * @date 2021-10-10 14:40:35 | 
 |  |  |  * https://www.bejson.com/othertools/cron/  cron 表达式生成地址 | 
 |  |  | 
 |  |  | @EnableScheduling | 
 |  |  | public class ScheduleTool { | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private HkSyncParkServiceImpl hkSyncParkService; | 
 |  |  |     @Autowired | 
 |  |  |     private HkSyncImgServiceImpl hkSyncImgService; | 
 |  |  |     @Autowired | 
 |  |  | 
 |  |  |     private HkSyncVisitServiceImpl hkSyncVisitService; | 
 |  |  |     @Autowired | 
 |  |  |     private MemberService memberService; | 
 |  |  |     @Autowired | 
 |  |  |     private InterfaceLogService interfaceLogService; | 
 |  |  |     /** | 
 |  |  |      * 是否开发者 | 
 |  |  |      */ | 
 |  |  | 
 |  |  |      * 每分钟拉取一次今日的访客预约数据 | 
 |  |  |      * @throws Exception | 
 |  |  |      */ | 
 |  |  |     @Scheduled(fixedDelay= 60*1000) | 
 |  |  |     @Scheduled(fixedRate= 30*1000) | 
 |  |  |     public void syncVistAppointData() throws Exception { | 
 |  |  |         if(Constants.DEALING_FROM_HK_VISIT){ | 
 |  |  |             return ; | 
 |  |  | 
 |  |  |             hkSyncVisitFromHKService.syncVistAppointData(new Date()); | 
 |  |  |             Constants.DEALING_FROM_HK_VISIT =false; | 
 |  |  |         }catch (Exception e){ | 
 |  |  |             throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "对不起,海康同步数据失败~"); | 
 |  |  | //            throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "对不起,海康同步数据失败~"); | 
 |  |  |         }finally { | 
 |  |  |             Constants.DEALING_FROM_HK_VISIT =false; | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |     /** | 
 |  |  |      * 每10分钟拉取一次最新访客登记状态(预约成功和已登记) | 
 |  |  |      * @throws Exception | 
 |  |  |      */ | 
 |  |  |     @Scheduled(fixedRate= 10*60*1000) | 
 |  |  |     public void syncVisitOuttimeStatus() throws Exception { | 
 |  |  |         hkSyncVisitService.getOutTimeVisitRecord(); | 
 |  |  |     } | 
 |  |  |     /** | 
 |  |  |      * 下载海康系统图片数据 | 
 |  |  |      * @throws Exception | 
 |  |  |      */ | 
 |  |  |     @Scheduled(fixedDelay= 60*1000) | 
 |  |  |     @Scheduled(fixedRate= 60*1000) | 
 |  |  |     public void downloadHkImg() throws Exception { | 
 |  |  |         if(dataSyncConfig.getNeedDealImg()!=null && dataSyncConfig.getNeedDealImg()){ | 
 |  |  |             hkSyncImgService.downHKImgs(0); | 
 |  |  | 
 |  |  |      * 定时同步组织信息到海康系统 | 
 |  |  |      * @throws Exception | 
 |  |  |      */ | 
 |  |  |     @Scheduled(fixedDelay= 60*1000) | 
 |  |  |     @Scheduled(fixedRate= 60*1000) | 
 |  |  |     public void syncOrgData() { | 
 |  |  |         if(Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) == DataSyncConfig.origin.erp){ | 
 |  |  |             //如果是ERP系统同步下发 | 
 |  |  | 
 |  |  |      * 定时同步用户信息到海康系统 | 
 |  |  |      * @throws Exception | 
 |  |  |      */ | 
 |  |  |     @Scheduled(fixedDelay= 60*1000) | 
 |  |  |     @Scheduled(fixedRate= 60*1000) | 
 |  |  |     public void syncUserData()  { | 
 |  |  |         if(Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) == DataSyncConfig.origin.erp) { | 
 |  |  |             //如果是ERP系统同步下发 | 
 |  |  | 
 |  |  |      * 定时同步申请通过的访客数据到海康系统 | 
 |  |  |      * @throws Exception | 
 |  |  |      */ | 
 |  |  |     @Scheduled(fixedDelay= 60*1000) | 
 |  |  |     @Scheduled(fixedRate= 60*1000) | 
 |  |  |     public void syncVisitData()  { | 
 |  |  |         hkSyncVisitService.syncVisitData(); | 
 |  |  |     } | 
 |  |  |     /** | 
 |  |  |  /*   *//** | 
 |  |  |      * 定时同步内部人员授权到海康系统 | 
 |  |  |      * @throws Exception | 
 |  |  |      */ | 
 |  |  |     @Scheduled(fixedDelay= 60*1000) | 
 |  |  |      *//* | 
 |  |  |     @Scheduled(fixedRate= 3*1000) | 
 |  |  |     public void syncEmpowerData()  { | 
 |  |  |  | 
 |  |  |         hkSyncEmpowerService.syncEmpowerData(); | 
 |  |  |     } | 
 |  |  |     /** | 
 |  |  |     *//** | 
 |  |  |      * 定时查询人员下发海康结果(任务是否已下载结束) | 
 |  |  |      * @throws Exception | 
 |  |  |      */ | 
 |  |  |     @Scheduled(fixedDelay= 60*1000) | 
 |  |  |      *//* | 
 |  |  |     @Scheduled(fixedRate= 60*1000) | 
 |  |  |     public void syncEmpowerResultData()  { | 
 |  |  |         hkSyncEmpowerService.syncEmpowerResultData(); | 
 |  |  |     } | 
 |  |  |     */ | 
 |  |  |     /** | 
 |  |  |      * 定时查询人员实际下发权限结果,是否已经下载成功 | 
 |  |  |      * @throws Exception | 
 |  |  |      */ | 
 |  |  |     @Scheduled(fixedDelay= 60*1000) | 
 |  |  |      *//* | 
 |  |  |     @Scheduled(fixedRate= 60*1000) | 
 |  |  |     public void syncEmpowerDetailData()  { | 
 |  |  |         hkSyncEmpowerService.syncEmpowerDetailData(); | 
 |  |  |     } | 
 |  |  |     /** | 
 |  |  |      * 定时同步车辆包期到海康系统 | 
 |  |  |      * @throws Exception | 
 |  |  |      */ | 
 |  |  |     @Scheduled(fixedDelay= 60*1000) | 
 |  |  |     public void syncParkBookData()  { | 
 |  |  |         hkSyncImgService.syncParkBookData(); | 
 |  |  |     } | 
 |  |  |     }*/ | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 定时冻结内部人员 | 
 |  |  |      */ | 
 |  |  |     @Scheduled(fixedDelay= 60*1000) | 
 |  |  | //    @Scheduled(fixedRate= 60*1000) | 
 |  |  |     public void memberFreeze()  { | 
 |  |  |         memberService.memberFreeze(); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 每天清理超过一周的接口日志数据(清除和安防平台对接的接口数据) | 
 |  |  |      * @throws Exception | 
 |  |  |      */ | 
 |  |  |     @Scheduled(cron= "0 0 23 * * ?") | 
 |  |  |     public void clearThreeMonthLog() throws Exception { | 
 |  |  |         interfaceLogService.clearThreeMonthLog(); | 
 |  |  |     } | 
 |  |  | } |