fuliqi
2024-08-05 d2a9c47a32695f8cab1384679fb64e8b440ca9e1
优云token接口
6个文件已修改
1个文件已添加
103 ■■■■ 已修改文件
ycl-pojo/src/main/java/com/ycl/platform/domain/param/UY/UYTokenParam.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/calculate/IndexCalculationServe.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/feign/UYClient.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/interceptor/YYFeignInterceptor.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/task/UYTask.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/resources/application-dev.yml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/resources/application-prod.yml 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/param/UY/UYTokenParam.java
New file
@@ -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;
}
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;
/**
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);
}
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";
    }
}
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");
ycl-server/src/main/resources/application-dev.yml
@@ -135,3 +135,5 @@
youYun:
  tenantId: 11
  email: 11
  passwd: 11
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