mirror of
https://github.com/hpd840321/starRiverProperty.git
synced 2026-06-09 16:30:29 +08:00
e8672a3c7b
Former-commit-id: dc30d42a8c55ed8b2382a41dc2434233fbed9930
88 lines
4.5 KiB
Java
88 lines
4.5 KiB
Java
/*
|
|
* 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()});
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|