From cc25bc0eec2d50da39d62f9896ed4d5e66805366 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期五, 11 七月 2025 18:04:05 +0800 Subject: [PATCH] zjh20250711 --- 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