diff --git a/epmet-gateway/src/main/java/com/epmet/filter/CpAuthGatewayFilterFactory.java b/epmet-gateway/src/main/java/com/epmet/filter/CpAuthGatewayFilterFactory.java index 6513d27f04..538467d2e1 100644 --- a/epmet-gateway/src/main/java/com/epmet/filter/CpAuthGatewayFilterFactory.java +++ b/epmet-gateway/src/main/java/com/epmet/filter/CpAuthGatewayFilterFactory.java @@ -68,18 +68,25 @@ public class CpAuthGatewayFilterFactory extends AbstractGatewayFilterFactory tranSerials = request.getHeaders().get(AppClientConstant.TRANSACTION_SERIAL_KEY); - if (CollectionUtils.isEmpty(tranSerials) || StringUtils.isBlank(tranSerials.get(0))) { - request.mutate().header(AppClientConstant.TRANSACTION_SERIAL_KEY, new String[]{getTransactionSerial()}); + + //0.添加流水号 + String tranSerial = getTranserialFromRequestHeader(request); + if (StringUtils.isBlank(tranSerial)) { + tranSerial = generateTransactionSerial(); + // 设置当前线程名 + request.mutate().header(AppClientConstant.TRANSACTION_SERIAL_KEY, new String[]{tranSerial}); } + Thread.currentThread().setName(tranSerial); + + //1.打印请求信息 + logRequest(request); //2.获取请求路径,参数 String requestUri = request.getPath().pathWithinApplication().value(); MultiValueMap queryParams = request.getQueryParams(); String queryParamsStr = convertQueryParams2String(queryParams); - logger.info("CpAuthGatewayFilterFactory当前requestUri=[" + requestUri.concat(queryParamsStr) + "],CpAuthGatewayFilterFactory拦截成功,客户端Id:{}", IpUtils.getClientIp(request)); + logger.info("当前requestUri=[" + requestUri.concat(queryParamsStr) + "],客户端Id:{}", IpUtils.getClientIp(request)); //3.认证 String authType = getAuthType(request); @@ -109,6 +116,36 @@ public class CpAuthGatewayFilterFactory extends AbstractGatewayFilterFactory> entry : headers.entrySet()) { + String headerKey = entry.getKey(); + List headerValue = entry.getValue(); + sb.append(headerKey).append(":").append(headerValue).append(","); + } + logger.info(sb.toString()); + } + + /** + * @Description 从request请求头中获取传递过来的流水号 + * @param request + * @return java.lang.String + * @author wxz + * @date 2021.08.18 15:55:30 + */ + private String getTranserialFromRequestHeader(ServerHttpRequest request) { + List tranSerials = request.getHeaders().get(AppClientConstant.TRANSACTION_SERIAL_KEY); + return CollectionUtils.isEmpty(tranSerials) ? null : tranSerials.get(0); + } + /** * @return * @Description 将url参数转化为String @@ -181,23 +218,12 @@ public class CpAuthGatewayFilterFactory extends AbstractGatewayFilterFactory