From 8704918f1d1e8a4513495cc2933ad7db82c153b0 Mon Sep 17 00:00:00 2001 From: "kuang.yife" Date: Thu, 9 Feb 2023 17:05:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8B=E5=8D=95/=E6=B4=BE=E5=8D=95=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=E5=90=AB=E9=87=91=E9=A2=9D=E8=B0=83=E6=95=B4=E5=AE=8C?= =?UTF-8?q?=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/order/OrderController.java | 58 ++++++++----------- 1 file changed, 25 insertions(+), 33 deletions(-) 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();