Skip to content

Commit

Permalink
Merge pull request #131 from sharemindteam/fix/130-chatGetRoomInfo
Browse files Browse the repository at this point in the history
fix: ChatGetRoomInfoResponse 리턴 내용 수정
  • Loading branch information
aeyongdodam authored Feb 27, 2024
2 parents a64aa7c + 7ba2a3a commit 8fe0e9c
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,12 @@ public void createChatNoticeMessage(Chat chat, ChatMessageStatus chatMessageStat
} else if (chatMessageStatus == ChatMessageStatus.TIME_OVER) {
chatMessage = new ChatMessage(chat, null, "상담 시간이 모두 마무리 되었어요.\n상담이 정상적으로 종료되었다면 상담 종료 버튼을 눌러 주세요.\n*신고접수가 되지 않은 상담 건은 7일 후 자동으로 거래가 확정됩니다.", chatMessageStatus);
} else if (chatMessageStatus == ChatMessageStatus.FINISH) {
chatMessage = new ChatMessage(chat, null, "님과의 상담이 만족스러우셨나요? 후기를 남겨주시면 더 나은 서비스를 위해 큰 도움이 되어요.", chatMessageStatus);
chatMessage = new ChatMessage(chat, true, "님과의 상담이 만족스러우셨나요? 후기를 남겨주시면 더 나은 서비스를 위해 큰 도움이 되어요.", chatMessageStatus);
}
if (chatMessage != null) {
chatMessageRepository.save(chatMessage);
String opponentNickname = getOpponentNickname(chat, chatMessage.getIsCustomer());
sendChatNoticeMessage(chatMessage, opponentNickname, chat.getChatId());
// String opponentNickname = getOpponentNickname(chat, chatMessage.getIsCustomer());
// sendChatNoticeMessage(chatMessage, opponentNickname, chat.getChatId()); //todo: 프론트 안읽은 메세지 처리할 때 다시 수정 음.. 더 좋은 방법 있는지 생각해보기ㅜㅜ
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package com.example.sharemind.chat.dto.response;

import com.example.sharemind.chat.content.ChatStatus;
import com.example.sharemind.chat.domain.Chat;
import com.example.sharemind.global.utils.TimeUtil;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AccessLevel;
import lombok.Getter;
Expand All @@ -16,7 +18,16 @@ public class ChatGetRoomInfoResponse {
@Schema(description = "채팅 진행 상태")
private final String status;

@Schema(description = "채팅 요청 상태일 때, 남은 시간, 채팅 요청 상태 이외에는 null")
private final String time;

public static ChatGetRoomInfoResponse of(Chat chat) {
return new ChatGetRoomInfoResponse(chat.getConsult().getCustomer().getNickname(), chat.getChatStatus().getDisplayName());
if (chat.getChatStatus() == ChatStatus.SEND_REQUEST) {
return new ChatGetRoomInfoResponse(chat.getConsult().getCustomer().getNickname(),
chat.getChatStatus().getDisplayName(),
TimeUtil.getChatSendRequestLeftTime(chat.getUpdatedAt()));
}
return new ChatGetRoomInfoResponse(chat.getConsult().getCustomer().getNickname(),
chat.getChatStatus().getDisplayName(), null);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@
import com.example.sharemind.chatMessage.content.ChatMessageStatus;
import com.example.sharemind.chatMessage.domain.ChatMessage;
import com.example.sharemind.consult.domain.Consult;
import com.example.sharemind.global.utils.TimeUtil;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;

import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit;

import lombok.AccessLevel;
import lombok.Getter;
Expand Down Expand Up @@ -47,13 +47,9 @@ public static ChatMessageGetResponse of(Chat chat, ChatMessage chatMessage) {
Consult consult = chat.getConsult();

if (chatMessage.getMessageStatus() == ChatMessageStatus.SEND_REQUEST) {
long gapSeconds = ChronoUnit.SECONDS.between(chatMessage.getCreatedAt(), LocalDateTime.now());
long totalSeconds = 600 - gapSeconds;
long minutes = totalSeconds / 60;
long seconds = totalSeconds % 60;
return new ChatMessageGetResponse(consult.getCustomer().getNickname(), consult.getCounselor().getNickname(),
chatMessage.getMessageId(), chatMessage.getContent(), chatMessage.getUpdatedAt(),
chatMessage.getIsCustomer(), chatMessage.getMessageStatus(), String.format("%02d:%02d", minutes, seconds));
chatMessage.getIsCustomer(), chatMessage.getMessageStatus(), TimeUtil.getChatSendRequestLeftTime(chatMessage.getCreatedAt()));
}
if (chatMessage.getMessageStatus() == ChatMessageStatus.FINISH) {
String nickname = chat.getConsult().getCounselor().getNickname();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,12 @@ public static String getUpdatedAtForReview(LocalDateTime updatedAt) {
return updatedAt.format(DateTimeFormatter.ofPattern("MM월 dd일"));
}
}

public static String getChatSendRequestLeftTime(LocalDateTime updatedAt) {
long gapSeconds = ChronoUnit.SECONDS.between(updatedAt, LocalDateTime.now());
long totalSeconds = 600 - gapSeconds;
long minutes = totalSeconds / 60;
long seconds = totalSeconds % 60;
return String.format("%02d:%02d", minutes, seconds);
}
}

0 comments on commit 8fe0e9c

Please sign in to comment.