From a1808ba0ff1ccc2efacb69c1033054dbaab8687f Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期四, 10 七月 2025 17:57:16 +0800
Subject: [PATCH] 2025-07-10

---
 ltkj-admin/src/main/java/com/ltkj/web/websocket/WebSockerManager.java |   22 ++++++++++++++++++++++
 1 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/websocket/WebSockerManager.java b/ltkj-admin/src/main/java/com/ltkj/web/websocket/WebSockerManager.java
index 5bdaba0..b929174 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/websocket/WebSockerManager.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/websocket/WebSockerManager.java
@@ -1,8 +1,14 @@
 package com.ltkj.web.websocket;
 
 import cn.hutool.json.JSONUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.ltkj.common.core.domain.model.LoginUser;
+import com.ltkj.hosp.domain.SysNoticeUser;
+import com.ltkj.hosp.service.SysNoticeUserService;
+import com.ltkj.system.domain.SysNotice;
+import com.ltkj.system.service.ISysNoticeService;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.web.socket.CloseStatus;
 import org.springframework.web.socket.TextMessage;
@@ -11,6 +17,7 @@
 import redis.clients.jedis.util.SafeEncoder;
 
 import java.util.ArrayList;
+import java.util.List;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.stream.Collectors;
@@ -23,6 +30,11 @@
 @Slf4j
 @Component
 public class WebSockerManager extends TextWebSocketHandler {
+
+    @Autowired
+    private SysNoticeUserService noticeUserService;
+    @Autowired
+    private ISysNoticeService noticeService;
 
     public final ConcurrentHashMap<String, ClientSessionInfo> userSessions = new ConcurrentHashMap<>();
     private static final ConcurrentHashMap<String, WebSocketClientInfo> sessions = new ConcurrentHashMap<>();
@@ -50,6 +62,16 @@
         userSessions.put(String.valueOf(clientInfo.getUid()), sessionInfo);
         session.sendMessage(new TextMessage("杩炴帴鎴愬姛"));
         log.info("[WebSocket] 鍦ㄧ嚎鍒楄〃UserIds\n{}",JSONUtil.toJsonStr(new ArrayList<>(userSessions.keySet())));
+        LambdaQueryWrapper<SysNoticeUser> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(SysNoticeUser::getUserId,clientInfo.getUid());
+        wrapper.eq(SysNoticeUser::getIsRead,0);
+        List<SysNoticeUser> list = noticeUserService.list(wrapper);
+        if (list != null && !list.isEmpty()){
+            List<Long> noticeIds = list.stream().map(SysNoticeUser::getNoticeId).collect(Collectors.toList());
+            for (Long noticeId : noticeIds) {
+                session.sendMessage(new TextMessage(JSONUtil.toJsonStr(noticeService.getById(noticeId))));
+            }
+        }
     }
 
     @Override

--
Gitblit v1.8.0