Skip to content

Commit 87e9e5a

Browse files
committed
hotfix : 파티 상세 조회 시, 이미 참여중인 파티라면 groupChatRoomId 추가 반환
1 parent 4ade7aa commit 87e9e5a

3 files changed

Lines changed: 21 additions & 3 deletions

File tree

src/main/java/ita/tinybite/domain/chat/repository/ChatRoomMemberRepository.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
import ita.tinybite.domain.chat.entity.ChatRoom;
44
import ita.tinybite.domain.chat.entity.ChatRoomMember;
55
import ita.tinybite.domain.chat.enums.ChatRoomType;
6+
import ita.tinybite.domain.party.entity.Party;
67
import ita.tinybite.domain.user.entity.User;
8+
import org.springframework.data.domain.Limit;
79
import org.springframework.data.jpa.repository.JpaRepository;
810

911
import java.util.List;
@@ -16,4 +18,6 @@ public interface ChatRoomMemberRepository extends JpaRepository<ChatRoomMember,
1618
Optional<ChatRoomMember> findByChatRoomAndUser(ChatRoom chatRoom, User user);
1719

1820
Optional<ChatRoomMember> findByChatRoomAndUserAndChatRoom_Type(ChatRoom chatRoom, User user, ChatRoomType chatRoomType);
21+
22+
Optional<ChatRoomMember> findByUserAndChatRoom_typeAndChatRoom_Party(User user, ChatRoomType chatRoomType, Party chatRoomParty);
1923
}

src/main/java/ita/tinybite/domain/party/dto/response/PartyDetailResponse.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package ita.tinybite.domain.party.dto.response;
22

3+
import com.fasterxml.jackson.annotation.JsonInclude;
34
import ita.tinybite.domain.party.entity.PickupLocation;
45
import ita.tinybite.domain.party.enums.PartyCategory;
56
import lombok.*;
@@ -10,6 +11,7 @@
1011
@NoArgsConstructor
1112
@AllArgsConstructor
1213
@Builder
14+
@JsonInclude(JsonInclude.Include.NON_NULL)
1315
public class PartyDetailResponse {
1416

1517
private Long partyId;
@@ -48,4 +50,7 @@ public class PartyDetailResponse {
4850
// 상태
4951
private Boolean isClosed;
5052
private Boolean isParticipating; // 현재 사용자가 참여 중인지
53+
54+
// 현재 유저가 해당 파티에 참여중이라면, 그룹 채팅방 아이디 반환
55+
private Long groupChatRoomId;
5156
}

src/main/java/ita/tinybite/domain/party/service/PartyService.java

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import ita.tinybite.domain.chat.entity.ChatRoom;
44
import ita.tinybite.domain.chat.entity.ChatRoomMember;
55
import ita.tinybite.domain.chat.enums.ChatRoomType;
6-
import ita.tinybite.domain.chat.repository.ChatMessageRepository;
76
import ita.tinybite.domain.chat.repository.ChatRoomMemberRepository;
87
import ita.tinybite.domain.chat.repository.ChatRoomRepository;
98
import ita.tinybite.domain.chat.service.ChatService;
@@ -246,7 +245,16 @@ public PartyDetailResponse getPartyDetail(Long partyId, Long userId, Double user
246245
);
247246
}
248247

249-
return convertToDetailResponse(party, distance, isParticipating);
248+
// 특정 유저가 특정 파티의 그룹 채팅방에 참여중일 때, 유저-채팅방의 참여 정보 조회
249+
ChatRoomMember chatRoomMember = chatRoomMemberRepository.findByUserAndChatRoom_typeAndChatRoom_Party(user, ChatRoomType.GROUP, party)
250+
.orElse(null);
251+
252+
Long groupChatRoomId = null;
253+
if(chatRoomMember != null) {
254+
groupChatRoomId = chatRoomMember.getChatRoom().getId();
255+
}
256+
257+
return convertToDetailResponse(party, distance, isParticipating, groupChatRoomId);
250258
}
251259

252260
private boolean validateLocation(Double userLat, Double userLon, Party party) {
@@ -396,7 +404,7 @@ private PartyCardResponse convertToCardResponse(Party party,
396404

397405

398406
private PartyDetailResponse convertToDetailResponse(Party party, double distance,
399-
boolean isParticipating) {
407+
boolean isParticipating, Long groupChatRoomId) {
400408
int currentCount = party.getCurrentParticipants();
401409
int pricePerPerson = party.getPrice() / party.getMaxParticipants();
402410

@@ -428,6 +436,7 @@ private PartyDetailResponse convertToDetailResponse(Party party, double distance
428436
.images(party.getImages())
429437
.isClosed(party.getIsClosed())
430438
.isParticipating(isParticipating)
439+
.groupChatRoomId(groupChatRoomId)
431440
.build();
432441
}
433442

0 commit comments

Comments
 (0)