From 22c4fd3b4fd78c28457dad8a7736eedee0a7a077 Mon Sep 17 00:00:00 2001 From: JSoi Date: Wed, 13 Jul 2022 05:19:17 +0900 Subject: [PATCH] =?UTF-8?q?#23=20[Update]=20=EB=B3=84=EC=A0=90=EC=88=9C=20?= =?UTF-8?q?=EC=A0=95=EB=A0=AC=20=EA=B5=AC=ED=98=84=EC=A4=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../store/controller/StoreController.java | 2 +- .../repository/StoreQueryRepository.java | 25 +++++++++++++------ src/main/resources/application-key.properties | 0 3 files changed, 18 insertions(+), 9 deletions(-) delete mode 100644 src/main/resources/application-key.properties diff --git a/src/main/java/com/mpnp/baechelin/store/controller/StoreController.java b/src/main/java/com/mpnp/baechelin/store/controller/StoreController.java index 18ef361..eb0e780 100644 --- a/src/main/java/com/mpnp/baechelin/store/controller/StoreController.java +++ b/src/main/java/com/mpnp/baechelin/store/controller/StoreController.java @@ -43,7 +43,7 @@ public List getStoreInRangeHighPoint(@RequestParam(required = @RequestParam(required = false) String category, @RequestParam(required = false) List facility, @PageableDefault Pageable pageable) { - List betweenLngLat = storeQueryRepository.findBetweenLngLat(latStart, latEnd, lngStart, lngEnd, category, facility, pageable); + List betweenLngLat = storeQueryRepository.findStoreOrderByPoint(latStart, latEnd, lngStart, lngEnd, category, facility, pageable); return betweenLngLat.parallelStream().map(storeService::storeToResDto).collect(Collectors.toList());// 순서보장 } diff --git a/src/main/java/com/mpnp/baechelin/store/repository/StoreQueryRepository.java b/src/main/java/com/mpnp/baechelin/store/repository/StoreQueryRepository.java index e7cb37f..df90daf 100644 --- a/src/main/java/com/mpnp/baechelin/store/repository/StoreQueryRepository.java +++ b/src/main/java/com/mpnp/baechelin/store/repository/StoreQueryRepository.java @@ -1,14 +1,11 @@ package com.mpnp.baechelin.store.repository; import com.mpnp.baechelin.config.QuerydslConfiguration; -import com.mpnp.baechelin.review.repository.ReviewQueryRepository; -import com.mpnp.baechelin.store.domain.QStore; import com.mpnp.baechelin.store.domain.Store; -import com.mpnp.baechelin.tag.domain.QTag; import com.querydsl.core.BooleanBuilder; +import com.querydsl.core.Tuple; +import com.querydsl.core.types.OrderSpecifier; import com.querydsl.core.types.dsl.BooleanExpression; -import com.querydsl.core.types.dsl.CaseBuilder; -import com.querydsl.core.types.dsl.Expressions; import com.querydsl.core.types.dsl.StringPath; import com.querydsl.jpa.JPAExpressions; import com.querydsl.jpa.impl.JPAQueryFactory; @@ -19,9 +16,11 @@ import javax.transaction.Transactional; import java.math.BigDecimal; import java.util.List; -import java.util.Objects; +import static com.mpnp.baechelin.review.domain.QReview.review1; import static com.mpnp.baechelin.store.domain.QStore.store; +import static com.querydsl.jpa.JPAExpressions.avg; +import static com.querydsl.jpa.JPAExpressions.select; @Repository @Transactional @@ -59,7 +58,7 @@ public List findStoreOrderByPoint(BigDecimal latStart, BigDecimal lngEnd, String category, List facility, - int limit) { + Pageable pageable) { locAndConditions(latStart, latEnd, lngStart, lngEnd, category, facility); @@ -67,8 +66,18 @@ public List findStoreOrderByPoint(BigDecimal latStart, return queryFactory.selectFrom(store) .where(builder) .orderBy(store.pointAvg.desc()) - .limit(limit) + .limit(pageable.getPageSize()) + .offset(pageable.getOffset()) .fetch(); + +// return queryFactory.selectFrom(store) +// .leftJoin(store, review1.storeId) +// .on(store.id.eq(review1.storeId.id)) +// .where(builder) +// .orderBy(review1.point.avg().desc()) +// .limit(pageable.getPageSize()) +// .offset(pageable.getOffset()) +// .fetch(); } //TODO 북마크순 diff --git a/src/main/resources/application-key.properties b/src/main/resources/application-key.properties deleted file mode 100644 index e69de29..0000000