From aabe122f6184bf2918b51375065b6e09f23f75c4 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期二, 06 八月 2024 15:59:00 +0800 Subject: [PATCH] 抓拍系统配置区分车辆人脸 --- ycl-server/src/main/java/com/ycl/interceptor/YYFeignInterceptor.java | 44 ++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 42 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..e7b5b1c 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,55 @@ 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"); + 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); + log.info("璇锋眰token鏁版嵁鏍煎紡" + jsonObject); + redisCache.setCacheObject("Uy_Token",jsonObject.toJSONString(),3600, TimeUnit.SECONDS); + return "1"; } } -- Gitblit v1.8.0