From c75563b46ab38882f61ccc08ec8d042bca70ce87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B1=88=E5=B1=95=E8=88=AA?= <2426745133@qq.com> Date: Tue, 9 Sep 2025 18:53:28 +0800 Subject: [PATCH] =?UTF-8?q?09-09-=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dromara/websocket/ChatServerHandler.java | 34 ++++++++++--------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/websocket/ChatServerHandler.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/websocket/ChatServerHandler.java index 3448c186..2233e94a 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/websocket/ChatServerHandler.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/websocket/ChatServerHandler.java @@ -356,22 +356,7 @@ public class ChatServerHandler extends SimpleChannelInboundHandler channelHandlerContexts = userChannelMap.get(userId.toString()); - if (channelHandlerContexts != null && !channelHandlerContexts.isEmpty()) { - //给每个通道发送对应消息 - for (ChannelHandlerContext handlerContext : channelHandlerContexts) { - //同时发送所有未读消息给前端进行渲染 - HashMap temp = new HashMap<>(); - userRoomCountMap.forEachKey(0, (value) -> { - if (value.contains(userId.toString())){ - temp.put(value,userRoomCountMap.get(value)); - } - }); - jsonObject.put("countValue", temp); - sendMessage(handlerContext, jsonObject.toString()); - } - } + //生成系统消息的聊天记录 LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.eq(ChatGroup::getMembers,"[system, "+userId+"]"); @@ -401,6 +386,23 @@ public class ChatServerHandler extends SimpleChannelInboundHandler channelHandlerContexts = userChannelMap.get(userId.toString()); + if (channelHandlerContexts != null && !channelHandlerContexts.isEmpty()) { + //给每个通道发送对应消息 + for (ChannelHandlerContext handlerContext : channelHandlerContexts) { + //同时发送所有未读消息给前端进行渲染 + HashMap temp = new HashMap<>(); + userRoomCountMap.forEachKey(0, (value) -> { + if (value.contains(userId.toString())){ + temp.put(value,userRoomCountMap.get(value)); + } + }); + jsonObject.put("countValue", temp); + sendMessage(handlerContext, jsonObject.toString()); + } + } + }