From ae1471f378f399f76518539ec8992e64a3673436 Mon Sep 17 00:00:00 2001
From: 陶杰 <1378534974@qq.com>
Date: 星期三, 08 一月 2025 15:26:06 +0800
Subject: [PATCH] 1.订单提交:订单最小金额配置
---
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 e24840f..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 markupOne = oi.getMarkupOne() == null ? new BigDecimal(0) : oi.getMarkupOne();
- lackFeePlatform = markupOne.multiply(new BigDecimal(lackNum));
- lackFeePlatform = lackFeePlatform.add(oi.getMarkupTwo().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