From 8746fea3cc73e29f0b9079d79639dd37c64bde84 Mon Sep 17 00:00:00 2001 From: zhuangtianxiang <2913129173@qq.com> Date: Thu, 13 Mar 2025 17:16:38 +0800 Subject: [PATCH] =?UTF-8?q?refactor(iot):=20=E9=87=8D=E6=9E=84=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6=E7=9B=B8=E5=85=B3=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将 Event 类中的 outputs 字段类型从 List 改为 List - 更新 EventMapper.xml 中的 resultMap 配置 - 修改 RecordDataServiceImpl 中的 recordData 方法,增加打印日志 -移除 TemperatureExceededEventListener 中的 @EventListener 注解 --- .../TemperatureExceededEventListener.java | 1 - .../service/impl/RecordDataServiceImpl.java | 21 +++++++++++------- .../gateway/modules/iot/tsl/entity/Event.java | 2 +- .../resources/mappers/iot/EventMapper.xml | 22 +------------------ 4 files changed, 15 insertions(+), 31 deletions(-) diff --git a/src/main/java/com/zsc/edu/gateway/framework/springEvent/TemperatureExceededEventListener.java b/src/main/java/com/zsc/edu/gateway/framework/springEvent/TemperatureExceededEventListener.java index 1db9799..c9d2174 100644 --- a/src/main/java/com/zsc/edu/gateway/framework/springEvent/TemperatureExceededEventListener.java +++ b/src/main/java/com/zsc/edu/gateway/framework/springEvent/TemperatureExceededEventListener.java @@ -27,7 +27,6 @@ public class TemperatureExceededEventListener implements ApplicationListener events = eventRepository.selectByProductId(device.getProductId()); + if (events.isEmpty()) { + return; // 如果没有事件,直接返回 + } // 遍历每个事件 for (Event event : events) { - // 遍历事件的 outputs 列表中的每个参数 - event.getOutputs().forEach(param -> { - processParam(recordData, param, event); - }); + event.getOutputs().forEach(param -> processParam(recordData, param, event)); } } - private void processParam(RecordData recordData, ParamDto paramDto, Event event) { - Param param = paramMapper.toEntity(paramDto); + private void processParam(RecordData recordData, Param param, Event event) { // 获取参数的默认值和比较类型 Double defaultValue = param.getDefaultValue(); String identifier = param.getIdentifier(); // 检查 recordData 的内容中是否包含该参数的标识符 - if (recordData.getContent().get(identifier) != null) { + Object valueObj = recordData.getContent().get(identifier); + if (valueObj != null) { // 获取参数的实际值 - double value = Double.parseDouble(recordData.getContent().get(identifier).toString()); + double value = Double.parseDouble(valueObj.toString()); Param.CompareType compareType = param.getCompareType(); // 根据比较类型进行不同的处理 diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/entity/Event.java b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/entity/Event.java index 4e2f814..c6c47bd 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/entity/Event.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/entity/Event.java @@ -39,7 +39,7 @@ public class Event extends BaseParam { * 服务输出的参数 */ @TableField(exist = false) - private List outputs; + private List outputs; public enum Type implements IEnum, IState { /** diff --git a/src/main/resources/mappers/iot/EventMapper.xml b/src/main/resources/mappers/iot/EventMapper.xml index 1c68713..436b023 100644 --- a/src/main/resources/mappers/iot/EventMapper.xml +++ b/src/main/resources/mappers/iot/EventMapper.xml @@ -26,26 +26,6 @@ - - - - - - - - - - - - - - - - - - - - select e.*, ip.id as param_id, ip.data_type as param_data_type,