From 910208d1c718b1002434e62fec766dca28afe95e Mon Sep 17 00:00:00 2001
From: gongzuming <gongzuming>
Date: 星期六, 14 九月 2024 17:26:41 +0800
Subject: [PATCH] 签到接口

---
 src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java |   34 +++++++++++++++++++++++++++-------
 1 files changed, 27 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 16ab844..70688b3 100644
--- a/src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java
+++ b/src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java
@@ -277,6 +277,18 @@
         return dto;
     }
 
+    public List<DeliveryOrderItemDTO> getDeliveryOrderItems(PostQueryDTO dto){
+        List<String> idList = dto.getIds();
+        List<DeliveryOrderItemDTO> ls = new ArrayList<>();
+        if(idList != null && idList.size() > 0){
+            for(String id : idList){
+                ls.add(getDeliveryOrderItem(id));
+            }
+        }
+
+        return ls;
+    }
+
     public DeliveryOrderItemDTO getDeliveryOrderItem(String id) {
         DeliveryOrderItemDTO dto = new DeliveryOrderItemDTO();
 
@@ -394,7 +406,7 @@
         );
         if (count == 0) {
             Order o = orderMapper.selectById(orderId);
-            if(!Constants.ORDER_STATUS_BACKEND.COLLECTION.name().equals(o.getStatus())){
+            if(!Constants.ORDER_STATUS_BACKEND.COLLECTION.name().equals(o.getStatusBackend())){
                 log.warn("非待集货状态,不可设置待发货");
                 return;
             }
@@ -479,17 +491,19 @@
         return dto;
     }
 
-    public List<StationStatisticDTO> statisticStationList(String name, LocalDateTime startDate, LocalDateTime endDate) {
+    public List<StationStatisticDTO> statisticStationList(String name, LocalDateTime startDate
+            , LocalDateTime endDate, String status) {
         String userId = SecurityUtils.getUserId();
         LambdaQueryWrapper<Station> lambdaQueryWrapper = new LambdaQueryWrapper<>();
-        lambdaQueryWrapper.like(Station::getUserIds, userId);
+        lambdaQueryWrapper.like(Station::getUserIds, "%" + userId + "%");
         lambdaQueryWrapper.eq(Station::getType, "0");
-        boolean hasZc = stationMapper.selectCount(lambdaQueryWrapper)>0;//当前用户是否有总仓权限,总仓能查看到所有集货站的数据
+        boolean hasZc = stationMapper.selectCount(lambdaQueryWrapper) > 0;//当前用户是否有总仓权限,总仓能查看到所有集货站的数据
+        List<String> statusList = splitParam(status);
         if(hasZc){
-            List<StationStatisticDTO> stationStatisticDTOS = deliveryOrderMapper.statisticStationList(startDate, endDate,name,null);
+            List<StationStatisticDTO> stationStatisticDTOS = deliveryOrderMapper.statisticStationList(startDate, endDate,name,null, statusList);
             return stationStatisticDTOS;
         }else{
-            List<StationStatisticDTO> stationStatisticDTOS = deliveryOrderMapper.statisticStationList(startDate, endDate,name,userId);
+            List<StationStatisticDTO> stationStatisticDTOS = deliveryOrderMapper.statisticStationList(startDate, endDate, name, userId, statusList);
             return stationStatisticDTOS;
         }
     }
@@ -649,13 +663,19 @@
             deduct = oi.getSupplierPrice().multiply(new BigDecimal(dto.getNum()));
         } else if(Constants.CHECK_TYPE.lack.name().equals(dto.getType())){
             deduct = realPrice.multiply(new BigDecimal(dto.getNum()));
+            //质检退款,按照这个单价扣,如果3扎都缺货,按照总的金额退
+            //缺货数量等于商品总数时按真实总价退款
+            if(dto.getNum().intValue() == oi.getNum() && oi.getRealTotal() != null){
+                deduct = oi.getRealTotal();
+            }
         } 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 = realPrice.multiply(new BigDecimal(dto.getNum()));
-            if(deduct.doubleValue() > dt.doubleValue()){
+            if(deduct.doubleValue() > dt.doubleValue()
+                    || (oi.getRealTotal() != null && deduct.doubleValue() > oi.getRealTotal().doubleValue())){
                 throw new ValidationException("降级金额不能大于商品处理数量金额");
             }
         }

--
Gitblit v1.9.3