From 19321e1348baefa2a9f5211c42f8b797c0fcccd1 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期一, 27 十月 2025 18:11:56 +0800
Subject: [PATCH] 登录验证
---
server/system_service/src/main/java/com/doumee/config/jwt/JwtTokenUtil.java | 34 +++++++++++++++++++++++++++++++---
1 files changed, 31 insertions(+), 3 deletions(-)
diff --git a/server/system_service/src/main/java/com/doumee/config/jwt/JwtTokenUtil.java b/server/system_service/src/main/java/com/doumee/config/jwt/JwtTokenUtil.java
index 910d2f9..ec844c8 100644
--- a/server/system_service/src/main/java/com/doumee/config/jwt/JwtTokenUtil.java
+++ b/server/system_service/src/main/java/com/doumee/config/jwt/JwtTokenUtil.java
@@ -1,8 +1,10 @@
package com.doumee.config.jwt;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.doumee.biz.system.SystemDictDataBiz;
+import com.doumee.dao.system.model.SystemDictData;
import com.doumee.service.business.third.model.LoginUserInfo;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.HttpsUtil;
@@ -24,9 +26,7 @@
import javax.annotation.Resource;
import java.io.IOException;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
+import java.util.*;
import java.util.concurrent.TimeUnit;
@Component
@@ -214,6 +214,34 @@
.signWith(SignatureAlgorithm.HS512, jwtProperties.getSecret())
.compact();
redisTemplate.opsForValue().set(Constants.REDIS_TOKEN_KEY+token,JSONObject.toJSONString(userInfo),jwtProperties.getExpiration(), TimeUnit.MILLISECONDS);
+
+ String userTokenJsonStr = (String) redisTemplate.opsForValue().get(Constants.REDIS_USER_KEY+userInfo.getId());
+ if(StringUtils.isEmpty(userTokenJsonStr)){
+ redisTemplate.opsForValue().set(Constants.REDIS_USER_KEY+userInfo.getId(),Constants.REDIS_TOKEN_KEY+token);
+ }else{
+ List<String> list = Arrays.asList(userTokenJsonStr.split(","));
+ SystemDictData jointAccount = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.OPEN_JOINT_ACCOUNT);
+ //鍏抽棴鍏辩敤璐︽埛 闇�瑕佹竻绌哄叾浠杢oken淇℃伅
+ if(Objects.nonNull(jointAccount)&&Constants.equalsInteger(Integer.valueOf(jointAccount.getCode()),Constants.ONE)){
+ for (String s:list) {
+ redisTemplate.delete(s);
+ }
+ redisTemplate.delete(Constants.REDIS_USER_KEY+userInfo.getId());
+ redisTemplate.opsForValue().set(Constants.REDIS_USER_KEY+userInfo.getId(),Constants.REDIS_TOKEN_KEY+token);
+ }else{
+ Boolean isHave = false;
+ for (String s:list) {
+ if(s.equals(Constants.REDIS_TOKEN_KEY+token)){
+ isHave = true;
+ break;
+ }
+ }
+ if(!isHave){
+ redisTemplate.opsForValue().set(Constants.REDIS_USER_KEY+userInfo.getId(),userTokenJsonStr + "," + Constants.REDIS_TOKEN_KEY+token);
+ }
+ }
+ }
+
return token;
}
--
Gitblit v1.9.3