im问题修复-获取不到用户

This commit is contained in:
liyj 2025-11-18 15:55:38 +08:00
parent 4666d9b098
commit 485cad13ed

View File

@ -51,7 +51,7 @@ public class MallsuiteImSocketHandler implements WebSocketHandler {
public void afterConnectionEstablished(WebSocketSession session) throws Exception {
logger.debug("connect to the websocket success......");
String loginUserId = (String) session.getAttributes().get(Constants.WEBSOCKET_LOGINNAME);
String loginUserId = String.valueOf(session.getAttributes().get("user_id")) ;
String sessionId = session.getId();
// 存储到本地会话管理
@ -63,7 +63,7 @@ public class MallsuiteImSocketHandler implements WebSocketHandler {
// 注册到分布式会话服务
Map<String, Object> attributes = new HashMap<>();
attributes.put("user_id", session.getAttributes().get("user_id"));
attributes.put("user_id", String.valueOf(session.getAttributes().get("user_id")));
attributes.put("loginName", loginUserId);
distributedSessionService.registerUserSession(loginUserId, sessionId, attributes);
@ -198,11 +198,14 @@ public class MallsuiteImSocketHandler implements WebSocketHandler {
* 清理会话资源
*/
private void cleanupSession(WebSocketSession session) {
String loginUserId = (String) session.getAttributes().get(Constants.WEBSOCKET_LOGINNAME);
String loginUserId = String.valueOf(session.getAttributes().get("user_id")) ;
String sessionId = session.getId();
String groupId = (String) session.getAttributes().get(Constants.WEBSOCKET_GROUP_KEY);
// 从本地管理移除
if(localSessionManager.getUserSessions()==null){
localSessionManager.setUserSessions(new ConcurrentHashMap<>());
}
localSessionManager.removeUserSession(loginUserId, session);
if (groupId != null) {
localSessionManager.removeGroupSession(groupId, session);