| | |
| | | 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.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.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 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; |
| | | |
| | | /** |
| | | * 定时任务 |
| | |
| | | @Autowired |
| | | private HkSyncImgServiceImpl hkSyncImgService; |
| | | @Autowired |
| | | private HkSyncOrgUserServiceImpl hkSyncOrgUserService; |
| | | private HkSyncEmpowerServiceImpl hkSyncEmpowerService; |
| | | @Autowired |
| | | private HkSyncOrgUserToHKServiceImpl hkSyncOrgUserService; |
| | | @Autowired |
| | | private HkSyncVisitFromHKServiceImpl hkSyncVisitFromHKService; |
| | | @Autowired |
| | | private HkSyncVehicleFromHKServiceImpl hkSyncVehicleFromHKService; |
| | | @Autowired |
| | | private HkSyncVisitServiceImpl hkSyncVisitService; |
| | | @Autowired |
| | | private MemberService memberService; |
| | | /** |
| | | * 是否开发者 |
| | | */ |
| | | @Value("${timing}") |
| | | private Boolean timing; |
| | | |
| | | @Autowired |
| | | private DataSyncConfig dataSyncConfig; |
| | | |
| | | /** |
| | | * 缓存省市区 |
| | | * 每分钟拉取一次今日的访客预约数据 |
| | | * @throws Exception |
| | | */ |
| | | @Scheduled(cron= "0 0 23 * * ?") |
| | | public void syncVehicleUpdateData() throws Exception { |
| | | hkSyncVehicleFromHKService.syncVehicleUpdateData(new Date(System.currentTimeMillis()-24*60*60*1000)); |
| | | } |
| | | /** |
| | | * 每分钟拉取一次今日的访客预约数据 |
| | | * @throws Exception |
| | | */ |
| | | @Scheduled(fixedDelay= 60*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; |
| | | } |
| | | } |
| | | /** |
| | | * 下载海康系统图片数据 |
| | | * @throws Exception |
| | | */ |
| | | @Scheduled(fixedDelay= 60*1000) |
| | | public void downloadHkImg() throws Exception { |
| | | hkSyncImgService.downHKImgs(0); |
| | | if(dataSyncConfig.getNeedDealImg()!=null && dataSyncConfig.getNeedDealImg()){ |
| | | hkSyncImgService.downHKImgs(0); |
| | | } |
| | | } |
| | | /** |
| | | * 定时同步组织信息到海康系统 |
| | |
| | | */ |
| | | @Scheduled(fixedDelay= 60*1000) |
| | | public void syncOrgData() { |
| | | hkSyncOrgUserService.syncOrgData(); |
| | | } |
| | | /** |
| | | * 定时同步组织信息到海康系统 |
| | | * @throws Exception |
| | | */ |
| | | @Scheduled(fixedDelay= 60*1000) |
| | | public void syncVisitData() { |
| | | hkSyncVisitService.syncVisitData(); |
| | | if(Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) == DataSyncConfig.origin.erp){ |
| | | //如果是ERP系统同步下发 |
| | | hkSyncOrgUserService.syncOrgData(); |
| | | } |
| | | } |
| | | /** |
| | | * 定时同步用户信息到海康系统 |
| | |
| | | */ |
| | | @Scheduled(fixedDelay= 60*1000) |
| | | public void syncUserData() { |
| | | hkSyncImgService.syncUserData(); |
| | | if(Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) == DataSyncConfig.origin.erp) { |
| | | //如果是ERP系统同步下发 |
| | | hkSyncOrgUserService.syncUserData(); |
| | | } |
| | | } |
| | | /** |
| | | * 定时同步申请通过的访客数据到海康系统 |
| | | * @throws Exception |
| | | */ |
| | | @Scheduled(fixedDelay= 60*1000) |
| | | public void syncVisitData() { |
| | | hkSyncVisitService.syncVisitData(); |
| | | } |
| | | /** |
| | | * 定时同步内部人员授权到海康系统 |
| | | * @throws Exception |
| | | */ |
| | | @Scheduled(fixedDelay= 60*1000) |
| | | public void syncEmpowerData() { |
| | | |
| | | hkSyncEmpowerService.syncEmpowerData(); |
| | | } |
| | | /** |
| | | * 定时查询人员下发海康结果(任务是否已下载结束) |
| | | * @throws Exception |
| | | */ |
| | | @Scheduled(fixedDelay= 60*1000) |
| | | public void syncEmpowerResultData() { |
| | | hkSyncEmpowerService.syncEmpowerResultData(); |
| | | } |
| | | /** |
| | | * 定时查询人员实际下发权限结果,是否已经下载成功 |
| | | * @throws Exception |
| | | */ |
| | | @Scheduled(fixedDelay= 60*1000) |
| | | public void syncEmpowerDetailData() { |
| | | hkSyncEmpowerService.syncEmpowerDetailData(); |
| | | } |
| | | /** |
| | | * 定时同步车辆包期到海康系统 |
| | | * @throws Exception |
| | | */ |
| | | @Scheduled(fixedDelay= 60*1000) |
| | | public void syncParkBookData() { |
| | | hkSyncImgService.syncParkBookData(); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 定时冻结内部人员 |
| | | */ |
| | | @Scheduled(fixedDelay= 60*1000) |
| | | public void memberFreeze() { |
| | | memberService.memberFreeze(); |
| | | } |
| | | |
| | | } |