From 7e243f3a303abf7a83f45e027541c95faba2bbac Mon Sep 17 00:00:00 2001 From: fengyapeng Date: Mon, 16 Jan 2017 15:42:51 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=20bug~?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../foxinmy/weixin4j/model/card/MemCardCustomField.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/model/card/MemCardCustomField.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/model/card/MemCardCustomField.java index 0e8388e0..05929ecd 100644 --- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/model/card/MemCardCustomField.java +++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/model/card/MemCardCustomField.java @@ -70,4 +70,12 @@ public class MemCardCustomField { public void setUrl(String url) { this.url = url; } + + public String getTips() { + return tips; + } + + public void setTips(String tips) { + this.tips = tips; + } } From 5c251da562561aca0db8db76f1877d3a631e9b30 Mon Sep 17 00:00:00 2001 From: fengyapeng Date: Wed, 18 Jan 2017 15:38:12 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=A6=82=E6=9E=9C=E5=87=BA=E7=8E=B0?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E7=9A=84=E6=83=85=E5=86=B5=E4=B8=8B=EF=BC=8C?= =?UTF-8?q?=E5=B0=86=E8=AF=B7=E6=B1=82=E7=9A=84=E6=95=B0=E6=8D=AE=E6=89=93?= =?UTF-8?q?=E5=8D=B0=E5=87=BA=E6=9D=A5=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../http/weixin/WeixinRequestExecutor.java | 22 ++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/WeixinRequestExecutor.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/WeixinRequestExecutor.java index 8f4eb32d..24153148 100644 --- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/WeixinRequestExecutor.java +++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/WeixinRequestExecutor.java @@ -132,13 +132,11 @@ public class WeixinRequestExecutor { if (logger.isEnabled(InternalLogLevel.DEBUG)) { logger.debug("weixin request >> " + request.getMethod() + " " + request.getURI().toString()); - } - if(request.getEntity() instanceof StringEntity){ - logger.debug("weixin request body >> " + ((StringEntity) request.getEntity()).getContentString()); + printHttpRequest(request,InternalLogLevel.DEBUG); } HttpResponse httpResponse = httpClient.execute(request); WeixinResponse response = new WeixinResponse(httpResponse); - handleResponse(response); + handleResponse(request,response); return response; } catch (HttpClientException e) { throw new WeixinException(e); @@ -170,7 +168,7 @@ public class WeixinRequestExecutor { * 微信请求响应 * @throws WeixinException */ - protected void handleResponse(WeixinResponse response) + protected void handleResponse(HttpRequest request,WeixinResponse response) throws WeixinException { boolean hasStreamMimeType = hasStreamMimeType(response); if (logger.isEnabled(InternalLogLevel.DEBUG)) { @@ -187,6 +185,7 @@ public class WeixinRequestExecutor { ApiResult result = response.getAsResult(); if (!SUCCESS_CODE.contains(String.format(",%s,", result.getReturnCode() .toLowerCase()))) { + printHttpRequest(request,InternalLogLevel.WARN); throw new WeixinException(result.getReturnCode(), result.getReturnMsg(),WeixinErrorUtil2.getText(result.getReturnCode())); } @@ -196,6 +195,7 @@ public class WeixinRequestExecutor { XmlResult.class, response); if (!SUCCESS_CODE.contains(String.format(",%s,", xmlResult .getResultCode().toLowerCase()))) { + printHttpRequest(request,InternalLogLevel.WARN); throw new WeixinException(xmlResult.getErrCode(), xmlResult.getErrCodeDes(),WeixinErrorUtil2.getText(xmlResult.getErrCode())); } @@ -205,6 +205,18 @@ public class WeixinRequestExecutor { } } + private void printHttpRequest(HttpRequest request,InternalLogLevel level){ + if(request.getEntity() instanceof StringEntity){ + if(level.equals(InternalLogLevel.DEBUG)) { + logger.debug("weixin request body >> " + ((StringEntity) request.getEntity()).getContentString()); + }else if(level.equals(InternalLogLevel.INFO)){ + logger.info("weixin request body >> " + ((StringEntity) request.getEntity()).getContentString()); + }else if(level.equals(InternalLogLevel.WARN)){ + logger.warn("weixin request body >> " + ((StringEntity) request.getEntity()).getContentString()); + } + } + } + public HttpClient getExecuteClient() { return httpClient; }