From db8242513644b246a30222663ef20e21f1e7c7ce Mon Sep 17 00:00:00 2001
From: heheng <475597332@qq.com>
Date: 星期二, 10 六月 2025 09:55:46 +0800
Subject: [PATCH] init

---
 exam-framework/src/main/java/com/gkhy/exam/framework/web/service/TokenService.java |   27 ++++++++++++++++++++++++++-
 1 files changed, 26 insertions(+), 1 deletions(-)

diff --git a/exam-framework/src/main/java/com/gkhy/exam/framework/web/service/TokenService.java b/exam-framework/src/main/java/com/gkhy/exam/framework/web/service/TokenService.java
index 4a34050..475c9ac 100644
--- a/exam-framework/src/main/java/com/gkhy/exam/framework/web/service/TokenService.java
+++ b/exam-framework/src/main/java/com/gkhy/exam/framework/web/service/TokenService.java
@@ -1,9 +1,11 @@
 package com.gkhy.exam.framework.web.service;
 
+import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.crypto.digest.DigestUtil;
 import com.gkhy.exam.common.api.ResultCode;
 import com.gkhy.exam.common.constant.CacheConstant;
 import com.gkhy.exam.common.domain.model.LoginUser;
+import com.gkhy.exam.common.domain.model.LoginUserDetails;
 import com.gkhy.exam.common.exception.ApiException;
 import com.gkhy.exam.common.utils.RedisUtils;
 import com.gkhy.exam.common.utils.StringUtils;
@@ -40,6 +42,8 @@
     protected static final long MILLIS_MINUTE = 60 * MILLIS_SECOND;
 
     private static final Long MILLIS_MINUTE_TEN = 20 * MILLIS_MINUTE;
+
+
 
     @Autowired
     private RedisUtils redisUtils;
@@ -258,5 +262,26 @@
         }
     }
 
-
+    /**
+     * 设置用户身份信息
+     */
+    public void setLoginUser(LoginUserDetails loginUser)
+    {
+        if (ObjectUtil.isNotNull(loginUser) && StringUtils.isNotEmpty(loginUser.getToken()))
+        {
+            refreshToken(loginUser);
+        }
+    }
+    /**
+     * 刷新令牌有效期
+     *
+     * @param loginUser 登录信息
+     */
+    public void refreshToken(LoginUserDetails loginUser)
+    {
+//        loginUser.setExpireTime(loginUser.getExpireTime()+EXPIRATION);
+        // 根据uuid将loginUser缓存
+        String userKey = getTokenKey(loginUser.getToken());
+        redisUtils.set(userKey, loginUser, EXPIRATION, TimeUnit.MINUTES);
+    }
 }

--
Gitblit v1.9.2