From dba9034024de73ebf8d1184b53ec9a559c1c12c6 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期四, 13 三月 2025 18:08:33 +0800
Subject: [PATCH] bug修改

---
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/websocket/WebSocketServer.java |   15 +++++++++------
 1 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/websocket/WebSocketServer.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/websocket/WebSocketServer.java
index bd6bdb4..edd6125 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/websocket/WebSocketServer.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/websocket/WebSocketServer.java
@@ -1,5 +1,6 @@
 package com.ruoyi.system.websocket;
 
+import com.ruoyi.common.core.utils.JwtUtils;
 import java.util.concurrent.Semaphore;
 import javax.websocket.OnClose;
 import javax.websocket.OnError;
@@ -18,7 +19,7 @@
  * @作者 ruoyi
  */
 @Component
-@ServerEndpoint("/websocket/message/{clientType}")
+@ServerEndpoint("/websocket/message/{clientType}/{accessToken}")
 public class WebSocketServer {
 
     private static final Logger LOGGER = LoggerFactory.getLogger(WebSocketServer.class);
@@ -26,7 +27,8 @@
     private static Semaphore socketSemaphore = new Semaphore(socketMaxOnlineCount);
 
     @OnOpen
-    public void onOpen(Session session, @PathParam("clientType") Integer clientType)
+    public void onOpen(Session session, @PathParam("clientType") Integer clientType,
+            @PathParam("accessToken") String accessToken)
             throws Exception {
         boolean semaphoreFlag = false;
         semaphoreFlag = SemaphoreUtils.tryAcquire(socketSemaphore);
@@ -36,7 +38,8 @@
                     "当前在线人数超过限制数:" + socketMaxOnlineCount);
             session.close();
         } else {
-            WebSocketUsers.put(session.getId(), session, clientType);
+            String userId = JwtUtils.getUserId(accessToken);
+            WebSocketUsers.put(session.getId(), session, clientType, Long.parseLong(userId));
 
             if (clientType == 1) {
                 LOGGER.info("\n 用户端建立连接 - {}", session);
@@ -70,8 +73,8 @@
 
     @OnMessage
     public void onMessage(String message, Session session) {
-        // String msg = message.replace("你", "我").replace("吗", "").replace("PING", "PONG")
-        //         .replace("ping", "pong");
-        // WebSocketUsers.sendMessageToUserByText(session, msg);
+        String msg = message.replace("你", "我").replace("吗", "").replace("PING", "PONG")
+                .replace("ping", "pong");
+        WebSocketUsers.sendMessageToUserByText(session, msg);
     }
 }

--
Gitblit v1.7.1