From 52bf294516dfc9aef948427cf3c99cb611b28559 Mon Sep 17 00:00:00 2001 From: jinyu Date: Tue, 1 Sep 2015 21:48:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86=E4=B8=80=E4=B8=AAbu?= =?UTF-8?q?g?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../foxinmy/weixin4j/http/factory/HttpClientFactory.java | 6 +++--- .../com/foxinmy/weixin4j/http/factory/HttpComponent3.java | 3 +-- .../com/foxinmy/weixin4j/http/factory/HttpComponent4_1.java | 2 +- .../com/foxinmy/weixin4j/http/factory/HttpComponent4_2.java | 3 +-- .../src/main/java/com/foxinmy/weixin4j/mp/api/MediaApi.java | 6 +++++- .../src/main/java/com/foxinmy/weixin4j/qy/api/MediaApi.java | 6 +++++- 6 files changed, 16 insertions(+), 10 deletions(-) diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/factory/HttpClientFactory.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/factory/HttpClientFactory.java index 673c0249..c51a65ba 100644 --- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/factory/HttpClientFactory.java +++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/factory/HttpClientFactory.java @@ -19,7 +19,7 @@ public abstract class HttpClientFactory { private static volatile HttpClientFactory defaultFactory = newDefaultFactory(); /** - * ApachHttpClient -> SimpleHttpClient(HttpURLConnection) + * NettyHttpClient -> ApachHttpClient -> SimpleHttpClient(HttpURLConnection) * * @return */ @@ -27,10 +27,10 @@ public abstract class HttpClientFactory { HttpClientFactory f; try { f = new HttpComponent4Factory(); - } catch (Throwable e1) { + } catch (Throwable e2) { try { f = new HttpComponent3Factory(); - } catch (Throwable e2) { + } catch (Throwable e3) { f = new SimpleHttpClientFactory(); } } diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/factory/HttpComponent3.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/factory/HttpComponent3.java index 564c199e..f7228d0d 100644 --- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/factory/HttpComponent3.java +++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/factory/HttpComponent3.java @@ -34,7 +34,6 @@ import org.apache.commons.httpclient.protocol.Protocol; import org.apache.commons.httpclient.protocol.SecureProtocolSocketFactory; import com.foxinmy.weixin4j.http.AbstractHttpClient; -import com.foxinmy.weixin4j.http.HttpClient; import com.foxinmy.weixin4j.http.HttpClientException; import com.foxinmy.weixin4j.http.HttpHeaders; import com.foxinmy.weixin4j.http.HttpMethod; @@ -55,7 +54,7 @@ import com.foxinmy.weixin4j.util.StringUtil; * @since JDK 1.7 * @see */ -public class HttpComponent3 extends AbstractHttpClient implements HttpClient { +public class HttpComponent3 extends AbstractHttpClient { private final org.apache.commons.httpclient.HttpClient httpClient; diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/factory/HttpComponent4_1.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/factory/HttpComponent4_1.java index 15211c9d..ccb29d9c 100644 --- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/factory/HttpComponent4_1.java +++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/factory/HttpComponent4_1.java @@ -30,7 +30,7 @@ import com.foxinmy.weixin4j.model.Consts; * @since JDK 1.7 * @see */ -public class HttpComponent4_1 extends HttpComponent4 implements HttpClient { +public class HttpComponent4_1 extends HttpComponent4 { private final org.apache.http.client.HttpClient httpClient; diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/factory/HttpComponent4_2.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/factory/HttpComponent4_2.java index 49f03b2e..5a0eaf07 100644 --- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/factory/HttpComponent4_2.java +++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/factory/HttpComponent4_2.java @@ -13,7 +13,6 @@ import org.apache.http.conn.ssl.X509HostnameVerifier; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; -import com.foxinmy.weixin4j.http.HttpClient; import com.foxinmy.weixin4j.http.HttpClientException; import com.foxinmy.weixin4j.http.HttpParams; import com.foxinmy.weixin4j.http.HttpRequest; @@ -28,7 +27,7 @@ import com.foxinmy.weixin4j.http.HttpResponse; * @since JDK 1.7 * @see */ -public class HttpComponent4_2 extends HttpComponent4 implements HttpClient { +public class HttpComponent4_2 extends HttpComponent4 { private CloseableHttpClient httpClient; diff --git a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/api/MediaApi.java b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/api/MediaApi.java index 2f1a8e87..93e13a4b 100644 --- a/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/api/MediaApi.java +++ b/weixin4j-mp/src/main/java/com/foxinmy/weixin4j/mp/api/MediaApi.java @@ -586,8 +586,12 @@ public class MediaApi extends MpApi { MediaRecord mediaRecord = null; for (;;) { mediaRecord = listMaterialMedia(mediaType, pageable); + if (mediaRecord.getItems() == null + || !mediaRecord.getItems().isEmpty()) { + break; + } mediaList.addAll(mediaRecord.getItems()); - if (pageable.getOffset() >= mediaRecord.getTotalCount()) { + if (!mediaRecord.getPagedata().hasNext()) { break; } pageable = pageable.next(); diff --git a/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/api/MediaApi.java b/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/api/MediaApi.java index 8f6b5d11..95e1a91b 100644 --- a/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/api/MediaApi.java +++ b/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/api/MediaApi.java @@ -471,8 +471,12 @@ public class MediaApi extends QyApi { MediaRecord mediaRecord = null; for (;;) { mediaRecord = listMaterialMedia(agentid, mediaType, pageable); + if (mediaRecord.getItems() == null + || !mediaRecord.getItems().isEmpty()) { + break; + } mediaList.addAll(mediaRecord.getItems()); - if (pageable.getOffset() >= mediaRecord.getTotalCount()) { + if (!mediaRecord.getPagedata().hasNext()) { break; } pageable = pageable.next();