From da9377b90d5ec08d97d21642ec1060ba830dbc54 Mon Sep 17 00:00:00 2001 From: YouSeok518 Date: Thu, 16 Oct 2025 01:02:41 +0900 Subject: [PATCH] =?UTF-8?q?stock=EC=9D=B4=20null=EC=9D=BC=20=EB=95=8C=20?= =?UTF-8?q?=EB=AC=B4=EC=A0=9C=ED=95=9C=EC=9C=BC=EB=A1=9C=20=EC=B2=98?= =?UTF-8?q?=EB=A6=AC=EB=90=98=EC=A7=80=20=EC=95=8A=EB=8A=94=20=EB=AC=B8?= =?UTF-8?q?=EC=A0=9C=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/back/domain/cart/entity/Cart.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/back/domain/cart/entity/Cart.java b/src/main/java/com/back/domain/cart/entity/Cart.java index 70c8b9d0..fa4fdcf8 100644 --- a/src/main/java/com/back/domain/cart/entity/Cart.java +++ b/src/main/java/com/back/domain/cart/entity/Cart.java @@ -138,11 +138,14 @@ public boolean isValid() { if (this.funding == null) { return false; } - Integer fundingStockFromEntity = this.funding.getStock(); - int availableStock = (this.fundingStock != null) + // 재고 null = 무제한, 0 이하는 품절 + Integer availableStock = (this.fundingStock != null) ? this.fundingStock - : (fundingStockFromEntity != null ? fundingStockFromEntity : 0); + : this.funding.getStock(); + if (availableStock == null) { + return true; // 무제한 재고로 간주 + } if (availableStock <= 0) { return false; } @@ -157,10 +160,11 @@ public boolean isValid() { return false; } Integer productStock = this.product.getStock(); - if (productStock == null || productStock <= 0) { + // 재고 null = 무제한, 0 이하는 품절 + if (productStock != null && productStock <= 0) { return false; } - return this.quantity <= productStock; + return productStock == null || this.quantity <= productStock; } // 총 가격 계산 (null-safe)