diff --git a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java index cb45f9d2..ec9b2391 100644 --- a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java +++ b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java @@ -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 appGoodsList, Long deptId, Customer customer, BigDecimal payMoney, FinancialMaster financialMaster){ + private void createFinancialDetail(List 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();