Skip to content

Commit

Permalink
Merge pull request #144 from sharemindteam/fix/143-counselor-recentChat
Browse files Browse the repository at this point in the history
fix: 상담사 최신 채팅 3개 불러오는 부분 수정
  • Loading branch information
aeyongdodam authored Mar 14, 2024
2 parents 500d747 + 90dd8b7 commit 27c2188
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -71,10 +71,10 @@ private List<ChatLetterGetResponse> getRecentChats(int count, Customer customer,
List<ChatLetterGetResponse> chatLetterGetResponses = new ArrayList<>();

for (Chat chat : recentChats) {
chatLetterGetResponses.add(createChatInfoGetResponse(chat, customer.getCustomerId(), true));
chatLetterGetResponses.add(createChatInfoGetResponse(chat, customer.getCustomerId(), isCustomer));
}
for (Chat chat : waitingChats) {
chatLetterGetResponses.add(createChatInfoGetResponse(chat, customer.getCustomerId(), true));
chatLetterGetResponses.add(createChatInfoGetResponse(chat, customer.getCustomerId(), isCustomer));
}
chatLetterGetResponses.sort(Comparator.comparing(ChatLetterGetResponse::getLatestMessageUpdatedAt).reversed());
return chatLetterGetResponses.stream().limit(count).toList();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import com.example.sharemind.chat.domain.Chat;
import com.example.sharemind.chatMessage.content.ChatMessageStatus;
import com.example.sharemind.chatMessage.domain.ChatMessage;
import com.example.sharemind.chatMessage.utils.ChatMessageUtil;
import com.example.sharemind.consult.domain.Consult;
import com.example.sharemind.global.utils.TimeUtil;
import com.fasterxml.jackson.annotation.JsonFormat;
Expand Down Expand Up @@ -52,9 +53,8 @@ public static ChatMessageGetResponse of(Chat chat, ChatMessage chatMessage) {
chatMessage.getIsCustomer(), chatMessage.getMessageStatus(), TimeUtil.getChatSendRequestLeftTime(chatMessage.getCreatedAt()));
}
if (chatMessage.getMessageStatus() == ChatMessageStatus.FINISH) {
String nickname = chat.getConsult().getCounselor().getNickname();
return new ChatMessageGetResponse(consult.getCustomer().getNickname(), consult.getCounselor().getNickname(),
chatMessage.getMessageId(), nickname + chatMessage.getContent(), chatMessage.getUpdatedAt(),
chatMessage.getMessageId(), ChatMessageUtil.getFinishMessage(chat, chatMessage.getContent()), chatMessage.getUpdatedAt(),
chatMessage.getIsCustomer(), chatMessage.getMessageStatus(), null);
}
return new ChatMessageGetResponse(consult.getCustomer().getNickname(), consult.getCounselor().getNickname(),
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package com.example.sharemind.chatMessage.utils;

import com.example.sharemind.chat.domain.Chat;

public class ChatMessageUtil {
public static String getFinishMessage(Chat chat, String content) {
String nickname = chat.getConsult().getCounselor().getNickname();
return nickname + content;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@

import com.example.sharemind.chat.content.ChatStatus;
import com.example.sharemind.chat.domain.Chat;
import com.example.sharemind.chatMessage.content.ChatMessageStatus;
import com.example.sharemind.chatMessage.domain.ChatMessage;
import com.example.sharemind.chatMessage.utils.ChatMessageUtil;
import com.example.sharemind.counselor.domain.Counselor;
import com.example.sharemind.global.utils.*;
import com.example.sharemind.letter.dto.response.LetterGetResponse;
Expand Down Expand Up @@ -62,18 +64,22 @@ public static ChatLetterGetResponse of(LetterGetResponse letterGetResponse) {
public static ChatLetterGetResponse of(String nickname, int unreadMessageCount, Chat chat, Counselor counselor,
ChatMessage chatMessage) {
Boolean reviewCompleted = null;
if (chat.getChatStatus().equals(ChatStatus.FINISH)) {
reviewCompleted = chat.getConsult().getReview().getIsCompleted();
}

if (chatMessage == null) {
return new ChatLetterGetResponse(chat.getChatId(), counselor.getConsultStyle().getDisplayName(),
chat.changeChatStatusForChatList().getDisplayName(), nickname, TimeUtil.getUpdatedAt(chat.getConsult().getUpdatedAt()), nickname + "님께 고민내용을 남겨주세요. " + nickname + "님이 24시간 내에 채팅 요청을 드립니다.",
chat.changeChatStatusForChatList().getDisplayName(), nickname, TimeUtil.getUpdatedAt(chat.getConsult().getUpdatedAt()), counselor.getNickname() + "님께 고민내용을 남겨주세요. " + counselor.getNickname() + "님이 24시간 내에 채팅 요청을 드립니다.",
null, 0, reviewCompleted, chat.getConsult().getConsultId(),
IS_CHAT);
}
String chatMessageContent = chatMessage.getContent();
if (chat.getChatStatus().equals(ChatStatus.FINISH)) {
reviewCompleted = chat.getConsult().getReview().getIsCompleted();
}
if (chatMessage.getMessageStatus().equals(ChatMessageStatus.FINISH))
chatMessageContent = ChatMessageUtil.getFinishMessage(chat, chatMessageContent);
return new ChatLetterGetResponse(chat.getChatId(), counselor.getConsultStyle().getDisplayName(),
chat.changeChatStatusForChatList().getDisplayName(), nickname, TimeUtil.getUpdatedAt(chatMessage.getUpdatedAt()),
chatMessage.getContent(), chatMessage.getIsCustomer(), unreadMessageCount, reviewCompleted,
chatMessageContent, chatMessage.getIsCustomer(), unreadMessageCount, reviewCompleted,
chat.getConsult().getConsultId(), IS_CHAT);
}
}

0 comments on commit 27c2188

Please sign in to comment.