From 3a3daebb07c3b144676ab7c1adfad5cce32a1541 Mon Sep 17 00:00:00 2001
From: Cui Zhi Feng <7426394+wuxixiaocui@user.noreply.gitee.com>
Date: 星期四, 26 九月 2024 12:16:39 +0800
Subject: [PATCH] 售后退款验证 大小比较

---
 src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java |   49 +++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 41 insertions(+), 8 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 cebb508..359d8f6 100644
--- a/src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java
+++ b/src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java
@@ -120,7 +120,14 @@
 
     public Page<DeliveryOrderListDTO> selectDeliveryOrderList(Page page, DeliveryOrderQueryDTO dto) {
         Supplier s = getCurrentSupplier();
-        dto.setStatusList(splitParam(dto.getStatus()));
+        if(Constants.DELIVERY_ORDER_STATUS.ARRIVED.name().equals(dto.getStatus())){
+            List<String> statusLs = new ArrayList<>();
+            statusLs.add(Constants.DELIVERY_ORDER_STATUS.ARRIVED.name());
+            statusLs.add(Constants.DELIVERY_ORDER_STATUS.CHECKED.name());
+            dto.setStatusList(statusLs);
+        } else {
+            dto.setStatusList(splitParam(dto.getStatus()));
+        }
         List<DeliveryOrderListDTO> ls = deliveryOrderMapper.selectDoList(page, s.getId(), dto);
         if (ls != null && ls.size() > 0) {
             List<String> dIds = new ArrayList<>();
@@ -250,13 +257,33 @@
         return ls;
     }
 
+    public List<DeliveryOrderItemDTO> getSupplierDeliveryOrderItemsByItemId(PostQueryDTO dto){
+        List<String> idList = dto.getIds();
+        List<DeliveryOrderItemDTO> ls = new ArrayList<>();
+        if(idList != null && idList.size() > 0){
+            for(String id : idList){
+                DeliveryOrderItem item = deliveryOrderItemMapper.selectOne(new QueryWrapper<DeliveryOrderItem>()
+                        .eq("order_item_id", id));
+                ls.add(getSupplierDeliveryOrderItem(item));
+            }
+        }
+
+        return ls;
+    }
+
     public DeliveryOrderItemDTO getSupplierDeliveryOrderItem(String id) {
+        DeliveryOrderItem item = deliveryOrderItemMapper.selectById(id);
+
+        return getSupplierDeliveryOrderItem(item);
+    }
+
+    public DeliveryOrderItemDTO getSupplierDeliveryOrderItem(DeliveryOrderItem item) {
         DeliveryOrderItemDTO dto = new DeliveryOrderItemDTO();
 
         Supplier s = getCurrentSupplier();
         dto.setSupplierName(s.getName());
 
-        DeliveryOrderItem item = deliveryOrderItemMapper.selectById(id);
+
         Order d = orderMapper.selectById(item.getOrderId());
         dto.setOrderNo(d.getOrderNo());
         dto.setWarehouseName(d.getWarehouseName());
@@ -624,6 +651,8 @@
             User user = userMapper.selectById(c.getCreateBy());
             dto.setCreateName(user.getNickName());
 
+            dto.setPictureList(parseArray(c.getPictures(), String.class));
+
             if(Constants.CHECK_TYPE.lack.name().equals(c.getType()) && isSupplier){
                 OrderItem oi = orderItemMapper.selectById(itemId);
                 BigDecimal lackFeeSupplier = oi.getSupplierPrice().multiply(new BigDecimal(c.getNum()));
@@ -636,14 +665,18 @@
 
     public void doReduceCheck(OrderItemCheckCommitReduceDTO dto){
         dto.setType(Constants.CHECK_TYPE.reduce.name());
-        doCheck(dto, dto.getPictureList(), dto.getTargetLevel(), dto.getDeductAmount());
+        doCheck(dto, dto.getTargetLevel(), dto.getDeductAmount());
     }
 
-    public void doCheck(OrderItemCheckCommitDTO dto
-            , List<String> pictureList, String targetLevel, BigDecimal deductAmount) {
+    public void doCheck(OrderItemCheckCommitDTO dto, String targetLevel, BigDecimal deductAmount) {
         if(dto.getNum() == null || dto.getNum() == 0){
             throw new ValidationException("处理数量不能为0");
         }
+
+        List<String> pictureList = dto.getPictureList();
+        /*if(pictureList == null || pictureList.size() == 0){
+            throw new ValidationException("质检图片不能为空");
+        }*/
 
         OrderItem oi = orderItemMapper.selectById(dto.getOrderItemId());
         if(dto.getNum() > oi.getNum()){
@@ -694,12 +727,12 @@
             }
             deduct = deductAmount.multiply(new BigDecimal(dto.getNum()));
             BigDecimal dt = realPrice.multiply(new BigDecimal(dto.getNum()));
-            if(deduct.doubleValue() > dt.doubleValue()
-                    || (oi.getRealTotal() != null && deduct.doubleValue() > oi.getRealTotal().doubleValue())){
+            if(deduct.compareTo(dt) > 0
+                    || (oi.getRealTotal() != null && deduct.compareTo(oi.getRealTotal()) > 0)){
                 throw new ValidationException("降级金额不能大于商品处理数量的支付的金额");
             }
             BigDecimal st = oi.getSupplierPrice().multiply(new BigDecimal(dto.getNum()));
-            if(deduct.doubleValue() > st.doubleValue()){
+            if(deduct.compareTo(st) > 0){
                 throw new ValidationException("降级金额不能大于商品处理数量的供应商的金额");
             }
         }

--
Gitblit v1.9.3