温度上下限告警处理

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);
// 4. 离线设备
List<SysAgriInfo> offlineDevices = findOfflineDevices(agriInfos, statusMap);
if (offlineDevices.isEmpty()) return;
// 5. 保存消息中心
List<SysMessage> 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<SysAgriInfo> offlineDevices = new ArrayList<>();
for (SysAgriInfo agriInfo : agriInfos) {
if (!offlineMap.containsKey(agriInfo.getImei())) {
if (offlineMap.containsKey(agriInfo.getImei())) {
agriInfo.setTitle("设备离线告警");
agriInfo.setMsg("怀疑设备离线!请及时检查");
offlineDevices.add(agriInfo);

View File

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