下单/派单流程含金额调整完成

This commit is contained in:
kuang.yife 2023-02-09 17:05:34 +08:00
parent dcbafae954
commit 8704918f1d
1 changed files with 25 additions and 33 deletions

View File

@ -213,6 +213,7 @@ public class OrderController extends BaseController {
realPay = realPay.subtract(financialDetail.getPayMoney());
}
request.setTotalPay(realPay);
fm.setServerMoney(BigDecimal.ZERO);
}
// 判断是否全部派完
@ -250,39 +251,10 @@ public class OrderController extends BaseController {
orderGoodsService.insertOrderGoods(orderGoods);
});
String leaderTeamMoney = assignWorker.getLeaderTeamMoney();
String leaderTeamRate = assignWorker.getLeaderTeamRate();
// 派单师傅的钱
BigDecimal assignWorkerMoney = BigDecimal.ZERO;
// 固定抽成
if (StringUtils.isNotBlank(leaderTeamMoney)) {
assignWorkerMoney = assignWorkerMoney.add(new BigDecimal(leaderTeamMoney));
}
// 比例抽成
if (StringUtils.isNotBlank(leaderTeamRate)) {
BigDecimal rate = new BigDecimal(leaderTeamRate);
assignWorkerMoney = rate.multiply(request.getTotalPay()).add(assignWorkerMoney);
}
// 如果派单师傅的抽成金额>0 则为派单师傅生成子财务单
if (BigDecimal.ZERO.compareTo(assignWorkerMoney) < 0) {
FinancialDetail fd = new FinancialDetail(fm.getDeptId(), financialDetailService.createCode(), fm.getId(),
fm.getCode(), od.getId(), od.getCode(), assignWorkerMoney, FinancialDetailType.WORKER_FEE.getCode(), assignWorker.getWorkerId(),
fm.getPayType(), fm.getPayStatus(), fm.getPayTime());
financialDetailService.insertFinancialDetail(fd);
}
// 接单师傅的钱
BigDecimal acceptWorkerMoney;
// 减掉派单师傅的抽成
acceptWorkerMoney = request.getTotalPay().subtract(assignWorkerMoney);
Assert.isTrue(BigDecimal.ZERO.compareTo(acceptWorkerMoney) < 0, "订单计算出错 请联系管理员");
Assert.isTrue(BigDecimal.ZERO.compareTo(request.getTotalPay()) < 0, "订单计算出错 请联系管理员");
//为接单师傅生成子财务单
FinancialDetail fd = new FinancialDetail(fm.getDeptId(), financialDetailService.createCode(), fm.getId(),
fm.getCode(), od.getId(), od.getCode(), acceptWorkerMoney, FinancialDetailType.ORDER_FEE.getCode(), acceptWorker.getWorkerId(),
fm.getCode(), od.getId(), od.getCode(), request.getTotalPay(), FinancialDetailType.ORDER_FEE.getCode(), acceptWorker.getWorkerId(),
fm.getPayType(), fm.getPayStatus(), fm.getPayTime());
financialDetailService.insertFinancialDetail(fd);
@ -371,7 +343,7 @@ public class OrderController extends BaseController {
return AjaxResult.success(orderMaster);
}
private void createFinancialDetail(List<AppGoodsRequest> appGoodsList, Long deptId, Customer customer, BigDecimal payMoney, FinancialMaster financialMaster){
private void createFinancialDetail(List<AppGoodsRequest> appGoodsList, Long deptId, Customer customer, BigDecimal serverMoney, FinancialMaster financialMaster){
// 平台
BigDecimal deptMoney = BigDecimal.ZERO;
// 一级分销
@ -409,11 +381,17 @@ public class OrderController extends BaseController {
financialMaster.getId(), financialMaster.getCode(), deptMoney, FinancialDetailType.PLATFORM_FEE.getCode(), null);
financialDetailService.insertFinancialDetail(deptDetail);
// 剩余服务金额
serverMoney = serverMoney.subtract(deptMoney);
// 截流扣点记录
FinancialDetail retainDetail = new FinancialDetail(deptId, financialDetailService.createCode(),
financialMaster.getId(), financialMaster.getCode(), specialMoney, FinancialDetailType.PLATFORM_FEE.getCode(), null);
financialDetailService.insertFinancialDetail(retainDetail);
// 剩余服务金额
serverMoney = serverMoney.subtract(specialMoney);
// 分销扣点记录
Long customerPlaceId = customer.getCustomerPlace();
// 一级分销
@ -421,6 +399,9 @@ public class OrderController extends BaseController {
FinancialDetail financialDetail = new FinancialDetail(deptId, financialDetailService.createCode(),
financialMaster.getId(), financialMaster.getCode(), threeMoney, FinancialDetailType.PLACE_FEE.getCode(), customerPlaceId);
financialDetailService.insertFinancialDetail(financialDetail);
// 剩余服务金额
serverMoney = serverMoney.subtract(threeMoney);
} else {
oneMoney = oneMoney.add(threeMoney);
}
@ -431,6 +412,9 @@ public class OrderController extends BaseController {
FinancialDetail financialDetail = new FinancialDetail(deptId, financialDetailService.createCode(),
financialMaster.getId(), financialMaster.getCode(), twoMoney, FinancialDetailType.PLACE_FEE.getCode(), parentCustomerPlaceId);
financialDetailService.insertFinancialDetail(financialDetail);
// 剩余服务金额
serverMoney = serverMoney.subtract(twoMoney);
} else {
oneMoney = oneMoney.add(twoMoney);
}
@ -439,6 +423,12 @@ public class OrderController extends BaseController {
FinancialDetail financialDetail = new FinancialDetail(deptId, financialDetailService.createCode(),
financialMaster.getId(), financialMaster.getCode(), oneMoney, FinancialDetailType.PLACE_FEE.getCode(), null);
financialDetailService.insertFinancialDetail(financialDetail);
// 剩余服务金额
serverMoney = serverMoney.subtract(oneMoney);
financialMaster.setServerMoney(serverMoney);
financialMasterService.updateFinancialMaster(financialMaster);
}
/**
@ -1139,7 +1129,9 @@ public class OrderController extends BaseController {
// 查询是否超时
OrderTimeoutRecord orderTimeoutRecord = orderFineRecordService.selectByDetailIdAndStatus(detail.getId(), detail.getOrderStatus());
Boolean isOverTime = orderTimeoutRecord == null ? false : true;
if (Boolean.TRUE.equals(orderDetail.getIsOverTime()) && !isOverTime) continue;
if (Boolean.TRUE.equals(orderDetail.getIsOverTime()) && !isOverTime) {
continue;
}
// 售后记录
// AfterServiceRecord afterServiceRecord = new AfterServiceRecord();