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