From b265e95bdf88823c0c47bca62f62cdbea6a0f6c3 Mon Sep 17 00:00:00 2001 From: xy <748613696@qq.com> Date: Wed, 8 Jul 2026 10:05:16 +0800 Subject: [PATCH] =?UTF-8?q?fix(alarm):=20=E4=BF=AE=E5=A4=8D=E5=91=8A?= =?UTF-8?q?=E8=AD=A6=E6=95=B0=E6=8D=AE=E6=98=BE=E7=A4=BA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除多余的代码行和空行 - 添加完整性检测和在线率告警的默认数据构建逻辑 - 实现buildDefaultAlarmData方法为缺失数据提供默认结构 - 确保告警详情显示的完整性和一致性 --- .../service/impl/CsAlarmServiceImpl.java | 32 +++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CsAlarmServiceImpl.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CsAlarmServiceImpl.java index 4e0ad73..c7efd2b 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CsAlarmServiceImpl.java +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CsAlarmServiceImpl.java @@ -185,9 +185,7 @@ public class CsAlarmServiceImpl extends ServiceImpl impl for (int i = 0; i < devIds.length; i++) { for (int i1 = 0; i1 < param.getDevList().size(); i1++) { if (Objects.equals(devIds[i], param.getDevList().get(i1))) { - CsLedgerVO csLedgerVO = ledgerMap.get(devIds[i]); - AlarmVO.AlarmDetail alarmDetail = new AlarmVO.AlarmDetail(); alarmDetail.setEngineeringName(ledgerMap.get(csLedgerVO.getPids().split(",")[1]).getName()); alarmDetail.setProjectName(ledgerMap.get(csLedgerVO.getPids().split(",")[2]).getName()); @@ -243,6 +241,36 @@ public class CsAlarmServiceImpl extends ServiceImpl impl } } } + //特殊处理,如果完整性和在线率没有告警,需要特殊处理下,模拟数据 + if (CollectionUtil.isNotEmpty(result)) { + result.forEach(item->{ + if (Objects.isNull(item.getDataDetails())) { + item.setDataDetails(buildDefaultAlarmData(item.getDevName())); + } + }); + } return result; } + + /** + * 构建默认的告警数据详情 + * @param deviceId 设备ID + * @return 默认结构的 CsAlarmData + */ + private CsAlarmData buildDefaultAlarmData(String deviceId) { + CsAlarmData defaultData = new CsAlarmData(); + defaultData.setDeviceId(deviceId); + // 构建 onlineRate 默认结构 + CsAlarmData.OnlineRateAlarm onlineRate = new CsAlarmData.OnlineRateAlarm(); + onlineRate.setValue(0.0); + onlineRate.setThreshold(0.0); + onlineRate.setIsAbnormal(false); + defaultData.setOnlineRate(onlineRate); + // 构建 integrity 默认结构 + CsAlarmData.IntegrityAlarm integrity = new CsAlarmData.IntegrityAlarm(); + integrity.setThreshold(0.0); + integrity.setMonitorPoints(new ArrayList<>()); + defaultData.setIntegrity(integrity); + return defaultData; + } }