From 15ebe5d3b3b8f2520c377b2d26aca3dde6eaa586 Mon Sep 17 00:00:00 2001 From: wxz Date: Wed, 27 May 2020 15:09:07 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BF=AE=E6=94=B9=E4=BA=8B=E5=8A=A1=E6=B5=81?= =?UTF-8?q?=E6=B0=B4=E5=8F=B7=E7=9A=84=E7=94=9F=E6=88=90=E8=A7=84=E5=88=99?= =?UTF-8?q?=EF=BC=8C=E4=B8=A4=E4=BD=8D=E9=9A=8F=E6=9C=BA=E8=8B=B1=E6=96=87?= =?UTF-8?q?=E5=AD=97=E6=AF=8D+=E6=97=B6=E9=97=B4=E6=88=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/filter/FeignRequestFilter.java | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/epmet-gateway/src/main/java/com/epmet/filter/FeignRequestFilter.java b/epmet-gateway/src/main/java/com/epmet/filter/FeignRequestFilter.java index 40a9e363ab..aeb3975b59 100644 --- a/epmet-gateway/src/main/java/com/epmet/filter/FeignRequestFilter.java +++ b/epmet-gateway/src/main/java/com/epmet/filter/FeignRequestFilter.java @@ -17,8 +17,6 @@ import org.springframework.stereotype.Component; import org.springframework.web.server.ServerWebExchange; import reactor.core.publisher.Mono; -import java.util.UUID; - /** * Feign调用发送请求的Filter * 目前用于封装用户相关信息到request,供上游微服务使用 @@ -58,11 +56,28 @@ public class FeignRequestFilter implements GlobalFilter, UserTokenFilter { if (baseTokenDto != null) { ServerHttpRequest build = exchange.getRequest().mutate() .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(); return chain.filter(exchange.mutate().request(build).build()); } 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(); + } }