From 8995a87dc1599e2cbbfc7bc4ef0a8f68a159b5e5 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期日, 28 九月 2025 16:38:58 +0800
Subject: [PATCH] 优化
---
server/system_service/src/main/java/com/doumee/config/jwt/JwtTokenUtil.java | 36 ++++++++++++++++++++++++++++++++----
1 files changed, 32 insertions(+), 4 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 8e539a4..910d2f9 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,10 +1,13 @@
package com.doumee.config.jwt;
import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.doumee.biz.system.SystemDictDataBiz;
-import com.doumee.core.model.LoginUserInfo;
+import com.doumee.service.business.third.model.LoginUserInfo;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.HttpsUtil;
+import com.doumee.dao.system.SystemUserMapper;
+import com.doumee.dao.system.model.SystemUser;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
import lombok.extern.slf4j.Slf4j;
@@ -36,7 +39,8 @@
private JwtProperties jwtProperties;
@Autowired
private SystemDictDataBiz systemDictDataBiz ;
-
+ @Autowired
+ private SystemUserMapper systemUserMapper;
/**
* 鐢熸垚token浠ょ墝
*
@@ -136,14 +140,26 @@
// this.hkLoginOut(url+"?token="+loginUserInfo.getHkMenuToken());
HttpsUtil.get(url+"?token="+loginUserInfo.getHkMenuToken(),true);
}
- redisTemplate.delete(Constants.REDIS_TOKEN_KEY+token);//鍒犻櫎鑰佺殑token
-
+ //鍒犻櫎鑰佺殑token
+ redisTemplate.delete(Constants.REDIS_TOKEN_KEY+token);
} catch (Exception e) {
e.printStackTrace();
}
}
+ public void logoutForH5(String token) {
+ try {
+ //鐧诲嚭娴峰悍绯荤粺鏁版嵁
+ LoginUserInfo loginUserInfo = this.getUserInfoByToken(token);
+ //鍒犻櫎鑰佺殑token
+ redisTemplate.delete(Constants.REDIS_TOKEN_KEY+token);
+ systemUserMapper.update(null,new UpdateWrapper<SystemUser>().lambda().set(SystemUser::getOpenid,null)
+ .eq(SystemUser::getId,loginUserInfo.getId()));
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
public void hkLoginOut(String url){
try {
// 鍒涘缓HttpClient瀵硅薄
@@ -213,9 +229,21 @@
try {
String userInfo = (String) redisTemplate.opsForValue().get(Constants.REDIS_TOKEN_KEY+token);
claims = JSONObject.toJavaObject(JSONObject.parseObject(userInfo),LoginUserInfo.class);
+ refreshTokenTime(token);
} catch (Exception e) {
claims = null;
}
return claims;
}
+
+ /**
+ * 鍚戝悗寤朵几鏈夋晥鏈熶繚鎸佷細璇濈户缁�
+ * @param token
+ */
+ public void refreshTokenTime(String token ) {
+ log.error("===============寮�濮嬪埛鏂扮櫥褰晅oken"+token);
+ redisTemplate.expire(Constants.REDIS_TOKEN_KEY+token,jwtProperties.getExpiration(), TimeUnit.MILLISECONDS);
+ log.error("===============缁撴潫鍒锋柊鐧诲綍token"+token);
+// redisTemplate.opsForValue().set(Constants.REDIS_TOKEN_KEY+token,usrerInfo,jwtProperties.getExpiration(), TimeUnit.MILLISECONDS);
+ }
}
\ No newline at end of file
--
Gitblit v1.9.3