From 47a53d22a025c0ed095c9c4ed2e1ce35ce54184e Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期三, 30 十月 2024 14:16:16 +0800 Subject: [PATCH] 代码初始化 --- server/system_service/src/main/java/com/doumee/config/jwt/JwtTokenUtil.java | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 52 insertions(+), 1 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 f88920c..8e539a4 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,28 +1,41 @@ package com.doumee.config.jwt; import com.alibaba.fastjson.JSONObject; +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 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 ; /** * 鐢熸垚token浠ょ墝 @@ -113,12 +126,50 @@ */ public void logout(String token) { try { + //鐧诲嚭娴峰悍绯荤粺鏁版嵁 + 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); + } redisTemplate.delete(Constants.REDIS_TOKEN_KEY+token);//鍒犻櫎鑰佺殑token + } 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(); + } + } + + /** * 楠岃瘉浠ょ墝 * -- Gitblit v1.9.3