diff --git a/src/main/java/com/zhangshu/chat/demo/service/RoomCache.java b/src/main/java/com/zhangshu/chat/demo/service/RoomCache.java index 097c052..b9f739f 100644 --- a/src/main/java/com/zhangshu/chat/demo/service/RoomCache.java +++ b/src/main/java/com/zhangshu/chat/demo/service/RoomCache.java @@ -54,7 +54,7 @@ public class RoomCache { public synchronized void addUser(String roomId, RoomUserVo user) { Room room = roomCache.get(roomId); - if (Objects.nonNull(room)) { + if (Objects.nonNull(room) && room.getUserList().stream().noneMatch(v -> v.getId().equals(user.getId()))) { room.getUserList().add(user); } }