From 96be94fc3c33c49e15b538bebbea455e839a7a7b Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期二, 10 六月 2025 16:32:12 +0800
Subject: [PATCH] 数字孪生看板接口 维修service提取到公共模块

---
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/message/websocket/WebSocket.java |   39 ++++++++++++++++++++++++++-------------
 1 files changed, 26 insertions(+), 13 deletions(-)

diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/message/websocket/WebSocket.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/message/websocket/WebSocket.java
index b2ccf23..35d7d6d 100644
--- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/message/websocket/WebSocket.java
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/message/websocket/WebSocket.java
@@ -2,6 +2,9 @@
 
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeUnit;
 import javax.annotation.Resource;
 import javax.websocket.*;
 import javax.websocket.server.PathParam;
@@ -23,7 +26,7 @@
 @Slf4j
 @ServerEndpoint("/websocket/{userId}")
 public class WebSocket {
-    
+
     /**绾跨▼瀹夊叏Map*/
     private static ConcurrentHashMap<String, Session> sessionPool = new ConcurrentHashMap<>();
 
@@ -34,14 +37,23 @@
     @Resource
     private JeecgRedisClient jeecgRedisClient;
 
+    private ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
 
     //==========銆恮ebsocket鎺ュ彈銆佹帹閫佹秷鎭瓑鏂规硶 鈥斺�� 鍏蜂綋鏈嶅姟鑺傜偣鎺ㄩ�亀s娑堟伅銆�========================================================================================
+
     @OnOpen
     public void onOpen(Session session, @PathParam(value = "userId") String userId) {
         try {
             sessionPool.put(userId, session);
             log.info("銆愮郴缁� WebSocket銆戞湁鏂扮殑杩炴帴锛屾�绘暟涓�:" + sessionPool.size());
+
+            // 鍚姩蹇冭烦浠诲姟锛屾瘡鍒嗛挓鍙戦�佷竴娆″績璺虫秷鎭�
+//            scheduler.scheduleAtFixedRate(() -> {
+//                pushMessage(userId, "{\"cmd\":\"" + WebsocketConst.CMD_USER + "\",\"txt\":\"" + "蹇冭烦鍝嶅簲" + "\"}");
+//            }, 0, 1, TimeUnit.MINUTES);
+
         } catch (Exception e) {
+            log.error("銆愮郴缁� WebSocket銆憃nOpen 寮傚父", e);
         }
     }
 
@@ -50,6 +62,8 @@
         try {
             sessionPool.remove(userId);
             log.info("銆愮郴缁� WebSocket銆戣繛鎺ユ柇寮�锛屾�绘暟涓�:" + sessionPool.size());
+            // 鍙栨秷蹇冭烦浠诲姟
+            scheduler.shutdown();
         } catch (Exception e) {
             e.printStackTrace();
         }
@@ -93,12 +107,11 @@
                     log.error(e.getMessage(), e);
                 }
             }
-            log.info("銆愮郴缁� WebSocket銆戠兢鍙戞秷鎭�:" + message);
+            log.info("銆�3D瀹炴椂鏁版嵁 WebSocket銆戞秷鎭�" );
         } catch (Exception e) {
             log.error(e.getMessage(), e);
         }
     }
-
 
     /**
      * ws鎺ュ彈瀹㈡埛绔秷鎭�
@@ -110,14 +123,14 @@
         }else{
             log.debug("銆愮郴缁� WebSocket銆戞敹鍒板鎴风娑堟伅:" + message);
         }
-        
+
         //------------------------------------------------------------------------------
-        JSONObject obj = new JSONObject();
-        //涓氬姟绫诲瀷
-        obj.put(WebsocketConst.MSG_CMD, WebsocketConst.CMD_CHECK);
-        //娑堟伅鍐呭
-        obj.put(WebsocketConst.MSG_TXT, "蹇冭烦鍝嶅簲");
-        this.pushMessage(userId, obj.toJSONString());
+//        JSONObject obj = new JSONObject();
+//        //涓氬姟绫诲瀷
+//        obj.put(WebsocketConst.MSG_CMD, WebsocketConst.CMD_CHECK);
+//        //娑堟伅鍐呭
+//        obj.put(WebsocketConst.MSG_TXT, "蹇冭烦鍝嶅簲");
+//        this.pushMessage(userId, obj.toJSONString());
         //------------------------------------------------------------------------------
     }
 
@@ -129,11 +142,11 @@
      */
     @OnError
     public void onError(Session session, Throwable t) {
-        log.warn("銆愮郴缁� WebSocket銆戞秷鎭嚭鐜伴敊璇�");
+        log.warn("銆愮郴缁� WebSocket銆戞秷鎭嚭鐜伴敊璇�",t);
         //t.printStackTrace();
     }
     //==========銆愮郴缁� WebSocket鎺ュ彈銆佹帹閫佹秷鎭瓑鏂规硶 鈥斺�� 鍏蜂綋鏈嶅姟鑺傜偣鎺ㄩ�亀s娑堟伅銆�========================================================================================
-    
+
 
     //==========銆愰噰鐢╮edis鍙戝竷璁㈤槄妯″紡鈥斺�旀帹閫佹秷鎭��========================================================================================
     /**
@@ -187,5 +200,5 @@
         }
     }
     //=======銆愰噰鐢╮edis鍙戝竷璁㈤槄妯″紡鈥斺�旀帹閫佹秷鎭��==========================================================================================
-    
+
 }
\ No newline at end of file

--
Gitblit v1.9.3