From 102003a52b101c85d7e378e25f35ec6488620fc1 Mon Sep 17 00:00:00 2001
From: AprilWind <2100166581@qq.com>
Date: 星期一, 27 五月 2024 12:23:28 +0800
Subject: [PATCH] update 完善websocket包注释

---
 ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/config/WebSocketConfig.java               |    7 +
 ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/handler/PlusWebSocketHandler.java         |   47 +++++++++------
 ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/utils/WebSocketUtils.java                 |   35 ++++++++---
 ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/listener/WebSocketTopicListener.java      |    9 ++
 ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/holder/WebSocketSessionHolder.java        |   28 +++++++++
 ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/constant/WebSocketConstants.java          |    1 
 ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/interceptor/PlusWebSocketInterceptor.java |   27 ++++----
 7 files changed, 110 insertions(+), 44 deletions(-)

diff --git a/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/config/WebSocketConfig.java b/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/config/WebSocketConfig.java
index 30d109e..ef5cfc9 100644
--- a/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/config/WebSocketConfig.java
+++ b/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/config/WebSocketConfig.java
@@ -27,17 +27,20 @@
 
     @Bean
     public WebSocketConfigurer webSocketConfigurer(HandshakeInterceptor handshakeInterceptor,
-                                                   WebSocketHandler webSocketHandler,
-                                                   WebSocketProperties webSocketProperties) {
+                                                   WebSocketHandler webSocketHandler, WebSocketProperties webSocketProperties) {
+        // 濡傛灉WebSocket鐨勮矾寰勪负绌猴紝鍒欒缃粯璁よ矾寰勪负 "/websocket"
         if (StrUtil.isBlank(webSocketProperties.getPath())) {
             webSocketProperties.setPath("/websocket");
         }
 
+        // 濡傛灉鍏佽璺ㄥ煙璁块棶鐨勫湴鍧�涓虹┖锛屽垯璁剧疆涓� "*"锛岃〃绀哄厑璁告墍鏈夋潵婧愮殑璺ㄥ煙璇锋眰
         if (StrUtil.isBlank(webSocketProperties.getAllowedOrigins())) {
             webSocketProperties.setAllowedOrigins("*");
         }
 
+        // 杩斿洖涓�涓猈ebSocketConfigurer瀵硅薄锛岀敤浜庨厤缃甒ebSocket
         return registry -> registry
+            // 娣诲姞WebSocket澶勭悊绋嬪簭鍜屾嫤鎴櫒鍒版寚瀹氳矾寰勶紝璁剧疆鍏佽鐨勮法鍩熸潵婧�
             .addHandler(webSocketHandler, webSocketProperties.getPath())
             .addInterceptors(handshakeInterceptor)
             .setAllowedOrigins(webSocketProperties.getAllowedOrigins());
diff --git a/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/constant/WebSocketConstants.java b/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/constant/WebSocketConstants.java
index 54eb447..e243279 100644
--- a/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/constant/WebSocketConstants.java
+++ b/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/constant/WebSocketConstants.java
@@ -6,6 +6,7 @@
  * @author zendwang
  */
 public interface WebSocketConstants {
+
     /**
      * websocketSession涓殑鍙傛暟鐨刱ey
      */
diff --git a/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/handler/PlusWebSocketHandler.java b/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/handler/PlusWebSocketHandler.java
index a53583f..759aece 100644
--- a/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/handler/PlusWebSocketHandler.java
+++ b/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/handler/PlusWebSocketHandler.java
@@ -31,33 +31,42 @@
     }
 
     /**
-     * 澶勭悊鍙戦�佹潵鐨勬枃鏈秷鎭�
+     * 澶勭悊鎺ユ敹鍒扮殑鏂囨湰娑堟伅
      *
-     * @param session
-     * @param message
-     * @throws Exception
+     * @param session WebSocket浼氳瘽
+     * @param message 鎺ユ敹鍒扮殑鏂囨湰娑堟伅
+     * @throws Exception 澶勭悊娑堟伅杩囩▼涓彲鑳芥姏鍑虹殑寮傚父
      */
     @Override
     protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {
+        // 浠嶹ebSocket浼氳瘽涓幏鍙栫櫥褰曠敤鎴蜂俊鎭�
         LoginUser loginUser = (LoginUser) session.getAttributes().get(LOGIN_USER_KEY);
-        List<Long> userIds = List.of(loginUser.getUserId());
+
+        // 鍒涘缓WebSocket娑堟伅DTO瀵硅薄
         WebSocketMessageDto webSocketMessageDto = new WebSocketMessageDto();
-        webSocketMessageDto.setSessionKeys(userIds);
+        webSocketMessageDto.setSessionKeys(List.of(loginUser.getUserId()));
         webSocketMessageDto.setMessage(message.getPayload());
         WebSocketUtils.publishMessage(webSocketMessageDto);
     }
 
+    /**
+     * 澶勭悊鎺ユ敹鍒扮殑浜岃繘鍒舵秷鎭�
+     *
+     * @param session WebSocket浼氳瘽
+     * @param message 鎺ユ敹鍒扮殑浜岃繘鍒舵秷鎭�
+     * @throws Exception 澶勭悊娑堟伅杩囩▼涓彲鑳芥姏鍑虹殑寮傚父
+     */
     @Override
     protected void handleBinaryMessage(WebSocketSession session, BinaryMessage message) throws Exception {
         super.handleBinaryMessage(session, message);
     }
 
     /**
-     * 蹇冭烦鐩戞祴鐨勫洖澶�
+     * 澶勭悊鎺ユ敹鍒扮殑Pong娑堟伅锛堝績璺崇洃娴嬶級
      *
-     * @param session
-     * @param message
-     * @throws Exception
+     * @param session WebSocket浼氳瘽
+     * @param message 鎺ユ敹鍒扮殑Pong娑堟伅
+     * @throws Exception 澶勭悊娑堟伅杩囩▼涓彲鑳芥姏鍑虹殑寮傚父
      */
     @Override
     protected void handlePongMessage(WebSocketSession session, PongMessage message) throws Exception {
@@ -65,11 +74,11 @@
     }
 
     /**
-     * 杩炴帴鍑洪敊鏃�
+     * 澶勭悊WebSocket浼犺緭閿欒
      *
-     * @param session
-     * @param exception
-     * @throws Exception
+     * @param session   WebSocket浼氳瘽
+     * @param exception 鍙戠敓鐨勫紓甯�
+     * @throws Exception 澶勭悊杩囩▼涓彲鑳芥姏鍑虹殑寮傚父
      */
     @Override
     public void handleTransportError(WebSocketSession session, Throwable exception) throws Exception {
@@ -77,10 +86,10 @@
     }
 
     /**
-     * 杩炴帴鍏抽棴鍚�
+     * 鍦╓ebSocket杩炴帴鍏抽棴鍚庢墽琛屾竻鐞嗘搷浣�
      *
-     * @param session
-     * @param status
+     * @param session WebSocket浼氳瘽
+     * @param status  鍏抽棴鐘舵�佷俊鎭�
      */
     @Override
     public void afterConnectionClosed(WebSocketSession session, CloseStatus status) {
@@ -90,9 +99,9 @@
     }
 
     /**
-     * 鏄惁鏀寔鍒嗙墖娑堟伅
+     * 鎸囩ず澶勭悊绋嬪簭鏄惁鏀寔鎺ユ敹閮ㄥ垎娑堟伅
      *
-     * @return
+     * @return 濡傛灉鏀寔鎺ユ敹閮ㄥ垎娑堟伅锛屽垯杩斿洖true锛涘惁鍒欒繑鍥瀎alse
      */
     @Override
     public boolean supportsPartialMessages() {
diff --git a/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/holder/WebSocketSessionHolder.java b/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/holder/WebSocketSessionHolder.java
index de8c5a7..368801c 100644
--- a/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/holder/WebSocketSessionHolder.java
+++ b/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/holder/WebSocketSessionHolder.java
@@ -18,24 +18,52 @@
 
     private static final Map<Long, WebSocketSession> USER_SESSION_MAP = new ConcurrentHashMap<>();
 
+    /**
+     * 灏哤ebSocket浼氳瘽娣诲姞鍒扮敤鎴蜂細璇滿ap涓�
+     *
+     * @param sessionKey 浼氳瘽閿紝鐢ㄤ簬妫�绱細璇�
+     * @param session    瑕佹坊鍔犵殑WebSocket浼氳瘽
+     */
     public static void addSession(Long sessionKey, WebSocketSession session) {
         USER_SESSION_MAP.put(sessionKey, session);
     }
 
+    /**
+     * 浠庣敤鎴蜂細璇滿ap涓Щ闄ゆ寚瀹氫細璇濋敭瀵瑰簲鐨刉ebSocket浼氳瘽
+     *
+     * @param sessionKey 瑕佺Щ闄ょ殑浼氳瘽閿�
+     */
     public static void removeSession(Long sessionKey) {
         if (USER_SESSION_MAP.containsKey(sessionKey)) {
             USER_SESSION_MAP.remove(sessionKey);
         }
     }
 
+    /**
+     * 鏍规嵁浼氳瘽閿粠鐢ㄦ埛浼氳瘽Map涓幏鍙朩ebSocket浼氳瘽
+     *
+     * @param sessionKey 瑕佽幏鍙栫殑浼氳瘽閿�
+     * @return 涓庣粰瀹氫細璇濋敭瀵瑰簲鐨刉ebSocket浼氳瘽锛屽鏋滀笉瀛樺湪鍒欒繑鍥瀗ull
+     */
     public static WebSocketSession getSessions(Long sessionKey) {
         return USER_SESSION_MAP.get(sessionKey);
     }
 
+    /**
+     * 鑾峰彇瀛樺偍鍦ㄧ敤鎴蜂細璇滿ap涓墍鏈塛ebSocket浼氳瘽鐨勪細璇濋敭闆嗗悎
+     *
+     * @return 鎵�鏈塛ebSocket浼氳瘽鐨勪細璇濋敭闆嗗悎
+     */
     public static Set<Long> getSessionsAll() {
         return USER_SESSION_MAP.keySet();
     }
 
+    /**
+     * 妫�鏌ョ粰瀹氱殑浼氳瘽閿槸鍚﹀瓨鍦ㄤ簬鐢ㄦ埛浼氳瘽Map涓�
+     *
+     * @param sessionKey 瑕佹鏌ョ殑浼氳瘽閿�
+     * @return 濡傛灉瀛樺湪瀵瑰簲鐨勪細璇濋敭锛屽垯杩斿洖true锛涘惁鍒欒繑鍥瀎alse
+     */
     public static Boolean existSession(Long sessionKey) {
         return USER_SESSION_MAP.containsKey(sessionKey);
     }
diff --git a/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/interceptor/PlusWebSocketInterceptor.java b/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/interceptor/PlusWebSocketInterceptor.java
index 1dc4120..0abbbd3 100644
--- a/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/interceptor/PlusWebSocketInterceptor.java
+++ b/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/interceptor/PlusWebSocketInterceptor.java
@@ -1,8 +1,8 @@
 package org.dromara.common.websocket.interceptor;
 
+import lombok.extern.slf4j.Slf4j;
 import org.dromara.common.core.domain.model.LoginUser;
 import org.dromara.common.satoken.utils.LoginHelper;
-import lombok.extern.slf4j.Slf4j;
 import org.springframework.http.server.ServerHttpRequest;
 import org.springframework.http.server.ServerHttpResponse;
 import org.springframework.web.socket.WebSocketHandler;
@@ -21,13 +21,13 @@
 public class PlusWebSocketInterceptor implements HandshakeInterceptor {
 
     /**
-     * 鎻℃墜鍓�
+     * WebSocket鎻℃墜涔嬪墠鎵ц鐨勫墠缃鐞嗘柟娉�
      *
-     * @param request    request
-     * @param response   response
-     * @param wsHandler  wsHandler
-     * @param attributes attributes
-     * @return 鏄惁鎻℃墜鎴愬姛
+     * @param request    WebSocket鎻℃墜璇锋眰
+     * @param response   WebSocket鎻℃墜鍝嶅簲
+     * @param wsHandler  WebSocket澶勭悊绋嬪簭
+     * @param attributes 涓嶹ebSocket浼氳瘽鍏宠仈鐨勫睘鎬�
+     * @return 濡傛灉鍏佽鎻℃墜缁х画杩涜锛屽垯杩斿洖true锛涘惁鍒欒繑鍥瀎alse
      */
     @Override
     public boolean beforeHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler, Map<String, Object> attributes) {
@@ -37,15 +37,16 @@
     }
 
     /**
-     * 鎻℃墜鍚�
+     * WebSocket鎻℃墜鎴愬姛鍚庢墽琛岀殑鍚庣疆澶勭悊鏂规硶
      *
-     * @param request   request
-     * @param response  response
-     * @param wsHandler wsHandler
-     * @param exception 寮傚父
+     * @param request   WebSocket鎻℃墜璇锋眰
+     * @param response  WebSocket鎻℃墜鍝嶅簲
+     * @param wsHandler WebSocket澶勭悊绋嬪簭
+     * @param exception 鎻℃墜杩囩▼涓彲鑳藉嚭鐜扮殑寮傚父
      */
     @Override
     public void afterHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler, Exception exception) {
-
+        // 鍦ㄨ繖涓柟娉曚腑鍙互鎵ц涓�浜涙彙鎵嬫垚鍔熷悗鐨勫悗缁鐞嗛�昏緫锛屾瘮濡傝褰曟棩蹇楁垨鑰呭叾浠栨搷浣�
     }
+
 }
diff --git a/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/listener/WebSocketTopicListener.java b/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/listener/WebSocketTopicListener.java
index 01528d0..0ad39af 100644
--- a/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/listener/WebSocketTopicListener.java
+++ b/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/listener/WebSocketTopicListener.java
@@ -1,9 +1,9 @@
 package org.dromara.common.websocket.listener;
 
 import cn.hutool.core.collection.CollUtil;
+import lombok.extern.slf4j.Slf4j;
 import org.dromara.common.websocket.holder.WebSocketSessionHolder;
 import org.dromara.common.websocket.utils.WebSocketUtils;
-import lombok.extern.slf4j.Slf4j;
 import org.springframework.boot.ApplicationArguments;
 import org.springframework.boot.ApplicationRunner;
 import org.springframework.core.Ordered;
@@ -16,8 +16,15 @@
 @Slf4j
 public class WebSocketTopicListener implements ApplicationRunner, Ordered {
 
+    /**
+     * 鍦⊿pring Boot搴旂敤绋嬪簭鍚姩鏃跺垵濮嬪寲WebSocket涓婚璁㈤槄鐩戝惉鍣�
+     *
+     * @param args 搴旂敤绋嬪簭鍙傛暟
+     * @throws Exception 鍒濆鍖栬繃绋嬩腑鍙兘鎶涘嚭鐨勫紓甯�
+     */
     @Override
     public void run(ApplicationArguments args) throws Exception {
+        // 璁㈤槄WebSocket娑堟伅
         WebSocketUtils.subscribeMessage((message) -> {
             log.info("WebSocket涓婚璁㈤槄鏀跺埌娑堟伅session keys={} message={}", message.getSessionKeys(), message.getMessage());
             // 濡傛灉key涓嶄负绌哄氨鎸夌収key鍙戞秷鎭� 濡傛灉涓虹┖灏辩兢鍙�
diff --git a/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/utils/WebSocketUtils.java b/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/utils/WebSocketUtils.java
index 086599c..afe76e0 100644
--- a/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/utils/WebSocketUtils.java
+++ b/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/utils/WebSocketUtils.java
@@ -29,10 +29,10 @@
 public class WebSocketUtils {
 
     /**
-     * 鍙戦�佹秷鎭�
+     * 鍚戞寚瀹氱殑WebSocket浼氳瘽鍙戦�佹秷鎭�
      *
-     * @param sessionKey session涓婚敭 涓�鑸负鐢ㄦ埛id
-     * @param message    娑堟伅鏂囨湰
+     * @param sessionKey 瑕佸彂閫佹秷鎭殑鐢ㄦ埛id
+     * @param message    瑕佸彂閫佺殑娑堟伅鍐呭
      */
     public static void sendMessage(Long sessionKey, String message) {
         WebSocketSession session = WebSocketSessionHolder.getSessions(sessionKey);
@@ -40,18 +40,18 @@
     }
 
     /**
-     * 璁㈤槄娑堟伅
+     * 璁㈤槄WebSocket娑堟伅涓婚锛屽苟鎻愪緵涓�涓秷璐硅�呭嚱鏁版潵澶勭悊鎺ユ敹鍒扮殑娑堟伅
      *
-     * @param consumer 鑷畾涔夊鐞�
+     * @param consumer 澶勭悊WebSocket娑堟伅鐨勬秷璐硅�呭嚱鏁�
      */
     public static void subscribeMessage(Consumer<WebSocketMessageDto> consumer) {
         RedisUtils.subscribe(WEB_SOCKET_TOPIC, WebSocketMessageDto.class, consumer);
     }
 
     /**
-     * 鍙戝竷璁㈤槄鐨勬秷鎭�
+     * 鍙戝竷WebSocket璁㈤槄娑堟伅
      *
-     * @param webSocketMessage 娑堟伅瀵硅薄
+     * @param webSocketMessage 瑕佸彂甯冪殑WebSocket娑堟伅瀵硅薄
      */
     public static void publishMessage(WebSocketMessageDto webSocketMessage) {
         List<Long> unsentSessionKeys = new ArrayList<>();
@@ -76,9 +76,9 @@
     }
 
     /**
-     * 鍙戝竷璁㈤槄鐨勬秷鎭�(缇ゅ彂)
+     * 鍚戞墍鏈夌殑WebSocket浼氳瘽鍙戝竷璁㈤槄鐨勬秷鎭�(缇ゅ彂)
      *
-     * @param message 娑堟伅鍐呭
+     * @param message 瑕佸彂甯冪殑娑堟伅鍐呭
      */
     public static void publishAll(String message) {
         WebSocketMessageDto broadcastMessage = new WebSocketMessageDto();
@@ -88,14 +88,31 @@
         });
     }
 
+    /**
+     * 鍚戞寚瀹氱殑WebSocket浼氳瘽鍙戦�丳ong娑堟伅
+     *
+     * @param session 瑕佸彂閫丳ong娑堟伅鐨刉ebSocket浼氳瘽
+     */
     public static void sendPongMessage(WebSocketSession session) {
         sendMessage(session, new PongMessage());
     }
 
+    /**
+     * 鍚戞寚瀹氱殑WebSocket浼氳瘽鍙戦�佹枃鏈秷鎭�
+     *
+     * @param session WebSocket浼氳瘽
+     * @param message 瑕佸彂閫佺殑鏂囨湰娑堟伅鍐呭
+     */
     public static void sendMessage(WebSocketSession session, String message) {
         sendMessage(session, new TextMessage(message));
     }
 
+    /**
+     * 鍚戞寚瀹氱殑WebSocket浼氳瘽鍙戦�乄ebSocket娑堟伅瀵硅薄
+     *
+     * @param session WebSocket浼氳瘽
+     * @param message 瑕佸彂閫佺殑WebSocket娑堟伅瀵硅薄
+     */
     private static void sendMessage(WebSocketSession session, WebSocketMessage<?> message) {
         if (session == null || !session.isOpen()) {
             log.warn("[send] session浼氳瘽宸茬粡鍏抽棴");

--
Gitblit v1.9.3