From d3e9a09cb54017a8063e5bfe3ace5012f66f3130 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期二, 25 三月 2025 18:34:34 +0800
Subject: [PATCH] 修改统计bug

---
 ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java |   19 +++++++++++++++++--
 1 files changed, 17 insertions(+), 2 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 8f95678..2511ad1 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.NotPermissionException;
 import com.ruoyi.system.api.model.LoginUser;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -56,6 +57,7 @@
 		claimsMap.put(SecurityConstants.DETAILS_USER_ID, userId);
 		claimsMap.put(SecurityConstants.USER_TYPE, "system");
 		claimsMap.put(SecurityConstants.DETAILS_USERNAME, userName);
+		claimsMap.put(SecurityConstants.EXPIRATION_TIME, System.currentTimeMillis() + expireTime * MILLIS_MINUTE);
 		
 		// 接口返回信息
 		Map<String, Object> rspMap = new HashMap<String, Object>();
@@ -80,6 +82,7 @@
 		claimsMap.put(SecurityConstants.DETAILS_USER_ID, userId);
 		claimsMap.put(SecurityConstants.USER_TYPE, "applet");
 		claimsMap.put(SecurityConstants.DETAILS_USERNAME, name);
+		claimsMap.put(SecurityConstants.EXPIRATION_TIME, System.currentTimeMillis() + expireAppletTime * MILLIS_MINUTE);
 		// 接口返回信息
 		Map<String, Object> rspMap = new HashMap<String, Object>();
 		rspMap.put("access_token", JwtUtils.createToken(claimsMap));
@@ -90,7 +93,8 @@
 	public LoginUser getLoginUserApplet() {
 		LoginUser loginUserAppletToken = getLoginUserAppletToken(ServletUtils.getRequest());
 		if (loginUserAppletToken == null) {
-			throw new RuntimeException("令牌已过期,请重新登录!");
+			System.out.println("loginUserAppletToken: "+loginUserAppletToken);
+			throw new NotPermissionException("令牌已过期,请重新登录!");
 		}
 		return loginUserAppletToken;
 	}
@@ -99,6 +103,14 @@
 		// 获取请求携带的令牌
 		String token = SecurityUtils.getToken(request);
 		return getLoginUserApplet(token);
+	}
+
+	/**
+	 * 判断用户是否登录
+	 */
+	public boolean isLoginApplet() {
+		LoginUser loginUserAppletToken = getLoginUserAppletToken(ServletUtils.getRequest());
+		return loginUserAppletToken != null;
 	}
 	
 	/**
@@ -128,7 +140,10 @@
 	public LoginUser getLoginUser() {
 		LoginUser loginUser = getLoginUser(ServletUtils.getRequest());
 		if (loginUser == null) {
-			throw new RuntimeException("令牌已过期,请重新登录!");
+			throw new NotPermissionException("令牌已过期,请重新登录!");
+		}
+		if(null == loginUser.getUserid()){
+			loginUser.setUserid(loginUser.getSysUser().getUserId());
 		}
 		return loginUser;
 	}

--
Gitblit v1.7.1