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