diff --git a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/dispatcher/WeixinMessageKey.java b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/dispatcher/WeixinMessageKey.java index 87b5cde0..f956244f 100644 --- a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/dispatcher/WeixinMessageKey.java +++ b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/dispatcher/WeixinMessageKey.java @@ -48,10 +48,10 @@ public class WeixinMessageKey implements Serializable { result = prime * result + ((accountType == null) ? 0 : accountType.hashCode()); result = prime * result - + ((ServerToolkits.hasText(eventType)) ? 0 : eventType.hashCode()); + + ((ServerToolkits.isBlank(eventType)) ? 0 : eventType.hashCode()); result = prime * result - + ((ServerToolkits.hasText(messageType)) ? 0 : messageType + + ((ServerToolkits.isBlank(messageType)) ? 0 : messageType .hashCode()); return result; } diff --git a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/socket/WeixinMessageDecoder.java b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/socket/WeixinMessageDecoder.java index 435d7a4c..f9da994a 100644 --- a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/socket/WeixinMessageDecoder.java +++ b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/socket/WeixinMessageDecoder.java @@ -67,9 +67,9 @@ public class WeixinMessageDecoder extends "weixin_id").get(0) : null; AesToken aesToken = aesTokenMap.get(weixinId); String encryptContent = null; - if (!ServerToolkits.hasText(messageContent) + if (!ServerToolkits.isBlank(messageContent) && encryptType == EncryptType.AES) { - if (ServerToolkits.hasText(aesToken.getAesKey())) { + if (ServerToolkits.isBlank(aesToken.getAesKey())) { throw new WeixinException( "AESEncodingKey not be null in AES mode"); } diff --git a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/socket/WeixinRequestHandler.java b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/socket/WeixinRequestHandler.java index e371d367..68f6ee0d 100644 --- a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/socket/WeixinRequestHandler.java +++ b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/socket/WeixinRequestHandler.java @@ -56,8 +56,8 @@ public class WeixinRequestHandler extends throws WeixinException { final AesToken aesToken = request.getAesToken(); if (aesToken == null - || (ServerToolkits.hasText(request.getSignature()) && ServerToolkits - .hasText(request.getMsgSignature()))) { + || (ServerToolkits.isBlank(request.getSignature()) && ServerToolkits + .isBlank(request.getMsgSignature()))) { ctx.writeAndFlush(HttpUtil.createHttpResponse(BAD_REQUEST)) .addListener(ChannelFutureListener.CLOSE); return; @@ -67,14 +67,14 @@ public class WeixinRequestHandler extends * 企业号:无论Get,Post都带msg_signature参数 **/ if (request.getMethod().equals(HttpMethod.GET.name())) { - if (!ServerToolkits.hasText(request.getSignature()) + if (!ServerToolkits.isBlank(request.getSignature()) && MessageUtil.signature(aesToken.getToken(), request.getTimeStamp(), request.getNonce()).equals( request.getSignature())) { ctx.write(new SingleResponse(request.getEchoStr())); return; } - if (!ServerToolkits.hasText(request.getMsgSignature()) + if (!ServerToolkits.isBlank(request.getMsgSignature()) && MessageUtil.signature(aesToken.getToken(), request.getTimeStamp(), request.getNonce(), request.getEchoStr()).equals( @@ -87,7 +87,7 @@ public class WeixinRequestHandler extends .addListener(ChannelFutureListener.CLOSE); return; } else if (request.getMethod().equals(HttpMethod.POST.name())) { - if (!ServerToolkits.hasText(request.getSignature()) + if (!ServerToolkits.isBlank(request.getSignature()) && !MessageUtil.signature(aesToken.getToken(), request.getTimeStamp(), request.getNonce()).equals( request.getSignature())) { diff --git a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/util/ServerToolkits.java b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/util/ServerToolkits.java index d10235d2..3e5d2ecc 100644 --- a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/util/ServerToolkits.java +++ b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/util/ServerToolkits.java @@ -96,7 +96,7 @@ public final class ServerToolkits { * @param cs * @return */ - public static boolean hasText(final CharSequence cs) { + public static boolean isBlank(final CharSequence cs) { int strLen; if (cs == null || (strLen = cs.length()) == 0) { return true; diff --git a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/xml/MessageTransferHandler.java b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/xml/MessageTransferHandler.java index b054e34b..291209df 100644 --- a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/xml/MessageTransferHandler.java +++ b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/xml/MessageTransferHandler.java @@ -75,9 +75,9 @@ public class MessageTransferHandler extends DefaultHandler { if (isQY) { return AccountType.QY; } - if (ServerToolkits.hasText(msgType) && ServerToolkits.hasText(eventType)) { + if (ServerToolkits.isBlank(msgType) && ServerToolkits.isBlank(eventType)) { return null; - } + } return AccountType.MP; }