From e97416feebc95bc06171cdfaff85ff995493d49e Mon Sep 17 00:00:00 2001 From: liyj <1617420630@qq.com> Date: Tue, 18 Nov 2025 14:55:10 +0800 Subject: [PATCH] =?UTF-8?q?im=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D-?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E4=B8=8D=E5=88=B0=E7=94=A8=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/websocket/service/DistributedSessionService.java | 6 ++++-- .../websocket/service/onchat/MallsuiteImSocketHandler.java | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/mall-im/src/main/java/com/suisung/mall/im/common/websocket/service/DistributedSessionService.java b/mall-im/src/main/java/com/suisung/mall/im/common/websocket/service/DistributedSessionService.java index b5618182..0533feb0 100644 --- a/mall-im/src/main/java/com/suisung/mall/im/common/websocket/service/DistributedSessionService.java +++ b/mall-im/src/main/java/com/suisung/mall/im/common/websocket/service/DistributedSessionService.java @@ -146,11 +146,12 @@ public class DistributedSessionService { */ public List getOnlineUserIds() { // 方法1: 通过服务器用户集合获取(推荐) - String serverUsersKey = SERVER_USERS_KEY + new RabbitMQManager().getServerId(); + String serverUsersKey = SERVER_USERS_KEY + getServerId(); Set userIds = redisTemplate.opsForSet().members(serverUsersKey); if (userIds != null && !userIds.isEmpty()) { - return userIds.stream() + List userIdList = new ArrayList<>(userIds.size()); + userIdList= userIds.stream() .map(userIdStr -> { try { return Integer.parseInt(userIdStr.toString()); @@ -160,6 +161,7 @@ public class DistributedSessionService { }) .filter(Objects::nonNull) .collect(Collectors.toList()); + return userIdList; } return new ArrayList<>(); diff --git a/mall-im/src/main/java/com/suisung/mall/im/common/websocket/service/onchat/MallsuiteImSocketHandler.java b/mall-im/src/main/java/com/suisung/mall/im/common/websocket/service/onchat/MallsuiteImSocketHandler.java index 5d5f672b..fe8b27dc 100644 --- a/mall-im/src/main/java/com/suisung/mall/im/common/websocket/service/onchat/MallsuiteImSocketHandler.java +++ b/mall-im/src/main/java/com/suisung/mall/im/common/websocket/service/onchat/MallsuiteImSocketHandler.java @@ -68,7 +68,7 @@ public class MallsuiteImSocketHandler implements WebSocketHandler { distributedSessionService.registerUserSession(loginUserId, sessionId, attributes); // 处理离线消息等原有逻辑... - this.updateOnlineStatus(); + // this.updateOnlineStatus(); } @@ -214,7 +214,7 @@ public class MallsuiteImSocketHandler implements WebSocketHandler { distributedSessionService.removeUserFromGroup(groupId, sessionId); } - this.updateOnlineStatus(); + // this.updateOnlineStatus(); } @Override