Skip to content
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,25 @@

import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.Repository;
import org.springframework.data.repository.query.Param;

import in.koreatech.koin.domain.benefit.model.BenefitCategoryMap;

public interface BenefitCategoryMapRepository extends Repository<BenefitCategoryMap, Integer> {

List<BenefitCategoryMap> findByBenefitCategoryId(Integer benefitCategoryId);
@Query("""
SELECT bcm FROM BenefitCategoryMap bcm
JOIN FETCH bcm.shop s
WHERE bcm.benefitCategory.id = :benefitCategoryId
AND s.isDeleted = false
""")
List<BenefitCategoryMap> findActiveShopMapsByBenefitCategoryId(@Param("benefitCategoryId") Integer benefitCategoryId);

@Query("""
SELECT bcm FROM BenefitCategoryMap bcm
JOIN FETCH bcm.shop s
JOIN FETCH bcm.benefitCategory bc
WHERE s.isDeleted = false
""")
List<BenefitCategoryMap> findAllWithFetchJoin();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,8 @@ public BenefitCategoryResponse getBenefitCategories() {
}

public BenefitShopsResponse getBenefitShops(Integer benefitId) {
List<BenefitCategoryMap> benefitCategoryMaps = benefitCategoryMapRepository.findByBenefitCategoryId(benefitId);
List<BenefitCategoryMap> benefitCategoryMaps =
benefitCategoryMapRepository.findActiveShopMapsByBenefitCategoryId(benefitId);
LocalDateTime now = LocalDateTime.now(clock);

List<InnerShopResponse> innerShopResponses = benefitCategoryMaps.stream()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,23 @@ void setup() {
benefitCategoryMapFixture.혜택_추가(마슬랜, 배달비_무료);
benefitCategoryMapFixture.혜택_추가(영업중인_티바, 배달비_무료);
benefitCategoryMapFixture.혜택_추가(영업중이_아닌_신전_떡볶이, 배달비_무료);
Shop 삭제된_굿모닝살로만치킨 = shopFixture.builder()
.owner(현수_사장님)
.name("굿모닝살로만치킨")
.internalName("굿모닝살로만치킨")
.phone("010-0000-0000")
.address("천안시 동남구 병천면 1600")
.description("삭제된 상점입니다.")
.delivery(true)
.deliveryPrice(3000)
.payCard(true)
.payBank(true)
.isDeleted(true)
.isEvent(false)
.remarks("비고")
.hit(0)
.build();
benefitCategoryMapFixture.설명이_포함된_혜택_추가(삭제된_굿모닝살로만치킨, 배달비_무료, "배달비 무료");

shopReviewFixture.리뷰_4점(성빈_학생, 마슬랜);
shopReviewFixture.리뷰_4점(성빈_학생, 영업중인_티바);
Expand Down
Loading