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