From 97f51bffe8ac3a31793b70d244011ff82c59c22f Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Thu, 27 Jul 2023 21:26:52 +0800 Subject: [PATCH] 赠送积分更新状态 --- src/main/java/cc/mrbird/febs/pay/util/WechatEventUtil.java | 32 ++++++++++++++++++++++++-------- 1 files changed, 24 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..36d7474 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,7 +103,7 @@ 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")){ @@ -104,18 +112,25 @@ */ 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); + redisUtils.del(AppContants.XCX_LOGIN_PREFIX + mallMember.getId()); + redisUtils.del(AppContants.XCX_LOGIN_PHONE_PREFIX + mallMember.getId()); }else if ("SCAN".equals(eventType)) { log.info("扫码关注事件:toUserName{}、fromUserName{}", toUserName, fromUserName); if(map.containsKey("EventKey")){ @@ -125,7 +140,8 @@ */ String eventKey = map.get("EventKey"); if(StrUtil.isNotEmpty(eventKey)){ - stringBuffer.append(eventKey); + String[] eventKeyStr = StrUtil.split(eventKey, "_"); + stringBuffer.append(eventKeyStr[1]); stringBuffer.append("@"); stringBuffer.append(fromUserName); agentProducer.sendMemberSubScanMsg(stringBuffer.toString()); -- Gitblit v1.9.1