增加加价的截留扣点设置
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;
|
pcDeptRate = MoneyUtil.lt0(pcDeptRate) ? BigDecimal.ZERO : pcDeptRate;
|
||||||
BigDecimal pcDeptMoney = MoneyUtil.lt0(deptGoodsCategory.getPcDeptMoney()) ? BigDecimal.ZERO : deptGoodsCategory.getPcDeptMoney();
|
BigDecimal pcDeptMoney = MoneyUtil.lt0(deptGoodsCategory.getPcDeptMoney()) ? BigDecimal.ZERO : deptGoodsCategory.getPcDeptMoney();
|
||||||
logger.info("平台追加抽成{},费率{}", pcDeptMoney, pcDeptRate);
|
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;
|
BigDecimal dtx = BigDecimal.ZERO;
|
||||||
|
|
||||||
// 追加金额分账
|
// 追加金额分账
|
||||||
|
|
@ -602,7 +608,7 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
||||||
changeMoney = fcRecord.getChangeMoney();
|
changeMoney = fcRecord.getChangeMoney();
|
||||||
logger.info("子订单加价金额{}", changeMoney);
|
logger.info("子订单加价金额{}", changeMoney);
|
||||||
BigDecimal dtx2 = changePaymentConfirm(fcRecord, orderDetailId, orderDetail.getWorkerId(), deptId, memberId,
|
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);
|
// dtx = dtx.add(dtx2);
|
||||||
logger.info("子订单加价记录{}加价完毕{}", dtx2, dtx);
|
logger.info("子订单加价记录{}加价完毕{}", dtx2, dtx);
|
||||||
}
|
}
|
||||||
|
|
@ -684,7 +690,7 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
||||||
// 增加手续费财务子单
|
// 增加手续费财务子单
|
||||||
FinancialDetail financialDetail1 = new FinancialDetail();
|
FinancialDetail financialDetail1 = new FinancialDetail();
|
||||||
financialDetail1.setOrderDetailId(orderDetailId);
|
financialDetail1.setOrderDetailId(orderDetailId);
|
||||||
financialDetail1.setFinancialDetailType(2);
|
financialDetail1.setFinancialDetailType(6);
|
||||||
financialDetail1.setPayMoney(commissionAmount);
|
financialDetail1.setPayMoney(commissionAmount);
|
||||||
financialDetail1.setPayTime(new Date());
|
financialDetail1.setPayTime(new Date());
|
||||||
financialDetail1.setFinancialMasterId(financialMasterId);
|
financialDetail1.setFinancialMasterId(financialMasterId);
|
||||||
|
|
@ -745,7 +751,7 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
||||||
private BigDecimal changePaymentConfirm(FinancialChangeRecord fcRecord, Long orderDetailId, Long workerId, Long deptId,
|
private BigDecimal changePaymentConfirm(FinancialChangeRecord fcRecord, Long orderDetailId, Long workerId, Long deptId,
|
||||||
String memberId, String masterMemberId, BigDecimal teamRete, BigDecimal teamMoney,
|
String memberId, String masterMemberId, BigDecimal teamRete, BigDecimal teamMoney,
|
||||||
BigDecimal deptRate, BigDecimal deptMoney,
|
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 changeMoney = fcRecord.getChangeMoney();
|
||||||
// 分销金额
|
// 分销金额
|
||||||
BigDecimal placeOneMoney = BigDecimal.ZERO;
|
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 platformFee = changeMoney.multiply(deptRate).add(deptMoney).setScale(2, RoundingMode.UP);
|
||||||
// 大师傅抽成
|
// 大师傅抽成
|
||||||
BigDecimal masterFee = changeMoney.multiply(teamRete).add(teamMoney).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)) {
|
if (MoneyUtil.lt(masterFee.add(platformFee), changeMoney)) {
|
||||||
platformFee = changeMoney.multiply(deptRate).setScale(2, RoundingMode.UP);
|
platformFee = changeMoney.multiply(deptRate).setScale(2, RoundingMode.DOWN);
|
||||||
}
|
}
|
||||||
// 分销抽成
|
// 分销抽成
|
||||||
// 1级分销
|
// 1级分销
|
||||||
if (MoneyUtil.lt(oneRate, changeMoney)) {
|
if (MoneyUtil.lt(oneRate, changeMoney)) {
|
||||||
placeOneMoney = changeMoney.multiply(oneRate).setScale(2, RoundingMode.UP);
|
placeOneMoney = changeMoney.multiply(oneRate).setScale(2, RoundingMode.DOWN);
|
||||||
}
|
}
|
||||||
// 2级分销
|
// 2级分销
|
||||||
if (MoneyUtil.lt(twoRate, changeMoney)) {
|
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);
|
logger.info("子订单改价分账1级{}2级{}", placeOneMoney, placeTwoMoney);
|
||||||
// 上门师傅的报酬
|
// 上门师傅的报酬
|
||||||
|
|
@ -802,7 +812,12 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
||||||
workerFee = workerFee.subtract(platformFee);
|
workerFee = workerFee.subtract(platformFee);
|
||||||
feeFlag = true;
|
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)) {
|
if (MoneyUtil.gt0(placeOneMoney) && StringUtils.isNotEmpty(placeOne)) {
|
||||||
divMembers.add(new DivMember(placeOne, MoneyUtil.toS(placeOneMoney), !feeFlag));
|
divMembers.add(new DivMember(placeOne, MoneyUtil.toS(placeOneMoney), !feeFlag));
|
||||||
workerFee = workerFee.subtract(placeOneMoney);
|
workerFee = workerFee.subtract(placeOneMoney);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue