记得上下班打卡 | git大法好,push需谨慎

Commit 9907d87e authored by jiangxiulong's avatar jiangxiulong

取消事件

parent 579684c2
...@@ -39,7 +39,7 @@ public class SubscribeHandler implements WxMpMessageHandler { ...@@ -39,7 +39,7 @@ public class SubscribeHandler implements WxMpMessageHandler {
@Override @Override
public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, Map<String, Object> context, WxMpService wxMpService, public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, Map<String, Object> context, WxMpService wxMpService,
WxSessionManager sessionManager) throws WxErrorException { WxSessionManager sessionManager) throws WxErrorException {
log.info("接收到一个扫码订阅事件:[{}]", wxMessage.toString()); log.info("接收到一个订阅事件:[{}]", wxMessage.toString());
// 1、获取微信用户信息 // 1、获取微信用户信息
WxMpUser wxMpUser = wxMpService.getUserService().userInfo(wxMessage.getFromUser()); WxMpUser wxMpUser = wxMpService.getUserService().userInfo(wxMessage.getFromUser());
if (null == wxMpUser) { if (null == wxMpUser) {
......
package com.liquidnet.service.sweet.handler; package com.liquidnet.service.sweet.handler;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.liquidnet.service.sweet.entity.SweetWechatUser;
import com.liquidnet.service.sweet.mapper.SweetWechatUserMapper;
import com.liquidnet.service.sweet.utils.RedisDataUtils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.common.error.WxErrorException; import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.common.session.WxSessionManager; import me.chanjar.weixin.common.session.WxSessionManager;
...@@ -7,6 +11,8 @@ import me.chanjar.weixin.mp.api.WxMpMessageHandler; ...@@ -7,6 +11,8 @@ import me.chanjar.weixin.mp.api.WxMpMessageHandler;
import me.chanjar.weixin.mp.api.WxMpService; import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage;
import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage;
import me.chanjar.weixin.mp.bean.result.WxMpUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.Map; import java.util.Map;
...@@ -23,10 +29,32 @@ import java.util.Map; ...@@ -23,10 +29,32 @@ import java.util.Map;
@Slf4j @Slf4j
public class UnsubscribeHandler implements WxMpMessageHandler { public class UnsubscribeHandler implements WxMpMessageHandler {
@Autowired
private SweetWechatUserMapper sweetWechatUserMapper;
@Autowired
private RedisDataUtils redisDataUtils;
@Override @Override
public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, Map<String, Object> context, WxMpService wxMpService, public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, Map<String, Object> context, WxMpService wxMpService,
WxSessionManager sessionManager) throws WxErrorException { WxSessionManager sessionManager) throws WxErrorException {
log.info("接收到一个扫码取消订阅事件:[{}]", wxMessage.toString()); log.info("接收到一个取消订阅事件:[{}]", wxMessage.toString());
// 1、获取微信用户信息
WxMpUser wxMpUser = wxMpService.getUserService().userInfo(wxMessage.getFromUser());
if (null == wxMpUser) {
log.warn("从微信公众号获取用户(FromUser)信息:[{}]失败.", wxMessage.getFromUser());
return null;
}
log.info("根据 openId:[{}]获取到的微信用户信息:[{}]", wxMessage.getFromUser(), wxMpUser.toString());
// 删除用户信息
SweetWechatUser userInfo = sweetWechatUserMapper.selectOne(Wrappers.lambdaQuery(SweetWechatUser.class).eq(SweetWechatUser::getOpenId, wxMpUser.getOpenId()));
if (null != userInfo) {
int resNum = sweetWechatUserMapper.delete(Wrappers.lambdaQuery(SweetWechatUser.class).eq(SweetWechatUser::getUserId, userInfo.getUserId()));
}
String unionId = wxMpUser.getUnionId();
if (!unionId.isEmpty()) {
redisDataUtils.delSweetRemind(unionId);
}
return null; return null;
} }
} }
...@@ -70,10 +70,10 @@ public class SweetWechatCallbackServiceImpl { ...@@ -70,10 +70,10 @@ public class SweetWechatCallbackServiceImpl {
.end(); .end();
// 取消关注事件 // 取消关注事件
/*router.rule().async(false).msgType(WxConsts.XmlMsgType.EVENT) router.rule().async(false).msgType(WxConsts.XmlMsgType.EVENT)
.event(WxConsts.EventType.UNSUBSCRIBE) .event(WxConsts.EventType.UNSUBSCRIBE)
.handler(unsubscribeHandler) .handler(unsubscribeHandler)
.end();*/ .end();
return router; return router;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment