ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/utils/AuthRedisStateCache.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,65 @@
package org.dromara.common.social.utils;
import jakarta.annotation.PostConstruct;
import me.zhyd.oauth.cache.AuthStateCache;
import org.dromara.common.redis.utils.RedisUtils;
import org.dromara.common.social.config.properties.SocialProperties;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.ValueOperations;
import java.time.Duration;
public class AuthRedisStateCache implements AuthStateCache {
    private SocialProperties socialProperties;
    /**
     * å­˜å…¥ç¼“å­˜
     *
     * @param key   ç¼“å­˜key
     * @param value ç¼“存内容
     */
    @Override
    public void cache(String key, String value) {
        // TODO: è‡ªå®šä¹‰å­˜å…¥ç¼“å­˜
        RedisUtils.setCacheObject(key, value, Duration.ofMillis(socialProperties.getTimeout()));
    }
    /**
     * å­˜å…¥ç¼“å­˜
     *
     * @param key     ç¼“å­˜key
     * @param value   ç¼“存内容
     * @param timeout æŒ‡å®šç¼“存过期时间(毫秒)
     */
    @Override
    public void cache(String key, String value, long timeout) {
        // TODO: è‡ªå®šä¹‰å­˜å…¥ç¼“å­˜
        RedisUtils.setCacheObject(key, value, Duration.ofMillis(timeout));
    }
    /**
     * èŽ·å–ç¼“å­˜å†…å®¹
     *
     * @param key ç¼“å­˜key
     * @return ç¼“存内容
     */
    @Override
    public String get(String key) {
        // TODO: è‡ªå®šä¹‰èŽ·å–ç¼“å­˜å†…å®¹
        return RedisUtils.getCacheObject(key);
    }
    /**
     * æ˜¯å¦å­˜åœ¨key,如果对应key的value值已过期,也返回false
     *
     * @param key ç¼“å­˜key
     * @return true:存在key,并且value没过期;false:key不存在或者已过期
     */
    @Override
    public boolean containsKey(String key) {
        // TODO: è‡ªå®šä¹‰åˆ¤æ–­key是否存在
        return RedisUtils.hasKey(key);
    }
}