From 658006e14a4109082921d54520d48214b2b5c4ef Mon Sep 17 00:00:00 2001 From: xce Date: Mon, 19 Jan 2026 01:22:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=86=99=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../agri/framework/interceptor/MqttMessageHandler.java | 8 +++----- 1 file changed, 3 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 9b45551..2451abd 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 @@ -749,7 +749,7 @@ public class MqttMessageHandler implements SmartLifecycle { } Long userId = SecurityUtils.getLoginUser().getUserId(); // 3. 查询该用户名下的所有设备ID(替换为你的实际设备查询逻辑) - List deviceIds = queryImeiByUserId(userId); + List deviceIds = new ArrayList<>(queryImeiByUserId(userId)); if (userId == 1) { deviceIds.add("862538065276061"); } @@ -777,11 +777,10 @@ public class MqttMessageHandler implements SmartLifecycle { // 开启Redis事务 connection.multi(); - + byte[] clientIdBytes = serializer.serialize(clientId); // 4.1 设备→前端:给每个设备的订阅集合添加clientId for (String deviceId : validDeviceIds) { byte[] subKey = serializer.serialize("sub:" + deviceId); - byte[] clientIdBytes = serializer.serialize(clientId); connection.sAdd(subKey, clientIdBytes); } @@ -853,11 +852,10 @@ public class MqttMessageHandler implements SmartLifecycle { // 开启事务 connection.multi(); - + byte[] clientIdBytes = serializer.serialize(clientId); // 5.1 批量删除设备→前端的订阅关系 for (String deviceId : deviceSet) { byte[] subKey = serializer.serialize("sub:" + deviceId); - byte[] clientIdBytes = serializer.serialize(clientId); connection.sRem(subKey, clientIdBytes); }