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

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()); realPay = realPay.subtract(financialDetail.getPayMoney());
} }
request.setTotalPay(realPay); request.setTotalPay(realPay);
fm.setServerMoney(BigDecimal.ZERO);
} }
// 判断是否全部派完 // 判断是否全部派完
@ -250,39 +251,10 @@ public class OrderController extends BaseController {
orderGoodsService.insertOrderGoods(orderGoods); orderGoodsService.insertOrderGoods(orderGoods);
}); });
String leaderTeamMoney = assignWorker.getLeaderTeamMoney(); Assert.isTrue(BigDecimal.ZERO.compareTo(request.getTotalPay()) < 0, "订单计算出错 请联系管理员");
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, "订单计算出错 请联系管理员");
//为接单师傅生成子财务单 //为接单师傅生成子财务单
FinancialDetail fd = new FinancialDetail(fm.getDeptId(), financialDetailService.createCode(), fm.getId(), 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()); fm.getPayType(), fm.getPayStatus(), fm.getPayTime());
financialDetailService.insertFinancialDetail(fd); financialDetailService.insertFinancialDetail(fd);
@ -371,7 +343,7 @@ public class OrderController extends BaseController {
return AjaxResult.success(orderMaster); 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; BigDecimal deptMoney = BigDecimal.ZERO;
// 一级分销 // 一级分销
@ -409,11 +381,17 @@ public class OrderController extends BaseController {
financialMaster.getId(), financialMaster.getCode(), deptMoney, FinancialDetailType.PLATFORM_FEE.getCode(), null); financialMaster.getId(), financialMaster.getCode(), deptMoney, FinancialDetailType.PLATFORM_FEE.getCode(), null);
financialDetailService.insertFinancialDetail(deptDetail); financialDetailService.insertFinancialDetail(deptDetail);
// 剩余服务金额
serverMoney = serverMoney.subtract(deptMoney);
// 截流扣点记录 // 截流扣点记录
FinancialDetail retainDetail = new FinancialDetail(deptId, financialDetailService.createCode(), FinancialDetail retainDetail = new FinancialDetail(deptId, financialDetailService.createCode(),
financialMaster.getId(), financialMaster.getCode(), specialMoney, FinancialDetailType.PLATFORM_FEE.getCode(), null); financialMaster.getId(), financialMaster.getCode(), specialMoney, FinancialDetailType.PLATFORM_FEE.getCode(), null);
financialDetailService.insertFinancialDetail(retainDetail); financialDetailService.insertFinancialDetail(retainDetail);
// 剩余服务金额
serverMoney = serverMoney.subtract(specialMoney);
// 分销扣点记录 // 分销扣点记录
Long customerPlaceId = customer.getCustomerPlace(); Long customerPlaceId = customer.getCustomerPlace();
// 一级分销 // 一级分销
@ -421,6 +399,9 @@ public class OrderController extends BaseController {
FinancialDetail financialDetail = new FinancialDetail(deptId, financialDetailService.createCode(), FinancialDetail financialDetail = new FinancialDetail(deptId, financialDetailService.createCode(),
financialMaster.getId(), financialMaster.getCode(), threeMoney, FinancialDetailType.PLACE_FEE.getCode(), customerPlaceId); financialMaster.getId(), financialMaster.getCode(), threeMoney, FinancialDetailType.PLACE_FEE.getCode(), customerPlaceId);
financialDetailService.insertFinancialDetail(financialDetail); financialDetailService.insertFinancialDetail(financialDetail);
// 剩余服务金额
serverMoney = serverMoney.subtract(threeMoney);
} else { } else {
oneMoney = oneMoney.add(threeMoney); oneMoney = oneMoney.add(threeMoney);
} }
@ -431,6 +412,9 @@ public class OrderController extends BaseController {
FinancialDetail financialDetail = new FinancialDetail(deptId, financialDetailService.createCode(), FinancialDetail financialDetail = new FinancialDetail(deptId, financialDetailService.createCode(),
financialMaster.getId(), financialMaster.getCode(), twoMoney, FinancialDetailType.PLACE_FEE.getCode(), parentCustomerPlaceId); financialMaster.getId(), financialMaster.getCode(), twoMoney, FinancialDetailType.PLACE_FEE.getCode(), parentCustomerPlaceId);
financialDetailService.insertFinancialDetail(financialDetail); financialDetailService.insertFinancialDetail(financialDetail);
// 剩余服务金额
serverMoney = serverMoney.subtract(twoMoney);
} else { } else {
oneMoney = oneMoney.add(twoMoney); oneMoney = oneMoney.add(twoMoney);
} }
@ -439,6 +423,12 @@ public class OrderController extends BaseController {
FinancialDetail financialDetail = new FinancialDetail(deptId, financialDetailService.createCode(), FinancialDetail financialDetail = new FinancialDetail(deptId, financialDetailService.createCode(),
financialMaster.getId(), financialMaster.getCode(), oneMoney, FinancialDetailType.PLACE_FEE.getCode(), null); financialMaster.getId(), financialMaster.getCode(), oneMoney, FinancialDetailType.PLACE_FEE.getCode(), null);
financialDetailService.insertFinancialDetail(financialDetail); 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()); OrderTimeoutRecord orderTimeoutRecord = orderFineRecordService.selectByDetailIdAndStatus(detail.getId(), detail.getOrderStatus());
Boolean isOverTime = orderTimeoutRecord == null ? false : true; 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(); // AfterServiceRecord afterServiceRecord = new AfterServiceRecord();