Selaa lähdekoodia

优化部分代码

Binary Wang 6 vuotta sitten
vanhempi
commit
7eeceef2c1

+ 2 - 1
weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpService.java

@@ -13,6 +13,7 @@ import me.chanjar.weixin.mp.bean.result.WxMpUser;
 import me.chanjar.weixin.mp.enums.TicketType;
 
 import java.util.HashMap;
+import java.util.Map;
 
 /**
  * 微信公众号API的Service.
@@ -312,7 +313,7 @@ public interface WxMpService {
    * 注入多个 {@link WxMpConfigStorage} 的实现. 并为每个 {@link WxMpConfigStorage} 赋予不同的 {@link String label} 值
    * @return
    */
-  void setMultiWxMpConfigStorage(HashMap<String, WxMpConfigStorage> configStorages);
+  void setMultiWxMpConfigStorage(Map<String, WxMpConfigStorage> configStorages);
 
   /**
    * 进行相应的 WxApp 切换

+ 14 - 19
weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/BaseWxMpServiceImpl.java

@@ -1,15 +1,5 @@
 package me.chanjar.weixin.mp.api.impl;
 
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.concurrent.locks.Lock;
-
-import me.chanjar.weixin.mp.api.*;
-import me.chanjar.weixin.mp.util.WxMpConfigStorageHolder;
-import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 import com.google.gson.JsonArray;
 import com.google.gson.JsonElement;
 import com.google.gson.JsonObject;
@@ -22,17 +12,22 @@ import me.chanjar.weixin.common.session.WxSessionManager;
 import me.chanjar.weixin.common.util.DataUtils;
 import me.chanjar.weixin.common.util.RandomUtils;
 import me.chanjar.weixin.common.util.crypto.SHA1;
-import me.chanjar.weixin.common.util.http.RequestExecutor;
-import me.chanjar.weixin.common.util.http.RequestHttp;
-import me.chanjar.weixin.common.util.http.SimpleGetRequestExecutor;
-import me.chanjar.weixin.common.util.http.SimplePostRequestExecutor;
-import me.chanjar.weixin.common.util.http.URIUtil;
+import me.chanjar.weixin.common.util.http.*;
+import me.chanjar.weixin.mp.api.*;
 import me.chanjar.weixin.mp.bean.WxMpSemanticQuery;
 import me.chanjar.weixin.mp.bean.result.WxMpCurrentAutoReplyInfo;
 import me.chanjar.weixin.mp.bean.result.WxMpOAuth2AccessToken;
 import me.chanjar.weixin.mp.bean.result.WxMpSemanticQueryResult;
 import me.chanjar.weixin.mp.bean.result.WxMpUser;
 import me.chanjar.weixin.mp.enums.TicketType;
+import me.chanjar.weixin.mp.util.WxMpConfigStorageHolder;
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.Map;
+import java.util.concurrent.locks.Lock;
 
 /**
  * 基础实现类.
@@ -66,7 +61,7 @@ public abstract class BaseWxMpServiceImpl<H, P> implements WxMpService, RequestH
   private WxMpWifiService wifiService = new WxMpWifiServiceImpl(this);
   private WxMpMarketingService marketingService = new WxMpMarketingServiceImpl(this);
 
-  private HashMap<String, WxMpConfigStorage> wxMpConfigStoragePool;
+  private Map<String, WxMpConfigStorage> wxMpConfigStoragePool;
   private boolean isMultiWxApp = false;
 
   private int retrySleepMillis = 1000;
@@ -340,9 +335,9 @@ public abstract class BaseWxMpServiceImpl<H, P> implements WxMpService, RequestH
   @Override
   public WxMpConfigStorage getWxMpConfigStorage() {
     if (isMultiWxApp) {
-      String label = WxMpConfigStorageHolder.get();
-      return wxMpConfigStoragePool.getOrDefault(label, null);
+      return wxMpConfigStoragePool.get(WxMpConfigStorageHolder.get());
     }
+
     return this.wxMpConfigStorage;
   }
 
@@ -353,7 +348,7 @@ public abstract class BaseWxMpServiceImpl<H, P> implements WxMpService, RequestH
   }
 
   @Override
-  public void setMultiWxMpConfigStorage(HashMap<String, WxMpConfigStorage> configStorages) {
+  public void setMultiWxMpConfigStorage(Map<String, WxMpConfigStorage> configStorages) {
     wxMpConfigStoragePool = configStorages;
     isMultiWxApp = true;
     this.initHttp();