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