diff --git a/src/main/java/com/dnd/accompany/domain/accompany/api/dto/FindDetailInfoResult.java b/src/main/java/com/dnd/accompany/domain/accompany/api/dto/FindDetailInfoResult.java index 4ddd1eb..a21a0fc 100644 --- a/src/main/java/com/dnd/accompany/domain/accompany/api/dto/FindDetailInfoResult.java +++ b/src/main/java/com/dnd/accompany/domain/accompany/api/dto/FindDetailInfoResult.java @@ -1,11 +1,16 @@ package com.dnd.accompany.domain.accompany.api.dto; import java.time.LocalDateTime; +import java.util.List; import com.dnd.accompany.domain.accompany.entity.enums.Category; import com.dnd.accompany.domain.accompany.entity.enums.PreferredAge; import com.dnd.accompany.domain.accompany.entity.enums.PreferredGender; import com.dnd.accompany.domain.accompany.entity.enums.Region; +import com.dnd.accompany.domain.user.entity.enums.FoodPreference; +import com.dnd.accompany.domain.user.entity.enums.Gender; +import com.dnd.accompany.domain.user.entity.enums.TravelPreference; +import com.dnd.accompany.domain.user.entity.enums.TravelStyle; public record FindDetailInfoResult( Long boardId, @@ -19,6 +24,12 @@ public record FindDetailInfoResult( Category category, PreferredAge preferredAge, PreferredGender preferredGender, - String nickname + String nickname, + String provider, + Gender gender, + List travelPreferences, + List travelStyles, + List foodPreferences + // List 추가 예정 ) { } diff --git a/src/main/java/com/dnd/accompany/domain/accompany/api/dto/UserProfileDetailInfo.java b/src/main/java/com/dnd/accompany/domain/accompany/api/dto/UserProfileDetailInfo.java index d585fce..6aff62f 100644 --- a/src/main/java/com/dnd/accompany/domain/accompany/api/dto/UserProfileDetailInfo.java +++ b/src/main/java/com/dnd/accompany/domain/accompany/api/dto/UserProfileDetailInfo.java @@ -1,5 +1,12 @@ package com.dnd.accompany.domain.accompany.api.dto; +import java.util.List; + +import com.dnd.accompany.domain.user.entity.enums.FoodPreference; +import com.dnd.accompany.domain.user.entity.enums.Gender; +import com.dnd.accompany.domain.user.entity.enums.TravelPreference; +import com.dnd.accompany.domain.user.entity.enums.TravelStyle; + import lombok.AccessLevel; import lombok.Builder; import lombok.Getter; @@ -9,9 +16,22 @@ @NoArgsConstructor(access = AccessLevel.PROTECTED) public class UserProfileDetailInfo { private String nickname; + private String provider; + private Gender gender; + private List travelPreferences; + private List travelStyles; + private List foodPreferences; + // List 추가 예정 @Builder - public UserProfileDetailInfo(String nickname) { + public UserProfileDetailInfo(String nickname, String provider, Gender gender, + List travelPreferences, + List travelStyles, List foodPreferences) { this.nickname = nickname; + this.provider = provider; + this.gender = gender; + this.travelPreferences = travelPreferences; + this.travelStyles = travelStyles; + this.foodPreferences = foodPreferences; } } diff --git a/src/main/java/com/dnd/accompany/domain/accompany/infrastructure/querydsl/AccompanyBoardRepositoryImpl.java b/src/main/java/com/dnd/accompany/domain/accompany/infrastructure/querydsl/AccompanyBoardRepositoryImpl.java index b41fcc4..c79b9bb 100644 --- a/src/main/java/com/dnd/accompany/domain/accompany/infrastructure/querydsl/AccompanyBoardRepositoryImpl.java +++ b/src/main/java/com/dnd/accompany/domain/accompany/infrastructure/querydsl/AccompanyBoardRepositoryImpl.java @@ -4,6 +4,7 @@ import static com.dnd.accompany.domain.accompany.entity.QAccompanyUser.*; import static com.dnd.accompany.domain.accompany.entity.enums.Role.*; import static com.dnd.accompany.domain.user.entity.QUser.*; +import static com.dnd.accompany.domain.user.entity.QUserProfile.*; import java.util.List; import java.util.Optional; @@ -76,11 +77,17 @@ public Optional findDetailInfo(Long boardId) { accompanyBoard.category, accompanyBoard.preferredAge, accompanyBoard.preferredGender, - user.nickname)) + user.nickname, + user.provider, + userProfile.gender, + userProfile.travelPreferences, + userProfile.travelStyles, + userProfile.foodPreferences)) .from(accompanyBoard) .leftJoin(accompanyUser).on(accompanyUser.accompanyBoard.id.eq(accompanyBoard.id) .and(isHost())) .leftJoin(user).on(user.id.eq(accompanyUser.user.id)) + .leftJoin(userProfile).on(userProfile.userId.eq(user.id)) .where(accompanyBoard.id.eq(boardId)) .fetchOne(); diff --git a/src/main/java/com/dnd/accompany/domain/accompany/service/AccompanyBoardService.java b/src/main/java/com/dnd/accompany/domain/accompany/service/AccompanyBoardService.java index fc5a764..433aedd 100644 --- a/src/main/java/com/dnd/accompany/domain/accompany/service/AccompanyBoardService.java +++ b/src/main/java/com/dnd/accompany/domain/accompany/service/AccompanyBoardService.java @@ -96,6 +96,11 @@ public void delete(Long userId, Long boardId) { private static UserProfileDetailInfo getUserProfileDetailInfo(FindDetailInfoResult detailInfo) { return UserProfileDetailInfo.builder() .nickname(detailInfo.nickname()) + .provider(detailInfo.provider()) + .gender(detailInfo.gender()) + .travelPreferences(detailInfo.travelPreferences()) + .travelStyles(detailInfo.travelStyles()) + .foodPreferences(detailInfo.foodPreferences()) .build(); }