优化写法

feasure
xce 2026-01-19 01:22:30 +08:00
parent 05039238cc
commit 658006e14a
1 changed files with 3 additions and 5 deletions

View File

@ -749,7 +749,7 @@ public class MqttMessageHandler implements SmartLifecycle {
} }
Long userId = SecurityUtils.getLoginUser().getUserId(); Long userId = SecurityUtils.getLoginUser().getUserId();
// 3. 查询该用户名下的所有设备ID替换为你的实际设备查询逻辑 // 3. 查询该用户名下的所有设备ID替换为你的实际设备查询逻辑
List<String> deviceIds = queryImeiByUserId(userId); List<String> deviceIds = new ArrayList<>(queryImeiByUserId(userId));
if (userId == 1) { if (userId == 1) {
deviceIds.add("862538065276061"); deviceIds.add("862538065276061");
} }
@ -777,11 +777,10 @@ public class MqttMessageHandler implements SmartLifecycle {
// 开启Redis事务 // 开启Redis事务
connection.multi(); connection.multi();
byte[] clientIdBytes = serializer.serialize(clientId);
// 4.1 设备→前端给每个设备的订阅集合添加clientId // 4.1 设备→前端给每个设备的订阅集合添加clientId
for (String deviceId : validDeviceIds) { for (String deviceId : validDeviceIds) {
byte[] subKey = serializer.serialize("sub:" + deviceId); byte[] subKey = serializer.serialize("sub:" + deviceId);
byte[] clientIdBytes = serializer.serialize(clientId);
connection.sAdd(subKey, clientIdBytes); connection.sAdd(subKey, clientIdBytes);
} }
@ -853,11 +852,10 @@ public class MqttMessageHandler implements SmartLifecycle {
// 开启事务 // 开启事务
connection.multi(); connection.multi();
byte[] clientIdBytes = serializer.serialize(clientId);
// 5.1 批量删除设备→前端的订阅关系 // 5.1 批量删除设备→前端的订阅关系
for (String deviceId : deviceSet) { for (String deviceId : deviceSet) {
byte[] subKey = serializer.serialize("sub:" + deviceId); byte[] subKey = serializer.serialize("sub:" + deviceId);
byte[] clientIdBytes = serializer.serialize(clientId);
connection.sRem(subKey, clientIdBytes); connection.sRem(subKey, clientIdBytes);
} }