From 04bf59bbc3fad774c57a2ee5ebf07db24b476bf2 Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期二, 17 十二月 2024 17:43:14 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit
---
server/system_service/src/main/java/com/doumee/config/jwt/JwtTokenUtil.java | 73 +++++++++++++++++++++++++++++++++++-
1 files changed, 70 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 9198e09..fff1fdd 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,29 +1,46 @@
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.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;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.http.HttpEntity;
+import org.apache.http.HttpResponse;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.http.util.EntityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
+import java.io.IOException;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.TimeUnit;
@Component
+@Slf4j
public class JwtTokenUtil {
@Autowired
private RedisTemplate<String,Object> redisTemplate;
@Resource
private JwtProperties jwtProperties;
-
-
+ @Autowired
+ private SystemDictDataBiz systemDictDataBiz ;
+ @Autowired
+ private SystemUserMapper systemUserMapper;
/**
* 鐢熸垚token浠ょ墝
*
@@ -113,11 +130,60 @@
*/
public void logout(String token) {
try {
- redisTemplate.delete(Constants.REDIS_TOKEN_KEY+token);//鍒犻櫎鑰佺殑token
+ //鐧诲嚭娴峰悍绯荤粺鏁版嵁
+ LoginUserInfo loginUserInfo = this.getUserInfoByToken(token);
+ String url = systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.HK_HTTPS).getCode() +
+ systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.HK_HOST).getCode() +
+ systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.LOGIN_OUT_URL).getCode();
+ if(StringUtils.isNotBlank(loginUserInfo.getHkMenuToken())){
+ log.info("璋冭捣娴峰悍閫�鍑虹櫥褰�=======================>"+url+"?token="+loginUserInfo.getHkMenuToken());
+// this.hkLoginOut(url+"?token="+loginUserInfo.getHkMenuToken());
+ HttpsUtil.get(url+"?token="+loginUserInfo.getHkMenuToken(),true);
+ }
+ //鍒犻櫎鑰佺殑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瀵硅薄
+ HttpClient httpClient = HttpClientBuilder.create().build();
+ // 鍒涘缓HttpGet瀵硅薄锛屾寚瀹氳璁块棶鐨刄RL鍦板潃
+ HttpGet httpGet = new HttpGet(url);
+ // 鍙戦�丟ET璇锋眰锛岃幏鍙栧搷搴�
+ HttpResponse response = httpClient.execute(httpGet);
+ // 鑾峰彇鍝嶅簲鐘舵�佺爜
+ int statusCode = response.getStatusLine().getStatusCode();
+ // 鍒ゆ柇璇锋眰鏄惁鎴愬姛
+ if (statusCode == 200) {
+ // 鑾峰彇鍝嶅簲鍐呭
+ HttpEntity entity = response.getEntity();
+ String responseContent = EntityUtils.toString(entity, "UTF-8");
+ System.out.println(responseContent);
+ log.info("璋冭捣娴峰悍閫�鍑虹櫥褰曡繑鍥炰俊鎭�=======================>"+responseContent);
+ } else {
+ System.out.println("璇锋眰澶辫触锛屽搷搴旂爜锛�" + statusCode);
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
/**
* 楠岃瘉浠ょ墝
@@ -150,6 +216,7 @@
return token;
}
+
/**
* 浠庝护鐗屼腑鑾峰彇鏁版嵁澹版槑,楠岃瘉JWT绛惧悕
*
--
Gitblit v1.9.3