From 231ece98e5111afc52edc95b74b6344cd4a0ee27 Mon Sep 17 00:00:00 2001 From: zzc <1278921369@qq.com> Date: Sat, 9 Nov 2024 17:29:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B5=8B=E8=AF=95=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/app/EqHomeController.java | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/ruoyi-admin/src/main/java/org/dromara/web/controller/app/EqHomeController.java b/ruoyi-admin/src/main/java/org/dromara/web/controller/app/EqHomeController.java index a00b70d41..6529dfe03 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/controller/app/EqHomeController.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/controller/app/EqHomeController.java @@ -17,6 +17,8 @@ import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.common.web.core.BaseController; +import org.dromara.common.websocket.dto.WebSocketMessageDto; +import org.dromara.common.websocket.utils.WebSocketUtils; import org.dromara.system.domain.vo.SysUserVo; import org.dromara.system.service.ISysUserService; import org.dromara.web.domain.bo.*; @@ -31,6 +33,8 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; /** @@ -412,8 +416,24 @@ public class EqHomeController extends BaseController { return R.ok(BCrypt.checkpw(bo.getPassword(), sysUserVo.getPassword())); } + private final ScheduledExecutorService scheduledExecutorService; - + /** + * 发送websocket消息 + * @param msg + * @return + */ + @GetMapping("/sendWebSocketMsg") + public R sendWebSocketMsg(String msg){ + Long userId = LoginHelper.getUserId(); + scheduledExecutorService.schedule(() -> { + WebSocketMessageDto dto = new WebSocketMessageDto(); + dto.setMessage(msg); + dto.setSessionKeys(List.of(userId)); + WebSocketUtils.publishMessage(dto); + }, 3, TimeUnit.SECONDS); + return R.ok(); + } }