diff --git a/src/main/java/com/ycwl/basic/pricing/service/impl/PriceCalculationServiceImpl.java b/src/main/java/com/ycwl/basic/pricing/service/impl/PriceCalculationServiceImpl.java index d4fd148..9f64f6e 100644 --- a/src/main/java/com/ycwl/basic/pricing/service/impl/PriceCalculationServiceImpl.java +++ b/src/main/java/com/ycwl/basic/pricing/service/impl/PriceCalculationServiceImpl.java @@ -35,7 +35,21 @@ public class PriceCalculationServiceImpl implements IPriceCalculationService { if (request.getProducts() == null || request.getProducts().isEmpty()) { throw new PriceCalculationException("商品列表不能为空"); } - + + request.getProducts().forEach(product -> { + if (product.getProductType() == null) { + throw new PriceCalculationException("商品类型不能为空"); + } + if (product.getProductId() == null) { + throw new PriceCalculationException("商品ID不能为空"); + } + if (product.getPurchaseCount() == null) { + product.setPurchaseCount(1); + } + if (product.getQuantity() == null) { + product.setQuantity(1); + } + }); // 计算商品价格和原价 PriceDetails priceDetails = calculateProductsPriceWithOriginal(request.getProducts()); BigDecimal totalAmount = priceDetails.getTotalAmount();