|  |  |  | 
|---|
|  |  |  | package com.doumee.task; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.doumee.config.DataSyncConfig; | 
|---|
|  |  |  | 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.HkSyncOrgUserServiceImpl; | 
|---|
|  |  |  | import com.doumee.service.business.impl.hksync.HkSyncVisitServiceImpl; | 
|---|
|  |  |  | import com.doumee.service.business.impl.hksync.*; | 
|---|
|  |  |  | import com.doumee.service.business.impl.hksync.ferp.HkSyncOrgUserToHKServiceImpl; | 
|---|
|  |  |  | 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 org.springframework.beans.factory.annotation.Value; | 
|---|
|  |  |  | import org.springframework.scheduling.annotation.EnableScheduling; | 
|---|
|  |  |  | import org.springframework.scheduling.annotation.Scheduled; | 
|---|
|  |  |  | import org.springframework.stereotype.Component; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.util.Date; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 定时任务 | 
|---|
|  |  |  | * 定时任务(废弃) | 
|---|
|  |  |  | * @author jiangping | 
|---|
|  |  |  | * @date 2021-10-10 14:40:35 | 
|---|
|  |  |  | * https://www.bejson.com/othertools/cron/  cron 表达式生成地址 | 
|---|
|  |  |  | 
|---|
|  |  |  | public class ScheduleTool { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private HkSyncParkServiceImpl hkSyncParkService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private HkSyncImgServiceImpl hkSyncImgService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private HkSyncEmpowerServiceImpl hkSyncEmpowerService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private HkSyncOrgUserServiceImpl hkSyncOrgUserService; | 
|---|
|  |  |  | private HkSyncOrgUserToHKServiceImpl hkSyncOrgUserService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private HkSyncVisitFromHKServiceImpl hkSyncVisitFromHKService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private HkSyncVehicleFromHKServiceImpl hkSyncVehicleFromHKService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private HkSyncVisitServiceImpl hkSyncVisitService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private MemberService memberService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private InterfaceLogService interfaceLogService; | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 是否开发者 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Value("${timing}") | 
|---|
|  |  |  | private Boolean timing; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private DataSyncConfig dataSyncConfig; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 缓存省市区 | 
|---|
|  |  |  | * 每分钟拉取一次今日的访客预约数据 | 
|---|
|  |  |  | * @throws Exception | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Scheduled(fixedDelay= 60*1000) | 
|---|
|  |  |  | @Scheduled(cron= "0 0 23 * * ?") | 
|---|
|  |  |  | public void syncVehicleUpdateData() throws Exception { | 
|---|
|  |  |  | hkSyncVehicleFromHKService.syncVehicleUpdateData(new Date(System.currentTimeMillis()-24*60*60*1000)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 每分钟拉取一次今日的访客预约数据 | 
|---|
|  |  |  | * @throws Exception | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Scheduled(fixedRate= 30*1000) | 
|---|
|  |  |  | public void syncVistAppointData() throws Exception { | 
|---|
|  |  |  | if(Constants.DEALING_FROM_HK_VISIT){ | 
|---|
|  |  |  | return ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | Constants.DEALING_FROM_HK_VISIT =true; | 
|---|
|  |  |  | hkSyncVisitFromHKService.syncVistAppointData(new Date()); | 
|---|
|  |  |  | Constants.DEALING_FROM_HK_VISIT =false; | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | //            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(fixedRate= 60*1000) | 
|---|
|  |  |  | public void downloadHkImg() throws Exception { | 
|---|
|  |  |  | hkSyncImgService.downHKImgs(0); | 
|---|
|  |  |  | if(dataSyncConfig.getNeedDealImg()!=null && dataSyncConfig.getNeedDealImg()){ | 
|---|
|  |  |  | hkSyncImgService.downHKImgs(0); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 定时同步组织信息到海康系统 | 
|---|
|  |  |  | * @throws Exception | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Scheduled(fixedDelay= 60*1000) | 
|---|
|  |  |  | @Scheduled(fixedRate= 60*1000) | 
|---|
|  |  |  | public void syncOrgData() { | 
|---|
|  |  |  | hkSyncOrgUserService.syncOrgData(); | 
|---|
|  |  |  | if(Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) == DataSyncConfig.origin.erp){ | 
|---|
|  |  |  | //如果是ERP系统同步下发 | 
|---|
|  |  |  | hkSyncOrgUserService.syncOrgData(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 定时同步用户信息到海康系统 | 
|---|
|  |  |  | * @throws Exception | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Scheduled(fixedDelay= 60*1000) | 
|---|
|  |  |  | @Scheduled(fixedRate= 60*1000) | 
|---|
|  |  |  | public void syncUserData()  { | 
|---|
|  |  |  | hkSyncOrgUserService.syncUserData(); | 
|---|
|  |  |  | if(Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) == DataSyncConfig.origin.erp) { | 
|---|
|  |  |  | //如果是ERP系统同步下发 | 
|---|
|  |  |  | hkSyncOrgUserService.syncUserData(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 定时同步申请通过的访客数据到海康系统 | 
|---|
|  |  |  | * @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(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|