From f106f6a1b27848acf4909df056935f6ff8a21676 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EC=A4=80=ED=98=B8?= <2171168@hansung.ac.kr> Date: Mon, 8 Sep 2025 18:34:36 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EB=B6=84=EC=84=9D=20=EC=99=84=EB=A3=8C?= =?UTF-8?q?=EB=90=9C=20=EC=A0=9C=ED=92=88=EB=A7=8C=20=EA=B2=80=EC=83=89=20?= =?UTF-8?q?=EA=B0=80=EB=8A=A5=ED=95=98=EB=8F=84=EB=A1=9D=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/products/converter/ProductConverter.java | 1 + .../domain/products/repository/ProductSpecification.java | 6 ++++++ .../DecodEat/domain/products/service/ProductService.java | 4 ++-- 3 files changed, 9 insertions(+), 2 deletions(-) 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));