From eb706a988e747b624fda0d44e0aaf6a4ee5e20eb Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 26 May 2022 11:27:03 +0800
Subject: [PATCH] fix saveOrder zkPrice is null

---
 zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java |   59 +++++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 39 insertions(+), 20 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java b/zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java
index 9113db7..cd34e93 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java
@@ -1,9 +1,7 @@
 package com.matrix.system.hive.action;
 
-import cn.hutool.core.collection.CollUtil;
+import com.alibaba.fastjson.JSON;
 import com.matrix.component.asyncmessage.AsyncMessageManager;
-import com.matrix.component.rabbitmq.RabiitMqTemplate;
-import com.matrix.core.constance.MatrixConstance;
 import com.matrix.core.exception.GlobleException;
 import com.matrix.core.pojo.AjaxResult;
 import com.matrix.core.pojo.PaginationVO;
@@ -18,9 +16,14 @@
 import com.matrix.system.common.constance.AppConstance;
 import com.matrix.system.common.dao.BusParameterSettingsDao;
 import com.matrix.system.common.dao.SysCompanyDao;
+import com.matrix.system.common.service.OperationLogService;
 import com.matrix.system.common.tools.DataAuthUtil;
 import com.matrix.system.common.tools.ResponseHeadUtil;
 import com.matrix.system.constance.Dictionary;
+import com.matrix.system.enums.BooleanEnum;
+import com.matrix.system.enums.OperationButtonEnum;
+import com.matrix.system.enums.OperationFunctionEnum;
+import com.matrix.system.hive.action.util.QueryUtil;
 import com.matrix.system.hive.bean.*;
 import com.matrix.system.hive.dao.*;
 import com.matrix.system.hive.plugin.util.CollectionUtils;
@@ -28,7 +31,6 @@
 import com.matrix.system.shopXcx.mqTask.AsyncMessageRouting;
 import com.matrix.system.wechart.templateMsg.UniformMsgParam;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Controller;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.ui.ModelMap;
@@ -106,8 +108,10 @@
     @Autowired
     private AsyncMessageManager asyncMessageManager;
 
-    @Value("${evn}")
-    private String evn;
+
+    @Autowired
+    private OperationLogService operationLogService;
+
 
     /**
      * 计算订单金额
@@ -146,7 +150,7 @@
         sysOrder.setIsHasRefund(SysOrder.IS_HAS_REFUND_N);
         //校验订单是否满足结算调价,新订单则保存订单,已有订单则删除后更新
         sysOrder = orderService.checkAndSaveOrder(sysOrder);
-        orderService.updateReceiptMoney(sysOrder);
+        orderService.payOrder(sysOrder);
 
         //发送微信公众号提醒
         UniformMsgParam uniformMsgParam = new UniformMsgParam(user.getCompanyId(), UniformMsgParam.GZH_GMCG);
@@ -177,7 +181,7 @@
                 }
             }
         }
-        orderService.refundOrderMoney(sysOrder);
+        orderService.orderTk(sysOrder);
         //处理用户购买的产品
         return AjaxResult.buildSuccessInstance(Arrays.asList(sysOrder), "订单退款成功");
     }
@@ -215,6 +219,7 @@
         if (!DataAuthUtil.hasAllShopAuth()) {
             sysOrder.setShopId(getMe().getShopId());
         }
+        sysOrder.setCompanyId(getMe().getCompanyId());
         return new AjaxResult(AjaxResult.STATUS_SUCCESS, orderService.findInPage(sysOrder, pageVo),
                 orderService.findTotal(sysOrder));
     }
@@ -233,7 +238,7 @@
     SysCompanyDao companyDao;
 
     /**
-     * 收款
+     * 打印订单
      */
     @RequestMapping(value = "/printOrder")
     public @ResponseBody
@@ -256,7 +261,7 @@
     @RequestMapping(value = "/sk")
     public @ResponseBody
     AjaxResult sk(SysOrder order) throws GlobleException {
-        orderService.updateReceiptMoney(order);
+        orderService.payOrder(order);
         return new AjaxResult(AjaxResult.STATUS_SUCCESS, "收款成功");
     }
 
@@ -266,6 +271,7 @@
      */
     @RequestMapping(value = "/updateOrderTime")
     public @ResponseBody
+    @Transactional(rollbackFor = Exception.class)
     AjaxResult updateOrderTime(SysOrder sysOrder) {
 
         sysOrderDao.updateOrderTime(sysOrder.getPayTime(), sysOrder.getId());
@@ -278,6 +284,15 @@
         //更新收款流水时间
         sysOrderFlowDao.updateTimeByOrderId(sysOrder.getId(), sysOrder.getPayTime());
 
+        //保存单据日志
+        sysOrder= sysOrderDao.selectById(sysOrder.getId());
+        operationLogService.saveOperation(sysOrder.getCompanyId(), sysOrder.getShopId(),getMe().getSuId(),
+                OperationFunctionEnum.ORDER,
+                OperationButtonEnum.ORDER_UPDATE_TIME,
+                sysOrder.getId(),
+                sysOrder.getOrderNo(),
+                sysOrder.getVipId(),
+                "更新参数: "+JSON.toJSONString(sysOrder));
 
         return new AjaxResult(AjaxResult.STATUS_SUCCESS, "修改成功");
     }
@@ -465,13 +480,7 @@
             return new AjaxResult(AjaxResult.STATUS_FAIL, "订单不存在!");
         }
 
-        List<SysOrderItem> items = orderItemDao.selectByOrderId(id);
-        for (SysOrderItem item : items) {
-            List<SysProjServices> sysProjServices = sysProjServicesDao.selectProjServicesByOrderItemId(item.getId());
-            if (CollUtil.isNotEmpty(sysProjServices)) {
-                return new AjaxResult(AjaxResult.STATUS_FAIL, "订单存在进行中的服务单无法取消/删除");
-            }
-        }
+
 
         orderService.cancelOrder(id);
 
@@ -493,8 +502,11 @@
 
         SysOrder order = orderService.findById(id);
         BusParameterSettings shopManageAbleCancelDfkOrder = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.SHOP_MANAGE_ABLE_CANCEL_DFK_ORDER, order.getCompanyId());
+//        if (StringUtils.isNotBlank(shopManageAbleCancelDfkOrder.getParamValue())
+//                && shopManageAbleCancelDfkOrder.getParamValue().equals(Dictionary.FLAG_YES)) {
         if (StringUtils.isNotBlank(shopManageAbleCancelDfkOrder.getParamValue())
-                && shopManageAbleCancelDfkOrder.getParamValue().equals(Dictionary.FLAG_YES)) {
+                && BooleanEnum.TRUE.getValue() == shopManageAbleCancelDfkOrder.getIntParamValue()) {
+
             if (!Dictionary.ORDER_STATU_DFK.equals(order.getStatu())) {
                 return new AjaxResult(AjaxResult.STATUS_FAIL, "您只能取消待付款订单");
             }
@@ -505,8 +517,7 @@
     @RequestMapping(value = "/exportExcel")
     public void report(ModelMap model, HttpServletRequest request, HttpServletResponse response,
                        SysOrder sysOrder) throws Exception {
-        SysUsers sysUsers = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY);
-        sysOrder.setShopId(sysUsers.getShopId());
+        sysOrder.setShopId(getMe().getShopId());
         doExportOrder(response, sysOrder);
         return;
 
@@ -519,6 +530,7 @@
     public void erpExportExcel(ModelMap model, HttpServletRequest request, HttpServletResponse response,
                                SysOrder sysOrder) throws Exception {
         doExportOrder(response, sysOrder);
+
         return;
 
     }
@@ -532,6 +544,13 @@
      * @throws IOException
      */
     private void doExportOrder(HttpServletResponse response, SysOrder sysOrder) throws IOException {
+
+        //保存单据日志
+        operationLogService.saveOperation(getMe().getCompanyId(), getMe().getShopId(),getMe().getSuId(),
+                OperationFunctionEnum.ORDER,
+                OperationButtonEnum.EXPORT,
+                String.format("导出参数:%s" , JSON.toJSONString(sysOrder)));
+
         List<ExcelSheetPO> res = new ArrayList<>();
         ExcelSheetPO orderSheet = new ExcelSheetPO();
         String title = "订单记录";

--
Gitblit v1.9.1