From 6a6f4b59e9eaf37cc569f215e9b39e5076ee4da3 Mon Sep 17 00:00:00 2001
From: 935090232@qq.com <ak473600000>
Date: Wed, 07 Jul 2021 21:55:31 +0800
Subject: [PATCH] 新增客户资料导出

---
 zq-erp/src/main/java/com/matrix/system/hive/action/MoneyCardUseController.java |  174 +++++++++++++++++++++++++--------------------------------
 1 files changed, 77 insertions(+), 97 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/system/hive/action/MoneyCardUseController.java b/zq-erp/src/main/java/com/matrix/system/hive/action/MoneyCardUseController.java
index c4c732b..c19da86 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/action/MoneyCardUseController.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/action/MoneyCardUseController.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;
@@ -8,21 +9,22 @@
 import com.matrix.core.tools.WebUtil;
 import com.matrix.system.common.bean.SysUsers;
 import com.matrix.system.constance.Dictionary;
-import com.matrix.system.constance.SystemConstance;
 import com.matrix.system.hive.bean.*;
 import com.matrix.system.hive.dao.MoneyCardUseDao;
 import com.matrix.system.hive.dao.MoneyCardUseFlowDao;
-import com.matrix.core.tools.DateUtil;
 import com.matrix.system.hive.pojo.CzXkVo;
 import com.matrix.system.hive.service.*;
+import com.matrix.system.shopXcx.mqTask.MQTaskRouting;
+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.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
 import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
@@ -50,34 +52,31 @@
     @Resource
     private SysVipInfoService vipInfoService;
 
-    @Autowired
+    @Resource
     private MoneyCardUseFlowDao moneyCardUseFlowDao;
-    @Autowired
+
+    @Resource
     private   MoneyCardUseDao moneyCardUseDao;
+
+
+    @Value("${evn}")
+    private  String evn;
+
+    @Autowired
+    private RabiitMqTemplate rabiitMqTemplate;
+
+
     /**
      * 跳转 充值页面
      *
      * @author jyy
      */
     @RequestMapping(value = "/editFormCz")
-    public String editFormCz() {
-        SysVipInfo info =
-                (SysVipInfo) WebUtil.getSession().getAttribute(SystemConstance.CURRENT_CUSTOMER);
-        MoneyCardUse cardUseInfo = cardUseService.findByVipId(info.getId());
-
+    public String editFormCz(Long id) {
+        MoneyCardUse cardUseInfo = cardUseService.findByVipId(id);
         if (cardUseInfo == null) {
-            cardUseInfo = new MoneyCardUse();
-            cardUseInfo.setVipId(info.getId());
-            cardUseInfo.setCardName("储值卡");
-            cardUseInfo.setIsVipCar(Dictionary.FLAG_YES_Y);
-            cardUseInfo.setRealMoney(0D);
-            cardUseInfo.setGiftMoney(0D);
-            cardUseInfo.setSource("-");
-            cardUseInfo.setFailTime(DateUtil.stringToDate("2050-01-01 00:00",DateUtil.DATE_FORMAT_MM));
-            cardUseInfo.setStatus(Dictionary.MONEYCARD_STATUS_YX);
-            moneyCardUseDao.insert(cardUseInfo);
+            cardUseInfo=vipInfoService.addVipDefaultCard(id);
         }
-
         WebUtil.getRequest().setAttribute("obj", cardUseInfo);
         return "admin/hive/beautySalon/cz-form";
     }
@@ -89,9 +88,15 @@
      */
     @RequestMapping(value = "/cz")
     public @ResponseBody
-    AjaxResult cz(CzXkVo czVo) {
+    AjaxResult cz(@RequestBody CzXkVo czVo) {
         SysOrder order=  orderService.updateAddCardMoney(czVo);
         AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, "充值成功");
+
+        //发送微信公众号提醒
+        UniformMsgParam uniformMsgParam=new UniformMsgParam(order.getCompanyId(),UniformMsgParam.GZH_CZCG);
+        uniformMsgParam.put("orderId",order.getId());
+        rabiitMqTemplate.sendMsg(MQTaskRouting.SEND_UNIFORM_TEMPLATE_MSG+evn,uniformMsgParam.toJSONString());
+
         result.putInMap("orderId",order.getId());
         return result;
     }
@@ -181,23 +186,14 @@
      * @author jyy
      */
     @RequestMapping(value = "/toBj")
-    public String toBj(Long id, HttpServletRequest request) {
+    public String toBj(Long id) {
         // 根据id查到对应的订单信息
         SysOrder order = orderService.findById(id);
-        WebUtil.getRequest().setAttribute("order", order);
-
         SysOrderItem item = new SysOrderItem();
         item.setOrderId(order.getId());
-        item.setStatus(Dictionary.ORDER_STATU_QK);
-        order.setItems(orderItemService.findByModel(item));
-
-
-        MoneyCardUse moneyCardUse = new MoneyCardUse();
-        moneyCardUse.setVipId(order.getVipId());
-        moneyCardUse.setStatus(Dictionary.MONEYCARD_STATUS_YX);
-        List<MoneyCardUse> cards = cardUseService.findByModel(moneyCardUse);
-
-        WebUtil.getRequest().setAttribute("cards", cards);
+        List<SysOrderItem> items = orderItemService.findByModel(item);
+        order.setItems(items);
+        WebUtil.getRequest().setAttribute("order", order);
 
         return "admin/hive/beautySalon/bj-form";
     }
@@ -227,7 +223,7 @@
      */
     @RequestMapping(value = "/bj")
     public @ResponseBody
-    AjaxResult bj(SysOrder order) throws GlobleException {
+    AjaxResult bj(@RequestBody SysOrder order) throws GlobleException {
 
         orderService.updateAfterMoney(order);
         return new AjaxResult(AjaxResult.STATUS_SUCCESS, "补交成功");
@@ -283,9 +279,9 @@
     @RequestMapping(value = "/active")
     public @ResponseBody
     AjaxResult active(MoneyCardUse moneyCardUse) {
-        MoneyCardUse proj = moneyCardUseDao.selectById(moneyCardUse.getId());
-        String status = proj.getStatus();
-        Date failTime = proj.getFailTime();
+        MoneyCardUse cardUse = moneyCardUseDao.selectById(moneyCardUse.getId());
+        String status = cardUse.getStatus();
+        Date failTime = cardUse.getFailTime();
         Date today = new Date();
         Date newDate = null;
         newDate = moneyCardUse.getFailTime();
@@ -296,7 +292,7 @@
                 if (newDate != null && newDate.before(today)) {
                     return new AjaxResult(AjaxResult.STATUS_FAIL, "有效期要大于当前日期");
                 }
-                if (newDate == null && failTime.before(today)) {
+                if (newDate == null && (failTime == null || failTime.before(today))) {
                     //如果是已过期界面会提醒重新设置有效期
                     return new AjaxResult(AjaxResult.STATUS_SUCCESS, "已过期");
                 }
@@ -304,14 +300,27 @@
             //如果是冻结状态则要算出冻结的天数,延长有效期
             case Dictionary.TAOCAN_STATUS_DJ:
                 MoneyCardUseFreeze freeze = new MoneyCardUseFreeze();
-                freeze = moneyCardUseFreezeService.findByMoneyCardUseId(proj.getId());
-                proj.setFailTime(DateUtil.nextNDate(failTime, freeze.getGapDays()));
+                freeze = moneyCardUseFreezeService.findByMoneyCardUseId(cardUse.getId());
+                cardUse.setFailTime(DateUtil.nextNDate(failTime, freeze.getGapDays()));
                 break;
             default:
                 return new AjaxResult(AjaxResult.STATUS_FAIL, "请选择无效或者冻结的充值卡");
         }
-        proj.setFailTime(moneyCardUse.getFailTime());
-        cardUseService.active(proj);
+        cardUse.setFailTime(moneyCardUse.getFailTime());
+        cardUseService.active(cardUse);
+
+
+        MoneyCardUseFlow moneyCardUseFlow = new MoneyCardUseFlow();
+        SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+        moneyCardUseFlow.setCarUseId(cardUse.getId());
+        moneyCardUseFlow.setVipId(cardUse.getVipId());
+        moneyCardUseFlow.setType(MoneyCardUseFlow.USE_TYPE_CARD_MODIFY);
+        moneyCardUseFlow.setCreateTime(new Date());
+        moneyCardUseFlow.setOperationId(user.getSuId());
+        moneyCardUseFlow.setContent("设置为有效");
+        moneyCardUseFlowDao.insert(moneyCardUseFlow);
+
+
         return new AjaxResult(AjaxResult.STATUS_SUCCESS, "已设置为有效");
     }
 
@@ -324,9 +333,9 @@
     @RequestMapping(value = "/invalid")
     public @ResponseBody
     AjaxResult invalidTc(MoneyCardUse moneyCardUse) {
-        MoneyCardUse proj = cardUseService.findById(moneyCardUse.getId());
+        MoneyCardUse cardUse = cardUseService.findById(moneyCardUse.getId());
         //以及转让或者退款的不能在设置为无效
-        String status = proj.getStatus();
+        String status = cardUse.getStatus();
         switch (status) {
             case Dictionary.TAOCAN_STATUS_TK:
                 return new AjaxResult(AjaxResult.STATUS_FAIL, "充值卡已退款");
@@ -335,7 +344,16 @@
             case Dictionary.TAOCAN_STATUS_DJ:
                 return new AjaxResult(AjaxResult.STATUS_FAIL, "充值卡已冻结");
         }
-        cardUseService.invalid(proj);
+        cardUseService.invalid(cardUse);
+        MoneyCardUseFlow moneyCardUseFlow = new MoneyCardUseFlow();
+        SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+        moneyCardUseFlow.setCarUseId(cardUse.getId());
+        moneyCardUseFlow.setVipId(cardUse.getVipId());
+        moneyCardUseFlow.setType(MoneyCardUseFlow.USE_TYPE_CARD_MODIFY);
+        moneyCardUseFlow.setCreateTime(new Date());
+        moneyCardUseFlow.setOperationId(user.getSuId());
+        moneyCardUseFlow.setContent("设置为无效");
+        moneyCardUseFlowDao.insert(moneyCardUseFlow);
         return new AjaxResult(AjaxResult.STATUS_SUCCESS, "已设置为无效");
     }
 
@@ -366,63 +384,25 @@
     public @ResponseBody
     AjaxResult freeze(MoneyCardUse moneyCardUse) {
         int i = cardUseService.freeze(moneyCardUse);
+        cardUseService.invalid(moneyCardUse);
+
+        MoneyCardUse cardUse = cardUseService.findById(moneyCardUse.getId());
+        MoneyCardUseFlow moneyCardUseFlow = new MoneyCardUseFlow();
+        SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+        moneyCardUseFlow.setCarUseId(cardUse.getId());
+        moneyCardUseFlow.setVipId(cardUse.getVipId());
+        moneyCardUseFlow.setType(MoneyCardUseFlow.USE_TYPE_CARD_MODIFY);
+        moneyCardUseFlow.setCreateTime(new Date());
+        moneyCardUseFlow.setOperationId(user.getSuId());
+        moneyCardUseFlow.setContent("冻结会员卡");
+        moneyCardUseFlowDao.insert(moneyCardUseFlow);
         if (i > 0) {
             return new AjaxResult(AjaxResult.STATUS_SUCCESS, "冻结成功");
         }
         return new AjaxResult(AjaxResult.STATUS_FAIL, "冻结失败");
     }
 
-    /**
-     * 退款
-     *
-     * @return
-     */
-    @RequestMapping(value = "getEffectCard")
-    public @ResponseBody
-    AjaxResult getEffectCard(MoneyCardUse moneyCardUse) {
-        AjaxResult result = AjaxResult.buildSuccessInstance("");
-        //要退款的充值卡
-        MoneyCardUse srcCardUse = cardUseService.findById(moneyCardUse.getId());
-        if (!srcCardUse.getStatus().equals(Dictionary.TAOCAN_STATUS_YX)) {
-            throw new GlobleException("不是有效充值卡");
-        }
-        //该会员是否有有效会籍卡
-        MoneyCardUse targetCardUse = cardUseService.findByVipId(moneyCardUse.getVipId());
 
-        double money = srcCardUse.getRealMoney();
 
-        if (targetCardUse != null) {
-            targetCardUse.setRealMoney(money);
-            List<MoneyCardUse> list = Arrays.asList(targetCardUse);
 
-            if (targetCardUse.getId().equals(srcCardUse.getId())) {
-                result.setInfo("会籍卡退款只能退现金");
-                result.setRows(list);
-
-            } else {
-                result.setInfo("有有效会籍卡");
-                result.setRows(list);
-            }
-        } else {
-            //无会员卡则new一个,为了把钱传递到前台
-            targetCardUse = new MoneyCardUse();
-            targetCardUse.setRealMoney(money);
-            List<MoneyCardUse> list1 = Arrays.asList(targetCardUse);
-            result.setInfo("无有效会籍卡,退现金");
-            result.setRows(list1);
-        }
-        return result;
-    }
-
-    @RequestMapping(value = "/returnMoney")
-    public @ResponseBody
-    AjaxResult returnMoney(MoneyCardUse moneyCardUse, Long hjkId, String tcRemark, Long
-            shopId, Double money
-            , String tcName) {
-        int i = cardUseService.returnMoney(moneyCardUse, hjkId);
-        if (i > 0) {
-            return new AjaxResult(AjaxResult.STATUS_SUCCESS, "退款成功");
-        }
-        return new AjaxResult(AjaxResult.STATUS_FAIL, "冻结失败");
-    }
 }
\ No newline at end of file

--
Gitblit v1.9.1