From 962adfda22354192f98231771423593ade145e00 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Sat, 15 Jul 2023 17:21:09 +0800
Subject: [PATCH] 扫码和关注的事件

---
 src/main/java/cc/mrbird/febs/pay/util/WechatEventUtil.java |   30 +++++++++++++++++++++++++++---
 1 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/pay/util/WechatEventUtil.java b/src/main/java/cc/mrbird/febs/pay/util/WechatEventUtil.java
index 4600070..8006d27 100644
--- a/src/main/java/cc/mrbird/febs/pay/util/WechatEventUtil.java
+++ b/src/main/java/cc/mrbird/febs/pay/util/WechatEventUtil.java
@@ -1,5 +1,6 @@
 package cc.mrbird.febs.pay.util;
 
+import cc.mrbird.febs.rabbit.producter.AgentProducer;
 import org.dom4j.io.SAXReader;
 
 import javax.servlet.http.HttpServletRequest;
@@ -11,6 +12,9 @@
 import org.dom4j.Element;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
 import java.io.InputStream;
 import java.util.*;
 
@@ -21,7 +25,12 @@
  *
  * @author shenshao
  */
+@Service(value="wechatEventUtil")
 public class WechatEventUtil {
+
+
+    @Autowired
+    private AgentProducer agentProducer;
 
     private static Logger log = LoggerFactory.getLogger(WechatEventUtil.class);
 
@@ -31,7 +40,7 @@
      * @param req 请求
      * @return 校验结果
      */
-    public static String verification(HttpServletRequest req, String wechatToken) {
+    public String verification(HttpServletRequest req, String wechatToken) {
         // 接收微信服务器发送请求时传递过来的参数
         String signature = req.getParameter("signature");
         String timestamp = req.getParameter("timestamp");
@@ -57,7 +66,7 @@
      * @param req
      * @return
      */
-    public static String messageEvent(HttpServletRequest req) {
+    public String messageEvent(HttpServletRequest req) {
         String result = null;
         Map<String, String> map = xmlToMap(req);
         String fromUserName = map.get("FromUserName");
@@ -68,8 +77,23 @@
         log.info("事件处理:event:{}、msgType:{}、toUserName:{}、fromUserName:{}", eventType, msgType, toUserName, fromUserName);
         if ("event".equals(msgType)) {
             if ("subscribe".equals(eventType)) {
-                result = imgTextMsg(toUserName, fromUserName, "新用户注册", "仅限上海地区手机号用户", "图片地址", "点击后跳转的路径");
+                result = imgTextMsg(toUserName, fromUserName, "新用户注册", "欢迎光临【药王谷铺子】,点击总下角【药王谷铺子】-【商城】。", "图片地址", "点击后跳转的路径");
                 log.info("新增关注事件:toUserName{}、fromUserName{}", toUserName, fromUserName);
+                StringBuffer stringBuffer = new StringBuffer();
+                if(map.containsKey("EventKey")){
+                    /**
+                     * 扫带参数二维码
+                     */
+                    String eventKey = map.get("EventKey");
+                    stringBuffer.append(eventKey);
+                    stringBuffer.append("-");
+                    stringBuffer.append(fromUserName);
+                    agentProducer.sendMemberSubScanMsg(stringBuffer.toString());
+                }
+                /**
+                 * 普通关注事件
+                 */
+                agentProducer.sendMemberSubMsg(fromUserName);
             } else if ("unsubscribe".equals(eventType)) {
                 log.info("取消关注事件:toUserName{}、fromUserName{}", toUserName, fromUserName);
             }

--
Gitblit v1.9.1