diff --git a/src/main/java/org/gachon/checkmate/domain/chat/controller/ChatController.java b/src/main/java/org/gachon/checkmate/domain/chat/controller/ChatController.java index 984fd16..fad2bbf 100644 --- a/src/main/java/org/gachon/checkmate/domain/chat/controller/ChatController.java +++ b/src/main/java/org/gachon/checkmate/domain/chat/controller/ChatController.java @@ -27,22 +27,22 @@ public class ChatController { public void sendChat(@Header("simpSessionAttributes") Map simpSessionAttributes, @Payload final ChatRequestDto request) { ChatResponseDto response = chatService.sendChat(simpSessionAttributes, request); - sendingOperations.convertAndSend("/queue/chat/"+simpSessionAttributes.get("roomId"), SocketBaseResponse.of(MessageType.CHAT, response)); + sendingOperations.convertAndSend("/queue/chat/" + simpSessionAttributes.get("roomId"), SocketBaseResponse.of(MessageType.CHAT, response)); } // 채팅방 정보 조회 @MessageMapping("/room-list") public void getChatRoomList(@Header("simpSessionAttributes") Map simpSessionAttributes) { ChatRoomListResponseDto response = chatService.getChatRoomList(simpSessionAttributes); - sendingOperations.convertAndSend("/queue/user/"+simpSessionAttributes.get("userId"), SocketBaseResponse.of(MessageType.ROOM_LIST, response)); + sendingOperations.convertAndSend("/queue/user/" + simpSessionAttributes.get("userId"), SocketBaseResponse.of(MessageType.ROOM_LIST, response)); } // 이전 채팅 불러오기 @MessageMapping("/chat-list") public void getChatList(@Header("simpSessionAttributes") Map simpSessionAttributes, @Payload final ChatListRequestDto request) { - final ChatListResponseDto response = chatService.getChatList(simpSessionAttributes, request); - sendingOperations.convertAndSend("/queue/user/" + simpSessionAttributes.get("userId"), SocketBaseResponse.of(MessageType.CHAT_LIST, response)); + ChatListResponseDto response = chatService.getChatList(simpSessionAttributes, request); + sendingOperations.convertAndSend("/queue/chat/" + response.getChatRoomId(), SocketBaseResponse.of(MessageType.CHAT_LIST, response)); } // 채팅방 입장하기 diff --git a/src/main/java/org/gachon/checkmate/domain/chat/dto/response/ChatListResponseDto.java b/src/main/java/org/gachon/checkmate/domain/chat/dto/response/ChatListResponseDto.java index 2835388..5999a0c 100644 --- a/src/main/java/org/gachon/checkmate/domain/chat/dto/response/ChatListResponseDto.java +++ b/src/main/java/org/gachon/checkmate/domain/chat/dto/response/ChatListResponseDto.java @@ -15,6 +15,8 @@ public class ChatListResponseDto{ private String chatRoomId; + private Long requestUserId; + private ChatUserInfoDto chatUserInfoDto; @Builder.Default @@ -26,9 +28,10 @@ public class ChatListResponseDto{ @Builder.Default private Integer pageNumber = null; - public static ChatListResponseDto of(String chatRoomId, ChatUserInfoDto chatUserInfoDto) { + public static ChatListResponseDto of(String chatRoomId, Long requestUserId, ChatUserInfoDto chatUserInfoDto) { return ChatListResponseDto.builder() .chatRoomId(chatRoomId) + .requestUserId(requestUserId) .chatUserInfoDto(chatUserInfoDto) .build(); } diff --git a/src/main/java/org/gachon/checkmate/domain/chat/service/ChatService.java b/src/main/java/org/gachon/checkmate/domain/chat/service/ChatService.java index 312cd98..32d3589 100644 --- a/src/main/java/org/gachon/checkmate/domain/chat/service/ChatService.java +++ b/src/main/java/org/gachon/checkmate/domain/chat/service/ChatService.java @@ -98,7 +98,7 @@ public ChatListResponseDto getChatList(Map simpSessionAttributes String chatRoomId = getChatRoomId(request.otherUserId(), userId); ChatUserInfoDto chatUserInfoDto = getUserChatUserInfoByUserId(request); - ChatListResponseDto response = ChatListResponseDto.of(chatRoomId, chatUserInfoDto); + ChatListResponseDto response = ChatListResponseDto.of(chatRoomId, userId, chatUserInfoDto); PageRequest pageRequest = PageRequest.of(request.pageNumber(), request.pageSize()); Slice chatMessages = chatRepository.findBeforeChatList(chatRoomId, pageRequest);