diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/websocket/ChatServerHandler.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/websocket/ChatServerHandler.java index c9f82c55..400f6253 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/websocket/ChatServerHandler.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/websocket/ChatServerHandler.java @@ -241,12 +241,13 @@ public class ChatServerHandler extends SimpleChannelInboundHandler 0) { -// userRoomCountMap.put(channelUserMap.get(ctx) + "+" + jsonObject.get("roomId"), userRoomCountMap.get(channelUserMap.get(ctx) + "+" + jsonObject.get("roomId")) - 1); -// }else { -// userRoomCountMap.put(channelUserMap.get(ctx) + "+" + jsonObject.get("roomId"), 0); -// } + //清空过后返回其余房间未读消息 + HashMap temp = new HashMap<>(); + userRoomCountMap.forEachKey(0,key ->{ + if (key.contains(sysUserVo.getUserId().toString())){ + temp.put(key,userRoomCountMap.get(key)); + } + }); + //构建消息 + JSONObject message = new JSONObject(); + message.put("type", "1"); + message.put("unReadCount", temp); } -// else if ("2".equals(type)){ -// //前端点击某个聊天房间进入时 仅需发送type2 清空该房间的未读消息数 -// userRoomCountMap.put(channelUserMap.get(ctx) + "+" + jsonObject.get("roomId"), 0); -// //将该房间对应消息都置为已读 -// } } // 处理异常