package com.malk.utils;

import cn.hutool.cache.CacheUtil;
import cn.hutool.cache.impl.TimedCache;

/**
 * token过期处理
 */
public abstract class UtilToken {

    private static final TimedCache<String, String> TIMED_CACHE = CacheUtil.newTimedCache(0);

    public static void put(String key, String value, Long timeout) {
        if (timeout > 5000) timeout -= 5000; // 避免极端情况, 冗余5s容错处理
        /** 设置消逝时间 */
        TIMED_CACHE.put(key, value, timeout);
    }

    public static String get(String key) {
        // 不刷新消逝时间
        return TIMED_CACHE.get(key, false);
    }

    public static String getWithRefresh(String key) {
        // 重新刷新消逝时间
        return TIMED_CACHE.get(key);
    }
}