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); }