Skip to content

Commit 5e9b7dc

Browse files
authored
Merge pull request #96 from swyp-app-team-4/refactor#95-add-fields-in-responses
[Refactor] Response에 누락된 필드 추가
2 parents fb135a6 + d0b62a5 commit 5e9b7dc

3 files changed

Lines changed: 37 additions & 10 deletions

File tree

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,31 @@
11
package boombimapi.domain.congestion.dto.response;
22

3-
import boombimapi.domain.congestion.entity.MemberCongestion;
43
import java.time.LocalDateTime;
54

65
public record MemberCongestionItemResponse(
76
Long memberCongestionId,
7+
String memberProfile,
8+
String memberName,
89
String congestionLevelName,
910
String congestionLevelMessage,
1011
LocalDateTime createdAt
1112
) {
1213

1314
public static MemberCongestionItemResponse of(
14-
MemberCongestion memberCongestion
15+
Long memberCongestionId,
16+
String memberProfile,
17+
String memberName,
18+
String congestionLevelName,
19+
String congestionLevelMessage,
20+
LocalDateTime createdAt
1521
) {
1622
return new MemberCongestionItemResponse(
17-
memberCongestion.getId(),
18-
memberCongestion.getCongestionLevel().getName(),
19-
memberCongestion.getCongestionMessage(),
20-
memberCongestion.getCreatedAt()
23+
memberCongestionId,
24+
memberProfile,
25+
memberName,
26+
congestionLevelName,
27+
congestionLevelMessage,
28+
createdAt
2129
);
2230
}
23-
2431
}

src/main/java/boombimapi/domain/place/application/MemberPlaceService.java

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
import boombimapi.domain.congestion.entity.MemberCongestion;
88
import boombimapi.domain.congestion.repository.MemberCongestionRepository;
99
import boombimapi.domain.favorite.repository.FavoriteRepository;
10+
import boombimapi.domain.member.domain.entity.Member;
11+
import boombimapi.domain.member.domain.repository.MemberRepository;
1012
import boombimapi.domain.place.dto.request.ResolveMemberPlaceRequest;
1113
import boombimapi.domain.place.dto.request.ViewportRequest;
1214
import boombimapi.domain.place.dto.response.member.GetMemberPlaceDetailResponse;
@@ -43,6 +45,7 @@
4345
@RequiredArgsConstructor
4446
public 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
);

src/main/java/boombimapi/domain/place/dto/response/node/ViewportPlaceNodeResponse.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import boombimapi.domain.place.dto.type.MarkerType;
44
import boombimapi.domain.place.entity.PlaceType;
55
import boombimapi.global.dto.Coordinate;
6+
import java.time.LocalDateTime;
67

78
public record ViewportPlaceNodeResponse(
89
MarkerType type,
@@ -13,6 +14,7 @@ public record ViewportPlaceNodeResponse(
1314
Double distance,
1415
String congestionLevelName,
1516
String congestionMessage,
17+
LocalDateTime createdAt,
1618
boolean isFavorite
1719
) implements ViewportNodeResponse {
1820

@@ -23,6 +25,7 @@ public static ViewportPlaceNodeResponse of(
2325
Double distance,
2426
String congestionLevelName,
2527
String congestionMessage,
28+
LocalDateTime createdAt,
2629
boolean isFavorite
2730
) {
2831
return new ViewportPlaceNodeResponse(
@@ -34,6 +37,7 @@ public static ViewportPlaceNodeResponse of(
3437
distance,
3538
congestionLevelName,
3639
congestionMessage,
40+
createdAt,
3741
isFavorite
3842
);
3943
}

0 commit comments

Comments
 (0)