xiaoyong931011
2023-08-15 84c7afc62bb1eb6f5d80d2d9928d0d11a1ffbdda
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"))){
                    /**
                     * 扫带参数二维码
                     */
@@ -119,17 +119,30 @@
                        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());
                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")){
@@ -139,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;