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 02262b34..75cebb99 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 @@ -244,7 +244,7 @@ public class OrderController extends BaseController { Assert.notNull(financialMaster.getId(), "FinancialMaster.id is null!"); // 生成提成类子财务单 -// createDeptFinancialDetail(standard, deptId, financialMaster); + createDeptFinancialDetail(goodsStandards.get(0), deptId, financialMaster); // 生成商品订单 goodsStandards.forEach(goodsStandard -> { @@ -252,61 +252,52 @@ public class OrderController extends BaseController { goodsStandard.getGoodsStandardName(), goodsStandard.getGoodsNum(), 0); orderGoodsService.insertOrderGoods(orderGoods); }); - - // 选择消费者(消费者类型为渠道商、不需要) -- - - // 生成消费者下单地址 - - // 生成主单 - - // 生成财务单 - - // 生成财务细单 -- 平台扣点、提成 + return AjaxResult.success("下单成功"); } -// /** -// * 平台下单时生成子财务单的方法 -// * 只有平台扣点和截流扣点 -// * -// * @param goodsStandard 商品 -// * @param deptId 企业ID -// * @param financialMaster 主财务单 -// */ -// private void createDeptFinancialDetail(List goodsStandard, Long deptId, FinancialMaster financialMaster) { -// // 平台 -// BigDecimal deptMoney = BigDecimal.ZERO; -// // 截流扣点 -// BigDecimal specialMoney = BigDecimal.ZERO; -// // 服务金额 -// BigDecimal serverMoney = financialMaster.getServerMoney(); -// // 扣点设置类目 -// DeptGoodsCategory deptGoodsCategory = deptGoodsCategoryService.get(goodsStandard.get(0).getDeptGoodsCategoryId()); -// // 平台扣点 = 平台金额 + 商品单价 * 扣点比例 -// deptMoney = deptMoney.add(deptGoodsCategory.getDeptMoney()) -// .add(goodsStandard.getGoodsPrice().multiply(BigDecimal.valueOf(Double.parseDouble(deptGoodsCategory.getDeptRate())))); -// // 截流扣点 = 截流金额 + 商品单价 * 扣点比例 -// specialMoney = specialMoney.add(deptGoodsCategory.getRetainMoney()) -// .add(goodsStandard.getGoodsPrice().multiply(BigDecimal.valueOf(Double.parseDouble(deptGoodsCategory.getRetainRate())))); -// // 平台扣点记录 -// FinancialDetail deptDetail = new FinancialDetail(deptId, financialDetailService.createCode(), -// 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); -// -// FinancialMaster fmUpdate = new FinancialMaster(); -// fmUpdate.setId(financialMaster.getId()); -// fmUpdate.setServerMoney(serverMoney); -// financialMasterService.updateFinancialMaster(financialMaster); -// } + /** + * 平台下单时生成子财务单的方法 + * 只有平台扣点和截流扣点 + * + * @param goodsStandard 商品 -- 第一个商品的规格来设置扣点 + * @param deptId 企业ID + * @param financialMaster 主财务单 + */ + private void createDeptFinancialDetail(GoodsStandard goodsStandard, Long deptId, FinancialMaster financialMaster) { + // 平台 + BigDecimal deptMoney = BigDecimal.ZERO; + // 截流扣点 + BigDecimal specialMoney = BigDecimal.ZERO; + // 服务金额 + BigDecimal serverMoney = financialMaster.getServerMoney(); + // 扣点设置类目 + DeptGoodsCategory deptGoodsCategory = deptGoodsCategoryService.get(goodsStandard.getDeptGoodsCategoryId()); + // 平台扣点 = 平台金额 + 商品单价 * 扣点比例 + deptMoney = deptMoney.add(deptGoodsCategory.getDeptMoney()) + .add(financialMaster.getPayMoney().multiply(BigDecimal.valueOf(Double.parseDouble(deptGoodsCategory.getDeptRate())))); + // 截流扣点 = 截流金额 + 商品单价 * 扣点比例 + specialMoney = specialMoney.add(deptGoodsCategory.getRetainMoney()) + .add(financialMaster.getPayMoney().multiply(BigDecimal.valueOf(Double.parseDouble(deptGoodsCategory.getRetainRate())))); + // 平台扣点记录 + FinancialDetail deptDetail = new FinancialDetail(deptId, financialDetailService.createCode(), + 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); + + FinancialMaster fmUpdate = new FinancialMaster(); + fmUpdate.setId(financialMaster.getId()); + fmUpdate.setServerMoney(serverMoney); + financialMasterService.updateFinancialMaster(financialMaster); + } /** * 分配订单