From 21aae1f8c0f932cf4ad65187547aecca0dcfed4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B1=88=E5=B1=95=E8=88=AA?= <2426745133@qq.com> Date: Sat, 13 Sep 2025 12:34:25 +0800 Subject: [PATCH] =?UTF-8?q?09-12-netty=E6=88=BF=E9=97=B4=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E5=90=8E=E5=8F=91=E9=80=81=E7=A1=AE=E8=AE=A4=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dromara/websocket/ChatServerHandler.java | 17 +++++++++++++++++ .../controller/ChatGroupController.java | 6 ++++++ 2 files changed, 23 insertions(+) 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 8bcf1c99..8de3421e 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 @@ -418,4 +418,21 @@ public class ChatServerHandler extends SimpleChannelInboundHandler channelHandlerContexts = userChannelMap.get(userId.toString()); + if (channelHandlerContexts == null||channelHandlerContexts.isEmpty()){ + return; + } + for (ChannelHandlerContext channelHandlerContext : channelHandlerContexts) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type", "5"); + jsonObject.put("roomInfo", chatGroup); + sendMessage(channelHandlerContext, String.valueOf(jsonObject)); + log.info("发送房间创建确认消息:{}",jsonObject); + } + } + + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/websocket/controller/ChatGroupController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/websocket/controller/ChatGroupController.java index faf6aee8..682ccf06 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/websocket/controller/ChatGroupController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/websocket/controller/ChatGroupController.java @@ -10,6 +10,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.system.domain.vo.SysUserVo; import org.dromara.system.service.impl.SysUserServiceImpl; +import org.dromara.websocket.ChatServerHandler; import org.dromara.websocket.domain.ChatGroup; import org.dromara.websocket.domain.ChatHistory; import org.dromara.websocket.domain.vo.ChatHistoryVo; @@ -35,6 +36,8 @@ public class ChatGroupController { private ChatHistoryServiceImpl chatHistoryService; @Autowired private SysUserServiceImpl sysUserService; + @Autowired + private ChatServerHandler chatServerHandler; /*** * 新建聊天房间 不论单群 @@ -84,10 +87,13 @@ public class ChatGroupController { boolean save = chatGroupService.save(chatGroup); if (save) { + //最后发送聊天房间创建确认消息 + chatServerHandler.sendRoomInfo(userId,chatGroup); return R.ok(chatGroup); }else { return R.fail("创建群聊关系失败"); } + }