From 0066442fee45c1f1fa372895c9b3b582f8f6c1f3 Mon Sep 17 00:00:00 2001 From: dldmldlsy Date: Wed, 24 Jan 2024 22:28:13 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=EC=B1=84=ED=8C=85=EB=B0=A9=20=EC=83=81?= =?UTF-8?q?=EC=84=B8=20=EC=A1=B0=ED=9A=8C=20-=20=EC=B1=84=ED=8C=85?= =?UTF-8?q?=EC=83=81=ED=83=9C:=20=EC=96=91=EB=8F=84=EB=8C=80=EA=B8=B0?= =?UTF-8?q?=EC=A4=91=20-=20=EB=B0=94=EB=A1=9C=20=EA=B2=B0=EC=A0=9C?= =?UTF-8?q?=EC=9D=B8=20=EA=B2=BD=EC=9A=B0=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 기존: 네고 후 결제완료만 고려 -> 변경: 바로 결제완료에도 양도 대기중이 될 수 있도록 구현 --- .../domain/chat/service/ChatService.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/java/site/goldenticket/domain/chat/service/ChatService.java b/src/main/java/site/goldenticket/domain/chat/service/ChatService.java index ce08cffc..4f2a9de0 100644 --- a/src/main/java/site/goldenticket/domain/chat/service/ChatService.java +++ b/src/main/java/site/goldenticket/domain/chat/service/ChatService.java @@ -29,8 +29,8 @@ import site.goldenticket.domain.chat.dto.response.ChatRoomDetailResponse; import site.goldenticket.domain.chat.dto.response.ChatRoomInfoResponse; import site.goldenticket.domain.chat.dto.response.ChatRoomListResponse; -import site.goldenticket.domain.chat.dto.response.ChatRoomShortListResponse; import site.goldenticket.domain.chat.dto.response.ChatRoomResponse; +import site.goldenticket.domain.chat.dto.response.ChatRoomShortListResponse; import site.goldenticket.domain.chat.dto.response.ChatRoomShortResponse; import site.goldenticket.domain.chat.entity.Chat; import site.goldenticket.domain.chat.entity.ChatRoom; @@ -216,7 +216,7 @@ public void createStartMessageOfNewChatRoom(Long chatRoomId) { * @param nickname 회원 닉네임 * @return 메세지 */ - private String createEntranceMessage (String nickname) { + private String createEntranceMessage(String nickname) { return nickname + "님이 입장하셨습니다."; } @@ -389,7 +389,13 @@ private String getStatusOfChatRoom(Long buyerId, Long productId) { product.getId()).orElseThrow(() -> new CustomException(NEGO_NOT_FOUND)); if (nego.getStatus().equals(NegotiationStatus.PAYMENT_PENDING)) { chatStatus = "PAYMENT_PENDING"; - } else if (nego.getStatus().equals(NegotiationStatus.TRANSFER_PENDING)) { + } + } else if (product.getProductStatus().equals(ProductStatus.RESERVED)) { + Order order = orderRepository.findByProductIdAndStatus(product.getId(), + OrderStatus.WAITING_TRANSFER) + .orElseThrow(() -> new CustomException(ORDER_NOT_FOUND)); + if (order.getUserId().equals(buyerId) && order.getStatus() + .equals(OrderStatus.WAITING_TRANSFER)) { chatStatus = "TRANSFER_PENDING"; } } else if (product.getProductStatus().equals(ProductStatus.SOLD_OUT)) {