...
String ono = "1:1";
List<ChatMessage> chatMessages
= chatMessageJpaRepository.findAllByNickNameAndRoomNameContainingOrderByCreatedAtDesc(nickname, ono);
for (ChatMessage chatMessage : chatMessages) {
// 마지막 메시지가 ""일때 해결한 문제
// 내가 참가한 그방의 마지막 메시지를 조회해옴
List<ChatMessage> messageList
= chatMessageJpaRepository.findAllByRoomId(chatMessage.getRoomId());
ChatMessage lastChat = messageList.get(messageList.size() - 1);
ArrayList<ChatMessage> lastchat1 = new ArrayList<>();
if (lastChat.getMessage().equals("")) {
lastChat = messageList.get(messageList.size() - 2);
...
}
공백이 만약 2번이상 연속적으로 입력되었다면 계속 공백이 마지막 메시지로 출력됨.
실패함.
...
String ono = "1:1";
List<ChatMessage> chatMessages
= chatMessageJpaRepository.findAllByNickNameAndRoomNameContainingOrderByCreatedAtDesc(nickname, ono);
for (ChatMessage chatMessage : chatMessages) {
// 마지막 메시지가 ""일때 해결한 문제
// 내가 참가한 그방의 마지막 메시지를 조회해옴
List<ChatMessage> messageList
= chatMessageJpaRepository.findAllByRoomId(chatMessage.getRoomId());
ChatMessage lastChat = messageList.get(messageList.size() - 1);
ArrayList<ChatMessage> lastchat1 = new ArrayList<>();
// 해당 1:1 채팅방의 맨 마지막 최종 메시지가 공백
if (lastChat.getMessage().equals("")) {
// 반복문으로 또 공백이 있는지 검색
for (int i = 0; i < messageList.size(); i++) {
// 맨 마지막 최종 메시지부터 검색해서 공백이면 위에 메시지를 검색
// 검색한 메시지도 공백이면 그 위에 메시지를 검색.....
// 공백이 아닌 메시지가 있으면 저장.
if (!messageList.get(messageList.size() -1 -i).getMessage().equals("")){
lastchat1.add(messageList.get(messageList.size() -1 -i));
// 공백이 아닌 메시지가 있으면 저장후 반복문 종료
break;
}
}
// 공백이 아닌 최종메시지를 배열에 저장.
lastChat = lastchat1.get(0);
...
}
경매 게시자 및 낙찰자 1:1 채팅 목록
{
"statusCode": 200,
"msg": "OK",
"data": [
{
"roomId": "c3f624e2-b693-4ab0-a7d2-124994ca4004",
"roomName": "경매2방 1:1 채팅방",
"profileImg": null,
"message": "그렇습니다",
"lastMessageTime": "2022-10-03T19:08:57.868401",
"auctionId": 2,
"auctionTitle": "마법의 지팡이3",
"multiImages": [
{
"createdAt": "2022-10-03 10:24:40",
"modifiedAt": "2022-10-03 10:24:40",
"id": 2,
"imgUrl": "https://sysimagebucket.s3.ap-northeast-2.amazonaws.com/DdangDdang/auctionImg/930a8b0c-be95-4edb-b9ed-d4645f27bd72napoleon.jpg",
"memberId": 2,
"auctionId": 1
}
]
},
{
"roomId": "4536de28-145b-4eb0-8880-7b2f90dd9989",
"roomName": "경매1방 1:1 채팅방",
"profileImg": null,
"message": "반가워요",
"lastMessageTime": "2022-10-03T19:08:19.317069",
"auctionId": 1,
"auctionTitle": "마법의 지팡이3",
"multiImages": [
{
"createdAt": "2022-10-03 10:24:35",
"modifiedAt": "2022-10-03 10:24:35",
"id": 1,
"imgUrl": "https://sysimagebucket.s3.ap-northeast-2.amazonaws.com/DdangDdang/auctionImg/1f507dfc-43cb-486f-abdc-268eda017f3dnapoleon.jpg",
"memberId": 1,
"auctionId": 1
}
]
}
]
}