浏览代码

从redis中获取登录用户昵称

lyhzzz 2 年之前
父节点
当前提交
aa68d64a75

+ 1 - 14
src/main/java/com/fdkankan/fusion/common/util/JwtUtil.java

@@ -127,19 +127,6 @@ public class JwtUtil {
      *
      * @return token中包含的用户名
      */
-    public static String getNickName(String token) {
-        try {
-            DecodedJWT jwt = JWT.decode(token);
-            return jwt.getClaim("nickName").asString();
-        } catch (JWTDecodeException e) {
-            return null;
-        }
-    }
-    /**
-     * 获得token中的信息无需secret解密也能获得
-     *
-     * @return token中包含的用户名
-     */
     public static String getLoginType(String token) {
         try {
             DecodedJWT jwt = JWT.decode(token);
@@ -151,7 +138,7 @@ public class JwtUtil {
 
     public static void main(String[] args) {
         long start = System.currentTimeMillis();
-        System.out.println(getUsername("eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMzUzNjUwMTEyOCIsImxvZ2luVHlwZSI6InVzZXIiLCJ1c2VyTmFtZSI6IjEzNTM2NTAxMTI4IiwiaWF0IjoxNjU4ODI4NjA2LCJqdGkiOiI4NjczYjFiMi0xYjc4LTRmMTEtOGQ5My05OWE0OWRlMGVhMjAifQ.0oYzEwTsV1iLn_cMeiqLc5upJfcYipRbIDSndSxeuK0"));
+        System.out.println(getUsername("eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxODgxOTI3MjIwOCIsImxvZ2luVHlwZSI6InVzZXIiLCJ1c2VyTmFtZSI6IjE4ODE5MjcyMjA4IiwiaWF0IjoxNjcxNDIzMzcwLCJqdGkiOiI2MjQzN2MyMC0xNzM5LTQxNWItOWJhOC02MzdjY2YzMGQyZTUifQ.W2vp3xwggP6W5g2fpj84BD7ChaqbIH-xjMjBFO2qVXo"));
         System.out.println(System.currentTimeMillis() - start);
     }
 

+ 17 - 1
src/main/java/com/fdkankan/fusion/controller/BaseController.java

@@ -1,6 +1,10 @@
 package com.fdkankan.fusion.controller;
 
+import com.alibaba.fastjson.JSONObject;
 import com.fdkankan.fusion.common.util.JwtUtil;
+import com.fdkankan.fusion.httpClient.response.FdkkUserVo;
+import com.fdkankan.redis.constant.RedisKey;
+import com.fdkankan.redis.util.RedisUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.propertyeditors.StringTrimmerEditor;
 import org.springframework.data.domain.PageRequest;
@@ -23,6 +27,8 @@ public class BaseController {
 
     @Autowired
     protected HttpServletResponse response;
+    @Autowired
+    private RedisUtil redisUtil;
 
 
     protected String getToken(){
@@ -32,7 +38,17 @@ public class BaseController {
         return JwtUtil.getUsername(getToken());
     }
     protected String getNickName(){
-        return JwtUtil.getNickName(getToken());
+        try {
+            String fdToken = String.format(RedisKey.TOKEN_V3,getToken());
+            if(redisUtil.hasKey(fdToken)){
+                String jsonObj = redisUtil.get(fdToken);
+                FdkkUserVo fdkkUserVo = JSONObject.parseObject(jsonObj, FdkkUserVo.class);
+                return fdkkUserVo.getNickName();
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+        return null;
     }
 
 }

+ 2 - 0
src/main/java/com/fdkankan/fusion/controller/CaseFilesController.java

@@ -101,6 +101,8 @@ public class CaseFilesController extends BaseController{
         caseFiles.setCaseId(caseId);
         caseFiles.setFilesTypeId(filesTypeId);
         caseFiles.setFilesTitle(filesTitle);
+        caseFiles.setUserName(getUserName());
+        caseFiles.setNickName(getNickName());
         caseFiles.setImgType(imgType);
         caseFiles.setContent(content);
         caseFilesService.saveOrUpdate(caseFiles);