From c99975c3003fc6553fc13ab0620970a9e11e7e93 Mon Sep 17 00:00:00 2001 From: cb <275647614@qq.com> Date: Fri, 25 Apr 2025 14:48:44 +0800 Subject: [PATCH] no message --- .../service/impl/OrderDetailServiceImpl.java | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/ghy-order/src/main/java/com/ghy/order/service/impl/OrderDetailServiceImpl.java b/ghy-order/src/main/java/com/ghy/order/service/impl/OrderDetailServiceImpl.java index 4b63bca0..b173282a 100644 --- a/ghy-order/src/main/java/com/ghy/order/service/impl/OrderDetailServiceImpl.java +++ b/ghy-order/src/main/java/com/ghy/order/service/impl/OrderDetailServiceImpl.java @@ -775,23 +775,25 @@ public class OrderDetailServiceImpl implements OrderDetailService { divMembers.add(new DivMember(placeTwo, MoneyUtil.toS(placeTwoMoney), !feeFlag)); workerFee = workerFee.subtract(placeTwoMoney); } - masterFee=workerFee.multiply(teamRete).add(teamMoney).setScale(2, RoundingMode.UP); - if (MoneyUtil.lt(masterFee.add(platformFee), workerFee)) { - masterFee = workerFee.multiply(workerFee).setScale(2, RoundingMode.UP); - } + //子师傅的费用计算 + BigDecimal detailFee=BigDecimal.ZERO; + + logger.info("大师傅初始金额{}平台费用{}团队抽成金额{}",masterFee,platformFee,teamMoney); // 如果是大师傅自己接单,则不需要抽成 if(AdapayUtils.getWorkerMemberId(workerId, deptId).equals(masterMemberId)){ masterFee = BigDecimal.ZERO; + }else{ + if (MoneyUtil.gt0(workerFee)){ + detailFee=workerFee.multiply(BigDecimal.ONE.subtract(teamRete)).setScale(2, RoundingMode.DOWN); + divMembers.add(new DivMember(memberId, MoneyUtil.toS(workerFee), !feeFlag)); + } + masterFee=workerFee.subtract(detailFee); + if (MoneyUtil.gt0(masterFee)) { + divMembers.add(new DivMember(masterMemberId, MoneyUtil.toS(masterFee), !feeFlag)); + } } - if (MoneyUtil.gt0(masterFee)) { - divMembers.add(new DivMember(masterMemberId, MoneyUtil.toS(masterFee), !feeFlag)); - workerFee = workerFee.subtract(masterFee); - feeFlag = true; - } + logger.info("子师傅的费用{}子师傅抽成比例{}",detailFee,BigDecimal.ONE.subtract(teamRete)); logger.info("大师傅的扣点{},最终的扣完之后的金额{}",masterFee,workerFee); - if (MoneyUtil.gt0(workerFee)) { - divMembers.add(new DivMember(memberId, MoneyUtil.toS(workerFee), !feeFlag)); - } logger.info("改价单各个金额{},{},{},{}",placeOneMoney,placeTwoMoney,masterFee,workerFee); String orderNo = "FCR_" + fcRecord.getId() + "_" + System.currentTimeMillis(); //调用分账