From d2a9c47a32695f8cab1384679fb64e8b440ca9e1 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期一, 05 八月 2024 14:19:47 +0800
Subject: [PATCH] 优云token接口

---
 ycl-pojo/src/main/java/com/ycl/platform/domain/param/UY/UYTokenParam.java |   18 +++++++++
 ycl-server/src/main/resources/application-prod.yml                        |   15 +++++++
 ycl-server/src/main/resources/application-dev.yml                         |    2 +
 ycl-server/src/main/java/com/ycl/task/UYTask.java                         |    4 +-
 ycl-server/src/main/java/com/ycl/calculate/IndexCalculationServe.java     |   12 ++----
 ycl-server/src/main/java/com/ycl/feign/UYClient.java                      |   13 ++++++
 ycl-server/src/main/java/com/ycl/interceptor/YYFeignInterceptor.java      |   39 +++++++++++++++++++
 7 files changed, 91 insertions(+), 12 deletions(-)

diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/param/UY/UYTokenParam.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/param/UY/UYTokenParam.java
new file mode 100644
index 0000000..447bce6
--- /dev/null
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/param/UY/UYTokenParam.java
@@ -0,0 +1,18 @@
+package com.ycl.platform.domain.param.UY;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+@Data
+@Accessors(chain = true)
+public class UYTokenParam {
+    /**
+     * 璐﹀彿
+     */
+    private String email;
+
+    /**
+     * 瀵嗙爜
+     */
+    private String passwd;
+}
diff --git a/ycl-server/src/main/java/com/ycl/calculate/IndexCalculationServe.java b/ycl-server/src/main/java/com/ycl/calculate/IndexCalculationServe.java
index 6bdf620..f372bb3 100644
--- a/ycl-server/src/main/java/com/ycl/calculate/IndexCalculationServe.java
+++ b/ycl-server/src/main/java/com/ycl/calculate/IndexCalculationServe.java
@@ -1,24 +1,20 @@
 package com.ycl.calculate;
 
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.ycl.platform.base.CheckIndex;
-import com.ycl.platform.domain.entity.CheckIndexCar;
-import com.ycl.platform.domain.entity.TMonitor;
 import com.ycl.platform.domain.entity.YwPoint;
-import com.ycl.platform.domain.result.HK.SnapshotDataMonitorResult;
 import com.ycl.platform.mapper.YwPointMapper;
-import com.ycl.platform.service.ITMonitorService;
 import constant.CheckConstants;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
-import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
 import java.math.RoundingMode;
-import java.util.*;
-import java.util.function.Function;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
 import java.util.stream.Collectors;
 
 /**
diff --git a/ycl-server/src/main/java/com/ycl/feign/UYClient.java b/ycl-server/src/main/java/com/ycl/feign/UYClient.java
index e350dcc..ce48a8f 100644
--- a/ycl-server/src/main/java/com/ycl/feign/UYClient.java
+++ b/ycl-server/src/main/java/com/ycl/feign/UYClient.java
@@ -2,12 +2,14 @@
 
 import com.alibaba.fastjson2.JSONObject;
 import com.ycl.platform.domain.param.UY.*;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.cloud.openfeign.SpringQueryMap;
 import org.springframework.stereotype.Component;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestHeader;
 
 /**
  * @author gonghl
@@ -50,7 +52,7 @@
      * @return
      */
     @GetMapping("/api/v1/app/osdMonitor/list")
-    JSONObject osdMonitorList(@SpringQueryMap OsdMonitorParam param);
+    JSONObject osdMonitorList(@SpringQueryMap OsdMonitorParam param, @RequestHeader("tenantId") String tenantId);
 
     /**
      * 鍥惧儚妫�娴嬭瘖鏂粨鏋�
@@ -69,4 +71,13 @@
      */
     @GetMapping("/api/v1/app/report/vqd/detail/list")
     JSONObject videoQuality(@SpringQueryMap VideoQualityParam param);
+
+    /**
+     * 浼樹簯鑾峰彇token鎺ュ彛
+     *
+     * @param param
+     * @return
+     */
+    @PostMapping("/tenant/api/vi/user/login")
+    JSONObject getToken(@RequestBody UYTokenParam param);
 }
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..52ec880 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,52 @@
 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.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");
+        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);
+        log.info("璇锋眰token鏁版嵁鏍煎紡" + jsonObject);
+        redisCache.setCacheObject("Uy_Token",jsonObject.toJSONString(),3600, TimeUnit.SECONDS);
+        return "1";
     }
 }
diff --git a/ycl-server/src/main/java/com/ycl/task/UYTask.java b/ycl-server/src/main/java/com/ycl/task/UYTask.java
index 7fa70ba..1e2558e 100644
--- a/ycl-server/src/main/java/com/ycl/task/UYTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/UYTask.java
@@ -26,7 +26,6 @@
 
 import java.util.Date;
 import java.util.List;
-import java.util.stream.Collectors;
 
 //浼樹簯瀵规帴鏁版嵁浠诲姟
 @Slf4j
@@ -116,6 +115,7 @@
         //褰曞儚鍙敤鐜�
         log.info("寮�濮嬫墽琛屽綍鍍忓彲鐢ㄦ暟鎹悓姝�");
         RecordMetaDSumParam param = new RecordMetaDSumParam();
+        param.setTenantId(tenantId);
         JSONObject jsonObject = uyClient.recordMetaDSumList(param);
         if (jsonObject != null) {
             if (jsonObject.getBoolean("success")) {
@@ -149,7 +149,7 @@
         //瑙嗛鏍囨敞
         log.info("寮�濮嬫墽琛岃棰戞爣娉ㄦ暟鎹悓姝�");
         OsdMonitorParam param = new OsdMonitorParam();
-        JSONObject jsonObject = uyClient.osdMonitorList(param);
+        JSONObject jsonObject = uyClient.osdMonitorList(param,tenantId);
         if (jsonObject != null) {
             if (jsonObject.getBoolean("success")) {
                 JSONObject data = jsonObject.getJSONObject("data");
diff --git a/ycl-server/src/main/resources/application-dev.yml b/ycl-server/src/main/resources/application-dev.yml
index d457d71..a84f9d2 100644
--- a/ycl-server/src/main/resources/application-dev.yml
+++ b/ycl-server/src/main/resources/application-dev.yml
@@ -135,3 +135,5 @@
 
 youYun:
   tenantId: 11
+  email: 11
+  passwd: 11
diff --git a/ycl-server/src/main/resources/application-prod.yml b/ycl-server/src/main/resources/application-prod.yml
index d1c5a60..2eb8adf 100644
--- a/ycl-server/src/main/resources/application-prod.yml
+++ b/ycl-server/src/main/resources/application-prod.yml
@@ -119,9 +119,24 @@
   # 璇锋眰鍓嶇紑
   pathMapping: /prod-api
 
+# MongoDB閰嶇疆
+spring:
+  data:
+    mongodb:
+      host: 42.193.1.25
+      database: zgyw
+      port: 27017
+      username: admin
+      password: ycl@202466
 
 # 鎷夊彇鏁版嵁璇锋眰閰嶇疆
 request:
   retry: 4 # 鏈�澶ч噸璇曟鏁�
   youYunDomain: 123.123.123.5 # 浼樹簯鍦板潃
   haiKangDomain: 123.123.123.1 # 娴峰悍鍦板潃
+
+youYun:
+  tenantId: e10adc3949ba59abbe56e057f2gg88dd
+  email: 11
+  passwd: 11
+

--
Gitblit v1.8.0