From 1461ebccc237ee5f08bbf711ad09a941d48ec3c7 Mon Sep 17 00:00:00 2001 From: wangwei_123 <1255324804@qq.com> Date: Fri, 23 Jan 2026 17:48:20 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BC=96=E8=BE=91=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/mqtt/processor/BatchDeviceMessageProcessor.java | 12 +++++++----- .../module/hand/service/impl/HandDetectorServiceImpl.java | 2 ++ .../java/cn/iocoder/yudao/module/hand/vo/HandDataVo.java | 6 ++++-- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/cc-admin-master/yudao-module-hand-mqtt/src/main/java/cn/iocoder/yudao/module/mqtt/processor/BatchDeviceMessageProcessor.java b/cc-admin-master/yudao-module-hand-mqtt/src/main/java/cn/iocoder/yudao/module/mqtt/processor/BatchDeviceMessageProcessor.java index 8cee290..145a3f1 100644 --- a/cc-admin-master/yudao-module-hand-mqtt/src/main/java/cn/iocoder/yudao/module/mqtt/processor/BatchDeviceMessageProcessor.java +++ b/cc-admin-master/yudao-module-hand-mqtt/src/main/java/cn/iocoder/yudao/module/mqtt/processor/BatchDeviceMessageProcessor.java @@ -599,13 +599,16 @@ public class BatchDeviceMessageProcessor { } } - // 推送报警消息(值变化时) - if (handVo.getLastPushValue() == null - || !handVo.getLastPushValue().equals(handVo.getValue())) { + Integer lastPushLevel = handVo.getLastPushLevel(); + + // 判定条件:首次推送(为null) 或 等级发生变化 + if (lastPushLevel == null || !lastPushLevel.equals(newLevel)) { sendAlarmMessage(handVo, alarmRule.getGasTypeName(), handVo.getValue(), true, context); + + // 更新最后推送的状态 handVo.setLastPushValue(handVo.getValue()); + handVo.setLastPushLevel(newLevel); } - handVo.setGasStatus(HandAlarmType.ALARM.getType()); } @@ -864,7 +867,6 @@ public class BatchDeviceMessageProcessor { ); - // 异步发送 Kafka,耗时极短 (<1ms) // 使用 sourceSn 作为 Key,保证同一个部门/设备的报警排队有序处理 String key = handVo.getSn(); String json = JsonUtils.toJsonString(event); diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/impl/HandDetectorServiceImpl.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/impl/HandDetectorServiceImpl.java index 844373c..1d1164d 100644 --- a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/impl/HandDetectorServiceImpl.java +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/impl/HandDetectorServiceImpl.java @@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.hand.service.impl; import cn.iocoder.yudao.framework.common.exception.ServiceException; import cn.iocoder.yudao.framework.security.core.LoginUser; import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore; +import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder; import cn.iocoder.yudao.module.hand.dal.HandDetectorDO; import cn.iocoder.yudao.module.hand.mapper.HandDetectorMapper; import cn.iocoder.yudao.module.hand.service.HandDetectorService; @@ -165,6 +166,7 @@ public class HandDetectorServiceImpl implements HandDetectorService { } // 更新 HandDetectorDO updateObj = BeanUtils.toBean(updateReqVO, HandDetectorDO.class); + updateObj.setTenantId(loginUser.getTenantId().intValue()); handDetectorMapper.updateById(updateObj); redisUtil.hset( diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/HandDataVo.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/HandDataVo.java index 31c6506..ff15482 100644 --- a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/HandDataVo.java +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/HandDataVo.java @@ -110,7 +110,9 @@ public class HandDataVo { @Schema(description = "部门id") private Long deptId; - @Schema(description = "最后推送数据") - private Double lastPushValue; + @Schema(description = "最后推送等级") + private Integer lastPushLevel; + @Schema(description = "最后推送等级") + private Double lastPushValue; }