From cb517279ac03173f5b8d459de0a336f010aec599 Mon Sep 17 00:00:00 2001 From: gongzuming <gongzuming> Date: 星期四, 29 八月 2024 16:01:47 +0800 Subject: [PATCH] 积分相关 --- src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java | 20 +++++++++++++------- 1 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java b/src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java index 1e503f0..41ad60b 100644 --- a/src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java +++ b/src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java @@ -590,13 +590,19 @@ if(dto.getNum() > oi.getNum()){ throw new ValidationException("处理数量不能大于商品数量"); } - BigDecimal deduct = deductAmount; - if(deduct == null){ - deduct = new BigDecimal(0); - if(Constants.CHECK_TYPE.replace.name().equals(dto.getType())){ - deduct = oi.getSupplierPrice().multiply(new BigDecimal(dto.getNum())); - } else if(Constants.CHECK_TYPE.lack.name().equals(dto.getType())){ - deduct = oi.getPrice().multiply(new BigDecimal(dto.getNum())); + + BigDecimal deduct = new BigDecimal(0); + if(Constants.CHECK_TYPE.replace.name().equals(dto.getType())){ + deduct = oi.getSupplierPrice().multiply(new BigDecimal(dto.getNum())); + } else if(Constants.CHECK_TYPE.lack.name().equals(dto.getType())){ + deduct = oi.getPrice().multiply(new BigDecimal(dto.getNum())); + } else if (Constants.CHECK_TYPE.reduce.name().equals(dto.getType())) { + if(deductAmount == null){ + throw new ValidationException("降级金额不能为空"); + } + deduct = deductAmount.multiply(new BigDecimal(dto.getNum())); + if(deduct.doubleValue() > oi.getTotal().doubleValue()){ + throw new ValidationException("降级金额不能大于商品总金额"); } } -- Gitblit v1.9.3