From 3c369d0244545bb4d38bb4b757d69b3968ba9238 Mon Sep 17 00:00:00 2001 From: xy <748613696@qq.com> Date: Tue, 14 Jul 2026 14:42:53 +0800 Subject: [PATCH] =?UTF-8?q?fix(alarm):=20=E4=BF=AE=E5=A4=8D=E6=8A=A5?= =?UTF-8?q?=E8=AD=A6=E6=9C=8D=E5=8A=A1=E4=B8=AD=E7=9A=84=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E5=8F=91=E9=80=81=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除注释掉的appNotificationService调用代码 - 修复事件服务中消息发送参数的条件判断逻辑 - 更新设备模型服务中监测点模板生成逻辑,支持不同设备类型 - 修复心跳服务中设备离线通知逻辑,暂时关闭消息发送功能 - 添加对直接连接设备和便携式设备的特殊处理逻辑 - 优化监测点名称生成规则,增加输出侧监测点支持 --- .../service/impl/CsDevModelServiceImpl.java | 48 +++++++++++++------ .../service/impl/CsHeartServiceImpl.java | 3 +- .../service/impl/CsAlarmServiceImpl.java | 3 -- .../service/impl/EventServiceImpl.java | 26 +++++----- 4 files changed, 49 insertions(+), 31 deletions(-) diff --git a/iot-access/access-boot/src/main/java/com/njcn/access/service/impl/CsDevModelServiceImpl.java b/iot-access/access-boot/src/main/java/com/njcn/access/service/impl/CsDevModelServiceImpl.java index 72fd1bd..cb97631 100644 --- a/iot-access/access-boot/src/main/java/com/njcn/access/service/impl/CsDevModelServiceImpl.java +++ b/iot-access/access-boot/src/main/java/com/njcn/access/service/impl/CsDevModelServiceImpl.java @@ -43,6 +43,7 @@ import com.njcn.system.pojo.param.CsWaveParam; import com.njcn.system.pojo.param.EleEpdPqdParam; import com.njcn.system.pojo.param.EleEvtParam; import com.njcn.system.pojo.po.EleEpdPqd; +import com.njcn.system.pojo.po.SysDicTreePO; import com.njcn.system.pojo.vo.DictTreeVO; import com.njcn.web.utils.RequestUtil; import lombok.AllArgsConstructor; @@ -125,7 +126,7 @@ public class CsDevModelServiceImpl implements ICsDevModelService { //2.录入数据集、详细数据(主设备、模块、监测设备、便携式设备...) analysisDataSet(templateDto,csDevModelPo.getId()); //3.录入监测点模板表(记录当前模板有几个监测点,治理类型的模板目前规定1个监测点,电能质量模板根据逻辑子设备来) - addCsLineModel(templateDto,csDevModelPo.getId()); + addCsLineModel(templateDto,csDevModelPo.getId(),devType); //4.如果是云前置的模板录入,重新录入完需要将模板关系信息重新录入 if (Objects.equals(devType,DicDataEnum.DEV_CLD.getCode())) { List list = eequipmentFeignClient.getAll().getData(); @@ -1205,7 +1206,7 @@ public class CsDevModelServiceImpl implements ICsDevModelService { /** * 根据模板文件来录入监测点模板 */ - private void addCsLineModel(TemplateDto templateDto,String pId) { + private void addCsLineModel(TemplateDto templateDto,String pId,String devType) { List result = new ArrayList<>(); //fixme 先用数据类型来区分模板的类型 if (templateDto.getDataList().contains("Apf") || templateDto.getDataList().contains("Dvr")){ @@ -1217,19 +1218,36 @@ public class CsDevModelServiceImpl implements ICsDevModelService { result.add(csLineModel); } else { List list = templateDto.getClDevDtoList(); - list.forEach(item->{ - CsLineModel csLineModel = new CsLineModel(); - csLineModel.setLineId(IdUtil.fastSimpleUUID()); - csLineModel.setPid(pId); - if (Objects.equals(item.getClDid(),1) || Objects.equals(item.getLocation(), TypeEnum.GUID.getCode())){ - csLineModel.setName("电网侧监测点"); - csLineModel.setPosition(dicDataFeignClient.getDicDataByCode(DicDataEnum.GRID_SIDE.getCode()).getData().getId()); - } else if (Objects.equals(item.getClDid(),2) || Objects.equals(item.getLocation(), TypeEnum.LOAD.getCode())){ - csLineModel.setName("负载侧监测点"); - csLineModel.setPosition(dicDataFeignClient.getDicDataByCode(DicDataEnum.LOAD_SIDE.getCode()).getData().getId()); - } - result.add(csLineModel); - }); + //根据设备型号获取设备类型,根据设备类型生成监测点模板表数据 + DictTreeVO vo1 = dictTreeFeignClient.queryByCode(devType).getData(); + SysDicTreePO po1 = dictTreeFeignClient.queryById(vo1.getPid()).getData(); + if (Objects.equals(po1.getCode(),"Direct_Connected_Device") || Objects.equals(po1.getCode(),"Portable")){ + list.forEach(item->{ + CsLineModel csLineModel = new CsLineModel(); + csLineModel.setLineId(IdUtil.fastSimpleUUID()); + csLineModel.setPid(pId); + if (Objects.equals(item.getClDid(),1) || Objects.equals(item.getLocation(), TypeEnum.GUID.getCode())){ + csLineModel.setName("电网侧监测点"); + csLineModel.setPosition(dicDataFeignClient.getDicDataByCode(DicDataEnum.GRID_SIDE.getCode()).getData().getId()); + } else if (Objects.equals(item.getClDid(),2) || Objects.equals(item.getLocation(), TypeEnum.LOAD.getCode())){ + csLineModel.setName("负载侧监测点"); + csLineModel.setPosition(dicDataFeignClient.getDicDataByCode(DicDataEnum.LOAD_SIDE.getCode()).getData().getId()); + } else { + csLineModel.setName("输出侧监测点"); + csLineModel.setPosition(dicDataFeignClient.getDicDataByCode(DicDataEnum.OUTPUT_SIDE.getCode()).getData().getId()); + } + result.add(csLineModel); + }); + } else { + list.forEach(item->{ + CsLineModel csLineModel = new CsLineModel(); + csLineModel.setLineId(IdUtil.fastSimpleUUID()); + csLineModel.setPid(pId); + csLineModel.setName(item.getClDid() + "#监测点"); + csLineModel.setPosition(""); + result.add(csLineModel); + }); + } } if (CollectionUtil.isNotEmpty(result)){ csLineModelService.addList(result); diff --git a/iot-access/access-boot/src/main/java/com/njcn/access/service/impl/CsHeartServiceImpl.java b/iot-access/access-boot/src/main/java/com/njcn/access/service/impl/CsHeartServiceImpl.java index b2a914e..28e3de5 100644 --- a/iot-access/access-boot/src/main/java/com/njcn/access/service/impl/CsHeartServiceImpl.java +++ b/iot-access/access-boot/src/main/java/com/njcn/access/service/impl/CsHeartServiceImpl.java @@ -122,7 +122,8 @@ public class CsHeartServiceImpl implements ICsHeartService { csEquipmentDeliveryService.updateRunStatusBynDid(nDid, AccessEnum.OFFLINE.getCode()); //装置调整为注册状态 csEquipmentDeliveryService.updateStatusBynDid(nDid,AccessEnum.REGISTERED.getCode(),null,null); - sendMessage(nDid); + //设备离线通知关闭 + //sendMessage(nDid); //记录装置掉线时间 PqsCommunicateDto dto = new PqsCommunicateDto(); dto.setTime(LocalDateTime.now().format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN))); diff --git a/iot-analysis/analysis-zl-event/zl-event-boot/src/main/java/com/njcn/zlevent/service/impl/CsAlarmServiceImpl.java b/iot-analysis/analysis-zl-event/zl-event-boot/src/main/java/com/njcn/zlevent/service/impl/CsAlarmServiceImpl.java index cf85811..15d118f 100644 --- a/iot-analysis/analysis-zl-event/zl-event-boot/src/main/java/com/njcn/zlevent/service/impl/CsAlarmServiceImpl.java +++ b/iot-analysis/analysis-zl-event/zl-event-boot/src/main/java/com/njcn/zlevent/service/impl/CsAlarmServiceImpl.java @@ -21,7 +21,6 @@ import com.njcn.system.pojo.po.EleEpdPqd; import com.njcn.system.pojo.po.SysDicTreePO; import com.njcn.zlevent.mapper.CsEventMapper; import com.njcn.zlevent.pojo.po.CsEventLogs; -//import com.njcn.zlevent.service.AppNotificationService; import com.njcn.zlevent.service.ICsAlarmService; import com.njcn.zlevent.service.ICsEventLogsService; import com.njcn.zlevent.service.ICsEventService; @@ -138,11 +137,9 @@ public class CsAlarmServiceImpl extends ServiceImpl im if (Objects.isNull(item.getCode())){ msgSendParam.setEventName(item.getName()); msgSendFeignClient.appMsgSend(msgSendParam); -// appNotificationService.sendAppNotification(2,item.getType(),po.getId(),item.getName(),eventTime,id,po.getNdid(),null,null,null); } else { msgSendParam.setEventName(item.getCode()); msgSendFeignClient.appMsgSend(msgSendParam); -// appNotificationService.sendAppNotification(2,item.getType(),po.getId(),item.getCode(),eventTime,id,po.getNdid(),null, null,null); //更新字典信息 EleEpdPqd eleEpdPqd = epdFeignClient.findByName(item.getName()).getData(); EleEpdPqdParam.EleEpdPqdUpdateParam updateParam = new EleEpdPqdParam.EleEpdPqdUpdateParam(); diff --git a/iot-analysis/analysis-zl-event/zl-event-boot/src/main/java/com/njcn/zlevent/service/impl/EventServiceImpl.java b/iot-analysis/analysis-zl-event/zl-event-boot/src/main/java/com/njcn/zlevent/service/impl/EventServiceImpl.java index 6134b50..b4c73b5 100644 --- a/iot-analysis/analysis-zl-event/zl-event-boot/src/main/java/com/njcn/zlevent/service/impl/EventServiceImpl.java +++ b/iot-analysis/analysis-zl-event/zl-event-boot/src/main/java/com/njcn/zlevent/service/impl/EventServiceImpl.java @@ -247,18 +247,20 @@ public class EventServiceImpl implements IEventService { } } } - MsgSendParam msgSendParam = new MsgSendParam(); - msgSendParam.setEventType(1); - msgSendParam.setType("2"); - msgSendParam.setDevId(po.getId()); - msgSendParam.setEventName(item.getName()); - msgSendParam.setEventTime(eventTime); - msgSendParam.setId(id); - msgSendParam.setNDid(po.getNdid()); - msgSendParam.setAmplitude(amplitude); - msgSendParam.setPersistTime(persistTime); - msgSendParam.setDropZone(dropZone); - msgSendFeignClient.appMsgSend(msgSendParam); + if (Objects.equals(item.getType(),"2")){ + MsgSendParam msgSendParam = new MsgSendParam(); + msgSendParam.setEventType(1); + msgSendParam.setType("2"); + msgSendParam.setDevId(po.getId()); + msgSendParam.setEventName(item.getName()); + msgSendParam.setEventTime(eventTime); + msgSendParam.setId(id); + msgSendParam.setNDid(po.getNdid()); + msgSendParam.setAmplitude(amplitude); + msgSendParam.setPersistTime(persistTime); + msgSendParam.setDropZone(dropZone); + msgSendFeignClient.appMsgSend(msgSendParam); + } //如果是暂降事件,则异步发送短信 if (Objects.equals(item.getName(), "Evt_Sys_DipStr")) { MsgSendParam msgSendParam2 = new MsgSendParam();