增加加价的截留扣点设置
This commit is contained in:
parent
448b134f11
commit
75c06e6457
|
|
@ -582,6 +582,12 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
|||
pcDeptRate = MoneyUtil.lt0(pcDeptRate) ? BigDecimal.ZERO : pcDeptRate;
|
||||
BigDecimal pcDeptMoney = MoneyUtil.lt0(deptGoodsCategory.getPcDeptMoney()) ? BigDecimal.ZERO : deptGoodsCategory.getPcDeptMoney();
|
||||
logger.info("平台追加抽成{},费率{}", pcDeptMoney, pcDeptRate);
|
||||
BigDecimal retainRate = new BigDecimal(deptGoodsCategory.getRetainRate());
|
||||
retainRate = MoneyUtil.lt0(retainRate) ? BigDecimal.ZERO : retainRate;
|
||||
BigDecimal retainMoney = MoneyUtil.lt0(deptGoodsCategory.getRetainMoney()) ? BigDecimal.ZERO : deptGoodsCategory.getPcDeptMoney();
|
||||
|
||||
|
||||
|
||||
BigDecimal dtx = BigDecimal.ZERO;
|
||||
|
||||
// 追加金额分账
|
||||
|
|
@ -602,7 +608,7 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
|||
changeMoney = fcRecord.getChangeMoney();
|
||||
logger.info("子订单加价金额{}", changeMoney);
|
||||
BigDecimal dtx2 = changePaymentConfirm(fcRecord, orderDetailId, orderDetail.getWorkerId(), deptId, memberId,
|
||||
masterMemberId, teamRete, teamMoney, deptRate, deptMoney, saleRateThree, placeId, saleRateTwo, parentPlaceId);
|
||||
masterMemberId, teamRete, teamMoney, deptRate, deptMoney, saleRateThree, placeId, saleRateTwo, parentPlaceId,retainRate);
|
||||
// dtx = dtx.add(dtx2);
|
||||
logger.info("子订单加价记录{}加价完毕{}", dtx2, dtx);
|
||||
}
|
||||
|
|
@ -684,7 +690,7 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
|||
// 增加手续费财务子单
|
||||
FinancialDetail financialDetail1 = new FinancialDetail();
|
||||
financialDetail1.setOrderDetailId(orderDetailId);
|
||||
financialDetail1.setFinancialDetailType(2);
|
||||
financialDetail1.setFinancialDetailType(6);
|
||||
financialDetail1.setPayMoney(commissionAmount);
|
||||
financialDetail1.setPayTime(new Date());
|
||||
financialDetail1.setFinancialMasterId(financialMasterId);
|
||||
|
|
@ -745,7 +751,7 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
|||
private BigDecimal changePaymentConfirm(FinancialChangeRecord fcRecord, Long orderDetailId, Long workerId, Long deptId,
|
||||
String memberId, String masterMemberId, BigDecimal teamRete, BigDecimal teamMoney,
|
||||
BigDecimal deptRate, BigDecimal deptMoney,
|
||||
BigDecimal oneRate, String placeOne, BigDecimal twoRate, String placeTwo) throws BaseAdaPayException {
|
||||
BigDecimal oneRate, String placeOne, BigDecimal twoRate, String placeTwo,BigDecimal retainRate) throws BaseAdaPayException {
|
||||
BigDecimal changeMoney = fcRecord.getChangeMoney();
|
||||
// 分销金额
|
||||
BigDecimal placeOneMoney = BigDecimal.ZERO;
|
||||
|
|
@ -754,20 +760,24 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
|||
BigDecimal platformFee = changeMoney.multiply(deptRate).add(deptMoney).setScale(2, RoundingMode.UP);
|
||||
// 大师傅抽成
|
||||
BigDecimal masterFee = changeMoney.multiply(teamRete).add(teamMoney).setScale(2, RoundingMode.UP);
|
||||
BigDecimal retainRateMoney=BigDecimal.ZERO;
|
||||
|
||||
// 如果提成>追加金额 则去掉固定提成 只计算比例提成
|
||||
if (MoneyUtil.lt(masterFee.add(platformFee), changeMoney)) {
|
||||
platformFee = changeMoney.multiply(deptRate).setScale(2, RoundingMode.UP);
|
||||
platformFee = changeMoney.multiply(deptRate).setScale(2, RoundingMode.DOWN);
|
||||
}
|
||||
// 分销抽成
|
||||
// 1级分销
|
||||
if (MoneyUtil.lt(oneRate, changeMoney)) {
|
||||
placeOneMoney = changeMoney.multiply(oneRate).setScale(2, RoundingMode.UP);
|
||||
placeOneMoney = changeMoney.multiply(oneRate).setScale(2, RoundingMode.DOWN);
|
||||
}
|
||||
// 2级分销
|
||||
if (MoneyUtil.lt(twoRate, changeMoney)) {
|
||||
placeTwoMoney = changeMoney.multiply(twoRate).setScale(2, RoundingMode.UP);
|
||||
placeTwoMoney = changeMoney.multiply(twoRate).setScale(2, RoundingMode.DOWN);
|
||||
}
|
||||
if (MoneyUtil.lt(retainRate, changeMoney)) {
|
||||
retainRateMoney = changeMoney.multiply(retainRate).setScale(2, RoundingMode.DOWN);
|
||||
}
|
||||
|
||||
|
||||
logger.info("子订单改价分账1级{}2级{}", placeOneMoney, placeTwoMoney);
|
||||
// 上门师傅的报酬
|
||||
|
|
@ -802,7 +812,12 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
|||
workerFee = workerFee.subtract(platformFee);
|
||||
feeFlag = true;
|
||||
}
|
||||
|
||||
//截留扣点
|
||||
if (MoneyUtil.gt0(retainRate)) {
|
||||
divMembers.add(new DivMember("0", MoneyUtil.toS(retainRateMoney), true));
|
||||
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);
|
||||
|
|
|
|||
Loading…
Reference in New Issue