From 8c6ed6820e53c27fa40973da285fd39a66424540 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期三, 07 五月 2025 14:03:08 +0800
Subject: [PATCH] 提交等保部分功能修改

---
 ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java |   26 +++++++++++++++++++-------
 1 files changed, 19 insertions(+), 7 deletions(-)

diff --git a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java
index 4cce577..432952c 100644
--- a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java
+++ b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java
@@ -5,6 +5,7 @@
 import java.util.concurrent.TimeUnit;
 import javax.servlet.http.HttpServletRequest;
 
+import com.ruoyi.common.core.exception.auth.NotLoginException;
 import com.ruoyi.common.core.exception.user.UserAppletException;
 import com.ruoyi.system.api.model.LoginUserApplet;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -61,9 +62,12 @@
 		claimsMap.put(SecurityConstants.USER_TYPE, "system");
 		claimsMap.put(SecurityConstants.DETAILS_USERNAME, userName);
 		
+		String token1 = JwtUtils.createToken(claimsMap);
+		String userKey = getUserKey(loginUser.getUserid());
+		redisService.setCacheObject(userKey, token1, expireTime, TimeUnit.MINUTES);
 		// 接口返回信息
 		Map<String, Object> rspMap = new HashMap<String, Object>();
-		rspMap.put("access_token", JwtUtils.createToken(claimsMap));
+		rspMap.put("access_token", token1);
 		rspMap.put("expires_in", expireTime);
 		return rspMap;
 	}
@@ -94,7 +98,7 @@
 	public LoginUserApplet getLoginUserApplet() {
 		LoginUserApplet loginUserAppletToken = getLoginUserAppletToken(ServletUtils.getRequest());
 		if (loginUserAppletToken == null) {
-			throw new UserAppletException("登录失效,请重新登录!", 401);
+			throw new NotLoginException("令牌已过期,请重新登录!");
 		}
 		return loginUserAppletToken;
 	}
@@ -130,7 +134,11 @@
 	 * @return 用户信息
 	 */
 	public LoginUser getLoginUser() {
-		return getLoginUser(ServletUtils.getRequest());
+		LoginUser loginUser = getLoginUser(ServletUtils.getRequest());
+		if (loginUser == null) {
+			throw new NotLoginException("令牌已过期,请重新登录!");
+		}
+		return loginUser;
 	}
 	
 	/**
@@ -203,19 +211,23 @@
 		loginUser.setLoginTime(System.currentTimeMillis());
 		loginUser.setExpireTime(loginUser.getLoginTime() + expireTime * MILLIS_MINUTE);
 		// 根据uuid将loginUser缓存
-		String userKey = getTokenKey(loginUser.getToken());
-		redisService.setCacheObject(userKey, loginUser, expireTime, TimeUnit.MINUTES);
+		String tokenKey = getTokenKey(loginUser.getToken());
+		redisService.setCacheObject(tokenKey, loginUser, expireTime, TimeUnit.MINUTES);
 	}
 	
 	public void refreshToken1(LoginUserApplet dto) {
 		dto.setLoginTime(System.currentTimeMillis());
-		dto.setExpireTime(dto.getLoginTime() + expireTime * MILLIS_MINUTE);
+		dto.setExpireTime(dto.getLoginTime() + expireAppletTime * MILLIS_MINUTE);
 		// 根据uuid将loginUser缓存
 		String userKey = getTokenKey(dto.getToken());
-		redisService.setCacheObject(userKey, dto, expireTime, TimeUnit.MINUTES);
+		redisService.setCacheObject(userKey, dto, expireAppletTime, TimeUnit.MINUTES);
 	}
 	
 	private String getTokenKey(String token) {
 		return ACCESS_TOKEN + token;
 	}
+	
+	private String getUserKey(Long userid) {
+		return ACCESS_TOKEN + userid;
+	}
 }
\ No newline at end of file

--
Gitblit v1.7.1