沙钢智慧能源系统后端代码
潘志宝
6 天以前 37a3062a7e4f715d8faf8a68d05ee434ef22c56a
已全部预测完成,预警消息为空
已修改2个文件
14 ■■■■■ 文件已修改
shasteel-biz/src/main/java/com/iailab/module/shasteel/mq/consumer/ModelAlarmConsumer.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
shasteel-biz/src/main/java/com/iailab/module/shasteel/mq/consumer/ModelPredictFinishConsumer.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
shasteel-biz/src/main/java/com/iailab/module/shasteel/mq/consumer/ModelAlarmConsumer.java
@@ -94,6 +94,12 @@
        log.info("已全部预测完成,清空finishModuleMap");
        ModelPredictFinishConsumer.finishModuleMap.clear();
        if (!ModelPredictFinishConsumer.finishAlarmMap.contains(predictTime.getTime())) {
            log.info("已全部预测完成,预警消息为空");
            return;
        }
        ModelPredictFinishConsumer.finishAlarmMap.clear();
        log.info("查找需要执行的调度方案");
        List<StScheduleSchemeDTO> scheduleSchemeList = mcsApi.listScheduleScheme(ScheduleTriggerMethodEnum.EVENT.getCode(), routingKey);
        if (CollectionUtils.isEmpty(scheduleSchemeList)) {
shasteel-biz/src/main/java/com/iailab/module/shasteel/mq/consumer/ModelPredictFinishConsumer.java
@@ -21,6 +21,7 @@
import java.math.BigDecimal;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.stream.Collectors;
/**
@@ -44,6 +45,8 @@
    private static Map<String, Long> lastRunTime = new ConcurrentHashMap<>();
    public static Map<Long, List<String>> finishModuleMap = new ConcurrentHashMap<>();
    public static List<Long> finishAlarmMap = new CopyOnWriteArrayList<>();
    /**
     * 监听预测完成,产生预警消息
@@ -205,8 +208,11 @@
                if (CollectionUtils.isEmpty(alarmList)) {
                    log.info("alarmList is empty");
                    return;
                    // return;
                } else {
                    finishAlarmMap.add(predictTime.getTime());
                }
                log.info("发送预警消息");
                Map<String, Object> msg = new HashMap<>(2);
                msg.put("predictTime", DateUtils.format(predictTime, DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND));