diff --git a/src/main/java/com/DecodEat/domain/products/converter/ProductConverter.java b/src/main/java/com/DecodEat/domain/products/converter/ProductConverter.java index e729b75..8a4de73 100644 --- a/src/main/java/com/DecodEat/domain/products/converter/ProductConverter.java +++ b/src/main/java/com/DecodEat/domain/products/converter/ProductConverter.java @@ -72,6 +72,7 @@ public static ProductResponseDTO.ProductListItemDTO toProductListItemDTO(Product .manufacturer(product.getManufacturer()) .productName(product.getProductName()) .productImage(product.getProductImage()) + .decodeStatus(product.getDecodeStatus()) .build(); } diff --git a/src/main/java/com/DecodEat/domain/products/repository/ProductSpecification.java b/src/main/java/com/DecodEat/domain/products/repository/ProductSpecification.java index 380ee0f..8fa0577 100644 --- a/src/main/java/com/DecodEat/domain/products/repository/ProductSpecification.java +++ b/src/main/java/com/DecodEat/domain/products/repository/ProductSpecification.java @@ -1,5 +1,6 @@ package com.DecodEat.domain.products.repository; +import com.DecodEat.domain.products.entity.DecodeStatus; import com.DecodEat.domain.products.entity.Product; import com.DecodEat.domain.products.entity.ProductNutrition; import com.DecodEat.domain.products.entity.ProductRawMaterial; @@ -13,6 +14,11 @@ import java.util.List; public class ProductSpecification { + public static Specification isCompleted() { + return (root, query, cb) -> cb.equal(root.get("decodeStatus"), DecodeStatus.COMPLETED); + } + + // 상품 이름으로 검색 public static Specification likeProductName(String productName) { return (root, query, criteriaBuilder) -> diff --git a/src/main/java/com/DecodEat/domain/products/service/ProductService.java b/src/main/java/com/DecodEat/domain/products/service/ProductService.java index 9f89f3b..e4b26e9 100644 --- a/src/main/java/com/DecodEat/domain/products/service/ProductService.java +++ b/src/main/java/com/DecodEat/domain/products/service/ProductService.java @@ -104,7 +104,7 @@ public ProductResponseDTO.ProductListResultDTO getProducts(Long cursorId) { public List searchProducts(String productName) { - Specification spec = Specification.where(null); + Specification spec = Specification.where(ProductSpecification.isCompleted()); if (StringUtils.hasText(productName)) { spec = spec.and(ProductSpecification.likeProductName(productName)); @@ -120,7 +120,7 @@ public List searchProducts(String public PageResponseDto searchProducts(String productName, List categories, Pageable pageable) { // Specification을 조합 - Specification spec = Specification.where(null); + Specification spec = Specification.where(ProductSpecification.isCompleted()); if (StringUtils.hasText(productName)) { spec = spec.and(ProductSpecification.likeProductName(productName));