From 99d28bddd6ad5bd7c87babf7dcab670215993cb6 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期四, 03 七月 2025 13:51:36 +0800 Subject: [PATCH] zjh20250703 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysNoticeController.java | 17 +++++++++++++++++ 1 files changed, 17 insertions(+), 0 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysNoticeController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysNoticeController.java index 4acc06a..637fa40 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysNoticeController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysNoticeController.java @@ -1,10 +1,13 @@ package com.ltkj.web.controller.system; +import java.io.IOException; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; +import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ltkj.common.core.domain.entity.SysUser; import com.ltkj.common.core.domain.model.LoginUser; @@ -12,6 +15,8 @@ import com.ltkj.hosp.domain.SysNoticeUser; import com.ltkj.hosp.service.SysNoticeUserService; import com.ltkj.system.service.ISysUserService; +import com.ltkj.web.websocket.ClientSessionInfo; +import com.ltkj.web.websocket.WebSockerManager; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.transaction.annotation.Transactional; @@ -31,6 +36,8 @@ import com.ltkj.common.enums.BusinessType; import com.ltkj.system.domain.SysNotice; import com.ltkj.system.service.ISysNoticeService; +import org.springframework.web.socket.TextMessage; +import org.springframework.web.socket.WebSocketSession; /** * 鍏憡 淇℃伅鎿嶄綔澶勭悊 @@ -46,6 +53,8 @@ private SysNoticeUserService sysNoticeUserService; @Autowired private ISysUserService userService; + @Autowired + private WebSockerManager webSockerManager; /** * 鑾峰彇閫氱煡鍏憡鍒楄〃 @@ -113,6 +122,14 @@ sysNoticeUserService.save(user); } }else return AjaxResult.error(); + for (Map.Entry<String, ClientSessionInfo> entry : webSockerManager.userSessions.entrySet()) { + if (!notice.getUserIds().contains(entry.getKey())) continue; + WebSocketSession session = entry.getValue().getSession(); + try { + session.sendMessage(new TextMessage(JSONUtil.toJsonStr(notice))); + } catch (IOException ignored) { + } + } return AjaxResult.success(); } -- Gitblit v1.8.0