From 432575988b67751ed6d0b7b61deba53c2afaa20f Mon Sep 17 00:00:00 2001 From: jinyu Date: Tue, 4 Aug 2015 15:01:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9WeixinMessageHandler.doHandle?= =?UTF-8?q?=E7=9A=84=E8=BF=94=E5=9B=9E=E5=80=BC=E4=B8=BASingleResponse?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../foxinmy/weixin4j/http/weixin/error.xml | 36 +++++++++++++++++++ .../dispatcher/WeixinMessageDispatcher.java | 8 +++-- .../weixin4j/handler/DebugMessageHandler.java | 6 ++-- .../handler/WeixinMessageHandler.java | 4 +-- .../startup/WeixinServerBootstrap.java | 2 +- 5 files changed, 48 insertions(+), 8 deletions(-) diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/error.xml b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/error.xml index 9ca30e14..2d215697 100644 --- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/error.xml +++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/error.xml @@ -297,6 +297,42 @@ 40074 news消息不支持指定为高保密消息 + + 40077 + 不合法的预授权码 + + + 40078 + 不合法的临时授权码 + + + 40079 + 不合法的授权信息 + + + 40080 + 不合法的suitesecret + + + 40082 + 不合法的suitetoken + + + 40083 + 不合法的suiteid + + + 40084 + 不合法的永久授权码 + + + 40085 + 不合法的suiteticket + + + 40086 + 不合法的第三方应用appid + 40117 分组名字不合法 diff --git a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/dispatcher/WeixinMessageDispatcher.java b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/dispatcher/WeixinMessageDispatcher.java index c42c904d..eb7a19c0 100644 --- a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/dispatcher/WeixinMessageDispatcher.java +++ b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/dispatcher/WeixinMessageDispatcher.java @@ -31,6 +31,7 @@ import com.foxinmy.weixin4j.interceptor.WeixinMessageInterceptor; import com.foxinmy.weixin4j.request.WeixinMessage; import com.foxinmy.weixin4j.request.WeixinRequest; import com.foxinmy.weixin4j.response.BlankResponse; +import com.foxinmy.weixin4j.response.SingleResponse; import com.foxinmy.weixin4j.response.WeixinResponse; import com.foxinmy.weixin4j.type.AccountType; import com.foxinmy.weixin4j.util.ClassUtil; @@ -137,9 +138,12 @@ public class WeixinMessageDispatcher { } WeixinException dispatchException = null; try { - WeixinResponse response = handlerExecutor.getMessageHandler() + SingleResponse response = handlerExecutor.getMessageHandler() .doHandle(request, message, cruxMessage.getNodeNames()); - handlerExecutor.applyPostHandle(request, response, message); + if (response instanceof WeixinResponse) { + handlerExecutor.applyPostHandle(request, + (WeixinResponse) response, message); + } context.write(response); } catch (WeixinException e) { dispatchException = e; diff --git a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/handler/DebugMessageHandler.java b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/handler/DebugMessageHandler.java index ddb00240..8b64cb7a 100644 --- a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/handler/DebugMessageHandler.java +++ b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/handler/DebugMessageHandler.java @@ -33,9 +33,9 @@ public class DebugMessageHandler implements WeixinMessageHandler { @Override public WeixinResponse doHandle(WeixinRequest request, Object message, Set nodeNames) throws WeixinException { - String content = message == null ? content = request - .getOriginalContent().replaceAll("\\!\\[CDATA\\[", "") - .replaceAll("\\]\\]", "") : message.toString(); + String content = message == null ? request.getOriginalContent() + .replaceAll("\\!\\[CDATA\\[", "").replaceAll("\\]\\]", "") + : message.toString(); return new TextResponse(content); } } diff --git a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/handler/WeixinMessageHandler.java b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/handler/WeixinMessageHandler.java index dac049f1..32359c4d 100644 --- a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/handler/WeixinMessageHandler.java +++ b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/handler/WeixinMessageHandler.java @@ -4,7 +4,7 @@ import java.util.Set; import com.foxinmy.weixin4j.exception.WeixinException; import com.foxinmy.weixin4j.request.WeixinRequest; -import com.foxinmy.weixin4j.response.WeixinResponse; +import com.foxinmy.weixin4j.response.SingleResponse; /** * 微信消息处理器 @@ -42,6 +42,6 @@ public interface WeixinMessageHandler { * 节点名称集合 * @return 回复内容 */ - public WeixinResponse doHandle(WeixinRequest request, Object message, + public SingleResponse doHandle(WeixinRequest request, Object message, Set nodeNames) throws WeixinException; } diff --git a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/startup/WeixinServerBootstrap.java b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/startup/WeixinServerBootstrap.java index c1981a4c..c0191cc0 100644 --- a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/startup/WeixinServerBootstrap.java +++ b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/startup/WeixinServerBootstrap.java @@ -325,5 +325,5 @@ public final class WeixinServerBootstrap { return this; } - public final static String VERSION = "1.0.3"; + public final static String VERSION = "1.0.4"; } \ No newline at end of file