From 13e16ff51a0609f7531b08afedd00cfb244dd450 Mon Sep 17 00:00:00 2001
From: lidongdong <1459917685@qq.com>
Date: 星期六, 08 十月 2022 09:17:17 +0800
Subject: [PATCH] 处理花城登录  token

---
 flower_city/src/main/java/com/dg/core/manager/RedisTokenManager.java |   54 +++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 51 insertions(+), 3 deletions(-)

diff --git a/flower_city/src/main/java/com/dg/core/manager/RedisTokenManager.java b/flower_city/src/main/java/com/dg/core/manager/RedisTokenManager.java
index fd6a87c..280bf8e 100644
--- a/flower_city/src/main/java/com/dg/core/manager/RedisTokenManager.java
+++ b/flower_city/src/main/java/com/dg/core/manager/RedisTokenManager.java
@@ -1,12 +1,14 @@
 package com.dg.core.manager;
 
 import com.dg.core.Constant;
+import io.jsonwebtoken.Claims;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.data.redis.core.script.DigestUtils;
 import org.springframework.data.redis.serializer.JdkSerializationRedisSerializer;
 import org.springframework.stereotype.Component;
+import org.springframework.util.ObjectUtils;
 
 import java.util.UUID;
 import java.util.concurrent.TimeUnit;
@@ -15,8 +17,8 @@
  * 通过Redis存储和验证token的实现类
  */
 @Component
-public class RedisTokenManager implements TokenManager {
-
+public class RedisTokenManager implements TokenManager
+{
     private RedisTemplate<String, String> redis;
 
     @Qualifier("redisTemplate")
@@ -38,7 +40,6 @@
         return token;
     }
 
-
     public boolean checkToken(String token) {
         if (token == null) {
             return false;
@@ -53,6 +54,30 @@
     }
 
 
+    /**
+     * 验证花城token
+     * @param token
+     * @return
+     */
+    @Override
+    public boolean checkHCToken(String token) {
+        if (token == null) {
+            return false;
+        }
+        // token解析
+        Claims claims = JWTTokenUtil.getClaimsFromToken(token);
+        if (ObjectUtils.isEmpty(claims)) {
+            return false;
+        }
+        String userId = claims.getSubject();
+        if (ObjectUtils.isEmpty(userId))
+        {
+            return false;
+        }
+        return true;
+    }
+
+
     @Override
     public long getUserId(String token) {
         if (token == null) {
@@ -62,6 +87,29 @@
         return Long.parseLong(userId);
     }
 
+    /**
+     * 获取花城e+的 UserId
+     * @param token
+     * @return
+     */
+    @Override
+    public long getHCUserId(String token) {
+        if (token == null) {
+            return -1;
+        }
+        // token解析
+        Claims claims = JWTTokenUtil.getClaimsFromToken(token);
+        if (ObjectUtils.isEmpty(claims)) {
+            return -1;
+        }
+        String userId = claims.getSubject();
+        if (ObjectUtils.isEmpty(userId))
+        {
+            return -1;
+        }
+        return Long.parseLong(userId);
+    }
+
     public void deleteToken(String token) {
         redis.delete(token);
     }

--
Gitblit v1.7.1