From 10ce0cf94a110534de1b8f07a8282b69a17c27fa Mon Sep 17 00:00:00 2001 From: lld <15027638633@163.com> Date: Tue, 31 Mar 2026 22:41:54 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B8=A9=E5=BA=A6=E4=B8=8A=E4=B8=8B=E9=99=90?= =?UTF-8?q?=E5=91=8A=E8=AD=A6=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/agri/quartz/task/AgriStatusTask.java | 4 +++- .../src/main/java/com/agri/quartz/task/AgriTempTask.java | 5 +++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/agri-quartz/src/main/java/com/agri/quartz/task/AgriStatusTask.java b/agri-quartz/src/main/java/com/agri/quartz/task/AgriStatusTask.java index dbab278..338fdef 100644 --- a/agri-quartz/src/main/java/com/agri/quartz/task/AgriStatusTask.java +++ b/agri-quartz/src/main/java/com/agri/quartz/task/AgriStatusTask.java @@ -93,6 +93,7 @@ public class AgriStatusTask { agriStatusManager.asyncBatchPushMqtt(statusMap); // 4. 离线设备 List offlineDevices = findOfflineDevices(agriInfos, statusMap); + if (offlineDevices.isEmpty()) return; // 5. 保存消息中心 List messages = agriService.saveMessage(offlineDevices); // 6. 发送告警消息 @@ -120,9 +121,10 @@ public class AgriStatusTask { offlineMap.put(map.getKey(), map.getValue()); } } + if (offlineMap.isEmpty()) return new ArrayList<>(); List offlineDevices = new ArrayList<>(); for (SysAgriInfo agriInfo : agriInfos) { - if (!offlineMap.containsKey(agriInfo.getImei())) { + if (offlineMap.containsKey(agriInfo.getImei())) { agriInfo.setTitle("设备离线告警"); agriInfo.setMsg("怀疑设备离线!请及时检查"); offlineDevices.add(agriInfo); diff --git a/agri-quartz/src/main/java/com/agri/quartz/task/AgriTempTask.java b/agri-quartz/src/main/java/com/agri/quartz/task/AgriTempTask.java index 9fc8334..b837232 100644 --- a/agri-quartz/src/main/java/com/agri/quartz/task/AgriTempTask.java +++ b/agri-quartz/src/main/java/com/agri/quartz/task/AgriTempTask.java @@ -58,6 +58,8 @@ public class AgriTempTask { } Map latestDataMap = queryLatestDtuData(imeiList); List offlineDevices = findOfflineDevices(agriInfos, latestDataMap); + if (CollectionUtils.isEmpty(offlineDevices)) return; + List messages = agriService.saveMessage(offlineDevices); // 推送离线告警 frontendControlHandler.sendAlarmMessage(messages); @@ -107,6 +109,9 @@ public class AgriTempTask { // 查找离线设备 private List findOfflineDevices(List agriInfos, Map latestDataMap) { + if (CollectionUtils.isEmpty(agriInfos)) { + return agriInfos; + } List offlineList = new ArrayList<>(); for (SysAgriInfo agriInfo : agriInfos) { if (!latestDataMap.containsKey(agriInfo.getImei())) {