From e00e7bb0cab3853ae7f5e6a13fca82768879a033 Mon Sep 17 00:00:00 2001 From: Binary Wang Date: Tue, 14 Nov 2017 11:07:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E5=8C=96=E5=BC=80=E6=94=BE?= =?UTF-8?q?=E5=B9=B3=E5=8F=B0=E6=A8=A1=E5=9D=97=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../open/api/WxOpenComponentService.java | 1 + .../weixin/open/api/WxOpenConfigStorage.java | 28 +++++--- .../weixin/open/api/WxOpenService.java | 3 + .../api/impl/WxOpenComponentServiceImpl.java | 7 +- .../api/impl/WxOpenInMemoryConfigStorage.java | 68 ++++++++++--------- .../api/impl/WxOpenInRedisConfigStorage.java | 64 ++++++++++------- .../open/api/impl/WxOpenMpServiceImpl.java | 7 +- .../api/impl/WxOpenServiceAbstractImpl.java | 9 ++- .../WxOpenServiceApacheHttpClientImpl.java | 3 +- .../bean/WxOpenAuthorizerAccessToken.java | 3 +- .../open/bean/WxOpenComponentAccessToken.java | 3 +- .../bean/auth/WxOpenAuthorizationInfo.java | 4 +- .../open/bean/auth/WxOpenAuthorizerInfo.java | 4 +- .../open/bean/message/WxOpenXmlMessage.java | 7 +- .../result/WxOpenAuthorizerInfoResult.java | 4 +- .../result/WxOpenAuthorizerOptionResult.java | 4 +- .../bean/result/WxOpenQueryAuthResult.java | 4 +- .../weixin/open/util/WxOpenCryptUtil.java | 1 + .../WxOpenAuthorizationInfoGsonAdapter.java | 10 +-- .../json/WxOpenAuthorizerInfoGsonAdapter.java | 4 +- 20 files changed, 152 insertions(+), 86 deletions(-) diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/WxOpenComponentService.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/WxOpenComponentService.java index ded17248..c3c402c5 100644 --- a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/WxOpenComponentService.java +++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/WxOpenComponentService.java @@ -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(); diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/WxOpenConfigStorage.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/WxOpenConfigStorage.java index 8f6173b7..7e548253 100644 --- a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/WxOpenConfigStorage.java +++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/WxOpenConfigStorage.java @@ -9,29 +9,39 @@ 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); + /** * 应该是线程安全的 * - * @param componentAccessToken 新的accessToken值 - * @param expiresInSeconds 过期时间,以秒为单位 + * @param componentAccessToken 新的accessToken值 + * @param expiresInSeconds 过期时间,以秒为单位 */ void updateComponentAccessTokent(String componentAccessToken, int expiresInSeconds); @@ -42,7 +52,9 @@ public interface WxOpenConfigStorage { String getAuthorizerRefreshToken(String appId); + void setAuthorizerRefreshToken(String appId, String authorizerRefreshToken); + String getAuthorizerAccessToken(String appId); @@ -63,8 +75,8 @@ public interface WxOpenConfigStorage { /** * 应该是线程安全的 * - * @param authorizerAccessToken 新的accessToken值 - * @param expiresInSeconds 过期时间,以秒为单位 + * @param authorizerAccessToken 新的accessToken值 + * @param expiresInSeconds 过期时间,以秒为单位 */ void updateAuthorizerAccessToken(String appId, String authorizerAccessToken, int expiresInSeconds); diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/WxOpenService.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/WxOpenService.java index c0214d46..e11296e6 100644 --- a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/WxOpenService.java +++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/WxOpenService.java @@ -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请求 */ diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenComponentServiceImpl.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenComponentServiceImpl.java index 9f797e2f..45de69b1 100644 --- a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenComponentServiceImpl.java +++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenComponentServiceImpl.java @@ -30,9 +30,9 @@ import java.util.Map; * @author 007 */ public class WxOpenComponentServiceImpl implements WxOpenComponentService { + private static final Map wxOpenMpServiceMap = new Hashtable<>(); protected final Logger log = LoggerFactory.getLogger(this.getClass()); private WxOpenService wxOpenService; - private static final Map 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(); diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenInMemoryConfigStorage.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenInMemoryConfigStorage.java index dc10ee18..687a57d7 100644 --- a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenInMemoryConfigStorage.java +++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenInMemoryConfigStorage.java @@ -35,25 +35,13 @@ public class WxOpenInMemoryConfigStorage implements WxOpenConfigStorage { private Map 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 map, String key){ + + private String getTokenString(Map 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 map, String key){ + + private void expireToken(Map map, String key) { Token token = map.get(key); - if(token != null){ + if (token != null) { token.expiresTime = 0L; } } - private void updateToken(Map map, String key, String tokenString, Integer expiresInSeconds){ + + private void updateToken(Map 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() { diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenInRedisConfigStorage.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenInRedisConfigStorage.java index faaa95d8..c3bd6a2b 100644 --- a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenInRedisConfigStorage.java +++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenInRedisConfigStorage.java @@ -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); } diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenMpServiceImpl.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenMpServiceImpl.java index b4baf585..1f4a465f 100644 --- a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenMpServiceImpl.java +++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenMpServiceImpl.java @@ -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); diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenServiceAbstractImpl.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenServiceAbstractImpl.java index 5f937dc5..3276c429 100644 --- a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenServiceAbstractImpl.java +++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenServiceAbstractImpl.java @@ -17,17 +17,20 @@ import java.io.IOException; */ public abstract class WxOpenServiceAbstractImpl implements WxOpenService, RequestHttp { 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; } diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenServiceApacheHttpClientImpl.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenServiceApacheHttpClientImpl.java index e5b62b34..58921e69 100644 --- a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenServiceApacheHttpClientImpl.java +++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenServiceApacheHttpClientImpl.java @@ -10,9 +10,10 @@ import org.apache.http.impl.client.CloseableHttpClient; /** * apache-http方式实现 + * * @author 007 */ -public class WxOpenServiceApacheHttpClientImpl extends WxOpenServiceAbstractImpl { +public class WxOpenServiceApacheHttpClientImpl extends WxOpenServiceAbstractImpl { private CloseableHttpClient httpClient = DefaultApacheHttpClientBuilder.get().build(); private HttpHost httpProxy = null; diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/WxOpenAuthorizerAccessToken.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/WxOpenAuthorizerAccessToken.java index 429aad17..9b86412b 100644 --- a/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/WxOpenAuthorizerAccessToken.java +++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/WxOpenAuthorizerAccessToken.java @@ -7,7 +7,8 @@ import java.io.Serializable; /** * @author 007 */ -public class WxOpenAuthorizerAccessToken implements Serializable{ +public class WxOpenAuthorizerAccessToken implements Serializable { + private static final long serialVersionUID = -4069745419280727420L; private String authorizerAccessToken; diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/WxOpenComponentAccessToken.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/WxOpenComponentAccessToken.java index 31f79b75..8a97c24d 100644 --- a/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/WxOpenComponentAccessToken.java +++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/WxOpenComponentAccessToken.java @@ -7,7 +7,8 @@ import java.io.Serializable; /** * @author 007 */ -public class WxOpenComponentAccessToken implements Serializable{ +public class WxOpenComponentAccessToken implements Serializable { + private static final long serialVersionUID = 2134550135400443725L; private String componentAccessToken; diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/auth/WxOpenAuthorizationInfo.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/auth/WxOpenAuthorizationInfo.java index 687e31ed..23e8f149 100644 --- a/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/auth/WxOpenAuthorizationInfo.java +++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/auth/WxOpenAuthorizationInfo.java @@ -9,7 +9,9 @@ import java.util.List; * @author 007 */ @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; diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/auth/WxOpenAuthorizerInfo.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/auth/WxOpenAuthorizerInfo.java index b9f63a3e..86472403 100644 --- a/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/auth/WxOpenAuthorizerInfo.java +++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/auth/WxOpenAuthorizerInfo.java @@ -9,7 +9,9 @@ import java.util.Map; * @author 007 */ @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; diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/message/WxOpenXmlMessage.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/message/WxOpenXmlMessage.java index afcbd5f1..6b2e04fd 100644 --- a/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/message/WxOpenXmlMessage.java +++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/message/WxOpenXmlMessage.java @@ -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) { @@ -89,7 +92,7 @@ public class WxOpenXmlMessage implements Serializable{ public static WxOpenXmlMessage fromEncryptedXml(InputStream is, WxOpenConfigStorage wxOpenConfigStorage, String timestamp, String nonce, - String msgSignature) { + String msgSignature) { try { return fromEncryptedXml(IOUtils.toString(is, "UTF-8"), wxOpenConfigStorage, timestamp, nonce, msgSignature); diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/result/WxOpenAuthorizerInfoResult.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/result/WxOpenAuthorizerInfoResult.java index 040c9f02..7bccff5c 100644 --- a/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/result/WxOpenAuthorizerInfoResult.java +++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/result/WxOpenAuthorizerInfoResult.java @@ -10,7 +10,9 @@ import java.io.Serializable; * @author 007 */ @Data -public class WxOpenAuthorizerInfoResult implements Serializable{ +public class WxOpenAuthorizerInfoResult implements Serializable { + private static final long serialVersionUID = 3166298050833019785L; + private WxOpenAuthorizationInfo authorizationInfo; private WxOpenAuthorizerInfo authorizerInfo; } diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/result/WxOpenAuthorizerOptionResult.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/result/WxOpenAuthorizerOptionResult.java index d7bf7aa1..c0ccf008 100644 --- a/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/result/WxOpenAuthorizerOptionResult.java +++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/result/WxOpenAuthorizerOptionResult.java @@ -8,7 +8,9 @@ import java.io.Serializable; * @author 007 */ @Data -public class WxOpenAuthorizerOptionResult implements Serializable{ +public class WxOpenAuthorizerOptionResult implements Serializable { + private static final long serialVersionUID = 4477837353654658179L; + String authorizerAppid; String optionName; String optionValue; diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/result/WxOpenQueryAuthResult.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/result/WxOpenQueryAuthResult.java index 02dab988..5da7b6e6 100644 --- a/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/result/WxOpenQueryAuthResult.java +++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/result/WxOpenQueryAuthResult.java @@ -9,6 +9,8 @@ import java.io.Serializable; * @author 007 */ @Data -public class WxOpenQueryAuthResult implements Serializable{ +public class WxOpenQueryAuthResult implements Serializable { + private static final long serialVersionUID = 2394736235020206855L; + private WxOpenAuthorizationInfo authorizationInfo; } diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/util/WxOpenCryptUtil.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/util/WxOpenCryptUtil.java index 0adcdbb3..a27b6fe6 100644 --- a/weixin-java-open/src/main/java/me/chanjar/weixin/open/util/WxOpenCryptUtil.java +++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/util/WxOpenCryptUtil.java @@ -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 007 */ diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/util/json/WxOpenAuthorizationInfoGsonAdapter.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/util/json/WxOpenAuthorizationInfoGsonAdapter.java index 7aa0c00c..69df0647 100644 --- a/weixin-java-open/src/main/java/me/chanjar/weixin/open/util/json/WxOpenAuthorizationInfoGsonAdapter.java +++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/util/json/WxOpenAuthorizationInfoGsonAdapter.java @@ -22,18 +22,18 @@ public class WxOpenAuthorizationInfoGsonAdapter implements JsonDeserializer 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); diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/util/json/WxOpenAuthorizerInfoGsonAdapter.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/util/json/WxOpenAuthorizerInfoGsonAdapter.java index 5e1fb6d3..cc03a82e 100644 --- a/weixin-java-open/src/main/java/me/chanjar/weixin/open/util/json/WxOpenAuthorizerInfoGsonAdapter.java +++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/util/json/WxOpenAuthorizerInfoGsonAdapter.java @@ -23,10 +23,10 @@ public class WxOpenAuthorizerInfoGsonAdapter implements JsonDeserializer businessInfo = WxOpenGsonBuilder.create().fromJson(jsonObject.get("business_info"),