From 85dce973eb29eb2372c76d5b95b30354da9c41c8 Mon Sep 17 00:00:00 2001
From: 935090232@qq.com <ak473600000>
Date: Tue, 22 Feb 2022 23:08:51 +0800
Subject: [PATCH] fead:新增收银员字段

---
 zq-erp/src/main/java/com/matrix/system/wechart/templateMsg/Task/UniformMsgSentTask.java |   55 +++++++++++++++++++++++--------------------------------
 1 files changed, 23 insertions(+), 32 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/system/wechart/templateMsg/Task/UniformMsgSentTask.java b/zq-erp/src/main/java/com/matrix/system/wechart/templateMsg/Task/UniformMsgSentTask.java
index 7094fe9..9680fbb 100644
--- a/zq-erp/src/main/java/com/matrix/system/wechart/templateMsg/Task/UniformMsgSentTask.java
+++ b/zq-erp/src/main/java/com/matrix/system/wechart/templateMsg/Task/UniformMsgSentTask.java
@@ -2,29 +2,18 @@
 
 
 import com.alibaba.fastjson.JSONObject;
-import com.matrix.biz.bean.BizUser;
-import com.matrix.biz.service.BizUserService;
+import com.matrix.component.asyncmessage.MessageHandler;
 import com.matrix.component.tools.HttpClientUtil;
-import com.matrix.core.pojo.AjaxResult;
 import com.matrix.core.tools.LogUtil;
 import com.matrix.core.tools.rr.GlueFactory;
 import com.matrix.system.common.bean.BusParameterSettings;
 import com.matrix.system.common.constance.AppConstance;
 import com.matrix.system.common.dao.BusParameterSettingsDao;
-import com.matrix.system.constance.Dictionary;
-import com.matrix.system.hive.bean.SysProjServices;
-import com.matrix.system.hive.bean.SysVipInfo;
-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.shopXcx.api.WeChatGzhApiTools;
 import com.matrix.system.shopXcx.bean.ShopWxtemplateMsg;
 import com.matrix.system.shopXcx.dao.ShopWxtemplateMsgDao;
-import com.matrix.system.wechart.templateMsg.GzhTemplateMessagePojo;
-import com.matrix.system.wechart.templateMsg.TemplateNameConstance;
+import com.matrix.system.shopXcx.mqTask.AsyncMessageRouting;
 import com.matrix.system.wechart.templateMsg.UniformMsgPojo;
-import com.rabbitmq.client.DeliverCallback;
-import com.rabbitmq.client.Delivery;
 import org.apache.commons.collections.map.HashedMap;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -38,7 +27,7 @@
  * @author jyy
  */
 @Component
-public class UniformMsgSentTask implements DeliverCallback {
+public class UniformMsgSentTask implements MessageHandler {
 
     @Autowired
     private ShopWxtemplateMsgDao shopWxtemplateMsgDao;
@@ -46,56 +35,59 @@
     @Autowired
     private BusParameterSettingsDao busParameterSettingsDao;
 
+    @Override
+    public String getName() {
+        return "小程序统一消息模板消息发送提醒";
+    }
+
+    @Override
+    public String getRouteKey() {
+        return AsyncMessageRouting.SEND_UNIFORM_TEMPLATE_MSG;
+    }
+
     /**
      * 发送模板消息需要传JSONO字符串作为格式
      * 例如:{"companyId":17}
      * companyId 是必须属性
-     * @param consumerTag
-     * @param message
      * @throws IOException
      */
     @Override
-    public void handle(String consumerTag, Delivery message) throws IOException {
+    public void handle(Map<String,Object> param){
         try {
 
 
-            String messages = new String(message.getBody(), "UTF-8");
-            JSONObject messageJsonParam=JSONObject.parseObject(messages);
-
-            if(!messageJsonParam.containsKey("companyId")){
-                LogUtil.error("小程序消息推送参数格式异常发送模板消息需要传JSONO字符串作为格式 例如:{\"companyId\":17} companyId 是必须属性");
+            if(!param.containsKey("companyId")||(!param.containsKey("templateCode"))){
+                LogUtil.error("小程序消息推送参数格式异常发送模板消息需要传JSONO字符串作为格式 例如:{\"companyId\":17,\"templateCode\":10000} companyId 、templateCode 是必须属性");
                 return;
             }
-
-            Long companyId = Long.parseLong( messageJsonParam.get("companyId").toString());
+            Long companyId = Long.parseLong( param.get("companyId").toString());
+            Integer templateCode = Integer.parseInt( param.get("templateCode").toString());
 
             //获取公司微信配置参数
             BusParameterSettings xcxAppId = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.MINIPROGRAM_APPID, companyId);
             BusParameterSettings xcxSecret = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.MINIPROGRAM_SECRET, companyId);
             BusParameterSettings gzhAppid = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.GZH_APPID, companyId);
             //获取消息模板
-            ShopWxtemplateMsg template = shopWxtemplateMsgDao.selectByCode(TemplateNameConstance.GZH_YYTX,companyId);
+            ShopWxtemplateMsg template = shopWxtemplateMsgDao.selectByCode(templateCode,companyId);
             //校验参数
             if(xcxAppId==null||xcxSecret==null||gzhAppid==null||template==null){
                 LogUtil.error("小程序消息推送配置缺失xcxAppId="+xcxAppId+";xcxSecret="+xcxSecret+";gzhAppid="+gzhAppid+";template="+template);
                 return;
             }
-
             //获取模板动态构建类
             TemplateMessageBulder templateMessageBulder = (TemplateMessageBulder) GlueFactory.getInstance().loadInstance(template.getTemplateClass());
             //为模板动态类装备必要的参数
             Map<String, Object> bulderParam = new HashedMap();
+            bulderParam.put("xcxAppId", xcxAppId.getParamValue());
             bulderParam.put("gzhAppid", gzhAppid.getParamValue());
             bulderParam.put("template_id", template.getUuid());
-            bulderParam.put("messageJsonParam", messageJsonParam);
-
-
+            bulderParam.put("messageJsonParam", param);
             //调用模板计算出消息体
             Map msgResult = templateMessageBulder.buildMsg(bulderParam);
 
             if(msgResult.containsKey("error")){
                 //错误消息处理
-                LogUtil.error("模板消息发送失败:"+msgResult.get("error"));
+                LogUtil.error("模板消息发送内容:"+msgResult.get("error"));
                 return;
             }else{
                 //正常返回消息
@@ -105,16 +97,15 @@
                 String url = "https://api.weixin.qq.com/cgi-bin/message/wxopen/template/uniform_send?access_token=ACCESS_TOKEN".replaceAll("ACCESS_TOKEN", ACCESS_TOKEN);
                 for (Object msg : msgList) {
                     UniformMsgPojo uniformMsgPojo = (UniformMsgPojo) msg;
+                    LogUtil.debug("微信小程序模板消息推送:" + JSONObject.toJSON(uniformMsgPojo).toString());
                     //推送消息到微信
                     JSONObject result = HttpClientUtil.sendPostWithJson(url, JSONObject.toJSON(uniformMsgPojo).toString());
                     //微信返回值
                     LogUtil.debug("微信小程序模板消息推送结果:" + result.toString());
                 }
             }
-
         } catch (Exception e) {
             LogUtil.error("消费者执行异常", e);
         }
-
     }
 }

--
Gitblit v1.9.1