From 8d9eca3f5e9f884a14f41d04d1898e2ee7bf9078 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期二, 11 六月 2024 16:08:08 +0800
Subject: [PATCH] 1.提交【管理后台】-营销管理-积分管理相关接口 2.修改websocket代码,增加用户端、拍卖师端类型区分

---
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/util/WebSocketUsers.java |   61 +++++++++---------------------
 1 files changed, 19 insertions(+), 42 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/util/WebSocketUsers.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/util/WebSocketUsers.java
index 5d8a44b..c69232e 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/util/WebSocketUsers.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/util/WebSocketUsers.java
@@ -16,34 +16,17 @@
  */
 public class WebSocketUsers
 {
-    /**
-     * WebSocketUsers 日志控制器
-     */
     private static final Logger LOGGER = LoggerFactory.getLogger(WebSocketUsers.class);
 
-    /**
-     * 用户集
-     */
-    private static Map<String, Session> USERS = new ConcurrentHashMap<String, Session>();
+    private static Map<String, Session> USERS = new ConcurrentHashMap<>();
+    private static Map<String, Integer> USER_TYPES = new ConcurrentHashMap<>();
 
-    /**
-     * 存储用户
-     *
-     * @param key 唯一键
-     * @param session 用户信息
-     */
-    public static void put(String key, Session session)
+    public static void put(String key, Session session, Integer clientType)
     {
         USERS.put(key, session);
+        USER_TYPES.put(key, clientType);
     }
 
-    /**
-     * 移除用户
-     *
-     * @param session 用户信息
-     *
-     * @return 移除结果
-     */
     public static boolean remove(Session session)
     {
         String key = null;
@@ -68,15 +51,11 @@
         return remove(key);
     }
 
-    /**
-     * 移出用户
-     *
-     * @param key 键
-     */
     public static boolean remove(String key)
     {
         LOGGER.info("\n 正在移出用户 - {}", key);
         Session remove = USERS.remove(key);
+        USER_TYPES.remove(key);
         if (remove != null)
         {
             boolean containsValue = USERS.containsValue(remove);
@@ -89,21 +68,15 @@
         }
     }
 
-    /**
-     * 获取在线用户列表
-     *
-     * @return 返回用户集合
-     */
     public static Map<String, Session> getUsers()
     {
         return USERS;
     }
 
-    /**
-     * 群发消息文本消息
-     *
-     * @param message 消息内容
-     */
+    public static Integer getUserType(String key) {
+        return USER_TYPES.get(key);
+    }
+
     public static void sendMessageToUsersByText(String message)
     {
         Collection<Session> values = USERS.values();
@@ -113,12 +86,6 @@
         }
     }
 
-    /**
-     * 发送文本消息
-     *
-     * @param session 自己的用户名
-     * @param message 消息内容
-     */
     public static void sendMessageToUserByText(Session session, String message)
     {
         if (session != null)
@@ -137,4 +104,14 @@
             LOGGER.info("\n[你已离线]");
         }
     }
+
+    public static void sendMessageToUsersByType(Integer clientType, String message) {
+        for (Map.Entry<String, Session> entry : USERS.entrySet()) {
+            String key = entry.getKey();
+            Session session = entry.getValue();
+            if (clientType.equals(USER_TYPES.get(key))) {
+                sendMessageToUserByText(session, message);
+            }
+        }
+    }
 }

--
Gitblit v1.7.1