/* * Decompiled with CFR 0.152. * * Could not load the following classes: * cn.cloudwalk.cloud.context.CloudwalkSessionContextHolder * cn.cloudwalk.cloud.context.CloudwalkSessionObject * cn.cloudwalk.elevator.config.FeignThreadLocalUtil * feign.RequestInterceptor * feign.RequestTemplate * javax.servlet.http.HttpServletRequest * org.apache.commons.lang3.StringUtils * org.slf4j.Logger * org.slf4j.LoggerFactory * org.springframework.beans.factory.annotation.Autowired * org.springframework.context.annotation.Configuration * org.springframework.web.context.request.RequestContextHolder * org.springframework.web.context.request.ServletRequestAttributes */ package cn.cloudwalk.elevator; import cn.cloudwalk.cloud.context.CloudwalkSessionContextHolder; import cn.cloudwalk.cloud.context.CloudwalkSessionObject; import cn.cloudwalk.elevator.config.FeignThreadLocalUtil; import feign.RequestInterceptor; import feign.RequestTemplate; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; @Configuration public class AcsFeignConfiguration implements RequestInterceptor { protected final Logger logger = LoggerFactory.getLogger(AcsFeignConfiguration.class); @Autowired private CloudwalkSessionContextHolder cloudwalkSessionContextHolder; public void apply(RequestTemplate requestTemplate) { Map map = FeignThreadLocalUtil.get(); if (map != null && !map.isEmpty()) { requestTemplate.header("platformuserid", new String[]{(String)map.get("platformuserid")}); requestTemplate.header("loginid", new String[]{(String)map.get("loginid")}); requestTemplate.header("businessid", new String[]{(String)map.get("businessid")}); requestTemplate.header("username", new String[]{(String)map.get("username")}); requestTemplate.header("applicationid", new String[]{(String)map.get("applicationid")}); requestTemplate.header("authorization", new String[]{(String)map.get("authorization")}); this.logger.info("feign\u8c03\u7528\u914d\u7f6eheader\u53c2\u6570, businessId={}, threadId={}", requestTemplate.headers().get("businessid"), (Object)Thread.currentThread().getId()); } else { Map headerMap = requestTemplate.headers(); ServletRequestAttributes attributes = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes(); if (null != attributes) { HttpServletRequest request = attributes.getRequest(); if (!headerMap.containsKey("platformuserid")) { requestTemplate.header("platformuserid", new String[]{request.getHeader("platformuserid")}); } if (!headerMap.containsKey("loginid")) { requestTemplate.header("loginid", new String[]{request.getHeader("loginid")}); } if (!headerMap.containsKey("businessid")) { requestTemplate.header("businessid", new String[]{request.getHeader("businessid")}); } if (!headerMap.containsKey("username")) { requestTemplate.header("username", new String[]{request.getHeader("username")}); } if (!headerMap.containsKey("applicationid")) { requestTemplate.header("applicationid", new String[]{request.getHeader("applicationid")}); } if (!headerMap.containsKey("authorization")) { requestTemplate.header("authorization", new String[]{request.getHeader("authorization")}); } CloudwalkSessionObject session = this.cloudwalkSessionContextHolder.getSession(); if (StringUtils.isBlank((CharSequence)request.getHeader("businessid")) && session != null) { requestTemplate.header("businessid", new String[]{session.getCompany().getCompanyId()}); } if (StringUtils.isBlank((CharSequence)request.getHeader("applicationid")) && session != null) { requestTemplate.header("applicationid", new String[]{session.getApplicationId()}); } } } } }