From b698223383046e282cdcbe270f9f3834453d3b1d Mon Sep 17 00:00:00 2001 From: DawnIsProblem Date: Wed, 30 Apr 2025 16:48:57 +0900 Subject: [PATCH 1/3] =?UTF-8?q?fix:=20=EB=B0=98=ED=99=98=EA=B0=92=EC=97=90?= =?UTF-8?q?=20last=5Fserder=5Fid=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../team9/icontact/domain/chat/service/ChatMessageService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/goorm/team9/icontact/domain/chat/service/ChatMessageService.java b/src/main/java/com/goorm/team9/icontact/domain/chat/service/ChatMessageService.java index 5cea040..2a3f4ba 100644 --- a/src/main/java/com/goorm/team9/icontact/domain/chat/service/ChatMessageService.java +++ b/src/main/java/com/goorm/team9/icontact/domain/chat/service/ChatMessageService.java @@ -71,7 +71,7 @@ public void sendMessage(ChatMessageDto chatMessageDto) { .build(); chatMessageRepository.save(chatMessage); - chatRoom.updateLastMessage(chatMessage.getContent(), chatMessage.getCreated_at()); + chatRoom.updateLastMessage(chatMessage.getContent(), chatMessage.getCreated_at(), sender.getId()); chatRoomRepository.save(chatRoom); String destination = "/queue/" + chatMessageDto.getRoomId(); From d6e9d71257ab3ae74bc96a9512e9a5916e187f59 Mon Sep 17 00:00:00 2001 From: DawnIsProblem Date: Wed, 30 Apr 2025 16:49:07 +0900 Subject: [PATCH 2/3] =?UTF-8?q?fix:=20=ED=85=8C=EC=9D=B4=EB=B8=94=EC=97=90?= =?UTF-8?q?=20last=5Fserder=5Fid=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../goorm/team9/icontact/domain/chat/entity/ChatRoom.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/goorm/team9/icontact/domain/chat/entity/ChatRoom.java b/src/main/java/com/goorm/team9/icontact/domain/chat/entity/ChatRoom.java index bbf818b..a25094c 100644 --- a/src/main/java/com/goorm/team9/icontact/domain/chat/entity/ChatRoom.java +++ b/src/main/java/com/goorm/team9/icontact/domain/chat/entity/ChatRoom.java @@ -46,6 +46,9 @@ public class ChatRoom { @Column(name = "last_message_time") private LocalDateTime lastMessageTime; + @Column(name = "last_sender_id") + private Long lastSenderId; + @OneToMany(mappedBy = "chatRoom", cascade = CascadeType.REMOVE, orphanRemoval = true) private List messages = new ArrayList<>(); @@ -55,12 +58,14 @@ public static ChatRoom createChatRoom(ClientEntity sender, ClientEntity receiver chatRoom.setReceiver(receiver); chatRoom.setLastMessage(null); chatRoom.setLastMessageTime(null); + chatRoom.setLastSenderId(null); return chatRoom; } - public void updateLastMessage(String lastMessage, LocalDateTime lastMessageTime) { + public void updateLastMessage(String lastMessage, LocalDateTime lastMessageTime, Long senderId) { this.lastMessage = lastMessage; this.lastMessageTime = lastMessageTime; + this.lastSenderId = senderId; } } From 60e156ee6f100b564d9c8370117f60e5d478c30d Mon Sep 17 00:00:00 2001 From: DawnIsProblem Date: Wed, 30 Apr 2025 16:49:15 +0900 Subject: [PATCH 3/3] =?UTF-8?q?fix:=20=EB=B0=98=ED=99=98=EA=B0=92=EC=97=90?= =?UTF-8?q?=20last=5Fserder=5Fid=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/chat/dto/response/ChatRoomResponseDto.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/goorm/team9/icontact/domain/chat/dto/response/ChatRoomResponseDto.java b/src/main/java/com/goorm/team9/icontact/domain/chat/dto/response/ChatRoomResponseDto.java index 974462b..5a1567e 100644 --- a/src/main/java/com/goorm/team9/icontact/domain/chat/dto/response/ChatRoomResponseDto.java +++ b/src/main/java/com/goorm/team9/icontact/domain/chat/dto/response/ChatRoomResponseDto.java @@ -19,6 +19,7 @@ public class ChatRoomResponseDto { private boolean exited; private Long otherId; private String otherUserNickname; + private Long lastSenderid; public static ChatRoomResponseDto fromEntity(ChatRoom chatRoom, Long unreadCount, boolean exited, Long myId) { boolean isSenderMe = chatRoom.getSender().getId().equals(myId); @@ -31,6 +32,8 @@ public static ChatRoomResponseDto fromEntity(ChatRoom chatRoom, Long unreadCount ? chatRoom.getReceiver().getNickName() : chatRoom.getSender().getNickName(); + Long lastSenderId = chatRoom.getLastSenderId(); + return new ChatRoomResponseDto( chatRoom.getRoomId(), List.of(chatRoom.getSender().getNickName(), chatRoom.getReceiver().getNickName()), @@ -39,7 +42,8 @@ public static ChatRoomResponseDto fromEntity(ChatRoom chatRoom, Long unreadCount unreadCount, exited, otherId, - otherUserNickname + otherUserNickname, + lastSenderId ); }