Skip to content

Commit cd20896

Browse files
authored
[fix] 코스 조회 로직 수정 / 장소 상세조회 response 수정 (#243)
* fix: 장소 검색 시 사진이 없으면 null 처리 * fix: isVisited 필드명 변경 * fix: 코스 조회 API 로직 수정 * fix: 장소 상세보기 response 값 수정 * fix: 장소 상세보기 response 값 수정 * fix: 코스 조회 로직 수정 * fix: 카테고리 FetchType 수정
1 parent 1f527a6 commit cd20896

File tree

3 files changed

+15
-6
lines changed

3 files changed

+15
-6
lines changed

src/main/java/umc/catchy/domain/mapping/memberCourse/dao/MemberCourseRepositoryImpl.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
import umc.catchy.domain.category.domain.BigCategory;
1212
import umc.catchy.domain.course.domain.CourseType;
13+
import umc.catchy.domain.course.util.LocationUtils;
1314
import umc.catchy.domain.mapping.memberCourse.dto.response.MemberCourseResponse;
1415

1516

@@ -67,7 +68,7 @@ public Slice<MemberCourseResponse> findCourseByBookmarks(Long memberId, int page
6768
@Override
6869
public Slice<MemberCourseResponse> findCourseByFilters(CourseType courseType, String upperLocation,
6970
String lowerLocation, Long memberId, Long lastCourseId) {
70-
List<MemberCourseResponse> results = queryFactory.select(Projections.constructor(MemberCourseResponse.class,
71+
List<MemberCourseResponse> results = queryFactory.selectDistinct(Projections.constructor(MemberCourseResponse.class,
7172
course.id,
7273
course.courseType,
7374
course.courseImage,
@@ -76,6 +77,8 @@ public Slice<MemberCourseResponse> findCourseByFilters(CourseType courseType, St
7677
.from(memberCourse)
7778
.leftJoin(memberCourse.course,course).on(memberCourse.course.id.eq(course.id))
7879
.leftJoin(memberCourse.member,member).on(memberCourse.member.id.eq(member.id))
80+
.leftJoin(placeCourse).on(course.id.eq(placeCourse.course.id))
81+
.leftJoin(place).on(placeCourse.place.id.eq(place.id))
7982
.where(
8083
memberCourse.member.id.eq(memberId),
8184
course.courseType.eq(courseType),
@@ -126,7 +129,7 @@ private BooleanExpression upperLocationFilter(String upperLocation) {
126129
if ("all".equals(upperLocation)) {
127130
return null;
128131
}
129-
return place.roadAddress.startsWith(upperLocation + " ");
132+
return place.roadAddress.startsWith(LocationUtils.normalizeLocation(upperLocation) + " ");
130133
}
131134

132135
private BooleanExpression lowerLocationFilter(String lowerLocation) {

src/main/java/umc/catchy/domain/place/converter/PlaceConverter.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import java.util.Map;
99
import java.util.regex.Matcher;
1010
import java.util.regex.Pattern;
11+
import umc.catchy.domain.category.domain.BigCategory;
1112
import umc.catchy.domain.course.dto.response.CourseInfoResponse;
1213
import umc.catchy.domain.mapping.placeCourse.dto.response.PlaceInfoDetail;
1314
import umc.catchy.domain.mapping.placeCourse.dto.response.PlaceInfoPreview;
@@ -55,22 +56,27 @@ public static PlaceInfoPreview toPlaceInfoPreview(Place place, Long reviewCount,
5556
}
5657

5758
public static PlaceInfoDetail toPlaceInfoDetail (Place place, Long reviewCount, Boolean isVisited, Boolean isLiked) {
58-
String categoryName = null;
59+
BigCategory categoryName = null;
5960
Double rating = 0.0;
6061

6162
if (place.getCategory() != null) {
62-
categoryName = place.getCategory().getName();
63+
categoryName = place.getCategory().getBigCategory();
6364
}
6465

6566
if (place.getRating() != null) {
6667
rating = place.getRating();
6768
}
6869

70+
String category;
71+
72+
if (categoryName == null) category = null;
73+
else category = categoryName.toString();
74+
6975
return PlaceInfoDetail.builder()
7076
.placeId(place.getId())
7177
.imageUrl(place.getImageUrl())
7278
.placeName(place.getPlaceName())
73-
.categoryName(categoryName)
79+
.categoryName(category)
7480
.roadAddress(place.getRoadAddress())
7581
.activeTime(place.getActiveTime())
7682
.placeSite(place.getPlaceSite())

src/main/java/umc/catchy/domain/place/domain/Place.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public class Place extends BaseTimeEntity {
5151
private Double rating; // 장소 총 평점 : 처음에 0으로 초기화해주세요
5252

5353
@Setter
54-
@ManyToOne(fetch = FetchType.LAZY)
54+
@ManyToOne(fetch = FetchType.EAGER)
5555
@JoinColumn(name = "category_id")
5656
private Category category;
5757

0 commit comments

Comments
 (0)