|
@ -17,8 +17,6 @@ import org.springframework.stereotype.Component; |
|
|
import org.springframework.web.server.ServerWebExchange; |
|
|
import org.springframework.web.server.ServerWebExchange; |
|
|
import reactor.core.publisher.Mono; |
|
|
import reactor.core.publisher.Mono; |
|
|
|
|
|
|
|
|
import java.util.UUID; |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* Feign调用发送请求的Filter |
|
|
* Feign调用发送请求的Filter |
|
|
* 目前用于封装用户相关信息到request,供上游微服务使用 |
|
|
* 目前用于封装用户相关信息到request,供上游微服务使用 |
|
@ -58,11 +56,28 @@ public class FeignRequestFilter implements GlobalFilter, UserTokenFilter { |
|
|
if (baseTokenDto != null) { |
|
|
if (baseTokenDto != null) { |
|
|
ServerHttpRequest build = exchange.getRequest().mutate() |
|
|
ServerHttpRequest build = exchange.getRequest().mutate() |
|
|
.header(AppClientConstant.USER_ID, new String[]{baseTokenDto.getUserId()}) |
|
|
.header(AppClientConstant.USER_ID, new String[]{baseTokenDto.getUserId()}) |
|
|
.header(AppClientConstant.TRANSACTION_SERIAL_KEY, new String[]{UUID.randomUUID().toString()}) |
|
|
.header(AppClientConstant.TRANSACTION_SERIAL_KEY, new String[]{getTransactionSerial()}) |
|
|
.build(); |
|
|
.build(); |
|
|
return chain.filter(exchange.mutate().request(build).build()); |
|
|
return chain.filter(exchange.mutate().request(build).build()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
return chain.filter(exchange); |
|
|
return chain.filter(exchange); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 获取事务流水号 |
|
|
|
|
|
* @return |
|
|
|
|
|
*/ |
|
|
|
|
|
public static String getTransactionSerial() { |
|
|
|
|
|
String[] letterPool = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n" |
|
|
|
|
|
, "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"}; |
|
|
|
|
|
|
|
|
|
|
|
StringBuilder sb = new StringBuilder(); |
|
|
|
|
|
for (int i = 0; i < 2; i++) { |
|
|
|
|
|
sb.append(letterPool[(int) (Math.random() * 25)]); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
sb.append(System.currentTimeMillis()); |
|
|
|
|
|
return sb.toString(); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|