mirror of
				https://gitee.com/binary/weixin-java-tools.git
				synced 2025-10-31 02:28:25 +08:00 
			
		
		
		
	格式化开放平台模块代码
This commit is contained in:
		| @ -34,6 +34,7 @@ public interface WxOpenComponentService { | ||||
|    * 刷新oauth2的access token | ||||
|    */ | ||||
|   String OAUTH2_REFRESH_TOKEN_URL = "https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=%s&grant_type=refresh_token&refresh_token=%s&component_appid==%s"; | ||||
|  | ||||
|   WxMpService getWxMpServiceByAppid(String appid); | ||||
|  | ||||
|   WxOpenConfigStorage getWxOpenConfigStorage(); | ||||
|  | ||||
| @ -9,24 +9,34 @@ import me.chanjar.weixin.open.bean.WxOpenComponentAccessToken; | ||||
|  */ | ||||
| public interface WxOpenConfigStorage { | ||||
|  | ||||
|   String getComponentAppId(); | ||||
|  | ||||
|   void setComponentAppId(String componentAppId); | ||||
|  | ||||
|   String getComponentAppSecret(); | ||||
|  | ||||
|   void setComponentAppSecret(String componentAppSecret); | ||||
|  | ||||
|   String getComponentToken(); | ||||
|  | ||||
|   void setComponentToken(String componentToken); | ||||
|  | ||||
|   String getComponentAesKey(); | ||||
|  | ||||
|   void setComponentAesKey(String componentAesKey); | ||||
|  | ||||
|   String getComponentAppId(); | ||||
|   String getComponentAppSecret(); | ||||
|   String getComponentToken(); | ||||
|   String getComponentAesKey(); | ||||
|   String getComponentVerifyTicket(); | ||||
|  | ||||
|   void setComponentVerifyTicket(String componentVerifyTicket); | ||||
|  | ||||
|   String getComponentAccessToken(); | ||||
|  | ||||
|   boolean isComponentAccessTokenExpired(); | ||||
|  | ||||
|   void updateComponentAccessTokent(WxOpenComponentAccessToken componentAccessToken); | ||||
|  | ||||
|   WxMpConfigStorage getWxMpConfigStorage(String appId); | ||||
|  | ||||
|   /** | ||||
|    * 应该是线程安全的 | ||||
|    * | ||||
| @ -42,7 +52,9 @@ public interface WxOpenConfigStorage { | ||||
|  | ||||
|  | ||||
|   String getAuthorizerRefreshToken(String appId); | ||||
|  | ||||
|   void setAuthorizerRefreshToken(String appId, String authorizerRefreshToken); | ||||
|  | ||||
|   String getAuthorizerAccessToken(String appId); | ||||
|  | ||||
|  | ||||
|  | ||||
| @ -7,8 +7,11 @@ import me.chanjar.weixin.common.exception.WxErrorException; | ||||
|  */ | ||||
| public interface WxOpenService { | ||||
|   WxOpenComponentService getWxOpenComponentService(); | ||||
|  | ||||
|   WxOpenConfigStorage getWxOpenConfigStorage(); | ||||
|  | ||||
|   void setWxOpenConfigStorage(WxOpenConfigStorage wxOpenConfigStorage); | ||||
|  | ||||
|   /** | ||||
|    * 当本Service没有实现某个API的时候,可以用这个,针对所有微信API中的GET请求 | ||||
|    */ | ||||
|  | ||||
| @ -30,9 +30,9 @@ import java.util.Map; | ||||
|  * @author <a href="https://github.com/007gzs">007</a> | ||||
|  */ | ||||
| public class WxOpenComponentServiceImpl implements WxOpenComponentService { | ||||
|   private static final Map<String, WxMpService> wxOpenMpServiceMap = new Hashtable<>(); | ||||
|   protected final Logger log = LoggerFactory.getLogger(this.getClass()); | ||||
|   private WxOpenService wxOpenService; | ||||
|   private static final Map<String, WxMpService> wxOpenMpServiceMap = new Hashtable<>(); | ||||
|  | ||||
|   public WxOpenComponentServiceImpl(WxOpenService wxOpenService) { | ||||
|     this.wxOpenService = wxOpenService; | ||||
| @ -62,6 +62,7 @@ public class WxOpenComponentServiceImpl implements WxOpenComponentService { | ||||
|   public WxOpenConfigStorage getWxOpenConfigStorage() { | ||||
|     return wxOpenService.getWxOpenConfigStorage(); | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public boolean checkSignature(String timestamp, String nonce, String signature) { | ||||
|     try { | ||||
| @ -72,6 +73,7 @@ public class WxOpenComponentServiceImpl implements WxOpenComponentService { | ||||
|       return false; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public String getComponentAccessToken(boolean forceRefresh) throws WxErrorException { | ||||
|  | ||||
| @ -137,6 +139,7 @@ public class WxOpenComponentServiceImpl implements WxOpenComponentService { | ||||
|     } | ||||
|     return null; | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public WxOpenQueryAuthResult getQueryAuth(String authorizationCode) throws WxErrorException { | ||||
|     JsonObject jsonObject = new JsonObject(); | ||||
| @ -145,6 +148,7 @@ public class WxOpenComponentServiceImpl implements WxOpenComponentService { | ||||
|     String responseContent = post(API_QUERY_AUTH_URL, jsonObject.toString()); | ||||
|     return WxOpenGsonBuilder.create().fromJson(responseContent, WxOpenQueryAuthResult.class); | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public WxOpenAuthorizerInfoResult getAuthorizerInfo(String authorizerAppid) throws WxErrorException { | ||||
|     JsonObject jsonObject = new JsonObject(); | ||||
| @ -163,6 +167,7 @@ public class WxOpenComponentServiceImpl implements WxOpenComponentService { | ||||
|     String responseContent = post(API_GET_AUTHORIZER_OPTION_URL, jsonObject.toString()); | ||||
|     return WxOpenGsonBuilder.create().fromJson(responseContent, WxOpenAuthorizerOptionResult.class); | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public WxError setAuthorizerOption(String authorizerAppid, String optionName, String optionValue) throws WxErrorException { | ||||
|     JsonObject jsonObject = new JsonObject(); | ||||
|  | ||||
| @ -35,25 +35,13 @@ public class WxOpenInMemoryConfigStorage implements WxOpenConfigStorage { | ||||
|   private Map<String, Token> cardApiTickets = new Hashtable<>(); | ||||
|  | ||||
|   @Override | ||||
|   public void setComponentAppId(String componentAppId) { | ||||
|     this.componentAppId = componentAppId; | ||||
|   } | ||||
|   @Override | ||||
|   public void setComponentAppSecret(String componentAppSecret) { | ||||
|     this.componentAppSecret = componentAppSecret; | ||||
|   } | ||||
|   @Override | ||||
|   public void setComponentToken(String componentToken) { | ||||
|     this.componentToken = componentToken; | ||||
|   } | ||||
|   @Override | ||||
|   public void setComponentAesKey(String componentAesKey) { | ||||
|     this.componentAesKey = componentAesKey; | ||||
|   public String getComponentAppId() { | ||||
|     return componentAppId; | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public String getComponentAppId() { | ||||
|     return componentAppId; | ||||
|   public void setComponentAppId(String componentAppId) { | ||||
|     this.componentAppId = componentAppId; | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
| @ -61,16 +49,31 @@ public class WxOpenInMemoryConfigStorage implements WxOpenConfigStorage { | ||||
|     return componentAppSecret; | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public void setComponentAppSecret(String componentAppSecret) { | ||||
|     this.componentAppSecret = componentAppSecret; | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public String getComponentToken() { | ||||
|     return componentToken; | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public void setComponentToken(String componentToken) { | ||||
|     this.componentToken = componentToken; | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public String getComponentAesKey() { | ||||
|     return componentAesKey; | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public void setComponentAesKey(String componentAesKey) { | ||||
|     this.componentAesKey = componentAesKey; | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public String getComponentVerifyTicket() { | ||||
|     return componentVerifyTicket; | ||||
| @ -111,30 +114,34 @@ public class WxOpenInMemoryConfigStorage implements WxOpenConfigStorage { | ||||
|   public boolean autoRefreshToken() { | ||||
|     return true; | ||||
|   } | ||||
|   private String getTokenString(Map<String, Token> map, String key){ | ||||
|  | ||||
|   private String getTokenString(Map<String, Token> map, String key) { | ||||
|     Token token = map.get(key); | ||||
|     if(token == null || (token.expiresTime != null && System.currentTimeMillis() > token.expiresTime)){ | ||||
|     if (token == null || (token.expiresTime != null && System.currentTimeMillis() > token.expiresTime)) { | ||||
|       return null; | ||||
|     } | ||||
|     return token.token; | ||||
|   } | ||||
|   private void expireToken(Map<String, Token> map, String key){ | ||||
|  | ||||
|   private void expireToken(Map<String, Token> map, String key) { | ||||
|     Token token = map.get(key); | ||||
|     if(token != null){ | ||||
|     if (token != null) { | ||||
|       token.expiresTime = 0L; | ||||
|     } | ||||
|   } | ||||
|   private void updateToken(Map<String, Token> map, String key, String tokenString, Integer expiresInSeconds){ | ||||
|  | ||||
|   private void updateToken(Map<String, Token> map, String key, String tokenString, Integer expiresInSeconds) { | ||||
|     Token token = map.get(key); | ||||
|     if(token == null){ | ||||
|     if (token == null) { | ||||
|       token = new Token(); | ||||
|       map.put(key, token); | ||||
|     } | ||||
|     token.token = tokenString; | ||||
|     if(expiresInSeconds != null) { | ||||
|     if (expiresInSeconds != null) { | ||||
|       token.expiresTime = System.currentTimeMillis() + (expiresInSeconds - 200) * 1000L; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public String getAuthorizerRefreshToken(String appId) { | ||||
|     return getTokenString(authorizerRefreshTokens, appId); | ||||
| @ -211,22 +218,21 @@ public class WxOpenInMemoryConfigStorage implements WxOpenConfigStorage { | ||||
|     updateToken(cardApiTickets, appId, cardApiTicket, expiresInSeconds); | ||||
|   } | ||||
|  | ||||
|   private static class Token{ | ||||
|   private static class Token { | ||||
|     private String token; | ||||
|     private Long expiresTime; | ||||
|   } | ||||
|   private static class WxOpenMpConfigStorage implements WxMpConfigStorage{ | ||||
|  | ||||
|   private static class WxOpenMpConfigStorage implements WxMpConfigStorage { | ||||
|     private WxOpenConfigStorage wxOpenConfigStorage; | ||||
|     private String appId; | ||||
|     private WxOpenMpConfigStorage(WxOpenConfigStorage wxOpenConfigStorage, String appId){ | ||||
|       this.wxOpenConfigStorage = wxOpenConfigStorage; | ||||
|       this.appId = appId; | ||||
|     } | ||||
|  | ||||
|     private Lock accessTokenLock = new ReentrantLock(); | ||||
|     private Lock jsapiTicketLock = new ReentrantLock(); | ||||
|     private Lock cardApiTicketLock = new ReentrantLock(); | ||||
|  | ||||
|     private WxOpenMpConfigStorage(WxOpenConfigStorage wxOpenConfigStorage, String appId) { | ||||
|       this.wxOpenConfigStorage = wxOpenConfigStorage; | ||||
|       this.appId = appId; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public String getAccessToken() { | ||||
|  | ||||
| @ -24,6 +24,7 @@ public class WxOpenInRedisConfigStorage extends WxOpenInMemoryConfigStorage { | ||||
|   private String authorizerAccessTokenKey; | ||||
|   private String jsapiTicketKey; | ||||
|   private String cardApiTicket; | ||||
|  | ||||
|   public WxOpenInRedisConfigStorage(JedisPool jedisPool) { | ||||
|     this.jedisPool = jedisPool; | ||||
|   } | ||||
| @ -38,54 +39,62 @@ public class WxOpenInRedisConfigStorage extends WxOpenInMemoryConfigStorage { | ||||
|     jsapiTicketKey = JSAPI_TICKET_KEY.concat(componentAppId); | ||||
|     cardApiTicket = CARD_API_TICKET_KEY.concat(componentAppId); | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public String getComponentVerifyTicket(){ | ||||
|     try(Jedis jedis = jedisPool.getResource()){ | ||||
|   public String getComponentVerifyTicket() { | ||||
|     try (Jedis jedis = jedisPool.getResource()) { | ||||
|       return jedis.get(componentVerifyTicketKey); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public void setComponentVerifyTicket(String componentVerifyTicket){ | ||||
|     try(Jedis jedis = jedisPool.getResource()){ | ||||
|   public void setComponentVerifyTicket(String componentVerifyTicket) { | ||||
|     try (Jedis jedis = jedisPool.getResource()) { | ||||
|       jedis.set(componentVerifyTicketKey, componentVerifyTicket); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public String getComponentAccessToken(){ | ||||
|     try(Jedis jedis = jedisPool.getResource()){ | ||||
|   public String getComponentAccessToken() { | ||||
|     try (Jedis jedis = jedisPool.getResource()) { | ||||
|       return jedis.get(componentAccessTokenKey); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public boolean isComponentAccessTokenExpired(){ | ||||
|     try(Jedis jedis = jedisPool.getResource()){ | ||||
|   public boolean isComponentAccessTokenExpired() { | ||||
|     try (Jedis jedis = jedisPool.getResource()) { | ||||
|       return jedis.ttl(componentAccessTokenKey) < 2; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public void updateComponentAccessTokent(String componentAccessToken, int expiresInSeconds){ | ||||
|   public void updateComponentAccessTokent(String componentAccessToken, int expiresInSeconds) { | ||||
|     try (Jedis jedis = this.jedisPool.getResource()) { | ||||
|       jedis.setex(componentAccessTokenKey, expiresInSeconds - 200, componentAccessToken); | ||||
|     } | ||||
|   } | ||||
|   private String getKey(String prefix, String appId){ | ||||
|  | ||||
|   private String getKey(String prefix, String appId) { | ||||
|     return prefix.endsWith(":") ? prefix.concat(appId) : prefix.concat(":").concat(appId); | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public String getAuthorizerRefreshToken(String appId){ | ||||
|   public String getAuthorizerRefreshToken(String appId) { | ||||
|     try (Jedis jedis = this.jedisPool.getResource()) { | ||||
|       return jedis.get(getKey(authorizerRefreshTokenKey, appId)); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public void setAuthorizerRefreshToken(String appId, String authorizerRefreshToken){ | ||||
|   public void setAuthorizerRefreshToken(String appId, String authorizerRefreshToken) { | ||||
|     try (Jedis jedis = this.jedisPool.getResource()) { | ||||
|       jedis.set(getKey(authorizerRefreshTokenKey, appId), authorizerRefreshToken); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public String getAuthorizerAccessToken(String appId){ | ||||
|   public String getAuthorizerAccessToken(String appId) { | ||||
|     try (Jedis jedis = this.jedisPool.getResource()) { | ||||
|       return jedis.get(getKey(authorizerAccessTokenKey, appId)); | ||||
|     } | ||||
| @ -93,70 +102,77 @@ public class WxOpenInRedisConfigStorage extends WxOpenInMemoryConfigStorage { | ||||
|  | ||||
|  | ||||
|   @Override | ||||
|   public boolean isAuthorizerAccessTokenExpired(String appId){ | ||||
|   public boolean isAuthorizerAccessTokenExpired(String appId) { | ||||
|     try (Jedis jedis = this.jedisPool.getResource()) { | ||||
|       return jedis.ttl(getKey(authorizerAccessTokenKey, appId)) < 2; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public void expireAuthorizerAccessToken(String appId){ | ||||
|   public void expireAuthorizerAccessToken(String appId) { | ||||
|     try (Jedis jedis = this.jedisPool.getResource()) { | ||||
|       jedis.expire(getKey(authorizerAccessTokenKey, appId), 0); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public void updateAuthorizerAccessToken(String appId, String authorizerAccessToken, int expiresInSeconds){ | ||||
|   public void updateAuthorizerAccessToken(String appId, String authorizerAccessToken, int expiresInSeconds) { | ||||
|     try (Jedis jedis = this.jedisPool.getResource()) { | ||||
|       jedis.setex(getKey(authorizerAccessTokenKey, appId), expiresInSeconds - 200, authorizerAccessToken); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public String getJsapiTicket(String appId){ | ||||
|   public String getJsapiTicket(String appId) { | ||||
|     try (Jedis jedis = this.jedisPool.getResource()) { | ||||
|       return jedis.get(getKey(jsapiTicketKey, appId)); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public boolean isJsapiTicketExpired(String appId){ | ||||
|   public boolean isJsapiTicketExpired(String appId) { | ||||
|     try (Jedis jedis = this.jedisPool.getResource()) { | ||||
|       return jedis.ttl(getKey(jsapiTicketKey, appId)) < 2; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public void expireJsapiTicket(String appId){ | ||||
|   public void expireJsapiTicket(String appId) { | ||||
|     try (Jedis jedis = this.jedisPool.getResource()) { | ||||
|       jedis.expire(getKey(jsapiTicketKey, appId), 0); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public void updateJsapiTicket(String appId, String jsapiTicket, int expiresInSeconds){ | ||||
|   public void updateJsapiTicket(String appId, String jsapiTicket, int expiresInSeconds) { | ||||
|     try (Jedis jedis = this.jedisPool.getResource()) { | ||||
|       jedis.setex(getKey(jsapiTicketKey, appId), expiresInSeconds - 200, jsapiTicket); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public String getCardApiTicket(String appId){ | ||||
|   public String getCardApiTicket(String appId) { | ||||
|     try (Jedis jedis = this.jedisPool.getResource()) { | ||||
|       return jedis.get(getKey(jsapiTicketKey, appId)); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public boolean isCardApiTicketExpired(String appId){ | ||||
|   public boolean isCardApiTicketExpired(String appId) { | ||||
|     try (Jedis jedis = this.jedisPool.getResource()) { | ||||
|       return jedis.ttl(getKey(cardApiTicket, appId)) < 2; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public void expireCardApiTicket(String appId){ | ||||
|   public void expireCardApiTicket(String appId) { | ||||
|     try (Jedis jedis = this.jedisPool.getResource()) { | ||||
|       jedis.expire(getKey(cardApiTicket, appId), 0); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public void updateCardApiTicket(String appId, String cardApiTicket, int expiresInSeconds){ | ||||
|   public void updateCardApiTicket(String appId, String cardApiTicket, int expiresInSeconds) { | ||||
|     try (Jedis jedis = this.jedisPool.getResource()) { | ||||
|       jedis.setex(getKey(cardApiTicket, appId), expiresInSeconds - 200, cardApiTicket); | ||||
|     } | ||||
|  | ||||
| @ -13,15 +13,18 @@ public class WxOpenMpServiceImpl extends WxMpServiceImpl { | ||||
|   private WxOpenComponentService wxOpenComponentService; | ||||
|   private WxMpConfigStorage wxMpConfigStorage; | ||||
|   private String appId; | ||||
|   public WxOpenMpServiceImpl(WxOpenComponentService wxOpenComponentService, String appId, WxMpConfigStorage wxMpConfigStorage){ | ||||
|  | ||||
|   public WxOpenMpServiceImpl(WxOpenComponentService wxOpenComponentService, String appId, WxMpConfigStorage wxMpConfigStorage) { | ||||
|     this.wxOpenComponentService = wxOpenComponentService; | ||||
|     this.appId = appId; | ||||
|     this.wxMpConfigStorage = wxMpConfigStorage; | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public WxMpConfigStorage getWxMpConfigStorage(){ | ||||
|   public WxMpConfigStorage getWxMpConfigStorage() { | ||||
|     return wxMpConfigStorage; | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public String getAccessToken(boolean forceRefresh) throws WxErrorException { | ||||
|     return wxOpenComponentService.getAuthorizerAccessToken(appId, forceRefresh); | ||||
|  | ||||
| @ -17,17 +17,20 @@ import java.io.IOException; | ||||
|  */ | ||||
| public abstract class WxOpenServiceAbstractImpl<H, P> implements WxOpenService, RequestHttp<H, P> { | ||||
|   protected final Logger log = LoggerFactory.getLogger(this.getClass()); | ||||
|   private WxOpenConfigStorage wxOpenConfigStorage; | ||||
|   protected WxOpenComponentService wxOpenComponentService = new WxOpenComponentServiceImpl(this); | ||||
|   private WxOpenConfigStorage wxOpenConfigStorage; | ||||
|  | ||||
|   @Override | ||||
|   public WxOpenComponentService getWxOpenComponentService() { | ||||
|     return wxOpenComponentService; | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public WxOpenConfigStorage getWxOpenConfigStorage(){ | ||||
|   public WxOpenConfigStorage getWxOpenConfigStorage() { | ||||
|     return wxOpenConfigStorage; | ||||
|   } | ||||
|   public void setWxOpenConfigStorage(WxOpenConfigStorage wxOpenConfigStorage){ | ||||
|  | ||||
|   public void setWxOpenConfigStorage(WxOpenConfigStorage wxOpenConfigStorage) { | ||||
|     this.wxOpenConfigStorage = wxOpenConfigStorage; | ||||
|   } | ||||
|  | ||||
|  | ||||
| @ -10,6 +10,7 @@ import org.apache.http.impl.client.CloseableHttpClient; | ||||
|  | ||||
| /** | ||||
|  * apache-http方式实现 | ||||
|  * | ||||
|  * @author <a href="https://github.com/007gzs">007</a> | ||||
|  */ | ||||
| public class WxOpenServiceApacheHttpClientImpl extends WxOpenServiceAbstractImpl<CloseableHttpClient, HttpHost> { | ||||
|  | ||||
| @ -7,7 +7,8 @@ import java.io.Serializable; | ||||
| /** | ||||
|  * @author <a href="https://github.com/007gzs">007</a> | ||||
|  */ | ||||
| public class WxOpenAuthorizerAccessToken implements Serializable{ | ||||
| public class WxOpenAuthorizerAccessToken implements Serializable { | ||||
|   private static final long serialVersionUID = -4069745419280727420L; | ||||
|  | ||||
|   private String authorizerAccessToken; | ||||
|  | ||||
|  | ||||
| @ -7,7 +7,8 @@ import java.io.Serializable; | ||||
| /** | ||||
|  * @author <a href="https://github.com/007gzs">007</a> | ||||
|  */ | ||||
| public class WxOpenComponentAccessToken implements Serializable{ | ||||
| public class WxOpenComponentAccessToken implements Serializable { | ||||
|   private static final long serialVersionUID = 2134550135400443725L; | ||||
|  | ||||
|   private String componentAccessToken; | ||||
|  | ||||
|  | ||||
| @ -9,7 +9,9 @@ import java.util.List; | ||||
|  * @author <a href="https://github.com/007gzs">007</a> | ||||
|  */ | ||||
| @Data | ||||
| public class WxOpenAuthorizationInfo implements Serializable{ | ||||
| public class WxOpenAuthorizationInfo implements Serializable { | ||||
|   private static final long serialVersionUID = -8713680081354754208L; | ||||
|  | ||||
|   private String authorizerAppid; | ||||
|   private String authorizerAccessToken; | ||||
|   private int expiresIn; | ||||
|  | ||||
| @ -9,7 +9,9 @@ import java.util.Map; | ||||
|  * @author <a href="https://github.com/007gzs">007</a> | ||||
|  */ | ||||
| @Data | ||||
| public class WxOpenAuthorizerInfo implements Serializable{ | ||||
| public class WxOpenAuthorizerInfo implements Serializable { | ||||
|   private static final long serialVersionUID = -5327886953416394738L; | ||||
|  | ||||
|   private String nickName; | ||||
|   private String headImg; | ||||
|   private Integer serviceTypeInfo; | ||||
|  | ||||
| @ -19,7 +19,9 @@ import java.io.Serializable; | ||||
|  */ | ||||
| @XStreamAlias("xml") | ||||
| @Data | ||||
| public class WxOpenXmlMessage implements Serializable{ | ||||
| public class WxOpenXmlMessage implements Serializable { | ||||
|   private static final long serialVersionUID = -5641769554709507771L; | ||||
|  | ||||
|   @XStreamAlias("AppId") | ||||
|   @XStreamConverter(value = XStreamCDataConverter.class) | ||||
|   private String appId; | ||||
| @ -78,6 +80,7 @@ public class WxOpenXmlMessage implements Serializable{ | ||||
|       encryptedXml); | ||||
|     return fromXml(plainText); | ||||
|   } | ||||
|  | ||||
|   public static WxMpXmlMessage fromEncryptedMpXml(String encryptedXml, | ||||
|                                                   WxOpenConfigStorage wxOpenConfigStorage, String timestamp, String nonce, | ||||
|                                                   String msgSignature) { | ||||
|  | ||||
| @ -10,7 +10,9 @@ import java.io.Serializable; | ||||
|  * @author <a href="https://github.com/007gzs">007</a> | ||||
|  */ | ||||
| @Data | ||||
| public class WxOpenAuthorizerInfoResult implements Serializable{ | ||||
| public class WxOpenAuthorizerInfoResult implements Serializable { | ||||
|   private static final long serialVersionUID = 3166298050833019785L; | ||||
|  | ||||
|   private WxOpenAuthorizationInfo authorizationInfo; | ||||
|   private WxOpenAuthorizerInfo authorizerInfo; | ||||
| } | ||||
|  | ||||
| @ -8,7 +8,9 @@ import java.io.Serializable; | ||||
|  * @author <a href="https://github.com/007gzs">007</a> | ||||
|  */ | ||||
| @Data | ||||
| public class WxOpenAuthorizerOptionResult implements Serializable{ | ||||
| public class WxOpenAuthorizerOptionResult implements Serializable { | ||||
|   private static final long serialVersionUID = 4477837353654658179L; | ||||
|  | ||||
|   String authorizerAppid; | ||||
|   String optionName; | ||||
|   String optionValue; | ||||
|  | ||||
| @ -9,6 +9,8 @@ import java.io.Serializable; | ||||
|  * @author <a href="https://github.com/007gzs">007</a> | ||||
|  */ | ||||
| @Data | ||||
| public class WxOpenQueryAuthResult implements Serializable{ | ||||
| public class WxOpenQueryAuthResult implements Serializable { | ||||
|   private static final long serialVersionUID = 2394736235020206855L; | ||||
|  | ||||
|   private WxOpenAuthorizationInfo authorizationInfo; | ||||
| } | ||||
|  | ||||
| @ -2,6 +2,7 @@ package me.chanjar.weixin.open.util; | ||||
|  | ||||
| import me.chanjar.weixin.open.api.WxOpenConfigStorage; | ||||
| import org.apache.commons.codec.binary.Base64; | ||||
|  | ||||
| /** | ||||
|  * @author <a href="https://github.com/007gzs">007</a> | ||||
|  */ | ||||
|  | ||||
| @ -22,18 +22,18 @@ public class WxOpenAuthorizationInfoGsonAdapter implements JsonDeserializer<WxOp | ||||
|     authorizationInfo.setAuthorizerRefreshToken(GsonHelper.getString(jsonObject, "authorizer_refresh_token")); | ||||
|     List<Integer> funcInfo = new ArrayList<>(); | ||||
|     JsonArray jsonArray = GsonHelper.getAsJsonArray(jsonObject.get("func_info")); | ||||
|     if(jsonArray != null && !jsonArray.isJsonNull()){ | ||||
|       for(int i = 0; i < jsonArray.size(); i++){ | ||||
|     if (jsonArray != null && !jsonArray.isJsonNull()) { | ||||
|       for (int i = 0; i < jsonArray.size(); i++) { | ||||
|         jsonObject = jsonArray.get(i).getAsJsonObject(); | ||||
|         if(jsonObject == null || jsonObject.isJsonNull()){ | ||||
|         if (jsonObject == null || jsonObject.isJsonNull()) { | ||||
|           continue; | ||||
|         } | ||||
|         jsonObject = jsonObject.getAsJsonObject("funcscope_category"); | ||||
|         if(jsonObject == null || jsonObject.isJsonNull()){ | ||||
|         if (jsonObject == null || jsonObject.isJsonNull()) { | ||||
|           continue; | ||||
|         } | ||||
|         Integer id = GsonHelper.getInteger(jsonObject, "id"); | ||||
|         if(id == null) { | ||||
|         if (id == null) { | ||||
|           continue; | ||||
|         } | ||||
|         funcInfo.add(id); | ||||
|  | ||||
| @ -23,10 +23,10 @@ public class WxOpenAuthorizerInfoGsonAdapter implements JsonDeserializer<WxOpenA | ||||
|     authorizationInfo.setPrincipalName(GsonHelper.getString(jsonObject, "principal_name")); | ||||
|     authorizationInfo.setAlias(GsonHelper.getString(jsonObject, "alias")); | ||||
|     authorizationInfo.setQrcodeUrl(GsonHelper.getString(jsonObject, "qrcode_url")); | ||||
|     if(jsonObject.has("service_type_info")) { | ||||
|     if (jsonObject.has("service_type_info")) { | ||||
|       authorizationInfo.setServiceTypeInfo(GsonHelper.getInteger(jsonObject.getAsJsonObject("service_type_info"), "id")); | ||||
|     } | ||||
|     if(jsonObject.has("verify_type_info")) { | ||||
|     if (jsonObject.has("verify_type_info")) { | ||||
|       authorizationInfo.setVerifyTypeInfo(GsonHelper.getInteger(jsonObject.getAsJsonObject("verify_type_info"), "id")); | ||||
|     } | ||||
|     Map<String, Integer> businessInfo = WxOpenGsonBuilder.create().fromJson(jsonObject.get("business_info"), | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Binary Wang
					Binary Wang