mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2025-09-19 18:22:27 +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,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);
|
||||
|
||||
|
@@ -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,9 +10,10 @@ 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> {
|
||||
public class WxOpenServiceApacheHttpClientImpl extends WxOpenServiceAbstractImpl<CloseableHttpClient, HttpHost> {
|
||||
private CloseableHttpClient httpClient = DefaultApacheHttpClientBuilder.get().build();
|
||||
private HttpHost httpProxy = null;
|
||||
|
||||
|
@@ -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) {
|
||||
@@ -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);
|
||||
|
@@ -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