You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

63 lines
1.9 KiB
Java

package com.docus.bgts.config;
import com.docus.bgts.enums.Codes;
import com.docus.bgts.facade.IBgtsService;
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;
@Autowired
IBgtsService bgtsService;
private Logger logger = LogManager.getLogger(MyScheduling.class);
//5分钟执行一次
@Scheduled(fixedRate = 1000 * 60 * 5)
public void beat() {
// String collectorid = String.valueOf(FileUtils.getJsonByName("collectorid"));
// if(collectorid.equals(Codes.SMCODE.getCode())){
// return;
// }
Map<String, String> 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())){
return;
}
bgtsService.timerCollect();
}
}