From ffc0309ac8e6f72e6429f91fad93456030e05e5e Mon Sep 17 00:00:00 2001
From: gongzuming <gongzuming>
Date: 星期二, 10 九月 2024 15:45:28 +0800
Subject: [PATCH] 优化

---
 src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java |   10 +++++++---
 1 files changed, 7 insertions(+), 3 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 2d2bf80..ecac9e4 100644
--- a/src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java
+++ b/src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java
@@ -354,7 +354,7 @@
         );
         if (items != null && items.size() > 0) {
             for (OrderItem i : items) {
-                i.setStatus(Constants.CHECK_OPERATE.ok.name());
+                i.setStatus(Constants.ORDER_ITEM_STATUS.ok.name());
                 i.setCheckTime(LocalDateTime.now());
                 orderItemMapper.updateById(i);
             }
@@ -598,6 +598,9 @@
         int otherNum = 0;
         if(cLs != null && cLs.size() > 0){
             for(OrderItemCheck c : cLs){
+                if(Constants.CHECK_AUDIT_STATUS.REJECTED.name().equals(c.getAuditStatus())){
+                    continue;
+                }
                 otherNum += c.getNum();
             }
         }
@@ -606,16 +609,17 @@
         }
 
         BigDecimal deduct = new BigDecimal(0);
+        BigDecimal realPrice = getAmount(oi.getRealPrice());
         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()));
+            deduct = realPrice.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()));
-            BigDecimal dt = oi.getPrice().multiply(new BigDecimal(dto.getNum()));
+            BigDecimal dt = realPrice.multiply(new BigDecimal(dto.getNum()));
             if(deduct.doubleValue() > dt.doubleValue()){
                 throw new ValidationException("降级金额不能大于商品处理数量金额");
             }

--
Gitblit v1.9.3