mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2025-05-04 04:37:46 +08:00
开放平台增加 MessageRouter
This commit is contained in:
parent
5c9ec87bb8
commit
a0768510af
@ -130,6 +130,16 @@ public class WxMpMessageRouter {
|
||||
* 处理微信消息
|
||||
*/
|
||||
public WxMpXmlOutMessage route(final WxMpXmlMessage wxMessage, final Map<String, Object> context) {
|
||||
return route(wxMessage, context);
|
||||
}
|
||||
/**
|
||||
* 处理微信消息
|
||||
*/
|
||||
public WxMpXmlOutMessage route(final WxMpXmlMessage wxMessage, final Map<String, Object> context, WxMpService wxMpService) {
|
||||
if(wxMpService == null){
|
||||
wxMpService = this.wxMpService;
|
||||
}
|
||||
final WxMpService mpService = wxMpService;
|
||||
if (isMsgDuplicated(wxMessage)) {
|
||||
// 如果是重复消息,那么就不做处理
|
||||
return null;
|
||||
@ -159,12 +169,12 @@ public class WxMpMessageRouter {
|
||||
this.executorService.submit(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
rule.service(wxMessage, context, WxMpMessageRouter.this.wxMpService, WxMpMessageRouter.this.sessionManager, WxMpMessageRouter.this.exceptionHandler);
|
||||
rule.service(wxMessage, context, mpService, WxMpMessageRouter.this.sessionManager, WxMpMessageRouter.this.exceptionHandler);
|
||||
}
|
||||
})
|
||||
);
|
||||
} else {
|
||||
res = rule.service(wxMessage, context, this.wxMpService, this.sessionManager, this.exceptionHandler);
|
||||
res = rule.service(wxMessage, context, mpService, this.sessionManager, this.exceptionHandler);
|
||||
// 在同步操作结束,session访问结束
|
||||
this.log.debug("End session access: async=false, sessionId={}", wxMessage.getFromUser());
|
||||
sessionEndAccess(wxMessage);
|
||||
|
@ -0,0 +1,24 @@
|
||||
package me.chanjar.weixin.open.api.impl;
|
||||
|
||||
import me.chanjar.weixin.mp.api.WxMpMessageRouter;
|
||||
import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage;
|
||||
import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage;
|
||||
import me.chanjar.weixin.open.api.WxOpenService;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class WxOpenMessageRouter extends WxMpMessageRouter {
|
||||
private WxOpenService wxOpenService;
|
||||
public WxOpenMessageRouter(WxOpenService wxOpenService) {
|
||||
super(null);
|
||||
this.wxOpenService = wxOpenService;
|
||||
}
|
||||
|
||||
public WxMpXmlOutMessage route(final WxMpXmlMessage wxMessage, String appId) {
|
||||
return route(wxMessage, new HashMap<String, Object>(), appId);
|
||||
}
|
||||
public WxMpXmlOutMessage route(final WxMpXmlMessage wxMessage, final Map<String, Object> context, String appId) {
|
||||
return route(wxMessage, context, wxOpenService.getWxOpenComponentService().getWxMpServiceByAppid(appId));
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user