分账总金额计算错误

This commit is contained in:
Hawking 2023-04-22 20:59:00 +08:00
parent c1b93ee051
commit 2e5ff5096c
1 changed files with 2 additions and 9 deletions

View File

@ -154,8 +154,8 @@ public class OrderMasterServiceImpl implements OrderMasterService {
Assert.notNull(orderMaster, "订单不存在"); Assert.notNull(orderMaster, "订单不存在");
List<OrderDetail> orderDetails = orderDetailService.selectByOrderMasterId(orderMasterId); List<OrderDetail> orderDetails = orderDetailService.selectByOrderMasterId(orderMasterId);
for (OrderDetail orderDetail : orderDetails) { for (OrderDetail orderDetail : orderDetails) {
logger.info("主订单[id={}]存在未完成的子订单", orderMasterId);
if (orderDetail.getOrderStatus() < 5) { if (orderDetail.getOrderStatus() < 5) {
logger.info("主订单[id={}]存在未完成的子订单", orderMasterId);
return; return;
} }
} }
@ -183,13 +183,12 @@ public class OrderMasterServiceImpl implements OrderMasterService {
BigDecimal confirmAmt = BigDecimal.ZERO; BigDecimal confirmAmt = BigDecimal.ZERO;
// 大师傅/店铺提成=订单总金额 - 上门师傅结单金额 - 平台提成 - 订单超时罚金 - 分销金额 - 退款金额 - 订单加价 // 大师傅/店铺提成=订单总金额 - 上门师傅结单金额 - 平台提成 - 订单超时罚金 - 分销金额 - 退款金额 - 订单加价
BigDecimal bigWorkerAmt = financialMaster.getPayMoney(); BigDecimal bigWorkerAmt = financialMaster.getServerMoney();
// key:memberId(分账账户ID) value:分账金额 // key:memberId(分账账户ID) value:分账金额
HashMap<String, BigDecimal> memberMap = new HashMap<>(); HashMap<String, BigDecimal> memberMap = new HashMap<>();
for (FinancialDetail financialDetail : financialDetails) { for (FinancialDetail financialDetail : financialDetails) {
bigWorkerAmt = bigWorkerAmt.subtract(financialDetail.getPayMoney());
String memberId; String memberId;
switch (financialDetail.getFinancialDetailType()) { switch (financialDetail.getFinancialDetailType()) {
case 0: case 0:
@ -227,12 +226,6 @@ public class OrderMasterServiceImpl implements OrderMasterService {
} }
} }
List<FinancialChangeRecord> fcrList = financialChangeRecordService.selectByMasterId(orderMasterId);
for (FinancialChangeRecord fcr : fcrList) {
if (PayStatus.PAID.getCode().equals(fcr.getPayStatus()) || PayStatus.PAYED_ADD.getCode().equals(fcr.getPayStatus())) {
confirmAmt = confirmAmt.subtract(fcr.getChangeMoney());
}
}
memberMap.put(AdapayUtils.getWorkerMemberId(orderMaster.getWorkerId(), orderMaster.getDeptId()), bigWorkerAmt); memberMap.put(AdapayUtils.getWorkerMemberId(orderMaster.getWorkerId(), orderMaster.getDeptId()), bigWorkerAmt);
confirmAmt = confirmAmt.add(bigWorkerAmt); confirmAmt = confirmAmt.add(bigWorkerAmt);