From 16fdf754104f0d38fd80e49936dc91cf90505af9 Mon Sep 17 00:00:00 2001
From: 935090232@qq.com <ak473600000>
Date: Sun, 17 Jan 2021 19:34:47 +0800
Subject: [PATCH] 消息提醒

---
 zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java                                     |   15 +++++
 zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/OrderTask.java                                             |    6 -
 zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxErpOrderAction.java                                  |   17 +++--
 zq-erp/src/main/java/com/matrix/system/wechart/templateMsg/Task/messageBulderDemo/YycgTemplateMessageBulder.java |  115 ++++++++++++++++++++++++++++++++++++++
 zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/VipCreateTask.java                                         |    1 
 5 files changed, 143 insertions(+), 11 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java
index f82587d..66d08eb 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java
@@ -1,5 +1,6 @@
 package com.matrix.system.app.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;
@@ -28,11 +29,14 @@
 import com.matrix.system.hive.service.SysProjServicesService;
 import com.matrix.system.hive.service.SysProjUseService;
 import com.matrix.system.hive.service.SysVipInfoService;
+import com.matrix.system.shopXcx.mqTask.MQTaskRouting;
+import com.matrix.system.wechart.templateMsg.UniformMsgParam;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponses;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
@@ -61,6 +65,12 @@
 
     @Autowired
     private SysBeauticianStateService sysBeauticianStateService;
+
+    @Autowired
+    private RabiitMqTemplate rabiitMqTemplate;
+
+    @Value("${evn}")
+    private  String evn;
 
     @ApiOperation(value ="获取用户项目/套餐列表", notes = "获取用户项目/套餐列表")
     @ApiResponses({
@@ -274,6 +284,11 @@
         services.setState(Dictionary.BEATUI_STATE_DYY);
         int i = projServicesService.modify(services);
         if (i > 0) {
+            //发送微信公众号提醒
+            UniformMsgParam uniformMsgParam=new UniformMsgParam(services.getCompanyId(),UniformMsgParam.GZH_YYCG);
+            uniformMsgParam.put("serviceId",services.getId());
+            rabiitMqTemplate.sendMsg(MQTaskRouting.SEND_UNIFORM_TEMPLATE_MSG+evn,uniformMsgParam.toJSONString());
+
             return AjaxResult.buildSuccessInstance("确认成功");
         }
         return AjaxResult.buildFailInstance("确认失败");
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxErpOrderAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxErpOrderAction.java
index 5f06f91..9a3f9f4 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxErpOrderAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxErpOrderAction.java
@@ -99,12 +99,17 @@
     public AjaxResult findUserOrderList(@RequestBody @Validated ErpOrderListDto erpOrderListDto) {
         BizUser bizUser = redisUserLoginUtils.getLoginUser(BizUser.class);
         SysVipInfo vipInfo = vipInfoDao.selectByPhone(bizUser.getPhoneNumber());
-        erpOrderListDto.setVipId(vipInfo.getId());
-        List<ErpOrderDetailVo> rows=sysOrderDao.selectErpOrderList(erpOrderListDto);
-        rows.forEach(item->{
-            item.setItems(orderItemDao.selectErpOrderItemByOrderId(item.getOrderId()));
-        });
-        return  AjaxResult.buildSuccessInstance(rows,"查询成功");
+        if(vipInfo!=null){
+            erpOrderListDto.setVipId(vipInfo.getId());
+            List<ErpOrderDetailVo> rows=sysOrderDao.selectErpOrderList(erpOrderListDto);
+            rows.forEach(item->{
+                item.setItems(orderItemDao.selectErpOrderItemByOrderId(item.getOrderId()));
+            });
+            return  AjaxResult.buildSuccessInstance(rows,"查询成功");
+        }else{
+            return  AjaxResult.buildFailInstance("未查询到相关订单001");
+        }
+
     }
 
     @ApiOperation(value = "查询用户在ERP中的订单详情" )
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/OrderTask.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/OrderTask.java
index 2fbc032..1aeb371 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/OrderTask.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/OrderTask.java
@@ -86,6 +86,7 @@
         }
 
         //获取订单归属门店
+        order.setCompanyId(bizUser.getCompanyId());
         order.setShopId(Long.parseLong(orderDto.getStoreId()+""));
         //同步的订单订单编号保持一致
         order.setOrderNo(orderDto.getOrderNo());
@@ -131,11 +132,6 @@
             orderItem.setPrice(orderItemDto.getPrice().doubleValue());
             orderItem.setZkPrice(orderItemDto.getPrice().doubleValue());
             orderItem.setGoodsId(shoppingGoods.getId());
-            if (shoppingGoods.getGoodType().equals(Dictionary.SHOPPING_GOODS_TYPE_JJCP)) {
-                orderItem.setAssembleId(shoppingGoods.getAssembleGoods().get(0).getId());
-            } else if (shoppingGoods.getGoodType().equals(Dictionary.SHOPPING_GOODS_TYPE_XM)) {
-                orderItem.setAssembleId(shoppingGoods.getAssembleProj().get(0).getId());
-            }
 
             // 设置对应产品的id
             switch (shoppingGoods.getGoodType()) {
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 fcf4476..67b5bbb 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
@@ -65,6 +65,7 @@
                     vipInfo.setSex(userInfo.getGender().equals("1") ? "男" : "女");
                 }
                 vipInfo.setVipName(userInfo.getNickName());
+                vipInfo.setCompanyId(userInfo.getCompanyId());
                 vipInfo.setShopId(shopId);
                 vipInfo.setArrivalWay("微商城");
                 vipInfo.setVipState(Dictionary.VIP_STATE_HY);
diff --git a/zq-erp/src/main/java/com/matrix/system/wechart/templateMsg/Task/messageBulderDemo/YycgTemplateMessageBulder.java b/zq-erp/src/main/java/com/matrix/system/wechart/templateMsg/Task/messageBulderDemo/YycgTemplateMessageBulder.java
new file mode 100644
index 0000000..2e70fcc
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/wechart/templateMsg/Task/messageBulderDemo/YycgTemplateMessageBulder.java
@@ -0,0 +1,115 @@
+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.SysBeauticianState;
+import com.matrix.system.hive.bean.SysProjServices;
+import com.matrix.system.hive.bean.SysShopInfo;
+import com.matrix.system.hive.bean.SysVipInfo;
+import com.matrix.system.hive.dao.SysBeauticianStateDao;
+import com.matrix.system.hive.dao.SysProjServicesDao;
+import com.matrix.system.hive.dao.SysShopInfoDao;
+import com.matrix.system.hive.dao.SysVipInfoDao;
+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 YycgTemplateMessageBulder implements TemplateMessageBulder {
+
+    @Autowired
+    SysProjServicesDao projServicesDao;
+
+    @Autowired
+    SysVipInfoDao vipInfoDao;
+
+    @Autowired
+    private SysBeauticianStateDao beauticianStateDao;
+
+    @Autowired
+    private SysShopInfoDao shopInfoDao;
+
+
+
+    @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 serviceId= (Long) messageJsonParam.get("serviceId");
+        SysProjServices sysProjServices = projServicesDao.selectById(serviceId);
+
+
+        //校验客户openId (必须)
+        SysVipInfo vipInfo=vipInfoDao.selectById(sysProjServices.getVipId());
+        String touser= vipInfo.getOpenId();
+        if(StringUtils.isBlank(touser)){
+            builParam.put("error","未获取到"+vipInfo.getVipName()+"用户小程序openid");
+            return builParam;
+        }
+
+
+        //自定义信息区START=========================================================================================================
+        SysShopInfo sysShopInfo = shopInfoDao.selectById(sysProjServices.getShopId());
+        List<SysBeauticianState> beauticianStateList = beauticianStateDao.selectBySerIds(sysProjServices.getId());
+        String time= DateUtil.dateFormatStr(sysProjServices.getConsumeTime(),DateUtil.DATE_FORMAT_MM);
+
+        //如果一个项目存在多个护理项目则发送多次消息
+        String projectInfo="";
+        String staffName="";
+        for (SysBeauticianState beauticianState:beauticianStateList){
+            projectInfo+=beauticianState.getProjInfo().getName()+beauticianState.getCount()+"次,";
+            staffName+=beauticianState.getBeautiStaffInfo().getSuName()+",";
+        }
+        projectInfo=projectInfo.substring(0,projectInfo.length()-1);
+        staffName=staffName.substring(0,staffName.length()-1);
+        UniformMsgPojo uniformMsgPojo=new UniformMsgPojo();
+        GzhTemplateMessagePojo messagePojo=new GzhTemplateMessagePojo();
+        uniformMsgPojo.setTouser(touser);
+        messagePojo.setTemplate_id(template_id);
+        messagePojo.setAppid(gzhAppid);
+        //个性参数设置
+        messagePojo.setFirst("您好!您在"+sysShopInfo.getShopName()+"店的预约已经成功,期待您的光临","#453454");
+        messagePojo.setKeyWord(time,"#453454");
+        messagePojo.setKeyWord(staffName,"#453454");
+        messagePojo.setKeyWord(projectInfo,"#453454");
+
+
+        messagePojo.setRemark("点击【详情】可查询订单明细,若非本人或授权操作,请及时与门店联系","#453454");
+
+        //小程序配置
+        GzhTemplateMessagePojo.Miniprogram miniprogram=new GzhTemplateMessagePojo.Miniprogram(xcxAppId,
+                "pages/yuyue/showYyInfo?id="+serviceId);
+        messagePojo.setMiniprogram(miniprogram);
+
+
+        uniformMsgPojo.setMp_template_msg(messagePojo);
+        //自定义信息区END=========================================================================================================
+
+        //返回调用者使用的参数(必须)
+        msgList.add(uniformMsgPojo);
+        builParam.put("msgList",msgList);
+        return builParam;
+    }
+}

--
Gitblit v1.9.1