From f8751d6e701e0c3e7d8959449b67db6c35d09ec8 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期日, 08 十二月 2024 19:24:07 +0800
Subject: [PATCH] 新增故障类型

---
 ycl-server/src/main/java/com/ycl/interceptor/YYFeignInterceptor.java |   45 ++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 44 insertions(+), 1 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 4db9bd0..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,14 +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) {
-        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