From 5cf3e3979d922b855c667afb9f91da7d68a5d057 Mon Sep 17 00:00:00 2001
From: Cui Zhi Feng <cuizf@fengyuntec.com>
Date: 星期日, 25 八月 2024 22:09:23 +0800
Subject: [PATCH] 我的配送单结算明细 调整

---
 src/main/java/com/mzl/flower/dto/response/payment/DeliveryOrderItemSettlementDTO.java |   24 +++++++++---
 src/main/java/com/mzl/flower/web/supplier/DeliverySupplierController.java             |   29 ++++++++++++++
 src/main/resources/mapper/payment/DeliveryOrderItemMapper.xml                         |    6 ++-
 src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java                |   19 ---------
 4 files changed, 51 insertions(+), 27 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 8057870..3e21102 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
@@ -1,18 +1,17 @@
 package com.mzl.flower.dto.response.payment;
 
-import com.fasterxml.jackson.annotation.JsonFormat;
 import com.mzl.flower.base.AbstractTransDTO;
 import com.mzl.flower.base.annotation.DictTrans;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import org.springframework.format.annotation.DateTimeFormat;
 
 import java.math.BigDecimal;
-import java.time.LocalDate;
 import java.time.LocalDateTime;
 
 @Data
 public class DeliveryOrderItemSettlementDTO extends AbstractTransDTO {
+    @ApiModelProperty(value = "订单商品id")
+    private String orderItemId;
 
     @ApiModelProperty(value = "商品名称")
     private String flowerName;
@@ -41,8 +40,23 @@
     private String statusBackend;
     private String statusBackendStr;
 
-    @ApiModelProperty(value = "质检扣款")
+    @ApiModelProperty(value = "降级数量")
+    private Integer checkNum;
+
+    @ApiModelProperty(value = "降级扣款")
     private BigDecimal checkFee;
+
+    @ApiModelProperty(value = "补货数量")
+    private Integer replaceNum;
+
+    @ApiModelProperty(value = "补货扣款")
+    private BigDecimal replaceFee;
+
+    @ApiModelProperty(value = "缺货数量")
+    private Integer lackNum;
+
+    @ApiModelProperty(value = "缺货扣款")
+    private BigDecimal lackFee;
 
     @ApiModelProperty(value = "集货站运费")
     private BigDecimal stationFee;
@@ -60,7 +74,5 @@
     private BigDecimal income;
 
     @ApiModelProperty(value = "下单时间")
-    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss" ,timezone="GMT+8")
-    @DateTimeFormat
     private LocalDateTime orderTime;
 }
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 3c8e8ff..05cf7e7 100644
--- a/src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java
+++ b/src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java
@@ -171,25 +171,6 @@
         if(ls != null && ls.size() > 0){
             for(DeliveryOrderItemSettlementDTO dto : ls){
                 dto.setTotalAmount(dto.getPrice().multiply(new BigDecimal(dto.getNum())));
-
-                if(StringUtils.isNotEmpty(dto.getStatus())) {
-                    Double rate = dto.getServiceFeeRate();
-                    BigDecimal serviceFee = new BigDecimal(0);
-                    if(rate != null) {
-                        serviceFee = dto.getTotalAmount().multiply(new BigDecimal(rate))
-                                .divide(new BigDecimal(100), 2, RoundingMode.HALF_UP);
-                        dto.setServiceFee(serviceFee);
-                    }
-
-                    BigDecimal income = dto.getTotalAmount().subtract(dto.getCheckFee())
-                            .subtract(dto.getSalesFee()).subtract(dto.getStationFee())
-                            .subtract(serviceFee);//结算金额
-                    if (income.doubleValue() < 0) {
-                        income = new BigDecimal(0);
-                    }
-
-                    dto.setIncome(income);
-                }
             }
         }
 
diff --git a/src/main/java/com/mzl/flower/web/supplier/DeliverySupplierController.java b/src/main/java/com/mzl/flower/web/supplier/DeliverySupplierController.java
index 9d3cc18..51760a1 100644
--- a/src/main/java/com/mzl/flower/web/supplier/DeliverySupplierController.java
+++ b/src/main/java/com/mzl/flower/web/supplier/DeliverySupplierController.java
@@ -4,6 +4,7 @@
 import com.mzl.flower.base.BaseController;
 import com.mzl.flower.base.R;
 import com.mzl.flower.base.ReturnDataDTO;
+import com.mzl.flower.constant.Constants;
 import com.mzl.flower.dto.request.payment.DeliveryOrderArriveDTO;
 import com.mzl.flower.dto.request.payment.DeliveryOrderQueryDTO;
 import com.mzl.flower.dto.response.payment.*;
@@ -136,4 +137,32 @@
         return returnData(R.SUCCESS.getCode(), deliveryOrderService.selectSettlementListByTime(page, day));
     }
 
+    @GetMapping("/mine/list/check/info/reduce")
+    @ApiOperation(value = "降级操作详情")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "orderItemId", value = "订单商品id", required = true, dataType = "String", paramType = "query")
+    })
+    public ResponseEntity<ReturnDataDTO<OrderItemCheckReduceDTO>> getReduceCheck(String orderItemId){
+        return returnData(R.SUCCESS.getCode(), deliveryOrderService.getReduceCheck(orderItemId));
+    }
+
+    @GetMapping("/mine/list/check/info/replace")
+    @ApiOperation(value = "补货操作详情")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "orderItemId", value = "订单商品id", required = true, dataType = "String", paramType = "query")
+    })
+    public ResponseEntity<ReturnDataDTO<OrderItemCheckNumDTO>> getReplaceCheck(String orderItemId){
+        return returnData(R.SUCCESS.getCode(), deliveryOrderService.getOtherCheck(orderItemId
+                , Constants.CHECK_TYPE.replace.name()));
+    }
+
+    @GetMapping("/mine/list/check/info/lack")
+    @ApiOperation(value = "缺货操作详情")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "orderItemId", value = "订单商品id", required = true, dataType = "String", paramType = "query")
+    })
+    public ResponseEntity<ReturnDataDTO<OrderItemCheckNumDTO>> getLackCheck(String orderItemId){
+        return returnData(R.SUCCESS.getCode(), deliveryOrderService.getOtherCheck(orderItemId
+                , Constants.CHECK_TYPE.lack.name()));
+    }
 }
diff --git a/src/main/resources/mapper/payment/DeliveryOrderItemMapper.xml b/src/main/resources/mapper/payment/DeliveryOrderItemMapper.xml
index 845827f..82f2983 100644
--- a/src/main/resources/mapper/payment/DeliveryOrderItemMapper.xml
+++ b/src/main/resources/mapper/payment/DeliveryOrderItemMapper.xml
@@ -39,13 +39,15 @@
     </select>
 
     <select id="selectSettlementListByTime" resultType="com.mzl.flower.dto.response.payment.DeliveryOrderItemSettlementDTO">
-        SELECT oi.flower_name, oi.flower_level, oi.num, oi.supplier_price price
-        , s.`status`, sd.check_fee, sd.station_fee, sd.sales_fee, s.service_fee_rate
+        SELECT ois.order_item_id, oi.flower_name, oi.flower_level, oi.num, oi.supplier_price price , s.`status`
+        , 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
         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
         join t_order_item oi on oi.id = doi.order_item_id
+        left join t_order_item_settlement ois on ois.order_item_id = oi.id
         left join t_order_settlement_detail sd on sd.order_item_id = oi.id
         left join t_order_settlement s on sd.settlement_id = s.id
         WHERE q.deleted = 0 and doi.deleted = 0

--
Gitblit v1.9.3