From 9c6e78ea55ef4c865b8148a5ca47322504ed1f50 Mon Sep 17 00:00:00 2001
From: Cui Zhi Feng <cuizf@fengyuntec.com>
Date: 星期六, 31 八月 2024 20:09:49 +0800
Subject: [PATCH] Merge branch 'master' into master-v2

---
 src/main/java/com/mzl/flower/dto/response/payment/DeliveryOrderItemSettlementDTO.java |    3 +++
 src/main/resources/mapper/payment/DeliveryOrderItemMapper.xml                         |    1 +
 src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java                |   14 ++++++++++++++
 3 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/mzl/flower/dto/response/payment/DeliveryOrderItemSettlementDTO.java b/src/main/java/com/mzl/flower/dto/response/payment/DeliveryOrderItemSettlementDTO.java
index 3e21102..e878c48 100644
--- a/src/main/java/com/mzl/flower/dto/response/payment/DeliveryOrderItemSettlementDTO.java
+++ b/src/main/java/com/mzl/flower/dto/response/payment/DeliveryOrderItemSettlementDTO.java
@@ -64,6 +64,9 @@
     @ApiModelProperty(value = "售后退款")
     private BigDecimal salesFee;
 
+    @ApiModelProperty(value = "售后数量")
+    private Integer salesNum;
+
     @ApiModelProperty(value = "服务费率")
     private Double serviceFeeRate;
 
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 944ca71..8cca07c 100644
--- a/src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java
+++ b/src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java
@@ -591,6 +591,20 @@
             throw new ValidationException("处理数量不能大于商品数量");
         }
 
+        List<OrderItemCheck> cLs = orderItemCheckMapper.selectList(new QueryWrapper<OrderItemCheck>()
+                .ne("type", dto.getType())
+                .eq("order_item_id", dto.getOrderItemId())
+        );
+        int otherNum = 0;
+        if(cLs != null && cLs.size() > 0){
+            for(OrderItemCheck c : cLs){
+                otherNum += c.getNum();
+            }
+        }
+        if(otherNum + dto.getNum() > oi.getNum()){
+            throw new ValidationException("处理总数量不能大于商品数量");
+        }
+
         BigDecimal deduct = new BigDecimal(0);
         if(Constants.CHECK_TYPE.replace.name().equals(dto.getType())){
             deduct = oi.getSupplierPrice().multiply(new BigDecimal(dto.getNum()));
diff --git a/src/main/resources/mapper/payment/DeliveryOrderItemMapper.xml b/src/main/resources/mapper/payment/DeliveryOrderItemMapper.xml
index 96ba750..d944053 100644
--- a/src/main/resources/mapper/payment/DeliveryOrderItemMapper.xml
+++ b/src/main/resources/mapper/payment/DeliveryOrderItemMapper.xml
@@ -46,6 +46,7 @@
         , ois.check_num, ois.check_fee, ois.replace_num, ois.replace_fee, ois.lack_num, ois.lack_fee_supplier lackFee
         , ois.station_fee, ois.sales_fee_supplier salesFee, ois.service_fee_rate, ois.service_fee, ois.income_supplier
         , o.status_backend, o.create_time orderTime
+        , (select count(1) from t_order_item_sales sa where sa.order_item_id = oi.id) salesNum
         FROM t_delivery_order_item doi
         join t_delivery_order q on q.id = doi.delivery_id
         join t_order o on o.id = q.order_id

--
Gitblit v1.9.3