Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -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()),
Expand All @@ -39,7 +42,8 @@ public static ChatRoomResponseDto fromEntity(ChatRoom chatRoom, Long unreadCount
unreadCount,
exited,
otherId,
otherUserNickname
otherUserNickname,
lastSenderId
);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<ChatMessage> messages = new ArrayList<>();

Expand All @@ -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;
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand Down