From 84c7afc62bb1eb6f5d80d2d9928d0d11a1ffbdda Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 15 Aug 2023 21:14:13 +0800
Subject: [PATCH] 赠送积分更新状态

---
 src/main/java/cc/mrbird/febs/pay/util/WechatEventUtil.java |   28 +++++++++++++++++++++++-----
 1 files changed, 23 insertions(+), 5 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 36d7474..de265bb 100644
--- a/src/main/java/cc/mrbird/febs/pay/util/WechatEventUtil.java
+++ b/src/main/java/cc/mrbird/febs/pay/util/WechatEventUtil.java
@@ -106,7 +106,7 @@
                 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"))){
                     /**
                      * 扫带参数二维码
                      */
@@ -129,8 +129,20 @@
                 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());
+                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")){
@@ -140,13 +152,19 @@
                      */
                     String eventKey = map.get("EventKey");
                     if(StrUtil.isNotEmpty(eventKey)){
-                        String[] eventKeyStr = StrUtil.split(eventKey, "_");
-                        stringBuffer.append(eventKeyStr[1]);
+//                        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