| @@ -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) { | ||||
| @@ -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) { | ||||