Browse Source

refactor: 修改rule.service方法签名

master
Daniel Qian 10 years ago
parent
commit
b00bf13bd7
2 changed files with 10 additions and 22 deletions
  1. +5
    -11
      weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpMessageRouter.java
  2. +5
    -11
      weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpMessageRouter.java

+ 5
- 11
weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpMessageRouter.java View File

@@ -107,7 +107,7 @@ public class WxCpMessageRouter {
* @return * @return
*/ */
public Rule rule() { public Rule rule() {
return new Rule(this, wxCpService, sessionManager);
return new Rule(this);
} }


/** /**
@@ -143,12 +143,12 @@ public class WxCpMessageRouter {
futures.add( futures.add(
executorService.submit(new Runnable() { executorService.submit(new Runnable() {
public void run() { public void run() {
rule.service(wxMessage);
rule.service(wxMessage, wxCpService, sessionManager);
} }
}) })
); );
} else { } else {
res = rule.service(wxMessage);
res = rule.service(wxMessage, wxCpService, sessionManager);
// 在同步操作结束,session访问结束 // 在同步操作结束,session访问结束
log.debug("End session access: async=false, sessionId={}", wxMessage.getFromUserName()); log.debug("End session access: async=false, sessionId={}", wxMessage.getFromUserName());
sessionEndAccess(wxMessage); sessionEndAccess(wxMessage);
@@ -214,10 +214,6 @@ public class WxCpMessageRouter {


private final WxCpMessageRouter routerBuilder; private final WxCpMessageRouter routerBuilder;


private final WxCpService wxCpService;

private final WxSessionManager sessionManager;

private boolean async = true; private boolean async = true;


private String fromUser; private String fromUser;
@@ -240,10 +236,8 @@ public class WxCpMessageRouter {


private List<WxCpMessageInterceptor> interceptors = new ArrayList<WxCpMessageInterceptor>(); private List<WxCpMessageInterceptor> interceptors = new ArrayList<WxCpMessageInterceptor>();


protected Rule(WxCpMessageRouter routerBuilder, WxCpService wxCpService, WxSessionManager sessionManager) {
protected Rule(WxCpMessageRouter routerBuilder) {
this.routerBuilder = routerBuilder; this.routerBuilder = routerBuilder;
this.wxCpService = wxCpService;
this.sessionManager = sessionManager;
} }


/** /**
@@ -417,7 +411,7 @@ public class WxCpMessageRouter {
* @param wxMessage * @param wxMessage
* @return true 代表继续执行别的router,false 代表停止执行别的router * @return true 代表继续执行别的router,false 代表停止执行别的router
*/ */
protected WxCpXmlOutMessage service(WxCpXmlMessage wxMessage) {
protected WxCpXmlOutMessage service(WxCpXmlMessage wxMessage, WxCpService wxCpService, WxSessionManager sessionManager) {
Map<String, Object> context = new HashMap<String, Object>(); Map<String, Object> context = new HashMap<String, Object>();
// 如果拦截器不通过 // 如果拦截器不通过
for (WxCpMessageInterceptor interceptor : this.interceptors) { for (WxCpMessageInterceptor interceptor : this.interceptors) {


+ 5
- 11
weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpMessageRouter.java View File

@@ -106,7 +106,7 @@ public class WxMpMessageRouter {
* @return * @return
*/ */
public Rule rule() { public Rule rule() {
return new Rule(this, wxMpService, sessionManager);
return new Rule(this);
} }


/** /**
@@ -142,12 +142,12 @@ public class WxMpMessageRouter {
futures.add( futures.add(
executorService.submit(new Runnable() { executorService.submit(new Runnable() {
public void run() { public void run() {
rule.service(wxMessage);
rule.service(wxMessage, wxMpService, sessionManager);
} }
}) })
); );
} else { } else {
res = rule.service(wxMessage);
res = rule.service(wxMessage, wxMpService, sessionManager);
// 在同步操作结束,session访问结束 // 在同步操作结束,session访问结束
log.debug("End session access: async=false, sessionId={}", wxMessage.getFromUserName()); log.debug("End session access: async=false, sessionId={}", wxMessage.getFromUserName());
sessionEndAccess(wxMessage); sessionEndAccess(wxMessage);
@@ -212,10 +212,6 @@ public class WxMpMessageRouter {
private final WxMpMessageRouter routerBuilder; private final WxMpMessageRouter routerBuilder;


private final WxMpService wxMpService;

private final WxSessionManager sessionManager;

private boolean async = true; private boolean async = true;


private String fromUser; private String fromUser;
@@ -236,10 +232,8 @@ public class WxMpMessageRouter {
private List<WxMpMessageInterceptor> interceptors = new ArrayList<WxMpMessageInterceptor>(); private List<WxMpMessageInterceptor> interceptors = new ArrayList<WxMpMessageInterceptor>();


protected Rule(WxMpMessageRouter routerBuilder, WxMpService wxMpService, WxSessionManager sessionManager) {
protected Rule(WxMpMessageRouter routerBuilder) {
this.routerBuilder = routerBuilder; this.routerBuilder = routerBuilder;
this.wxMpService = wxMpService;
this.sessionManager = sessionManager;
} }
/** /**
@@ -401,7 +395,7 @@ public class WxMpMessageRouter {
* @param wxMessage * @param wxMessage
* @return true 代表继续执行别的router,false 代表停止执行别的router * @return true 代表继续执行别的router,false 代表停止执行别的router
*/ */
protected WxMpXmlOutMessage service(WxMpXmlMessage wxMessage) {
protected WxMpXmlOutMessage service(WxMpXmlMessage wxMessage, WxMpService wxMpService, WxSessionManager sessionManager) {
Map<String, Object> context = new HashMap<String, Object>(); Map<String, Object> context = new HashMap<String, Object>();
// 如果拦截器不通过 // 如果拦截器不通过
for (WxMpMessageInterceptor interceptor : this.interceptors) { for (WxMpMessageInterceptor interceptor : this.interceptors) {


Loading…
Cancel
Save