77import boombimapi .domain .congestion .entity .MemberCongestion ;
88import boombimapi .domain .congestion .repository .MemberCongestionRepository ;
99import boombimapi .domain .favorite .repository .FavoriteRepository ;
10+ import boombimapi .domain .member .domain .entity .Member ;
11+ import boombimapi .domain .member .domain .repository .MemberRepository ;
1012import boombimapi .domain .place .dto .request .ResolveMemberPlaceRequest ;
1113import boombimapi .domain .place .dto .request .ViewportRequest ;
1214import boombimapi .domain .place .dto .response .member .GetMemberPlaceDetailResponse ;
4345@ RequiredArgsConstructor
4446public class MemberPlaceService {
4547
48+ private final MemberRepository memberRepository ;
4649 private final MemberPlaceRepository memberPlaceRepository ;
4750 private final MemberCongestionRepository memberCongestionRepository ;
4851
@@ -52,7 +55,6 @@ public class MemberPlaceService {
5255 public ResolveMemberPlaceResponse resolveMemberPlace (
5356 ResolveMemberPlaceRequest request
5457 ) {
55- log .info ("[MemberPlaceService] resolveMemberPlace()" );
5658
5759 // TODO: 레이스 컨디션 처리 필요(동일 uuid 동시 생성 방지)
5860 MemberPlace memberPlace = memberPlaceRepository .findByUuid (request .uuid ())
@@ -88,8 +90,21 @@ public GetMemberPlaceDetailResponse getMemberPlaceDetail(
8890 pageable
8991 );
9092
91- List <MemberCongestionItemResponse > memberCongestionItems = slice .getContent ().stream ()
92- .map (MemberCongestionItemResponse ::of )
93+ // TODO: N+1 발생 가능성 높음
94+ List <MemberCongestionItemResponse > memberCongestionItems = slice .getContent ()
95+ .stream ()
96+ .map (memberCongestion -> {
97+ Member member = memberCongestion .getMember ();
98+
99+ return MemberCongestionItemResponse .of (
100+ memberCongestion .getId (),
101+ member .getProfile (),
102+ member .getName (),
103+ memberCongestion .getCongestionLevel ().getName (),
104+ memberCongestion .getCongestionMessage (),
105+ memberCongestion .getCreatedAt ()
106+ );
107+ })
93108 .toList ();
94109
95110 Long nextCursor = computeNextCursor (memberCongestionItems );
@@ -236,6 +251,7 @@ public List<ViewportNodeResponse> getViewportNodes(
236251 distanceMeters ,
237252 memberCongestion .getCongestionLevel ().getName (),
238253 memberCongestion .getCongestionMessage (),
254+ memberCongestion .getCreatedAt (),
239255 isFavorite
240256 )
241257 );
0 commit comments