From baa1c7ecdc47c5da14790b422007ce21e0547ffa Mon Sep 17 00:00:00 2001 From: 935090232@qq.com <ak473600000> Date: Fri, 18 Mar 2022 00:50:23 +0800 Subject: [PATCH] 重构:订单创建和修改方法 --- zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java | 116 ++++++--------------------------------------------------- 1 files changed, 13 insertions(+), 103 deletions(-) diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java index 99bff37..72f57c1 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java @@ -37,8 +37,6 @@ import com.matrix.system.hive.pojo.ShoppingCarItem; import com.matrix.system.hive.pojo.ShoppingCarItemsVo; import com.matrix.system.hive.service.*; -import com.matrix.system.score.constant.ScoreSettingConstant; -import com.matrix.system.score.entity.ScoreVipDetail; import com.matrix.system.score.service.ScoreVipDetailService; import com.matrix.system.shopXcx.mqTask.AsyncMessageRouting; import com.matrix.system.wechart.templateMsg.UniformMsgParam; @@ -145,7 +143,6 @@ private SysOrderServiceHelper sysOrderServiceHelper; - @Autowired MoneyCardUseService moneyCardUseService; @@ -156,91 +153,15 @@ @Transactional(rollbackFor = Exception.class) public SysOrder checkAndSaveOrder(SysOrder sysOrder) { - // 计算订单折扣金额,收款情况下 计算订单总额 - double zkTotal = 0.0; - - // 判断是否为退款 - String orderStatus = Dictionary.ORDER_STATU_DFK; - if (Dictionary.ORDER_STATU_TK.equals(sysOrder.getStatu())) { - orderStatus = Dictionary.ORDER_STATU_TK; - } - - // 页面的pageOrder 参数只包含支付金额信息,不带有购买商品 - for (SysOrderItem item : sysOrder.getItems()) { - // 若为退款,则先更新原有数量 - if (orderStatus.equals(Dictionary.ORDER_STATU_TK)) { - SysOrderItem sysOrderItem = new SysOrderItem(); - sysOrderItem.setId(item.getId()); - sysOrderItem.setCount(item.getPreCount() - item.getCount()); - orderItemDao.update(sysOrderItem); - } - item.setId(null); - - ShoppingGoods shoppingGoods = shoppingGoodsDao.selectById(item.getGoodsId()); - item.setType(shoppingGoods.getGoodType()); - if (item.getZkPrice() == 0) { - item.setIsFree(Dictionary.FLAG_YES); - } - - // 订单欠款减去支付金额 设置实际欠款 - Double itemZkTotal = MoneyUtil.mul(item.getZkPrice(), Double.valueOf(item.getCount())); - zkTotal = MoneyUtil.add(zkTotal, itemZkTotal); - item.setStatus(orderStatus); - } - - SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY); - sysOrder.setZkTotal(zkTotal); - sysOrder.setStatu(orderStatus); - SysOrder source = null; - if (sysOrder.getId() != null) { - source = sysOrderDao.selectById(sysOrder.getId()); - } - sysOrder.setStaffId(source != null ? source.getStaffId() : user.getSuId()); - sysOrder.setCompanyId(source != null ? source.getCompanyId() : user.getCompanyId()); - - - if (sysOrder.getId() == null) { - //新增订单 - sysOrder.setOrderNo(codeService.getOrderCode()); - sysOrderDao.insert(sysOrder); - //保存单据日志 - operationLogService.saveOperation(sysOrder.getCompanyId(), sysOrder.getShopId(), user.getSuId(), - OperationFunctionEnum.ORDER, - OperationButtonEnum.CREATE, - sysOrder.getId(), - sysOrder.getOrderNo(), - sysOrder.getVipId()); - + if (Objects.isNull(sysOrder.getId())) { + LogUtil.info("新增正向订单"); + return sysOrderServiceHelper.saveOrder(sysOrder); } else { - //更新订单 - sysOrderDao.update(sysOrder); - //删除原有订单明细 - orderItemDao.deleteByOrderId(sysOrder.getId()); - //保存单据日志 - operationLogService.saveOperation(sysOrder.getCompanyId(), sysOrder.getShopId(), user.getSuId(), - OperationFunctionEnum.ORDER, - OperationButtonEnum.UPDATE, - sysOrder.getId(), - sysOrder.getOrderNo(), - sysOrder.getVipId(), - "修改订单内容"); + LogUtil.info("修改订单"); + return sysOrderServiceHelper.modifyOrder(sysOrder); } - sysOrder.getItems().forEach(sysOrderItem -> { - sysOrderItem.setOrderId(sysOrder.getId()); - if (sysOrder.getStatu().equals(Dictionary.ORDER_STATU_TK)) { - // 取负数 - sysOrderItem.setCount(-sysOrderItem.getCount()); - orderItemDao.insert(sysOrderItem); - // 调整回来 - sysOrderItem.setCount(-sysOrderItem.getCount()); - } else { - orderItemDao.insert(sysOrderItem); - } - }); - - return sysOrder; } /** @@ -485,7 +406,7 @@ sysVipInfoService.updateDealStatus(pageOrder.getVipId(), BooleanEnum.TRUE.getValue()); //添加支付流水 - sysOrderServiceHelper.addOrderFlow(pageOrder,false); + sysOrderServiceHelper.addOrderFlow(pageOrder, false); //扣除储值卡余额 sysOrderServiceHelper.cardPaySk(pageOrder); @@ -533,7 +454,7 @@ * @param pageOrder */ private void updateOrderInfo(SysOrder pageOrder) { - LogUtil.info("付款更新订单信息 id={}",pageOrder.getId()); + LogUtil.info("付款更新订单信息 id={}", pageOrder.getId()); SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY); pageOrder.setCashierId(user.getSuId()); @@ -594,7 +515,7 @@ //检查业绩设置 checkOrderAchieve(pageOrder); - LogUtil.info("订单满足支付条件 id={}",pageOrder.getId()); + LogUtil.info("订单满足支付条件 id={}", pageOrder.getId()); } @@ -631,12 +552,9 @@ } - - - - /** * 补交 + * * @author:姜友瑶 * @date 2016年9月19日 */ @@ -646,7 +564,7 @@ SysOrder sourceOrder = sysOrderDao.selectById(pageOrder.getId()); //添加支付流水 - sysOrderServiceHelper.addOrderFlow(pageOrder,true); + sysOrderServiceHelper.addOrderFlow(pageOrder, true); //扣除储值卡余额 sysOrderServiceHelper.cardPaySk(pageOrder); @@ -667,7 +585,7 @@ if (refundTotal == pageOrder.getArrears()) { sourceOrder.setStatu(Dictionary.ORDER_STATU_YFK); - }else{ + } else { sourceOrder.setStatu(Dictionary.ORDER_STATU_QK); } sourceOrder.setArrears(sourceOrder.getArrears() - refundTotal); @@ -675,14 +593,6 @@ sourceOrder.setCashPay(sourceOrder.getCashPay() == null ? 0 : sourceOrder.getCashPay() + cashPayTotal); sysOrderDao.update(sourceOrder); } - - - - - - - - /** @@ -773,7 +683,7 @@ order.setFlows(czVo.getFlows()); - sysOrderServiceHelper.addOrderFlow(order,false); + sysOrderServiceHelper.addOrderFlow(order, false); // 添加员工业绩 achieveNewService.addAchaeveByOrder(order); @@ -867,7 +777,7 @@ // 添加订单收款流水 - sysOrderServiceHelper.addOrderFlow(sysOrder,false); + sysOrderServiceHelper.addOrderFlow(sysOrder, false); //退款退套餐退项目 refundProjUse(sysOrder); //删除积分 -- Gitblit v1.9.1