From 37a3062a7e4f715d8faf8a68d05ee434ef22c56a Mon Sep 17 00:00:00 2001 From: 潘志宝 <979469083@qq.com> Date: 星期四, 10 四月 2025 10:30:38 +0800 Subject: [PATCH] 已全部预测完成,预警消息为空 --- shasteel-biz/src/main/java/com/iailab/module/shasteel/mq/consumer/ModelAlarmConsumer.java | 6 ++++++ shasteel-biz/src/main/java/com/iailab/module/shasteel/mq/consumer/ModelPredictFinishConsumer.java | 8 +++++++- 2 files changed, 13 insertions(+), 1 deletions(-) diff --git a/shasteel-biz/src/main/java/com/iailab/module/shasteel/mq/consumer/ModelAlarmConsumer.java b/shasteel-biz/src/main/java/com/iailab/module/shasteel/mq/consumer/ModelAlarmConsumer.java index 53bb9d4..e9c7e0f 100644 --- a/shasteel-biz/src/main/java/com/iailab/module/shasteel/mq/consumer/ModelAlarmConsumer.java +++ b/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)) { diff --git a/shasteel-biz/src/main/java/com/iailab/module/shasteel/mq/consumer/ModelPredictFinishConsumer.java b/shasteel-biz/src/main/java/com/iailab/module/shasteel/mq/consumer/ModelPredictFinishConsumer.java index 51b68b2..0d57f0b 100644 --- a/shasteel-biz/src/main/java/com/iailab/module/shasteel/mq/consumer/ModelPredictFinishConsumer.java +++ b/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)); -- Gitblit v1.9.3