Commit ed1ca6eef83df53ff1f1888d0dbed1f58001210c

Authored by zhangdaiscott
1 parent d37ff63a

微服务对多租户的支持issues/I5AO20

jeecg-boot/jeecg-boot-starter/jeecg-boot-starter-cloud/src/main/java/org/jeecg/config/FeignConfig.java
... ... @@ -12,6 +12,7 @@ import org.jeecg.common.constant.CommonConstant;
12 12 import org.jeecg.common.util.DateUtils;
13 13 import org.jeecg.common.util.PathMatcherUtil;
14 14 import org.jeecg.common.config.mqtoken.UserTokenContext;
  15 +import org.jeecg.config.mybatis.TenantContext;
15 16 import org.jeecg.config.sign.interceptor.SignAuthConfiguration;
16 17 import org.jeecg.config.sign.util.HttpUtils;
17 18 import org.jeecg.config.sign.util.SignUtil;
... ... @@ -73,10 +74,27 @@ public class FeignConfig {
73 74 }
74 75 log.info("Feign Login Request token: {}", token);
75 76 requestTemplate.header(CommonConstant.X_ACCESS_TOKEN, token);
  77 +
  78 + //update-begin-author:taoyan date:2022-6-23 for: issues/I5AO20 多租户微服务之间调用找不到tenant-id(自定义页面)
  79 + // 将tenantId信息放入header中
  80 + String tenantId = request.getHeader(CommonConstant.TENANT_ID);
  81 + if(tenantId==null || "".equals(tenantId)){
  82 + tenantId = request.getParameter(CommonConstant.TENANT_ID);
  83 + }
  84 + log.info("Feign Login Request tenantId: {}", tenantId);
  85 + requestTemplate.header(CommonConstant.TENANT_ID, tenantId);
  86 + //update-end-author:taoyan date:2022-6-23 for: issues/I5AO20 多租户微服务之间调用找不到tenant-id(自定义页面)
  87 +
76 88 }else{
77 89 String token = UserTokenContext.getToken();
78 90 log.info("Feign no Login token: {}", token);
79 91 requestTemplate.header(CommonConstant.X_ACCESS_TOKEN, token);
  92 +
  93 + //update-begin-author:taoyan date:2022-6-23 for: issues/I5AO20 多租户微服务之间调用找不到tenant-id(自定义页面)
  94 + String tenantId = TenantContext.getTenant();
  95 + log.info("Feign no Login tenantId: {}", tenantId);
  96 + requestTemplate.header(CommonConstant.TENANT_ID, tenantId);
  97 + //update-end-author:taoyan date:2022-6-23 for: issues/I5AO20 多租户微服务之间调用找不到tenant-id(自定义页面)
80 98 }
81 99  
82 100 //================================================================================================================
... ... @@ -99,7 +117,9 @@ public class FeignConfig {
99 117 log.info(" Feign request params sign: {}",sign);
100 118 log.info("============================ [end] fegin starter url ============================");
101 119 requestTemplate.header(CommonConstant.X_SIGN, sign);
102   - requestTemplate.header(CommonConstant.X_TIMESTAMP, DateUtils.getCurrentTimestamp().toString());
  120 + //update-begin--author:taoyan---date:20220421--for: VUEN-410【签名改造】 X-TIMESTAMP牵扯
  121 + requestTemplate.header(CommonConstant.X_TIMESTAMP, String.valueOf(System.currentTimeMillis()));
  122 + //update-end--author:taoyan---date:20220421--for: VUEN-410【签名改造】 X-TIMESTAMP牵扯
103 123 } catch (IOException e) {
104 124 e.printStackTrace();
105 125 }
... ... @@ -141,7 +161,7 @@ public class FeignConfig {
141 161 return new SpringEncoder(feignHttpMessageConverter());
142 162 }
143 163  
144   - @Bean("starterFeignDecoder")
  164 + @Bean
145 165 public Decoder feignDecoder() {
146 166 return new SpringDecoder(feignHttpMessageConverter());
147 167 }
... ...