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