Переглянути джерело

修复 #80 menuCreate()方法代码的问题,and reformat code

Binary Wang 8 роки тому
батько
коміт
72d6aadd97

+ 63 - 68
weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpServiceImpl.java

@@ -23,7 +23,6 @@ import me.chanjar.weixin.cp.bean.WxCpUser;
 import me.chanjar.weixin.cp.util.json.WxCpGsonBuilder;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.http.HttpHost;
-import org.apache.http.client.ClientProtocolException;
 import org.apache.http.client.config.RequestConfig;
 import org.apache.http.client.methods.CloseableHttpResponse;
 import org.apache.http.client.methods.HttpGet;
@@ -69,7 +68,7 @@ public class WxCpServiceImpl implements WxCpService {
   public boolean checkSignature(String msgSignature, String timestamp, String nonce, String data) {
     try {
       return SHA1.gen(this.configStorage.getToken(), timestamp, nonce, data)
-          .equals(msgSignature);
+        .equals(msgSignature);
     } catch (Exception e) {
       return false;
     }
@@ -95,18 +94,18 @@ public class WxCpServiceImpl implements WxCpService {
       synchronized (this.globalAccessTokenRefreshLock) {
         if (this.configStorage.isAccessTokenExpired()) {
           String url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?"
- + "&corpid=" + this.configStorage.getCorpId()
-              + "&corpsecret=" + this.configStorage.getCorpSecret();
+            + "&corpid=" + this.configStorage.getCorpId()
+            + "&corpsecret=" + this.configStorage.getCorpSecret();
           try {
             HttpGet httpGet = new HttpGet(url);
             if (this.httpProxy != null) {
               RequestConfig config = RequestConfig.custom()
-                  .setProxy(this.httpProxy).build();
+                .setProxy(this.httpProxy).build();
               httpGet.setConfig(config);
             }
             String resultContent = null;
             try (CloseableHttpClient httpclient = getHttpclient();
-                CloseableHttpResponse response = httpclient.execute(httpGet)) {
+                 CloseableHttpResponse response = httpclient.execute(httpGet)) {
               resultContent = new BasicResponseHandler().handleResponse(response);
             } finally {
               httpGet.releaseConnection();
@@ -117,9 +116,7 @@ public class WxCpServiceImpl implements WxCpService {
             }
             WxAccessToken accessToken = WxAccessToken.fromJson(resultContent);
             this.configStorage.updateAccessToken(
-                accessToken.getAccessToken(), accessToken.getExpiresIn());
-          } catch (ClientProtocolException e) {
-            throw new RuntimeException(e);
+              accessToken.getAccessToken(), accessToken.getExpiresIn());
           } catch (IOException e) {
             throw new RuntimeException(e);
           }
@@ -149,7 +146,7 @@ public class WxCpServiceImpl implements WxCpService {
           String jsapiTicket = tmpJsonObject.get("ticket").getAsString();
           int expiresInSeconds = tmpJsonObject.get("expires_in").getAsInt();
           this.configStorage.updateJsapiTicket(jsapiTicket,
-              expiresInSeconds);
+            expiresInSeconds);
         }
       }
     }
@@ -162,10 +159,10 @@ public class WxCpServiceImpl implements WxCpService {
     String noncestr = RandomUtils.getRandomStr();
     String jsapiTicket = getJsapiTicket(false);
     String signature = SHA1.genWithAmple(
-            "jsapi_ticket=" + jsapiTicket,
-            "noncestr=" + noncestr,
-            "timestamp=" + timestamp,
-            "url=" + url
+      "jsapi_ticket=" + jsapiTicket,
+      "noncestr=" + noncestr,
+      "timestamp=" + timestamp,
+      "url=" + url
     );
     WxJsapiSignature jsapiSignature = new WxJsapiSignature();
     jsapiSignature.setTimestamp(timestamp);
@@ -193,7 +190,7 @@ public class WxCpServiceImpl implements WxCpService {
   @Override
   public void menuCreate(Integer agentId, WxMenu menu) throws WxErrorException {
     String url = "https://qyapi.weixin.qq.com/cgi-bin/menu/create?agentid="
- + this.configStorage.getAgentId();
+      + this.configStorage.getAgentId();
     post(url, menu.toJson());
   }
 
@@ -230,7 +227,7 @@ public class WxCpServiceImpl implements WxCpService {
 
   @Override
   public WxMediaUploadResult mediaUpload(String mediaType, String fileType, InputStream inputStream)
-          throws WxErrorException, IOException {
+    throws WxErrorException, IOException {
     return mediaUpload(mediaType, FileUtils.createTmpFile(inputStream, UUID.randomUUID().toString(), fileType));
   }
 
@@ -244,9 +241,9 @@ public class WxCpServiceImpl implements WxCpService {
   public File mediaDownload(String media_id) throws WxErrorException {
     String url = "https://qyapi.weixin.qq.com/cgi-bin/media/get";
     return execute(
-        new MediaDownloadRequestExecutor(
-this.configStorage.getTmpDirFile()),
-        url, "media_id=" + media_id);
+      new MediaDownloadRequestExecutor(
+        this.configStorage.getTmpDirFile()),
+      url, "media_id=" + media_id);
   }
 
 
@@ -254,9 +251,9 @@ this.configStorage.getTmpDirFile()),
   public Integer departCreate(WxCpDepart depart) throws WxErrorException {
     String url = "https://qyapi.weixin.qq.com/cgi-bin/department/create";
     String responseContent = execute(
-            new SimplePostRequestExecutor(),
-            url,
-            depart.toJson());
+      new SimplePostRequestExecutor(),
+      url,
+      depart.toJson());
     JsonElement tmpJsonElement = new JsonParser().parse(responseContent);
     return GsonHelper.getAsInteger(tmpJsonElement.getAsJsonObject().get("id"));
   }
@@ -283,11 +280,11 @@ this.configStorage.getTmpDirFile()),
      */
     JsonElement tmpJsonElement = new JsonParser().parse(responseContent);
     return WxCpGsonBuilder.INSTANCE.create()
-            .fromJson(
-                    tmpJsonElement.getAsJsonObject().get("department"),
-                    new TypeToken<List<WxCpDepart>>() {
-                    }.getType()
-            );
+      .fromJson(
+        tmpJsonElement.getAsJsonObject().get("department"),
+        new TypeToken<List<WxCpDepart>>() {
+        }.getType()
+      );
   }
 
   @Override
@@ -313,8 +310,8 @@ this.configStorage.getTmpDirFile()),
     String url = "https://qyapi.weixin.qq.com/cgi-bin/user/batchdelete";
     JsonObject jsonObject = new JsonObject();
     JsonArray jsonArray = new JsonArray();
-    for (int i = 0; i < userids.length; i++) {
-      jsonArray.add(new JsonPrimitive(userids[i]));
+    for (String userid : userids) {
+      jsonArray.add(new JsonPrimitive(userid));
     }
     jsonObject.add("useridlist", jsonArray);
     post(url, jsonObject.toString());
@@ -343,11 +340,11 @@ this.configStorage.getTmpDirFile()),
     String responseContent = get(url, params);
     JsonElement tmpJsonElement = new JsonParser().parse(responseContent);
     return WxCpGsonBuilder.INSTANCE.create()
-            .fromJson(
-                    tmpJsonElement.getAsJsonObject().get("userlist"),
-                    new TypeToken<List<WxCpUser>>() {
-                    }.getType()
-            );
+      .fromJson(
+        tmpJsonElement.getAsJsonObject().get("userlist"),
+        new TypeToken<List<WxCpUser>>() {
+        }.getType()
+      );
   }
 
   @Override
@@ -366,11 +363,11 @@ this.configStorage.getTmpDirFile()),
     String responseContent = get(url, params);
     JsonElement tmpJsonElement = new JsonParser().parse(responseContent);
     return WxCpGsonBuilder.INSTANCE.create()
-            .fromJson(
-                    tmpJsonElement.getAsJsonObject().get("userlist"),
-                    new TypeToken<List<WxCpUser>>() {
-                    }.getType()
-            );
+      .fromJson(
+        tmpJsonElement.getAsJsonObject().get("userlist"),
+        new TypeToken<List<WxCpUser>>() {
+        }.getType()
+      );
   }
 
   @Override
@@ -404,11 +401,11 @@ this.configStorage.getTmpDirFile()),
     String responseContent = get(url, null);
     JsonElement tmpJsonElement = new JsonParser().parse(responseContent);
     return WxCpGsonBuilder.INSTANCE.create()
-            .fromJson(
-                    tmpJsonElement.getAsJsonObject().get("taglist"),
-                    new TypeToken<List<WxCpTag>>() {
-                    }.getType()
-            );
+      .fromJson(
+        tmpJsonElement.getAsJsonObject().get("taglist"),
+        new TypeToken<List<WxCpTag>>() {
+        }.getType()
+      );
   }
 
   @Override
@@ -417,11 +414,11 @@ this.configStorage.getTmpDirFile()),
     String responseContent = get(url, null);
     JsonElement tmpJsonElement = new JsonParser().parse(responseContent);
     return WxCpGsonBuilder.INSTANCE.create()
-            .fromJson(
-                    tmpJsonElement.getAsJsonObject().get("userlist"),
-                    new TypeToken<List<WxCpUser>>() {
-                    }.getType()
-            );
+      .fromJson(
+        tmpJsonElement.getAsJsonObject().get("userlist"),
+        new TypeToken<List<WxCpUser>>() {
+        }.getType()
+      );
   }
 
   @Override
@@ -460,14 +457,14 @@ this.configStorage.getTmpDirFile()),
   }
 
   @Override
-	public String oauth2buildAuthorizationUrl(String state) {
-  	return this.oauth2buildAuthorizationUrl(
-this.configStorage.getOauth2redirectUri(),
-  		state
-  	);
-	}
+  public String oauth2buildAuthorizationUrl(String state) {
+    return this.oauth2buildAuthorizationUrl(
+      this.configStorage.getOauth2redirectUri(),
+      state
+    );
+  }
 
-	@Override
+  @Override
   public String oauth2buildAuthorizationUrl(String redirectUri, String state) {
     String url = "https://open.weixin.qq.com/connect/oauth2/authorize?";
     url += "appid=" + this.configStorage.getCorpId();
@@ -489,8 +486,8 @@ this.configStorage.getOauth2redirectUri(),
   @Override
   public String[] oauth2getUserInfo(Integer agentId, String code) throws WxErrorException {
     String url = "https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?"
-            + "code=" + code
-            + "&agentid=" + agentId;
+      + "code=" + code
+      + "&agentid=" + agentId;
     String responseText = get(url, null);
     JsonElement je = new JsonParser().parse(responseText);
     JsonObject jo = je.getAsJsonObject();
@@ -544,14 +541,14 @@ this.configStorage.getOauth2redirectUri(),
         return executeInternal(executor, uri, data);
       } catch (WxErrorException e) {
         WxError error = e.getError();
-        /**
+        /*
          * -1 系统繁忙, 1000ms后重试
          */
         if (error.getErrorCode() == -1) {
           int sleepMillis = this.retrySleepMillis * (1 << retryTimes);
           try {
             this.log.debug("微信系统繁忙,{}ms 后重试(第{}次)", sleepMillis,
-                retryTimes + 1);
+              retryTimes + 1);
             Thread.sleep(sleepMillis);
           } catch (InterruptedException e1) {
             throw new RuntimeException(e1);
@@ -566,7 +563,7 @@ this.configStorage.getOauth2redirectUri(),
   }
 
   protected synchronized <T, E> T executeInternal(RequestExecutor<T, E> executor, String uri, E data) throws WxErrorException {
-    if (uri.indexOf("access_token=") != -1) {
+    if (uri.contains("access_token=")) {
       throw new IllegalArgumentException("uri参数中不允许有access_token: " + uri);
     }
     String accessToken = getAccessToken(false);
@@ -576,7 +573,7 @@ this.configStorage.getOauth2redirectUri(),
 
     try {
       return executor.execute(getHttpclient(), this.httpProxy,
-          uriWithAccessToken, data);
+        uriWithAccessToken, data);
     } catch (WxErrorException e) {
       WxError error = e.getError();
       /*
@@ -593,8 +590,6 @@ this.configStorage.getOauth2redirectUri(),
         throw new WxErrorException(error);
       }
       return null;
-    } catch (ClientProtocolException e) {
-      throw new RuntimeException(e);
     } catch (IOException e) {
       throw new RuntimeException(e);
     }
@@ -608,15 +603,15 @@ this.configStorage.getOauth2redirectUri(),
   public void setWxCpConfigStorage(WxCpConfigStorage wxConfigProvider) {
     this.configStorage = wxConfigProvider;
     ApacheHttpClientBuilder apacheHttpClientBuilder = this.configStorage
-        .getApacheHttpClientBuilder();
+      .getApacheHttpClientBuilder();
     if (null == apacheHttpClientBuilder) {
       apacheHttpClientBuilder = DefaultApacheHttpClientBuilder.get();
     }
 
     apacheHttpClientBuilder.httpProxyHost(this.configStorage.getHttpProxyHost())
-        .httpProxyPort(this.configStorage.getHttpProxyPort())
-        .httpProxyUsername(this.configStorage.getHttpProxyUsername())
-        .httpProxyPassword(this.configStorage.getHttpProxyPassword());
+      .httpProxyPort(this.configStorage.getHttpProxyPort())
+      .httpProxyUsername(this.configStorage.getHttpProxyUsername())
+      .httpProxyPassword(this.configStorage.getHttpProxyPassword());
 
     if (this.configStorage.getHttpProxyHost() != null && this.configStorage.getHttpProxyPort() > 0) {
       this.httpProxy = new HttpHost(this.configStorage.getHttpProxyHost(), this.configStorage.getHttpProxyPort());