From 17cf957052fd1affcb88ebf1abae8fcb76a5fef0 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期二, 14 十一月 2023 11:01:32 +0800 Subject: [PATCH] !447 发布 5.1.1 大量代码优化与bug修复 建议升级 Merge pull request !447 from 疯狂的狮子Li/dev --- ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/utils/WebSocketUtils.java | 24 ++++++++++++++++-------- 1 files changed, 16 insertions(+), 8 deletions(-) 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 c0bd2f3..99c16c6 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 @@ -1,13 +1,12 @@ package org.dromara.common.websocket.utils; import cn.hutool.core.collection.CollUtil; -import org.dromara.common.core.domain.model.LoginUser; -import org.dromara.common.redis.utils.RedisUtils; -import org.dromara.common.websocket.dto.WebSocketMessageDto; -import org.dromara.common.websocket.holder.WebSocketSessionHolder; import lombok.AccessLevel; import lombok.NoArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.dromara.common.redis.utils.RedisUtils; +import org.dromara.common.websocket.dto.WebSocketMessageDto; +import org.dromara.common.websocket.holder.WebSocketSessionHolder; import org.springframework.web.socket.PongMessage; import org.springframework.web.socket.TextMessage; import org.springframework.web.socket.WebSocketMessage; @@ -18,7 +17,6 @@ import java.util.List; import java.util.function.Consumer; -import static org.dromara.common.websocket.constant.WebSocketConstants.LOGIN_USER_KEY; import static org.dromara.common.websocket.constant.WebSocketConstants.WEB_SOCKET_TOPIC; /** @@ -77,6 +75,19 @@ } } + /** + * 鍙戝竷璁㈤槄鐨勬秷鎭�(缇ゅ彂) + * + * @param message 娑堟伅鍐呭 + */ + public static void publishAll(String message) { + WebSocketMessageDto broadcastMessage = new WebSocketMessageDto(); + broadcastMessage.setMessage(message); + RedisUtils.publish(WEB_SOCKET_TOPIC, broadcastMessage, consumer -> { + log.info("WebSocket鍙戦�佷富棰樿闃呮秷鎭痶opic:{} message:{}", WEB_SOCKET_TOPIC, message); + }); + } + public static void sendPongMessage(WebSocketSession session) { sendMessage(session, new PongMessage()); } @@ -90,10 +101,7 @@ log.error("[send] session浼氳瘽宸茬粡鍏抽棴"); } else { try { - // 鑾峰彇褰撳墠浼氳瘽涓殑鐢ㄦ埛 - LoginUser loginUser = (LoginUser) session.getAttributes().get(LOGIN_USER_KEY); session.sendMessage(message); - log.info("[send] sessionId: {},userId:{},userType:{},message:{}", session.getId(), loginUser.getUserId(), loginUser.getUserType(), message); } catch (IOException e) { log.error("[send] session({}) 鍙戦�佹秷鎭�({}) 寮傚父", session, message, e); } -- Gitblit v1.9.3