From 49ecce0cc9de287216bf77a68c703cabfe908051 Mon Sep 17 00:00:00 2001 From: Kwak Seong Joon Date: Fri, 24 Jan 2025 07:13:31 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=EC=A4=91=EB=B3=B5=20=EC=A0=9C=EA=B1=B0?= =?UTF-8?q?=20-=20#150?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/CakeRepositoryCustomImpl.java | 12 ++++++------ .../store/repository/StoreRepositoryImpl.java | 18 +++++++++--------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/cakey-domain/src/main/java/com/cakey/cake/repository/CakeRepositoryCustomImpl.java b/cakey-domain/src/main/java/com/cakey/cake/repository/CakeRepositoryCustomImpl.java index 21c40d9..29b3157 100644 --- a/cakey-domain/src/main/java/com/cakey/cake/repository/CakeRepositoryCustomImpl.java +++ b/cakey-domain/src/main/java/com/cakey/cake/repository/CakeRepositoryCustomImpl.java @@ -41,7 +41,7 @@ public class CakeRepositoryCustomImpl implements CakeRepositoryCustom { //가게 메인이미지 조회 @Override public List findMainImageByStoreIds(List storeIds) { - List cakeMainImageDtos = queryFactory.select(Projections.constructor(CakeMainImageDto.class, + List cakeMainImageDtos = queryFactory.selectDistinct(Projections.constructor(CakeMainImageDto.class, cake.storeId, cake.id, cake.imageUrl)) @@ -163,7 +163,7 @@ public List findPopularCakesByStation(final Long userId, /// 쿼리 실행 JPQLQuery query = queryFactory - .select(new QCakeInfoDto( + .selectDistinct(new QCakeInfoDto( cake.id, store.id, store.name, @@ -413,7 +413,7 @@ public List findCakesByStoreAndConditions(final Long storeI QCakeTheme cakeTheme = QCakeTheme.cakeTheme; ///첫 번째 케이크: 들어온 cakeId 정보 가져오기 - CakeSelectedInfoDto mainCake = queryFactory.select(new QCakeSelectedInfoDto( + CakeSelectedInfoDto mainCake = queryFactory.selectDistinct(new QCakeSelectedInfoDto( cake.id, isLikedByUser(cake.id, userId), /// 좋아요 여부 확인 cake.imageUrl @@ -437,7 +437,7 @@ public List findCakesByStoreAndConditions(final Long storeI } /// 나머지 케이크 가져오기 - List otherCakes = queryFactory.select(new QCakeSelectedInfoDto( + List otherCakes = queryFactory.selectDistinct(new QCakeSelectedInfoDto( cake.id, isLikedByUser(cake.id, userId), /// 좋아요 여부 확인 cake.imageUrl @@ -493,7 +493,7 @@ public List findCakesByCategoryAndTheme(final DayCategory dayCatego } /// QueryDSL 쿼리 작성 - List cakes = queryFactory.select(new QCakeInfoDto( + List cakes = queryFactory.selectDistinct(new QCakeInfoDto( cake.id, cake.storeId, store.name, @@ -826,7 +826,7 @@ public int countCakesByCategoryAndTheme(final DayCategory dayCategory, final The } /// 케이크 개수 조회 쿼리 - Long count = queryFactory.select(cake.count()) + Long count = queryFactory.selectDistinct(cake.count()) .from(cake) .leftJoin(cakeTheme).on(cake.id.eq(cakeTheme.cakeId)) .where(whereCondition) diff --git a/cakey-domain/src/main/java/com/cakey/store/repository/StoreRepositoryImpl.java b/cakey-domain/src/main/java/com/cakey/store/repository/StoreRepositoryImpl.java index ac079e7..0203471 100644 --- a/cakey-domain/src/main/java/com/cakey/store/repository/StoreRepositoryImpl.java +++ b/cakey-domain/src/main/java/com/cakey/store/repository/StoreRepositoryImpl.java @@ -31,7 +31,7 @@ public class StoreRepositoryImpl implements StoreRepositoryCustom { public List findStoreCoordinatesByStation(final Station station) { final List dtos = queryFactory - .select(new QStoreCoordinatesDto( + .selectDistinct(new QStoreCoordinatesDto( store.id, store.latitude, store.longitude @@ -81,7 +81,7 @@ public List findPopularitryStoreInfoByStation(final Long userId, /// 쿼리 실행 JPQLQuery query = - queryFactory.select(new QStoreInfoDto( + queryFactory.selectDistinct(new QStoreInfoDto( store.id, store.name, store.station, @@ -171,7 +171,7 @@ public List findLatestStoreInfoByStation(final Long userId, List storeInfoDtos = queryFactory - .select(new QStoreInfoDto( + .selectDistinct(new QStoreInfoDto( store.id, store.name, store.station, @@ -218,7 +218,7 @@ public List findLatestStoresLikedByUser(final long userId, /// 메인 쿼리 List storeInfoDtos = queryFactory - .select(new QStoreInfoDto( + .selectDistinct(new QStoreInfoDto( store.id, store.name, store.station, @@ -278,7 +278,7 @@ public List findPopularityStoresLikedByUser( /// 기본 쿼리 생성 final JPQLQuery query = queryFactory - .select(new QStoreInfoDto( + .selectDistinct(new QStoreInfoDto( store.id, store.name, store.station, @@ -360,7 +360,7 @@ public List findPopularityStoresLikedByUser( @Override public List findLikedStoreCoordinatesByUserId(final Long userId) { final List storeCoordinatesDtos = queryFactory - .select(new QStoreCoordinatesDto( + .selectDistinct(new QStoreCoordinatesDto( store.id, store.latitude, store.longitude @@ -381,7 +381,7 @@ public List findLikedStoreCoordinatesByUserId(final Long us public Optional findStoreBySelectedCakeId(final long cakeId) { QCake cake = QCake.cake; QStore store = QStore.store; - return Optional.ofNullable(queryFactory.select(new QStoreBySelectedCakeDto( + return Optional.ofNullable(queryFactory.selectDistinct(new QStoreBySelectedCakeDto( store.id, store.name, store.station @@ -407,7 +407,7 @@ public Optional findStoreInfoById(final long storeId, final Lo /// 메인 케이크 이미지 URL 가져오기 String fetchedImageUrl = queryFactory - .select(cake.imageUrl) + .selectDistinct(cake.imageUrl) .from(cake) .where(cake.storeId.eq(storeId).and(cake.isMainImage.isTrue())) .orderBy(cake.id.desc()) @@ -418,7 +418,7 @@ public Optional findStoreInfoById(final long storeId, final Lo : Expressions.nullExpression(String.class); /// 메인 쿼리 - return Optional.ofNullable(queryFactory.select(new QStoreSelectedDto( + return Optional.ofNullable(queryFactory.selectDistinct(new QStoreSelectedDto( store.id, store.name, store.address,