From d268f82d25c25ebdc7a1ea30614f6cda6d3a9ae3 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期四, 10 十月 2024 16:31:41 +0800
Subject: [PATCH] win库+大屏考核指标查询bug

---
 ycl-server/src/main/java/com/ycl/interceptor/YYFeignInterceptor.java |   46 ++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 44 insertions(+), 2 deletions(-)

diff --git a/ycl-server/src/main/java/com/ycl/interceptor/YYFeignInterceptor.java b/ycl-server/src/main/java/com/ycl/interceptor/YYFeignInterceptor.java
index 53dcb3a..c9a594e 100644
--- a/ycl-server/src/main/java/com/ycl/interceptor/YYFeignInterceptor.java
+++ b/ycl-server/src/main/java/com/ycl/interceptor/YYFeignInterceptor.java
@@ -1,15 +1,57 @@
 package com.ycl.interceptor;
 
+import com.alibaba.fastjson2.JSONObject;
+import com.ycl.feign.UYClient;
+import com.ycl.platform.domain.param.UY.UYTokenParam;
+import com.ycl.platform.domain.result.UY.UYLoginResult;
+import com.ycl.utils.redis.RedisCache;
 import feign.RequestInterceptor;
 import feign.RequestTemplate;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+
+import org.springframework.context.annotation.Lazy;
+import org.springframework.data.redis.core.RedisTemplate;
+
+import java.util.concurrent.TimeUnit;
+
 
 /**
  * 浼樹簯璇锋眰鎷︽埅鍣�
  */
+@Slf4j
 public class YYFeignInterceptor implements RequestInterceptor {
+    @Autowired
+    @Lazy
+    private UYClient uyClient;
+    @Autowired
+    private RedisCache redisCache;
+    @Value("${youYun.email}")
+    private String email;
+    @Value("${youYun.passwd}")
+    private String passwd;
+
     @Override
     public void apply(RequestTemplate requestTemplate) {
-        System.out.println("wodefa");
-        requestTemplate.header("token", "auth");
+        boolean flag = requestTemplate.headers().containsKey("No-Need-To-Token");
+        if (!flag) {
+            String uyToken = redisCache.getCacheObject("UY_Token");
+            if (uyToken == null) {
+                uyToken = getToken();
+            }
+            requestTemplate.header("Cookie", "token=" + uyToken);
+        }
+    }
+
+    private String getToken() {
+        UYTokenParam param = new UYTokenParam();
+        param.setPasswd(passwd);
+        param.setEmail(email);
+        JSONObject jsonObject = uyClient.getToken(param);
+        UYLoginResult loginResult = jsonObject.getObject("data", UYLoginResult.class);
+        String token = loginResult.getToken();
+        redisCache.setCacheObject("Uy_Token", token, 3600, TimeUnit.SECONDS);
+        return token;
     }
 }

--
Gitblit v1.8.0