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 06ca3b13..e2621931 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 @@ -219,8 +219,12 @@ public class MallsuiteImSocketHandler implements WebSocketHandler { } // 从分布式存储注销 - distributedSessionService.unregisterUserSession(loginUserId, sessionId); - if (groupId != null) { + List sessions= userSessions.get(loginUserId); + if(null==sessions || sessions.isEmpty()){ + distributedSessionService.unregisterUserSession(loginUserId, sessionId); + } + List groupSessionList= groupSessions.get(groupId); + if (null==groupSessionList||groupSessionList.isEmpty()) { distributedSessionService.removeUserFromGroup(groupId, sessionId); }