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())) {