From 6c823dd44dbde79f008001a2a11e7bf9bc6bf8cc Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期三, 04 十二月 2024 18:15:44 +0800
Subject: [PATCH] fix:合伙人列表操作日志

---
 src/main/java/com/mzl/flower/service/payment/OrderItemSettlementService.java |   33 ++++++++++++++++++++-------------
 1 files changed, 20 insertions(+), 13 deletions(-)

diff --git a/src/main/java/com/mzl/flower/service/payment/OrderItemSettlementService.java b/src/main/java/com/mzl/flower/service/payment/OrderItemSettlementService.java
index 3d630d4..f594b57 100644
--- a/src/main/java/com/mzl/flower/service/payment/OrderItemSettlementService.java
+++ b/src/main/java/com/mzl/flower/service/payment/OrderItemSettlementService.java
@@ -110,9 +110,9 @@
             int replaceNum = 0;//补货数量
             BigDecimal replaceFee = new BigDecimal(0);//补货扣款
             int lackNum = 0;//缺货数量
-            BigDecimal lackFeeSupplier = new BigDecimal(0);//缺货扣款
-            BigDecimal lackFeePartner = new BigDecimal(0);//缺货扣款
-            BigDecimal lackFeePlatform = new BigDecimal(0);//缺货扣款
+            BigDecimal lackFeeSupplier = new BigDecimal(0);//供应商缺货扣款
+            BigDecimal lackFeePartner = new BigDecimal(0);//合伙人缺货扣款
+            BigDecimal lackFeePlatform = new BigDecimal(0);//平台缺货扣款
             if (orderItemCheckList != null && orderItemCheckList.size() > 0) {
                 for (OrderItemCheck c : orderItemCheckList) {
                     Integer num = c.getNum();
@@ -120,20 +120,21 @@
                     String type = c.getType();
                     if (Constants.CHECK_TYPE.reduce.name().equals(type)) {
                         checkNum = num == null ? 0 : num;
-                        checkFee = amount == null ? new BigDecimal(0) : amount;
+                        checkFee = getAmount(amount);
                     } else if (Constants.CHECK_TYPE.lack.name().equals(type)) {
                         lackNum = num == null ? 0 : num;
                         lackFeeSupplier = oi.getSupplierPrice().multiply(new BigDecimal(lackNum));
 
-                        BigDecimal markupPartner = oi.getMarkupPartner() == null ? new BigDecimal(0) : oi.getMarkupPartner();
+                        BigDecimal markupPartner = getAmount(oi.getMarkupPartner());
                         lackFeePartner = markupPartner.multiply(new BigDecimal(lackNum));
 
-                        BigDecimal markupTwo = oi.getMarkupTwo() == null ? new BigDecimal(0) : oi.getMarkupTwo();
-                        lackFeePlatform = oi.getMarkupOne().multiply(new BigDecimal(lackNum));
-                        lackFeePlatform = lackFeePlatform.add(markupTwo.multiply(new BigDecimal(lackNum)));
+                        BigDecimal markupOne = getAmount(oi.getMarkupOne());
+                        BigDecimal markupTwo = getAmount(oi.getMarkupTwo());
+                        BigDecimal ppPrice = markupOne.add(markupTwo).subtract(getAmount(oi.getCouponAmount()));//1次加价+2次加价-优惠券金额
+                        lackFeePlatform = lackFeePlatform.add(ppPrice.multiply(new BigDecimal(lackNum)));
                     } else if (Constants.CHECK_TYPE.replace.name().equals(type)) {
                         replaceNum = num == null ? 0 : num;
-                        replaceFee = amount == null ? new BigDecimal(0) : amount;
+                        replaceFee = getAmount(amount);
                     }
                 }
             }
@@ -150,9 +151,9 @@
             if (serviceFeeRate == null) {
                 ois.setServiceFeeRate(getFeeRate(oi));
             }
-            ois.setServiceFee(getServiceFee(oi, replaceNum, lackNum, ois.getServiceFeeRate()));
+            ois.setServiceFee(getServiceFee(oi, replaceNum, lackNum, ois.getServiceFeeRate()));//服务费
 
-            ois.setStationFee(getStationFee(oi, replaceNum, lackNum));
+            ois.setStationFee(getStationFee(oi, replaceNum, lackNum));//集货站运费
         }
 
         //售后计算
@@ -172,8 +173,10 @@
                     BigDecimal feePlatformPack = s.getFeePlatformPack();
                     BigDecimal feePlatformCheck = s.getFeePlatformCheck();
                     BigDecimal feePlatformTransport = s.getFeePlatformTransport();
+                    BigDecimal feePackingTransport = s.getFeePackingTransport();
                     salesFeePlatform = salesFeePlatform.add(feePlatform)
-                            .add(feePlatformPack).add(feePlatformCheck).add(feePlatformTransport);
+                            .add(feePlatformPack).add(feePlatformCheck)
+                            .add(feePlatformTransport).add(feePackingTransport);
                     salesFeeSupplier = salesFeeSupplier.add(feeSupplier);
                     salesFeePartner = salesFeePartner.add(feePartner);
                 }
@@ -222,7 +225,7 @@
 
     private void setPartnerIncome(OrderItem oi, OrderItemSettlement ois){
         //合伙人结算:合伙人加价-理赔-缺货扣款 = 结算金额
-        BigDecimal markupPartner = oi.getMarkupPartner() == null ? new BigDecimal(0) : oi.getMarkupPartner();
+        BigDecimal markupPartner = getAmount(oi.getMarkupPartner());
         BigDecimal totalAmount = markupPartner.multiply(new BigDecimal(oi.getNum()));
         BigDecimal settlementAmount = totalAmount.subtract(ois.getSalesFeePartner()).subtract(ois.getLackFeePartner());//结算金额
         if(settlementAmount.doubleValue() < 0){
@@ -257,4 +260,8 @@
 
         return fee;
     }
+
+    public OrderItemSettlement selectOrderItemSettlementById(String id) {
+        return orderItemSettlementMapper.selectOrderItemSettlementById(id);
+    }
 }

--
Gitblit v1.9.3