下单/派单流程含金额调整完成
This commit is contained in:
parent
dcbafae954
commit
8704918f1d
|
|
@ -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();
|
||||
|
|
|
|||
Loading…
Reference in New Issue