温度上下限告警处理

master
lld 2026-03-31 22:41:54 +08:00
parent 213fcd1fb8
commit 10ce0cf94a
2 changed files with 8 additions and 1 deletions

View File

@ -93,6 +93,7 @@ public class AgriStatusTask {
agriStatusManager.asyncBatchPushMqtt(statusMap); agriStatusManager.asyncBatchPushMqtt(statusMap);
// 4. 离线设备 // 4. 离线设备
List<SysAgriInfo> offlineDevices = findOfflineDevices(agriInfos, statusMap); List<SysAgriInfo> offlineDevices = findOfflineDevices(agriInfos, statusMap);
if (offlineDevices.isEmpty()) return;
// 5. 保存消息中心 // 5. 保存消息中心
List<SysMessage> messages = agriService.saveMessage(offlineDevices); List<SysMessage> messages = agriService.saveMessage(offlineDevices);
// 6. 发送告警消息 // 6. 发送告警消息
@ -120,9 +121,10 @@ public class AgriStatusTask {
offlineMap.put(map.getKey(), map.getValue()); offlineMap.put(map.getKey(), map.getValue());
} }
} }
if (offlineMap.isEmpty()) return new ArrayList<>();
List<SysAgriInfo> offlineDevices = new ArrayList<>(); List<SysAgriInfo> offlineDevices = new ArrayList<>();
for (SysAgriInfo agriInfo : agriInfos) { for (SysAgriInfo agriInfo : agriInfos) {
if (!offlineMap.containsKey(agriInfo.getImei())) { if (offlineMap.containsKey(agriInfo.getImei())) {
agriInfo.setTitle("设备离线告警"); agriInfo.setTitle("设备离线告警");
agriInfo.setMsg("怀疑设备离线!请及时检查"); agriInfo.setMsg("怀疑设备离线!请及时检查");
offlineDevices.add(agriInfo); offlineDevices.add(agriInfo);

View File

@ -58,6 +58,8 @@ public class AgriTempTask {
} }
Map<String, Object> latestDataMap = queryLatestDtuData(imeiList); Map<String, Object> latestDataMap = queryLatestDtuData(imeiList);
List<SysAgriInfo> offlineDevices = findOfflineDevices(agriInfos, latestDataMap); List<SysAgriInfo> offlineDevices = findOfflineDevices(agriInfos, latestDataMap);
if (CollectionUtils.isEmpty(offlineDevices)) return;
List<SysMessage> messages = agriService.saveMessage(offlineDevices); List<SysMessage> messages = agriService.saveMessage(offlineDevices);
// 推送离线告警 // 推送离线告警
frontendControlHandler.sendAlarmMessage(messages); frontendControlHandler.sendAlarmMessage(messages);
@ -107,6 +109,9 @@ public class AgriTempTask {
// 查找离线设备 // 查找离线设备
private List<SysAgriInfo> findOfflineDevices(List<SysAgriInfo> agriInfos, private List<SysAgriInfo> findOfflineDevices(List<SysAgriInfo> agriInfos,
Map<String, Object> latestDataMap) { Map<String, Object> latestDataMap) {
if (CollectionUtils.isEmpty(agriInfos)) {
return agriInfos;
}
List<SysAgriInfo> offlineList = new ArrayList<>(); List<SysAgriInfo> offlineList = new ArrayList<>();
for (SysAgriInfo agriInfo : agriInfos) { for (SysAgriInfo agriInfo : agriInfos) {
if (!latestDataMap.containsKey(agriInfo.getImei())) { if (!latestDataMap.containsKey(agriInfo.getImei())) {