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.HkSyncParkServiceImpl; import com.doumee.service.business.impl.hksync.HkSyncVisitServiceImpl; 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.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 表达式生成地址 */ //@Component //@EnableScheduling public class ScheduleAdminTool { @Autowired private HkSyncVisitFromHKServiceImpl hkSyncVisitFromHKService; @Autowired private HkSyncVehicleFromHKServiceImpl hkSyncVehicleFromHKService; @Autowired private InterfaceLogService interfaceLogService; /** * 是否开发者 */ @Autowired private DataSyncConfig dataSyncConfig; /** * 每天增量拉取车辆数据 * @throws Exception */ @Scheduled(cron= "0 0 23 * * ?") public void syncVehicleUpdateData() throws Exception { if( Constants.formatIntegerNum(dataSyncConfig.getVisitorDataOrigin()) != DataSyncConfig.origin.hk){ return; } hkSyncVehicleFromHKService.syncVehicleUpdateData(new Date(System.currentTimeMillis()-24*60*60*1000)); } /** * 每分钟拉取一次今日的访客预约数据 * @throws Exception */ @Scheduled(fixedRate= 3*60*1000) public void syncVistAppointData() throws Exception { if( Constants.formatIntegerNum(dataSyncConfig.getVisitorDataOrigin()) != DataSyncConfig.origin.hk){ return; } if(Constants.DEALING_FROM_HK_VISIT){ return ; } try { Constants.DEALING_FROM_HK_VISIT =true; hkSyncVisitFromHKService.syncVistAppointDataIccm(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(cron= "0 0 23 * * ?") public void remainLastLogs() throws Exception { if( Constants.formatIntegerNum(dataSyncConfig.getVisitorDataOrigin()) != DataSyncConfig.origin.hk){ return; } interfaceLogService.remainLastLogs(); } }