From 098d3347a0df808908aab8c554cd7c4febc5e6d9 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期一, 26 八月 2024 11:43:59 +0800 Subject: [PATCH] !577 发布 5.2.2 正式版 安全性提升 Merge pull request !577 from 疯狂的狮子Li/dev --- ruoyi-common/ruoyi-common-sse/src/main/java/org/dromara/common/sse/utils/SseMessageUtils.java | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 58 insertions(+), 0 deletions(-) diff --git a/ruoyi-common/ruoyi-common-sse/src/main/java/org/dromara/common/sse/utils/SseMessageUtils.java b/ruoyi-common/ruoyi-common-sse/src/main/java/org/dromara/common/sse/utils/SseMessageUtils.java new file mode 100644 index 0000000..c6abdc8 --- /dev/null +++ b/ruoyi-common/ruoyi-common-sse/src/main/java/org/dromara/common/sse/utils/SseMessageUtils.java @@ -0,0 +1,58 @@ +package org.dromara.common.sse.utils; + +import lombok.AccessLevel; +import lombok.NoArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.dromara.common.core.utils.SpringUtils; +import org.dromara.common.sse.core.SseEmitterManager; +import org.dromara.common.sse.dto.SseMessageDto; + +/** + * SSE宸ュ叿绫� + * + * @author Lion Li + */ +@Slf4j +@NoArgsConstructor(access = AccessLevel.PRIVATE) +public class SseMessageUtils { + + private final static SseEmitterManager MANAGER = SpringUtils.getBean(SseEmitterManager.class); + + /** + * 鍚戞寚瀹氱殑WebSocket浼氳瘽鍙戦�佹秷鎭� + * + * @param userId 瑕佸彂閫佹秷鎭殑鐢ㄦ埛id + * @param message 瑕佸彂閫佺殑娑堟伅鍐呭 + */ + public static void sendMessage(Long userId, String message) { + MANAGER.sendMessage(userId, message); + } + + /** + * 鏈満鍏ㄧ敤鎴蜂細璇濆彂閫佹秷鎭� + * + * @param message 瑕佸彂閫佺殑娑堟伅鍐呭 + */ + public static void sendMessage(String message) { + MANAGER.sendMessage(message); + } + + /** + * 鍙戝竷SSE璁㈤槄娑堟伅 + * + * @param sseMessageDto 瑕佸彂甯冪殑SSE娑堟伅瀵硅薄 + */ + public static void publishMessage(SseMessageDto sseMessageDto) { + MANAGER.publishMessage(sseMessageDto); + } + + /** + * 鍚戞墍鏈夌殑鐢ㄦ埛鍙戝竷璁㈤槄鐨勬秷鎭�(缇ゅ彂) + * + * @param message 瑕佸彂甯冪殑娑堟伅鍐呭 + */ + public static void publishAll(String message) { + MANAGER.publishAll(message); + } + +} -- Gitblit v1.9.3