From 12112eaff727c3a4554b19840e735e2b60cbd1f2 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Fri, 05 Jan 2024 11:19:07 +0800
Subject: [PATCH] 团队列表
---
src/main/java/cc/mrbird/febs/pay/util/WechatEventUtil.java | 50 ++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 42 insertions(+), 8 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 e0f83f2..de265bb 100644
--- a/src/main/java/cc/mrbird/febs/pay/util/WechatEventUtil.java
+++ b/src/main/java/cc/mrbird/febs/pay/util/WechatEventUtil.java
@@ -1,7 +1,11 @@
package cc.mrbird.febs.pay.util;
+import cc.mrbird.febs.common.utils.AppContants;
+import cc.mrbird.febs.common.utils.LoginUserUtil;
import cc.mrbird.febs.common.utils.MallUtils;
import cc.mrbird.febs.common.utils.RedisUtils;
+import cc.mrbird.febs.mall.entity.MallMember;
+import cc.mrbird.febs.mall.mapper.MallMemberMapper;
import cc.mrbird.febs.rabbit.producter.AgentProducer;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.text.StrFormatter;
@@ -50,6 +54,10 @@
@Autowired
RestTemplate restTemplate;
+
+ @Autowired
+ MallMemberMapper mallMemberMapper;
+
private static Logger log = LoggerFactory.getLogger(WechatEventUtil.class);
/**
@@ -95,27 +103,46 @@
log.info("事件处理:event:{}、msgType:{}、toUserName:{}、fromUserName:{}", eventType, msgType, toUserName, fromUserName);
if ("event".equals(msgType)) {
if ("subscribe".equals(eventType)) {
- result = imgTextMsg(toUserName, fromUserName, "欢迎光临", "欢迎光临【药王谷铺子】,点击左下角【药王谷铺子】-【商城】,进入商城。", "图片地址", "http://ywgouth.meiao.biz/");
+ result = imgTextMsg(toUserName, fromUserName, "欢迎光临", "欢迎光临【药王谷铺子】,点击左下角【药王谷铺子】-【商城】,进入商城。", "https://excoin.oss-cn-hangzhou.aliyuncs.com/uploadeFile/1690447963307584cd27ac623427f8c07ed1d3bbe4279.png", "http://ywgouth.meiao.biz/");
log.info("新增关注事件:toUserName{}、fromUserName{}", toUserName, fromUserName);
StringBuffer stringBuffer = new StringBuffer();
- if(map.containsKey("EventKey")){
+ if(map.containsKey("EventKey") && ObjectUtil.isNotEmpty(map.get("EventKey"))){
/**
* 扫带参数二维码
*/
String eventKey = map.get("EventKey");
if(StrUtil.isNotEmpty(eventKey)){
- stringBuffer.append(eventKey);
- stringBuffer.append("-");
+
+ String[] eventKeyStr = StrUtil.split(eventKey, "_");
+ stringBuffer.append(eventKeyStr[1]);
+ stringBuffer.append("@");
stringBuffer.append(fromUserName);
agentProducer.sendMemberSubScanMsg(stringBuffer.toString());
}
+ }else{
+ /**
+ * 普通关注事件
+ */
+ agentProducer.sendMemberSubMsg(fromUserName);
}
- /**
- * 普通关注事件
- */
- agentProducer.sendMemberSubMsg(fromUserName);
} else if ("unsubscribe".equals(eventType)) {
log.info("取消关注事件:toUserName{}、fromUserName{}", toUserName, fromUserName);
+ //取消关注则退出商城
+ MallMember mallMember = mallMemberMapper.selectMemberByOpenId(fromUserName);
+ mallMember.setSubStatus(MallMember.SUB_STATUS_DISABLED);
+ mallMemberMapper.updateById(mallMember);
+ if(ObjectUtil.isNotEmpty(mallMember)){
+ String redisKey = AppContants.XCX_LOGIN_PREFIX + mallMember.getId();
+ String existToken = redisUtils.getString(redisKey);
+ if (StrUtil.isNotBlank(existToken)) {
+ Object o = redisUtils.get(existToken);
+ if (ObjectUtil.isNotEmpty(o)) {
+ redisUtils.del(existToken);
+ }
+ }
+ redisUtils.del(existToken);
+ redisUtils.del(AppContants.XCX_LOGIN_PREFIX + mallMember.getId());
+ }
}else if ("SCAN".equals(eventType)) {
log.info("扫码关注事件:toUserName{}、fromUserName{}", toUserName, fromUserName);
if(map.containsKey("EventKey")){
@@ -125,12 +152,19 @@
*/
String eventKey = map.get("EventKey");
if(StrUtil.isNotEmpty(eventKey)){
+// String[] eventKeyStr = StrUtil.split(eventKey, "_");
+// stringBuffer.append(eventKeyStr[1]);
stringBuffer.append(eventKey);
stringBuffer.append("@");
stringBuffer.append(fromUserName);
agentProducer.sendMemberSubScanMsg(stringBuffer.toString());
}
}
+ }else if ("VIEW".equals(eventType)) {
+ /**
+ * 普通关注事件
+ */
+ agentProducer.sendMemberSubMsg(fromUserName);
}
}
return result;
--
Gitblit v1.9.1