From a2761c246812ce17aee71251c3e9c242a2c5375e Mon Sep 17 00:00:00 2001 From: Jay <csj123456> Date: 星期三, 16 四月 2025 09:39:32 +0800 Subject: [PATCH] 设置默认分页数值 --- shasteel-biz/src/main/java/com/iailab/module/shasteel/mq/consumer/ModelPredictFinishConsumer.java | 46 ++++++++++++++++++++++++++++++++++++---------- 1 files changed, 36 insertions(+), 10 deletions(-) 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 422f03d..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 @@ -20,6 +20,8 @@ import javax.annotation.Resource; import java.math.BigDecimal; import java.util.*; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.CopyOnWriteArrayList; import java.util.stream.Collectors; /** @@ -40,9 +42,11 @@ @Resource private RabbitTemplate rabbitTemplate; - private static String lastRunAlarm = ""; + private static Map<String, Long> lastRunTime = new ConcurrentHashMap<>(); - private static Map<String, Long> lastRunTime = new HashMap<>(); + public static Map<Long, List<String>> finishModuleMap = new ConcurrentHashMap<>(); + + public static List<Long> finishAlarmMap = new CopyOnWriteArrayList<>(); /** * 监听预测完成,产生预警消息 @@ -62,8 +66,15 @@ } // 预测时间 Date predictTime = DateUtils.parse(messageJson.get("predictTime").toString(), DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND); - // 预测模块/预测管网 + // 预测管网 String moduleType = messageJson.get("moduleType").toString(); + if (!finishModuleMap.containsKey(predictTime.getTime())) { + List<String> mList = new ArrayList<>(); + finishModuleMap.put(predictTime.getTime(), mList); + } + finishModuleMap.get(predictTime.getTime()).add(moduleType); + log.info("finishModuleMap:" + JSONObject.toJSONString(finishModuleMap)); + if (moduleType.equals(CommonConstant.NET_BFG) || moduleType.equals(CommonConstant.NET_COG) || moduleType.equals(CommonConstant.NET_LDG) || moduleType.equals(CommonConstant.NET_LDG1) || @@ -110,8 +121,17 @@ log.info("AlarmPreData: " + JSONArray.toJSONString(result)); // 对比预测值是否超限 + int fromIndex = 0; int toIndex = result.size(); - int fromIndex = result.size() - configItem.getCompLength(); + if (!configItem.getCompLength().contains(",")) { + fromIndex = result.size() - Integer.parseInt(configItem.getCompLength().trim()); + } else { + String[] cpArr = configItem.getCompLength().split(","); + fromIndex = Integer.parseInt(cpArr[0]); + toIndex = Integer.parseInt(cpArr[1]); + } + log.info("fromIndex:" + fromIndex); + log.info("toIndex:" + toIndex); List<Object[]> predictList = result.subList(fromIndex, toIndex); for (Object[] data : predictList) { BigDecimal dataValue = new BigDecimal(Double.parseDouble(data[1].toString())).setScale(2, BigDecimal.ROUND_HALF_UP); @@ -186,13 +206,19 @@ } } - if (!CollectionUtils.isEmpty(alarmList)) { - log.info("发送预警消息"); - Map<String, Object> msg = new HashMap<>(2); - msg.put("predictTime", DateUtils.format(predictTime, DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)); - msg.put("alarmList", alarmList); - rabbitTemplate.convertAndSend(RoutingConstant.EXCHANGE, RoutingConstant.Iailab_Model_Alarm, msg); + if (CollectionUtils.isEmpty(alarmList)) { + log.info("alarmList is empty"); + // 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)); + msg.put("alarmList", alarmList); + msg.put("moduleType", moduleType); + rabbitTemplate.convertAndSend(RoutingConstant.EXCHANGE, RoutingConstant.Iailab_Model_Alarm, msg); } } catch (Exception e) { e.printStackTrace(); -- Gitblit v1.9.3