package com.ld.igds.timer; import com.bstek.dorado.annotation.Expose; import com.ld.igds.common.CoreCommonService; import com.ld.igds.es.dto.EsParam; import com.ld.igds.es.manager.EsManager; import com.ld.igds.es.service.CoreEsService; import com.ld.igds.io.constant.OrderRespEnum; import com.ld.igds.io.response.BaseResponse; import com.ld.igds.models.DepotConf; import com.ld.igds.util.ContextUtil; import com.ld.igds.util.DateUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.Date; import java.util.List; /** * 能耗数据获取,当前协议为自动调用,系统每间隔1个小时获取一次 *
* 由于加载的优先级问题,这里直接用Resource引入,并且指定实现类
*/
@Slf4j
@Component(EsScheduled.BEAN_ID)
public class EsScheduled {
public static final String BEAN_ID = "basic.esScheduled";
@Resource(name = CoreCommonService.BEAN_ID)
private CoreCommonService coreCommonService;
@Resource(name = CoreEsService.BEAN_ID)
private CoreEsService coreEsService;
@Resource
private EsManager esManager;
/**
* @Scheduled(cron = "1 0 * * * ?")
* 能耗获取定时器,每小时执行一次,执行时间为每个小时的第一秒
* @Scheduled(cron = "0 0 8,20 * * ?")
* 每天的早上8点和晚上8点执行两次
*/
@Scheduled(cron = "1 0 * * * ?")
public void scheduled() {
doExe(null);
}
/**
* 大屏页面能耗信息推送,每天早上9点更新并推送
*/
@Scheduled(cron = "0 0 9 * * ?")
public void scheduled2() {
log.info("===================系统定时推送能耗信息=======================");
EsParam esParam = new EsParam();
esParam.setCompanyId(ContextUtil.getDefaultCompanyId());
esParam.setStart(DateUtil.getNewByDay(new Date(), -15));
coreEsService.queryScreenEsChart(esParam, true);
}
public void doExe(String companyId) {
log.info("===================系统定时能耗检测=======================");
if(null == companyId){
companyId = ContextUtil.getDefaultCompanyId();
}
List