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 2e701389..e65144b2 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 @@ -807,17 +807,24 @@ public class OrderDetailServiceImpl implements OrderDetailService { ArrayList divMembers = new ArrayList<>(); // 承担手续费的标志 如果平台抽成为0则大师傅承担手续费 如果大师傅抽成也为0 则由上门师傅自己承担手续费 boolean feeFlag = false; - if (MoneyUtil.gt0(platformFee)) { - divMembers.add(new DivMember("0", MoneyUtil.toS(platformFee), true)); - workerFee = workerFee.subtract(platformFee); - feeFlag = true; - } - //截留扣点 - if (MoneyUtil.gt0(retainRate)) { - divMembers.add(new DivMember("0", MoneyUtil.toS(retainRateMoney), true)); - workerFee = workerFee.subtract(retainRateMoney); + if (MoneyUtil.gt0(platformFee)&&MoneyUtil.gt0(retainRate)){ + divMembers.add(new DivMember("0", MoneyUtil.toS(platformFee.add(retainRateMoney)), true)); + workerFee = workerFee.subtract(platformFee).subtract(retainRateMoney); feeFlag = true; + }else{ + if (MoneyUtil.gt0(platformFee)) { + divMembers.add(new DivMember("0", MoneyUtil.toS(platformFee), true)); + workerFee = workerFee.subtract(platformFee); + feeFlag = true; + } + //截留扣点 + if (MoneyUtil.gt0(retainRate)) { + divMembers.add(new DivMember("0", MoneyUtil.toS(retainRateMoney), false)); + workerFee = workerFee.subtract(retainRateMoney); + feeFlag = true; + } } + if (MoneyUtil.gt0(placeOneMoney) && StringUtils.isNotEmpty(placeOne)) { divMembers.add(new DivMember(placeOne, MoneyUtil.toS(placeOneMoney), !feeFlag)); workerFee = workerFee.subtract(placeOneMoney);