From 81c0938a74845d38ac9efce7f2561d396ac716c7 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Wed, 17 Mar 2021 09:45:17 +0800
Subject: [PATCH] modify

---
 zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java |  109 ++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 73 insertions(+), 36 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 e9db49e..2399c96 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,5 +1,6 @@
 package com.matrix.system.hive.action;
 
+import com.matrix.component.rabbitmq.RabiitMqTemplate;
 import com.matrix.core.constance.MatrixConstance;
 import com.matrix.core.exception.GlobleException;
 import com.matrix.core.pojo.AjaxResult;
@@ -14,17 +15,14 @@
 import com.matrix.system.common.tools.ResponseHeadUtil;
 import com.matrix.system.constance.Dictionary;
 import com.matrix.system.constance.SystemConstance;
-import com.matrix.system.hive.action.util.QueryUtil;
 import com.matrix.system.hive.bean.*;
-import com.matrix.system.hive.dao.MoneyCardUseDao;
-import com.matrix.system.hive.dao.SysOrderDao;
-import com.matrix.system.hive.dao.SysOrderItemDao;
-import com.matrix.system.hive.dao.SysShopInfoDao;
-import com.matrix.core.tools.DateUtil;
+import com.matrix.system.hive.dao.*;
+import com.matrix.system.hive.plugin.util.CollectionUtils;
 import com.matrix.system.hive.pojo.ShoppingCarItem;
 import com.matrix.system.hive.pojo.ShoppingCarItemsVo;
 import com.matrix.system.hive.service.*;
 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;
@@ -42,6 +40,7 @@
 import java.net.URLEncoder;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -83,6 +82,13 @@
     @Autowired
     private SysOrderFlowService sysOrderFlowService;
 
+    @Autowired
+    private SysOrderFlowDao sysOrderFlowDao;
+
+    @Autowired
+    RabiitMqTemplate rabiitMqTemplate;
+    @Value("${evn}")
+    private String evn;
 
     /**
      * 计算订单金额
@@ -120,6 +126,13 @@
         //校验订单是否满足结算调价,新订单则保存订单,已有订单则删除后更新
         sysOrder = orderService.checkAndSaveOrder(sysOrder);
         orderService.updateReceiptMoney(sysOrder);
+
+        //发送微信公众号提醒
+//        UniformMsgParam uniformMsgParam=new UniformMsgParam(user.getCompanyId(),UniformMsgParam.GZH_GMCG);
+//        uniformMsgParam.put("orderId",sysOrder.getId());
+//        rabiitMqTemplate.sendMsg(MQTaskRouting.SEND_UNIFORM_TEMPLATE_MSG+evn,uniformMsgParam.toJSONString());
+
+
         //处理用户购买的产品
         return AjaxResult.buildSuccessInstance(Arrays.asList(sysOrder), "订单结算成功");
     }
@@ -135,9 +148,24 @@
     @ResponseBody
     @Transactional(rollbackFor = Exception.class)
     public AjaxResult refundOrder(@RequestBody SysOrder sysOrder) {
+        //储值卡订单不能通过退款渠道退款
+        if(CollectionUtils.isNotEmpty(sysOrder.getItems())){
+            List<SysOrderItem> orderItem = orderItemService.findByOrderId(sysOrder.getItems().get(0).getOrderId());
+            if(orderItem.size()==1){
+                if(orderItem.get(0).getShoppingGoods().getCode().equals("vipCzk")){
+                    return AjaxResult.buildFailInstance("充值订单请直接冲负数金额退款!");
+                }
+            }
+        }
+
+
+
         SysUsers user = getMe();
         sysOrder.setShopId(user.getShopId());
         sysOrder.setStatu(Dictionary.ORDER_STATU_TK);
+        sysOrder.setOrderTime(new Date());
+
+
         //校验订单是否满足结算调价,新订单则保存订单,已有订单则删除后更新
         sysOrder = orderService.checkAndSaveOrder(sysOrder);
         orderService.refundOrderMoney(sysOrder);
@@ -253,13 +281,17 @@
     public @ResponseBody
     AjaxResult updateOrderTime(SysOrder sysOrder) {
 
-        sysOrderDao.updateOrderTime(sysOrder.getOrderTime(), sysOrder.getId());
+        sysOrderDao.updateOrderTime(sysOrder.getPayTime(), sysOrder.getId());
         // 修改业绩时间
         // 更新业绩时间
         AchieveNew achieveNew = new AchieveNew();
         achieveNew.setOrderId(sysOrder.getId());
-        achieveNew.setDatatime(sysOrder.getOrderTime());
+        achieveNew.setDatatime(sysOrder.getPayTime());
         achieveNewService.modifyAchieveTime(achieveNew);
+        //更新收款流水时间
+        sysOrderFlowDao.updateTimeByOrderId(sysOrder.getId(),sysOrder.getPayTime());
+
+
         return new AjaxResult(AjaxResult.STATUS_SUCCESS, "修改成功");
     }
 
@@ -276,16 +308,7 @@
         MoneyCardUse cardUseInfo = cardUseService.findByVipId(order.getVipId());
 
         if (cardUseInfo == null) {
-            cardUseInfo = new MoneyCardUse();
-            cardUseInfo.setVipId(order.getVipId());
-            cardUseInfo.setCardName("储值卡");
-            cardUseInfo.setIsVipCar(Dictionary.FLAG_YES_Y);
-            cardUseInfo.setRealMoney(0D);
-            cardUseInfo.setGiftMoney(0D);
-            cardUseInfo.setSource("-");
-            cardUseInfo.setStatus(Dictionary.MONEYCARD_STATUS_YX);
-            cardUseInfo.setFailTime(DateUtil.stringToDate("2050-01-01 00:00",DateUtil.DATE_FORMAT_MM));
-            moneyCardUseDao.insert(cardUseInfo);
+            cardUseInfo=sysVipInfoService.addVipDefaultCard(order.getVipId());
         }
 
         //打印需求加入门店信息
@@ -371,22 +394,18 @@
         return "admin/hive/beautySalon/point-order";
     }
 
-    /**
-     * 跳转 消费流水详情页面
-     *
-     * @author jyy
-     */
-    @RequestMapping(value = "/orderItem")
-    public String orderItem(SysOrder orderVo) {
+    @RequestMapping(value = "/findOrderDetailByIdOrNo")
+    @ResponseBody
+    public AjaxResult findOrderDetailByIdOrNo(SysOrder orderVo) {
         // 根据id查到对应的订单信息
         SysOrder order=null;
         if(orderVo.getId()!=null){
-           order  = orderService.findById(orderVo.getId());
+            order  = orderService.findById(orderVo.getId());
         }else if(StringUtils.isNotBlank(orderVo.getOrderNo())){
-           List<SysOrder> byModel = orderService.findByModel(orderVo);
-           if(byModel.size()==1){
-               order=orderService.findById(byModel.get(0).getId());
-           }
+            List<SysOrder> byModel = orderService.findByModel(orderVo);
+            if(byModel.size()==1){
+                order=orderService.findById(byModel.get(0).getId());
+            }
         }
         List<SysOrderItem> sysOrderItems = orderItemDao.selectByOrderId(order.getId());
         order.setItems(sysOrderItems);
@@ -406,12 +425,30 @@
         List<SysOrderFlow> payMethods = sysOrderFlowService.findPayMethodsAmount(order.getId());
 
         List<AchieveNew> achieveList = achieveNewService.findOrderItemAchieve(order.getId());
-        WebUtil.getRequest().setAttribute("orderItems", orderItems);
-        WebUtil.getRequest().setAttribute("order", order);
-        WebUtil.getRequest().setAttribute("cards", cards);
-        WebUtil.getRequest().setAttribute("vipInfo", vipInfo);
-        WebUtil.getRequest().setAttribute("payMethods", payMethods);
-        WebUtil.getRequest().setAttribute("achieveList", achieveList);
+
+        AjaxResult ajaxResult = AjaxResult.buildSuccessInstance("获取成功");
+        ajaxResult.putInMap("orderItems", orderItems);
+        ajaxResult.putInMap("order", order);
+        ajaxResult.putInMap("cards", cards);
+        ajaxResult.putInMap("vipInfo", vipInfo);
+        ajaxResult.putInMap("payMethods", payMethods);
+        ajaxResult.putInMap("achieveList", achieveList);
+        return ajaxResult;
+    }
+
+    /**
+     * 跳转 消费流水详情页面
+     *
+     * @author jyy
+     */
+    @RequestMapping(value = "/orderItem")
+    public String orderItem(SysOrder orderVo) {
+
+        if(orderVo.getId()!=null){
+            WebUtil.getRequest().setAttribute("orderParam", orderVo.getId());
+        }else if(StringUtils.isNotBlank(orderVo.getOrderNo())){
+            WebUtil.getRequest().setAttribute("orderParam", orderVo.getOrderNo());
+        }
         return "admin/hive/beautySalon/orderXq-form";
     }
 

--
Gitblit v1.9.1