From f3e286d281e20f64f48d48309810d5a185bc7c68 Mon Sep 17 00:00:00 2001
From: Cui Zhi Feng <cuizf@fengyuntec.com>
Date: 星期四, 29 八月 2024 19:43:36 +0800
Subject: [PATCH] 售后 调整

---
 src/main/java/com/mzl/flower/service/payment/OrderItemSalesService.java |   11 +++++++++--
 src/main/java/com/mzl/flower/web/payment/DeliveryOrderController.java   |   21 ++++++++++++++-------
 src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java  |    4 +++-
 src/main/resources/mapper/flower/FlowerParamMapper.xml                  |    2 +-
 4 files changed, 27 insertions(+), 11 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 41ad60b..199744a 100644
--- a/src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java
+++ b/src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java
@@ -639,7 +639,7 @@
         }
     }
 
-    public void checkOrderItemStatus(String id){
+    public String checkOrderItemStatus(String id){
         OrderItem oi = orderItemMapper.selectById(id);
         List<OrderItemCheck> cLs = orderItemCheckMapper.selectList(new QueryWrapper<OrderItemCheck>()
                 .eq("order_item_id", id)
@@ -670,6 +670,8 @@
                 deliveryOrderMapper.updateById(d);
             }
         }
+
+        return oi.getOrderId();
     }
 
     public void deleteCheckInfo(String itemId, String type){
diff --git a/src/main/java/com/mzl/flower/service/payment/OrderItemSalesService.java b/src/main/java/com/mzl/flower/service/payment/OrderItemSalesService.java
index 3a8cc6e..c4f3079 100644
--- a/src/main/java/com/mzl/flower/service/payment/OrderItemSalesService.java
+++ b/src/main/java/com/mzl/flower/service/payment/OrderItemSalesService.java
@@ -88,7 +88,9 @@
 
         String userId = SecurityUtils.getUserId();
         int count = orderItemSalesMapper.selectCount(new QueryWrapper<OrderItemSales>()
-                .eq("order_item_id", oi.getId()));
+                .eq("order_item_id", oi.getId())
+                .eq("status", Constants.ORDER_SALES_STATUS.AGREED.name())
+        );
         if(count >= 2){
             throw new ValidationException("售后申请超过限额");
         }
@@ -305,6 +307,11 @@
         BigDecimal totalFee = feeSupplier.add(feePartner).add(feePlatform).add(feePlatformPack)
                 .add(feePlatformCheck).add(feePlatformTransport);
 
+        BigDecimal st = oi.getPrice().multiply(new BigDecimal(sl.getNum()));//申请售后的花的金额
+        if(totalFee.doubleValue() > st.doubleValue()){
+            throw new ValidationException("退款金额不能大于商品申请数量的售价");
+        }
+
         List<OrderItemSales> ls = orderItemSalesMapper.selectList(new QueryWrapper<OrderItemSales>()
                 .eq("order_item_id", oi.getId())
                 .eq("status", Constants.ORDER_SALES_STATUS.AGREED.name())
@@ -317,7 +324,7 @@
         }
         preFee = preFee.add(totalFee);
         if(preFee.doubleValue() > oi.getTotal().doubleValue()){
-            throw new ValidationException("退款金额不能大于商品总价");
+            throw new ValidationException("退款总金额不能大于商品总价");
         }
 
         sl.setRemarks(dto.getRemarks());
diff --git a/src/main/java/com/mzl/flower/web/payment/DeliveryOrderController.java b/src/main/java/com/mzl/flower/web/payment/DeliveryOrderController.java
index ed329cd..2af2b28 100644
--- a/src/main/java/com/mzl/flower/web/payment/DeliveryOrderController.java
+++ b/src/main/java/com/mzl/flower/web/payment/DeliveryOrderController.java
@@ -242,7 +242,8 @@
     @ApiOperation(value = "降级操作")
     public ResponseEntity<ReturnDataDTO> doReduceCheck(@RequestBody OrderItemCheckCommitReduceDTO dto) {
         deliveryOrderService.doReduceCheck(dto);
-        deliveryOrderService.checkOrderItemStatus(dto.getOrderItemId());
+        String orderId = deliveryOrderService.checkOrderItemStatus(dto.getOrderItemId());
+        deliveryOrderService.checkOrderStatus(orderId);
         return returnData(R.SUCCESS.getCode(), null);
     }
 
@@ -251,7 +252,8 @@
     public ResponseEntity<ReturnDataDTO> doReplaceCheck(@RequestBody OrderItemCheckCommitDTO dto) {
         dto.setType(Constants.CHECK_TYPE.replace.name());
         deliveryOrderService.doCheck(dto, null, null, null);
-        deliveryOrderService.checkOrderItemStatus(dto.getOrderItemId());
+        String orderId = deliveryOrderService.checkOrderItemStatus(dto.getOrderItemId());
+        deliveryOrderService.checkOrderStatus(orderId);
         return returnData(R.SUCCESS.getCode(), null);
     }
 
@@ -260,7 +262,8 @@
     public ResponseEntity<ReturnDataDTO> doLackCheck(@RequestBody OrderItemCheckCommitDTO dto) {
         dto.setType(Constants.CHECK_TYPE.lack.name());
         deliveryOrderService.doCheck(dto, null, null, null);
-        deliveryOrderService.checkOrderItemStatus(dto.getOrderItemId());
+        String orderId = deliveryOrderService.checkOrderItemStatus(dto.getOrderItemId());
+        deliveryOrderService.checkOrderStatus(orderId);
         return returnData(R.SUCCESS.getCode(), null);
     }
 
@@ -268,7 +271,8 @@
     @ApiOperation(value = "删除降级信息")
     public ResponseEntity<ReturnDataDTO> deleteReduce(String orderItemId){
         deliveryOrderService.deleteCheckInfo(orderItemId, Constants.CHECK_TYPE.reduce.name());
-        deliveryOrderService.checkOrderItemStatus(orderItemId);
+        String orderId = deliveryOrderService.checkOrderItemStatus(orderItemId);
+        deliveryOrderService.checkOrderStatus(orderId);
         return returnData(R.SUCCESS.getCode(), null);
     }
 
@@ -276,7 +280,8 @@
     @ApiOperation(value = "删除补货信息")
     public ResponseEntity<ReturnDataDTO> deleteReplace(String orderItemId){
         deliveryOrderService.deleteCheckInfo(orderItemId, Constants.CHECK_TYPE.replace.name());
-        deliveryOrderService.checkOrderItemStatus(orderItemId);
+        String orderId = deliveryOrderService.checkOrderItemStatus(orderItemId);
+        deliveryOrderService.checkOrderStatus(orderId);
         return returnData(R.SUCCESS.getCode(), null);
     }
 
@@ -284,7 +289,8 @@
     @ApiOperation(value = "删除缺货信息")
     public ResponseEntity<ReturnDataDTO> deleteLack(String orderItemId){
         deliveryOrderService.deleteCheckInfo(orderItemId, Constants.CHECK_TYPE.lack.name());
-        deliveryOrderService.checkOrderItemStatus(orderItemId);
+        String orderId = deliveryOrderService.checkOrderItemStatus(orderItemId);
+        deliveryOrderService.checkOrderStatus(orderId);
         return returnData(R.SUCCESS.getCode(), null);
     }
 
@@ -292,7 +298,8 @@
     @ApiOperation(value = "完成商品质检")
     public ResponseEntity<ReturnDataDTO> setCheckOk(String orderItemId){
         deliveryOrderService.setCheckOk(orderItemId);
-        deliveryOrderService.checkOrderItemStatus(orderItemId);
+        String orderId = deliveryOrderService.checkOrderItemStatus(orderItemId);
+        deliveryOrderService.checkOrderStatus(orderId);
         return returnData(R.SUCCESS.getCode(), null);
     }
 
diff --git a/src/main/resources/mapper/flower/FlowerParamMapper.xml b/src/main/resources/mapper/flower/FlowerParamMapper.xml
index 8c289e3..b1dd03e 100644
--- a/src/main/resources/mapper/flower/FlowerParamMapper.xml
+++ b/src/main/resources/mapper/flower/FlowerParamMapper.xml
@@ -18,7 +18,7 @@
                 COMMENT #{field.comment}
             </if>
         </foreach>
-        ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT=#{table.label}
+        ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=#{table.label}
     </update>
 
     <select id="selectParamList" resultType="com.mzl.flower.dto.response.flower.FlowerParamListDTO">

--
Gitblit v1.9.3