From db19114ba7f8b2a6bf3301f3a3ddadd844a57177 Mon Sep 17 00:00:00 2001 From: alsszer Date: Mon, 20 Oct 2025 14:48:50 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E9=85=8D=E7=BD=AE=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E6=8A=A5=E8=AD=A6=E5=90=8E=E7=BE=A4=E5=8F=91=E6=B6=88?= =?UTF-8?q?=E6=81=AFBUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/cc/iotkit/data/manager/IAlertConfigData.java | 2 ++ .../main/java/cc/iotkit/data/dao/AlertConfigRepository.java | 2 ++ .../java/cc/iotkit/data/service/AlertConfigDataImpl.java | 6 ++++++ .../main/java/cc/iotkit/plugin/main/ThingServiceImpl.java | 6 ++++-- 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/iot-dao/iot-data-service/src/main/java/cc/iotkit/data/manager/IAlertConfigData.java b/iot-dao/iot-data-service/src/main/java/cc/iotkit/data/manager/IAlertConfigData.java index e6aca73..3932964 100644 --- a/iot-dao/iot-data-service/src/main/java/cc/iotkit/data/manager/IAlertConfigData.java +++ b/iot-dao/iot-data-service/src/main/java/cc/iotkit/data/manager/IAlertConfigData.java @@ -38,4 +38,6 @@ public interface IAlertConfigData extends ICommonData { List findByUidAndRuleInfoIdAndDeviceName(String uid, String ruleInfoId,String deviceName); Paging selectAlertConfigPage(PageRequest request); + + List findByRuleInfoIdAndDeviceName(String ruleInfoId,String deviceName); } diff --git a/iot-dao/iot-data-serviceImpl-rdb/src/main/java/cc/iotkit/data/dao/AlertConfigRepository.java b/iot-dao/iot-data-serviceImpl-rdb/src/main/java/cc/iotkit/data/dao/AlertConfigRepository.java index 86e253d..ef9499a 100644 --- a/iot-dao/iot-data-serviceImpl-rdb/src/main/java/cc/iotkit/data/dao/AlertConfigRepository.java +++ b/iot-dao/iot-data-serviceImpl-rdb/src/main/java/cc/iotkit/data/dao/AlertConfigRepository.java @@ -41,4 +41,6 @@ public interface AlertConfigRepository extends JpaRepository findByRuleInfoIdAndEnable(String ruleInfoId,Boolean enable); List findByDeviceNameAndEnable(String deviceName,Boolean enable); List findByUidAndRuleInfoIdAndDeviceNameAndEnable(String uid, String ruleInfoId,String deviceName,Boolean enable); + + List findByRuleInfoIdAndDeviceNameAndEnable(String ruleInfoId, String deviceName, Boolean enable); } diff --git a/iot-dao/iot-data-serviceImpl-rdb/src/main/java/cc/iotkit/data/service/AlertConfigDataImpl.java b/iot-dao/iot-data-serviceImpl-rdb/src/main/java/cc/iotkit/data/service/AlertConfigDataImpl.java index d0850f8..e90c6d7 100644 --- a/iot-dao/iot-data-serviceImpl-rdb/src/main/java/cc/iotkit/data/service/AlertConfigDataImpl.java +++ b/iot-dao/iot-data-serviceImpl-rdb/src/main/java/cc/iotkit/data/service/AlertConfigDataImpl.java @@ -82,6 +82,12 @@ public class AlertConfigDataImpl implements IAlertConfigData, IJPACommData(alertConfigPage.getTotalElements(), MapstructUtils.convert(alertConfigPage.getContent(), AlertConfig.class)); } + + @Override + public List findByRuleInfoIdAndDeviceName(String ruleInfoId,String deviceName) { + return MapstructUtils.convert(alertConfigRepository.findByRuleInfoIdAndDeviceNameAndEnable(ruleInfoId,deviceName,true),AlertConfig.class); + } + @Override public List findByUidAndRuleInfoId(String uid, String ruleInfoId) { return MapstructUtils.convert(alertConfigRepository.findByUidAndRuleInfoId(uid, ruleInfoId), AlertConfig.class); diff --git a/iot-module/iot-plugin/iot-plugin-main/src/main/java/cc/iotkit/plugin/main/ThingServiceImpl.java b/iot-module/iot-plugin/iot-plugin-main/src/main/java/cc/iotkit/plugin/main/ThingServiceImpl.java index 4c35085..040db66 100644 --- a/iot-module/iot-plugin/iot-plugin-main/src/main/java/cc/iotkit/plugin/main/ThingServiceImpl.java +++ b/iot-module/iot-plugin/iot-plugin-main/src/main/java/cc/iotkit/plugin/main/ThingServiceImpl.java @@ -367,8 +367,9 @@ public class ThingServiceImpl implements IThingService { .deviceStatus(device.getDeviceStatus()) .occurred(System.currentTimeMillis()) .build(); + //增加启用未启用条件查询 List config = iAlertConfigData.findByDeviceName(device.getDeviceName()); - + //在设备列表中,添加了手机号并且选择了通知方式、语音、短信等。其实是添加到了告警事件配置里面。 // List alerts = idAlertRecordData.selectAlertConfigPage(AlertRecordBo.builder().details(device.getDeviceName()).build()); System.out.println("设备告警 您的设备【" + device.getDeviceName() + "】触发事件 事件类型为:【" + map.get("eventTypeValue").toString() + "】。"); if (ObjectUtil.isEmpty(config)) { @@ -379,7 +380,8 @@ public class ThingServiceImpl implements IThingService { executor.execute(() -> { List rules = ruleMessageHandler.processMessage1(thingModelMessage); for (Rule rule : rules) { - List config1 = iAlertConfigData.findByRuleInfoId(rule.getId()); + //这里也要加增加启用未启用条件查询 + List config1 = iAlertConfigData.findByRuleInfoIdAndDeviceName(rule.getId(),device.getDeviceName()); for (int i = 0; i < config1.size(); i++) { idAlertRecordData.save(AlertRecord.builder() .level(config1.get(i).getLevel())