diff --git a/mall-im/src/main/java/com/suisung/mall/im/common/websocket/service/DistributedMessageService.java b/mall-im/src/main/java/com/suisung/mall/im/common/websocket/service/DistributedMessageService.java index 74175b2f..f35bd27c 100644 --- a/mall-im/src/main/java/com/suisung/mall/im/common/websocket/service/DistributedMessageService.java +++ b/mall-im/src/main/java/com/suisung/mall/im/common/websocket/service/DistributedMessageService.java @@ -34,6 +34,10 @@ public class DistributedMessageService { /** * 发送消息给用户 + * @param targetUserId 目标用户就是account的id + * @param message + * @param userSessions + * @return */ public boolean sendToUser(String targetUserId, SendVO message, ConcurrentHashMap> userSessions) { log.info("targetUserId{},message:{}", targetUserId, message); @@ -46,10 +50,10 @@ public class DistributedMessageService { if (isCurrentServer(targetServer)) { // 用户在当前服务器,直接发送 - return localSessionManager.sendToUser(targetUserId, message,userSessions); + return localSessionManager.sendToUser(message.getToid(), message,userSessions); } else { // 用户在其他服务器,通过RabbitMQ转发 - forwardToUser(targetServer, targetUserId, message); + forwardToUser(targetServer, message.getToid(), message); return true; } } diff --git a/mall-im/src/main/java/com/suisung/mall/im/common/websocket/service/LocalSessionManager.java b/mall-im/src/main/java/com/suisung/mall/im/common/websocket/service/LocalSessionManager.java index c9f845b6..e05e58b1 100644 --- a/mall-im/src/main/java/com/suisung/mall/im/common/websocket/service/LocalSessionManager.java +++ b/mall-im/src/main/java/com/suisung/mall/im/common/websocket/service/LocalSessionManager.java @@ -68,6 +68,10 @@ public class LocalSessionManager { /** * 发送消息给用户 + * @param userId session的id + * @param message + * @param userSession + * @return */ public boolean sendToUser(String userId, SendVO message,ConcurrentHashMap> userSession) { if (userId == null || message == null) { 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 e4b11f83..5efe29c2 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 @@ -130,7 +130,7 @@ public class MallsuiteImSocketHandler implements WebSocketHandler { chat.setMsg(msg); chat.setType("friend"); chat.setCreate_date(new Date()); - boolean isSuccess = distributedMessageService.sendToUser(receiver, sendVO,localSessionManager.getUserSessions()); + boolean isSuccess = distributedMessageService.sendToUser(String.valueOf(toUserId), sendVO,localSessionManager.getUserSessions()); if (isSuccess) { chat.setStatus("1"); } else { @@ -140,7 +140,7 @@ public class MallsuiteImSocketHandler implements WebSocketHandler { sendVO.setMsg_type("text"); sendVO.setMessage_length("0"); sendVO.setId(to.getId()); - distributedMessageService.sendToUser(sender, sendVO,localSessionManager.getUserSessions()); + distributedMessageService.sendToUser(String.valueOf(toUserId), sendVO,localSessionManager.getUserSessions()); chat.setStatus("0"); } chatHistoryService.saveNew(chat); diff --git a/mall-sns/src/main/java/com/suisung/mall/sns/service/impl/SnsUserMessageServiceImpl.java b/mall-sns/src/main/java/com/suisung/mall/sns/service/impl/SnsUserMessageServiceImpl.java index 48945ead..da462ab9 100644 --- a/mall-sns/src/main/java/com/suisung/mall/sns/service/impl/SnsUserMessageServiceImpl.java +++ b/mall-sns/src/main/java/com/suisung/mall/sns/service/impl/SnsUserMessageServiceImpl.java @@ -820,6 +820,10 @@ public class SnsUserMessageServiceImpl extends BaseServiceImpl