From 9fc3b1d372ae402ee427299e7b06659bef0b6881 Mon Sep 17 00:00:00 2001 From: xce Date: Sun, 18 Jan 2026 17:52:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=BB=B6=E6=97=B6=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E5=AD=98=E6=9C=80=E5=90=8E=E4=B8=80=E6=9D=A1=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E4=BF=A1=E6=81=AF=E7=9A=84=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../agri/framework/interceptor/MqttMessageHandler.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/agri-framework/src/main/java/com/agri/framework/interceptor/MqttMessageHandler.java b/agri-framework/src/main/java/com/agri/framework/interceptor/MqttMessageHandler.java index cfde2de..9b6e8c3 100644 --- a/agri-framework/src/main/java/com/agri/framework/interceptor/MqttMessageHandler.java +++ b/agri-framework/src/main/java/com/agri/framework/interceptor/MqttMessageHandler.java @@ -342,12 +342,11 @@ public class MqttMessageHandler implements SmartLifecycle { for (String validCode : VALID_FUNC_CODES) { if (!payloadObj.containsKey(validCode)) { isValidStatus = false; + log.debug("【设备状态包】结构不合法(非8个功能码),跳过Redis写入,deviceId={};payload={}", deviceId, payload); break; } } - if (!isValidStatus) { - log.debug("【设备状态包】结构不合法(非8个功能码),跳过Redis写入,deviceId={};payload={}", deviceId, payload); - } else if(hasAutoOffTask(deviceId)){ + if(hasAutoOffTask(deviceId) && isValidStatus){ // ✅ 8个功能码状态包:无条件写device:latest:{deviceId},避免自动关读不到最新状态 stringRedisTemplate.opsForValue().set( "device:latest:" + deviceId, @@ -469,7 +468,7 @@ public class MqttMessageHandler implements SmartLifecycle { String deviceTopic = "dtu/" + deviceId + "/down"; //todo - mqttMessageSender.publish(deviceTopic, down.toJSONString()); + // mqttMessageSender.publish(deviceTopic, down.toJSONString()); log.info("【自动关任务】检测仍在运行,已下发关闭:deviceId={}, funcType={}, payload={}", deviceId, funcType, down.toJSONString()); } else { log.info("【自动关任务】检测未运行或状态未知,跳过关闭:deviceId={}, funcType={}, current={}", deviceId, funcType, current); @@ -538,7 +537,7 @@ public class MqttMessageHandler implements SmartLifecycle { // 4. 转发指令到设备 String deviceTopic = "dtu/" + deviceId + "/down"; //todo - mqttMessageSender.publish(deviceTopic, payload); + // mqttMessageSender.publish(deviceTopic, payload); log.info("【指令转发】前端{} → 设备{}的{}功能", clientId, deviceId, funcType); }