From 71580395e958879e49a8449c54c584f7c0b1fc7f Mon Sep 17 00:00:00 2001
From: 935090232@qq.com <ak473600000>
Date: Sun, 17 Jan 2021 11:35:15 +0800
Subject: [PATCH] 消息提醒

---
 zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java                                          |   15 +++++
 zq-erp/src/main/java/com/matrix/system/hive/action/ProjServiceController.java                                    |    1 
 zq-erp/src/main/java/com/matrix/system/wechart/templateMsg/GzhTemplateMessagePojo.java                           |   20 +++---
 zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/VipCreateTask.java                                         |   10 +++
 zq-erp/src/main/java/com/matrix/system/wechart/templateMsg/Task/messageBulderDemo/GmcgTemplateMessageBulder.java |  106 +++++++++++++++++++++++++++++++++++
 5 files changed, 141 insertions(+), 11 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 cb1407a..b6ea111 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;
@@ -24,7 +25,10 @@
 import com.matrix.system.hive.pojo.ShoppingCarItem;
 import com.matrix.system.hive.pojo.ShoppingCarItemsVo;
 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.ui.ModelMap;
@@ -84,6 +88,10 @@
     @Autowired
     private SysOrderFlowService sysOrderFlowService;
 
+    @Autowired
+    RabiitMqTemplate rabiitMqTemplate;
+    @Value("${evn}")
+    private String evn;
 
     /**
      * 计算订单金额
@@ -121,6 +129,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), "订单结算成功");
     }
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/action/ProjServiceController.java b/zq-erp/src/main/java/com/matrix/system/hive/action/ProjServiceController.java
index 73cdcf9..47a0a16 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/action/ProjServiceController.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/action/ProjServiceController.java
@@ -495,6 +495,7 @@
         if (balanceverifyResult.isError()) {
             return new AjaxResult(AjaxResult.STATUS_FAIL, balanceverifyResult.getMsg());
         }
+        sysProjServices.setState(Dictionary.SERVICE_STATU_YYCG);
         SysProjServices newSysProjServices = sysProjServicesService.addSysProjServices(sysProjServices);
         if (newSysProjServices != null) {
             return AjaxResult.buildSuccessInstance(Arrays.asList(newSysProjServices));
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/VipCreateTask.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/VipCreateTask.java
index e650788..fcf4476 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/VipCreateTask.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/VipCreateTask.java
@@ -5,6 +5,7 @@
 import com.matrix.biz.service.BizUserService;
 import com.matrix.component.rabbitmq.MqTask;
 import com.matrix.core.tools.LogUtil;
+import com.matrix.core.tools.StringUtils;
 import com.matrix.system.constance.Dictionary;
 import com.matrix.system.hive.bean.SysShopInfo;
 import com.matrix.system.hive.bean.SysVipInfo;
@@ -45,12 +46,21 @@
             SysVipInfo vip = vipDap.selectByPhone(userInfo.getPhoneNumber());
             if (vip != null) {
                 LogUtil.warn("会员{}已经存在", userInfo.getPhoneNumber());
+                //更新信息
+                vip.setOpenId(userInfo.getOpenId());
+                if(StringUtils.isBlank(vip.getPhoto())){
+                    vip.setPhoto(userInfo.getAvatarUrl());
+                }
+                vipDap.update(vip);
             } else {
                 SysVipInfo vipInfo = new SysVipInfo();
                 //在备注记下微商城的用户id
                 vipInfo.setOpenId(userInfo.getOpenId());
                 vipInfo.setAddr(userInfo.getProvince() + " " + userInfo.getCity());
                 vipInfo.setPhone(userInfo.getPhoneNumber());
+                if(StringUtils.isBlank(vipInfo.getPhoto())){
+                    vipInfo.setPhoto(userInfo.getAvatarUrl());
+                }
                 if (userInfo.getGender() != null) {
                     vipInfo.setSex(userInfo.getGender().equals("1") ? "男" : "女");
                 }
diff --git a/zq-erp/src/main/java/com/matrix/system/wechart/templateMsg/GzhTemplateMessagePojo.java b/zq-erp/src/main/java/com/matrix/system/wechart/templateMsg/GzhTemplateMessagePojo.java
index 627d64d..d6c6517 100644
--- a/zq-erp/src/main/java/com/matrix/system/wechart/templateMsg/GzhTemplateMessagePojo.java
+++ b/zq-erp/src/main/java/com/matrix/system/wechart/templateMsg/GzhTemplateMessagePojo.java
@@ -18,19 +18,11 @@
     private  Miniprogram miniprogram;
     public static class Miniprogram{
         private  String appid;
-        private  String path;
+        private  String pagepath;
 
-        public Miniprogram(String appid, String path) {
+        public Miniprogram(String appid, String pagepath) {
             this.appid = appid;
-            this.path = path;
-        }
-
-        public String getPath() {
-            return path;
-        }
-
-        public void setPath(String path) {
-            this.path = path;
+            this.pagepath = pagepath;
         }
 
         public String getAppid() {
@@ -41,7 +33,13 @@
             this.appid = appid;
         }
 
+        public String getPagepath() {
+            return pagepath;
+        }
 
+        public void setPagepath(String pagepath) {
+            this.pagepath = pagepath;
+        }
     }
     public Map<String ,Item> data=new HashedMap();
     public static class Item{
diff --git a/zq-erp/src/main/java/com/matrix/system/wechart/templateMsg/Task/messageBulderDemo/GmcgTemplateMessageBulder.java b/zq-erp/src/main/java/com/matrix/system/wechart/templateMsg/Task/messageBulderDemo/GmcgTemplateMessageBulder.java
new file mode 100644
index 0000000..ee42c62
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/wechart/templateMsg/Task/messageBulderDemo/GmcgTemplateMessageBulder.java
@@ -0,0 +1,106 @@
+package com.matrix.system.wechart.templateMsg.Task.messageBulderDemo;
+
+import com.alibaba.fastjson.JSONObject;
+import com.matrix.core.tools.DateUtil;
+import com.matrix.core.tools.StringUtils;
+import com.matrix.system.hive.bean.*;
+import com.matrix.system.hive.dao.*;
+import com.matrix.system.wechart.templateMsg.GzhTemplateMessagePojo;
+import com.matrix.system.wechart.templateMsg.Task.TemplateMessageBulder;
+import com.matrix.system.wechart.templateMsg.UniformMsgPojo;
+import org.apache.commons.collections.map.HashedMap;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 购买成功提醒
+ */
+@Component
+public class GmcgTemplateMessageBulder implements TemplateMessageBulder {
+
+    @Autowired
+    SysOrderDao orderDao;
+
+    @Autowired
+    SysVipInfoDao vipInfoDao;
+
+    @Autowired
+    private SysBeauticianStateDao beauticianStateDao;
+
+    @Autowired
+    private SysShopInfoDao shopInfoDao;
+
+    @Autowired
+    private  SysOrderItemDao orderItemDao;
+
+
+
+    @Override
+    public Map buildMsg(Map param) {
+
+        //返回参数
+        Map builParam=new HashedMap();
+        //获取基础公共参数
+        String gzhAppid= (String) param.get("gzhAppid");
+        String template_id= (String) param.get("template_id");
+        String xcxAppId= (String) param.get("xcxAppId");
+        //模板消息列表
+        List msgList=new ArrayList();
+
+        //触发点传送的json参数
+        JSONObject messageJsonParam= (JSONObject) param.get("messageJsonParam");
+        //构建消息主体
+        Long orderId= (Long) messageJsonParam.get("orderId");
+        SysOrder sysOrder = orderDao.selectById(orderId);
+        List<SysOrderItem> sysOrderItems = orderItemDao.selectByOrderId(orderId);
+
+        //校验客户openId (必须)
+        SysVipInfo vipInfo=vipInfoDao.selectById(sysOrder.getVipId());
+        String touser= vipInfo.getOpenId();
+        if(StringUtils.isBlank(touser)){
+            builParam.put("error","未获取到"+vipInfo.getVipName()+"用户小程序openid");
+            return builParam;
+        }
+
+
+        //自定义信息区START=========================================================================================================
+        SysShopInfo sysShopInfo = shopInfoDao.selectById(sysOrder.getShopId());
+        String time= DateUtil.dateFormatStr(sysOrder.getPayTime(),DateUtil.DATE_FORMAT_MM);
+
+        //如果一个项目存在多个护理项目则发送多次消息
+        String first="您好!您购买了";
+        for (SysOrderItem orderItem:sysOrderItems){
+            first+=orderItem.getShoppingGoods().getName()+"x"+orderItem.getCount()+",";
+        }
+        first=first.substring(0,first.length());
+        UniformMsgPojo uniformMsgPojo=new UniformMsgPojo();
+        GzhTemplateMessagePojo messagePojo=new GzhTemplateMessagePojo();
+        uniformMsgPojo.setTouser(touser);
+        messagePojo.setTemplate_id(template_id);
+        messagePojo.setAppid(gzhAppid);
+        //个性参数设置
+        messagePojo.setFirst(first,"#453454");
+        messagePojo.setKeyWord(sysShopInfo.getShopName(),"#453454");
+        messagePojo.setKeyWord(vipInfo.getVipNo(),"#453454");
+        messagePojo.setKeyWord(time,"#453454");
+        messagePojo.setRemark("点击【详情】可查询订单明细,若非本人或授权操作,请及时与门店联系","#453454");
+
+        //小程序配置
+        GzhTemplateMessagePojo.Miniprogram miniprogram=new GzhTemplateMessagePojo.Miniprogram(xcxAppId,
+                "pages/purchaseRecords/detail?id="+orderId);
+        messagePojo.setMiniprogram(miniprogram);
+
+
+        uniformMsgPojo.setMp_template_msg(messagePojo);
+        //自定义信息区END=========================================================================================================
+
+        //返回调用者使用的参数(必须)
+        msgList.add(uniformMsgPojo);
+        builParam.put("msgList",msgList);
+        return builParam;
+    }
+}

--
Gitblit v1.9.1