mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2025-04-05 17:38:05 +08:00
🎨 open模块移除Jedis强关联
This commit is contained in:
parent
15bd95c3cb
commit
65c1cdc07c
@ -2,11 +2,10 @@ package com.binarywang.spring.starter.wxjava.open.config.storage;
|
|||||||
|
|
||||||
import com.binarywang.spring.starter.wxjava.open.properties.WxOpenProperties;
|
import com.binarywang.spring.starter.wxjava.open.properties.WxOpenProperties;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import me.chanjar.weixin.common.redis.RedisTemplateWxRedisOps;
|
|
||||||
import me.chanjar.weixin.common.redis.WxRedisOps;
|
|
||||||
import me.chanjar.weixin.open.api.WxOpenConfigStorage;
|
import me.chanjar.weixin.open.api.WxOpenConfigStorage;
|
||||||
import me.chanjar.weixin.open.api.impl.WxOpenInMemoryConfigStorage;
|
import me.chanjar.weixin.open.api.impl.WxOpenInMemoryConfigStorage;
|
||||||
import me.chanjar.weixin.open.api.impl.WxOpenInRedisConfigStorage;
|
import me.chanjar.weixin.open.api.impl.WxOpenInRedisTemplateConfigStorage;
|
||||||
|
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||||
@ -35,9 +34,8 @@ public class WxOpenInRedisTemplateConfigStorageConfiguration extends AbstractWxO
|
|||||||
return this.config(config, properties);
|
return this.config(config, properties);
|
||||||
}
|
}
|
||||||
|
|
||||||
private WxOpenInRedisConfigStorage getWxOpenInRedisTemplateConfigStorage() {
|
private WxOpenInRedisTemplateConfigStorage getWxOpenInRedisTemplateConfigStorage() {
|
||||||
StringRedisTemplate redisTemplate = applicationContext.getBean(StringRedisTemplate.class);
|
StringRedisTemplate redisTemplate = applicationContext.getBean(StringRedisTemplate.class);
|
||||||
WxRedisOps redisOps = new RedisTemplateWxRedisOps(redisTemplate);
|
return new WxOpenInRedisTemplateConfigStorage(redisTemplate, properties.getConfigStorage().getKeyPrefix());
|
||||||
return new WxOpenInRedisConfigStorage(redisOps, properties.getConfigStorage().getKeyPrefix());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -91,6 +91,10 @@
|
|||||||
<groupId>org.redisson</groupId>
|
<groupId>org.redisson</groupId>
|
||||||
<artifactId>redisson</artifactId>
|
<artifactId>redisson</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.data</groupId>
|
||||||
|
<artifactId>spring-data-redis</artifactId>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
@ -0,0 +1,145 @@
|
|||||||
|
package me.chanjar.weixin.open.api.impl;
|
||||||
|
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
import java.util.concurrent.locks.Lock;
|
||||||
|
|
||||||
|
import org.springframework.data.redis.core.RedisTemplate;
|
||||||
|
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||||
|
|
||||||
|
import lombok.NonNull;
|
||||||
|
import me.chanjar.weixin.common.redis.JedisWxRedisOps;
|
||||||
|
import me.chanjar.weixin.common.redis.RedisTemplateWxRedisOps;
|
||||||
|
import me.chanjar.weixin.common.redis.WxRedisOps;
|
||||||
|
import redis.clients.jedis.Jedis;
|
||||||
|
import redis.clients.jedis.util.Pool;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* RedisTemplateConfigStorage
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* @author taneg
|
||||||
|
* @date 2021/05/13 11:12:35
|
||||||
|
*/
|
||||||
|
public class WxOpenInRedisTemplateConfigStorage extends AbstractWxOpenInRedisConfigStorage {
|
||||||
|
|
||||||
|
private final WxRedisOps redisOps;
|
||||||
|
|
||||||
|
public WxOpenInRedisTemplateConfigStorage(@NonNull StringRedisTemplate stringRedisTemplate, String keyPrefix) {
|
||||||
|
this(new RedisTemplateWxRedisOps(stringRedisTemplate), keyPrefix);
|
||||||
|
}
|
||||||
|
|
||||||
|
public WxOpenInRedisTemplateConfigStorage(@NonNull WxRedisOps redisOps, String keyPrefix) {
|
||||||
|
this.redisOps = redisOps;
|
||||||
|
this.keyPrefix = keyPrefix;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getComponentVerifyTicket() {
|
||||||
|
return redisOps.getValue(this.componentVerifyTicketKey);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setComponentVerifyTicket(String componentVerifyTicket) {
|
||||||
|
redisOps.setValue(this.componentVerifyTicketKey, componentVerifyTicket, Integer.MAX_VALUE, TimeUnit.SECONDS);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getComponentAccessToken() {
|
||||||
|
return redisOps.getValue(this.componentAccessTokenKey);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isComponentAccessTokenExpired() {
|
||||||
|
Long expire = redisOps.getExpire(this.componentAccessTokenKey);
|
||||||
|
return expire == null || expire < 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void expireComponentAccessToken() {
|
||||||
|
redisOps.expire(this.componentAccessTokenKey, 0, TimeUnit.SECONDS);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateComponentAccessToken(String componentAccessToken, int expiresInSeconds) {
|
||||||
|
redisOps.setValue(this.componentAccessTokenKey, componentAccessToken, expiresInSeconds - 200, TimeUnit.SECONDS);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getAuthorizerRefreshToken(String appId) {
|
||||||
|
return redisOps.getValue(this.getKey(this.authorizerRefreshTokenKey, appId));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setAuthorizerRefreshToken(String appId, String authorizerRefreshToken) {
|
||||||
|
redisOps.setValue(this.getKey(this.authorizerRefreshTokenKey, appId), authorizerRefreshToken, 0, TimeUnit.SECONDS);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getAuthorizerAccessToken(String appId) {
|
||||||
|
return redisOps.getValue(this.getKey(this.authorizerAccessTokenKey, appId));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isAuthorizerAccessTokenExpired(String appId) {
|
||||||
|
Long expire = redisOps.getExpire(this.getKey(this.authorizerAccessTokenKey, appId));
|
||||||
|
return expire == null || expire < 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void expireAuthorizerAccessToken(String appId) {
|
||||||
|
redisOps.expire(this.getKey(this.authorizerAccessTokenKey, appId), 0, TimeUnit.SECONDS);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateAuthorizerAccessToken(String appId, String authorizerAccessToken, int expiresInSeconds) {
|
||||||
|
redisOps.setValue(this.getKey(this.authorizerAccessTokenKey, appId), authorizerAccessToken, expiresInSeconds - 200, TimeUnit.SECONDS);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getJsapiTicket(String appId) {
|
||||||
|
return redisOps.getValue(this.getKey(this.jsapiTicketKey, appId));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isJsapiTicketExpired(String appId) {
|
||||||
|
Long expire = redisOps.getExpire(this.getKey(this.jsapiTicketKey, appId));
|
||||||
|
return expire == null || expire < 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void expireJsapiTicket(String appId) {
|
||||||
|
redisOps.expire(this.getKey(this.jsapiTicketKey, appId), 0, TimeUnit.SECONDS);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateJsapiTicket(String appId, String jsapiTicket, int expiresInSeconds) {
|
||||||
|
redisOps.setValue(this.getKey(this.jsapiTicketKey, appId), jsapiTicket, expiresInSeconds - 200, TimeUnit.SECONDS);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getCardApiTicket(String appId) {
|
||||||
|
return redisOps.getValue(this.getKey(this.cardApiTicket, appId));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isCardApiTicketExpired(String appId) {
|
||||||
|
Long expire = redisOps.getExpire(this.getKey(this.cardApiTicket, appId));
|
||||||
|
return expire == null || expire < 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void expireCardApiTicket(String appId) {
|
||||||
|
redisOps.expire(this.getKey(this.cardApiTicket, appId), 0, TimeUnit.SECONDS);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateCardApiTicket(String appId, String cardApiTicket, int expiresInSeconds) {
|
||||||
|
redisOps.setValue(this.getKey(this.cardApiTicket, appId), cardApiTicket, expiresInSeconds - 200, TimeUnit.SECONDS);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Lock getLockByKey(String key) {
|
||||||
|
return redisOps.getLock(key);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user