From 76e92fd8db6ef1c6687c7635c8639af43bdb3ab8 Mon Sep 17 00:00:00 2001 From: chenshaohua <635616957@qq.com> Date: Tue, 12 May 2026 16:45:35 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9token=E8=B6=85=E6=97=B6?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E4=B8=BA2=E4=B8=AA=E5=B0=8F=E6=97=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/service/TokenSiteService.java | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenSiteService.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenSiteService.java index f1d6928..b601d80 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenSiteService.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenSiteService.java @@ -157,17 +157,15 @@ public class TokenSiteService String token = IdUtils.fastUUID(); LoginSiteUser.setToken(token); setUserAgent(LoginSiteUser); - - //redis存2个小时 - String userKey = getTokenKey(token, String.valueOf(LoginSiteUser.getUserId())); - redisCache.setCacheObject(userKey, LoginSiteUser, 2, TimeUnit.HOURS); + //缓存2个小时 + refreshTokenTwoHour(LoginSiteUser); Map claims = new HashMap<>(); claims.put(Constants.APP_LOGIN_USER_KEY, token); claims.put(Constants.APP_LOGIN_USER_ID, LoginSiteUser.getUserId()); // 当前时间 + 120 分钟 long currentTimeMillis = System.currentTimeMillis(); - long expireTimeMillis = currentTimeMillis + ((long) expireTime * 3 * 60 * 1000); // 12分钟 = 1800000 毫秒 + long expireTimeMillis = currentTimeMillis + ((long) expireTime * 4 * 60 * 1000); // 12分钟 = 1800000 毫秒 long expireTimeSeconds = expireTimeMillis / 1000; // 转换为秒(时间戳) claims.put(Constants.EXP, expireTimeSeconds); return createToken(claims); @@ -200,8 +198,21 @@ public class TokenSiteService LoginSiteUser.setExpireTime(LoginSiteUser.getLoginTime() + expireTime * MILLIS_MINUTE); // 根据uuid将LoginSiteUser缓存 String userKey = getTokenKey(LoginSiteUser.getToken(), String.valueOf(LoginSiteUser.getUserId())); - //redisCache.setCacheObject(userKey, LoginSiteUser, expireTime, TimeUnit.MINUTES); - redisCache.setCacheObject(userKey, LoginSiteUser); + redisCache.setCacheObject(userKey, LoginSiteUser, expireTime, TimeUnit.MINUTES); + //redisCache.setCacheObject(userKey, LoginSiteUser); + } + + /** + * 缓存2个小时 + * @param LoginSiteUser + */ + public void refreshTokenTwoHour(LoginSiteUser LoginSiteUser) + { + LoginSiteUser.setLoginTime(System.currentTimeMillis()); + LoginSiteUser.setExpireTime(LoginSiteUser.getLoginTime() + expireTime * 4 * MILLIS_MINUTE); + // 根据uuid将LoginSiteUser缓存 + String userKey = getTokenKey(LoginSiteUser.getToken(), String.valueOf(LoginSiteUser.getUserId())); + redisCache.setCacheObject(userKey, LoginSiteUser, 2, TimeUnit.HOURS); } /**