package com.docus.bgts.config; import com.docus.bgts.enums.Codes; import com.docus.bgts.facade.IBgtsService; import com.docus.bgts.facade.IMzSyncService; import com.docus.bgts.utils.FileUtils; import com.docus.bgts.utils.HttpUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.util.HashMap; import java.util.Map; @Component public class MyScheduling { @Value("${beat.url}") private String beatUrl; public static String syncFlag; static { syncFlag=FileUtils.getJsonByName("syncFlag").toString(); } @Autowired IBgtsService bgtsService; @Autowired IMzSyncService mzSyncService; private Logger logger = LogManager.getLogger(MyScheduling.class); //5分钟执行一次 @Scheduled(fixedRate = 1000 * 60 * 5) public void beat() { Map params = new HashMap<>(); params.put("code", String.valueOf(FileUtils.getJsonByName("collectorid"))); try { HttpUtils.get(beatUrl, params); } catch (Exception e) { e.printStackTrace(); logger.info("心跳推送出错,可能是住院服务没有开启"); } } /** * 手麻采集器 * 10分钟执行一次 */ @Scheduled(fixedRate = 1000 * 60 * 10) public void collect() { String collectorid = String.valueOf(FileUtils.getJsonByName("collectorid")); String isStartCollect = String.valueOf(FileUtils.getJsonByName("isStartCollect")); if (isStartCollect.equals("0")) { return; } if ((!collectorid.equals(Codes.SMCODE.getCode())) && (!collectorid.equals(Codes.ZZCODE.getCode()))) { return; } bgtsService.timerCollect(); } /** * 增量同步程序 */ @Scheduled(fixedRate = 1000 * 60 * 30) public void syncIntegrality() { if (null == syncFlag || "0".equals(syncFlag)) { } else { mzSyncService.addSyncIntegrality(); } } }