修改WeixinMessageHandler.doHandle的返回值为SingleResponse

This commit is contained in:
jinyu
2015-08-04 15:01:47 +08:00
parent bcb0c51766
commit 432575988b
5 changed files with 48 additions and 8 deletions
@@ -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;
@@ -33,9 +33,9 @@ public class DebugMessageHandler implements WeixinMessageHandler {
@Override
public WeixinResponse doHandle(WeixinRequest request, Object message,
Set<String> 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);
}
}
@@ -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<String> nodeNames) throws WeixinException;
}
@@ -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";
}