From 6407d91b205e9e16aac1c796963e9f7826e348d7 Mon Sep 17 00:00:00 2001 From: WendyYang Date: Thu, 26 Oct 2023 16:37:15 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=B0=83=E7=94=A8traceId?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pmapi/common/config/ConfigurerAdapter.java | 8 +++++ .../pmapi/common/interceptor/LogInterceptor.java | 38 ++++++++++++++++++++++ .../com/ningdatech/pmapi/common/util/MDCUtil.java | 25 ++++++++++++++ pmapi/src/main/resources/logback-spring.xml | 6 ++-- 4 files changed, 74 insertions(+), 3 deletions(-) create mode 100644 pmapi/src/main/java/com/ningdatech/pmapi/common/interceptor/LogInterceptor.java create mode 100644 pmapi/src/main/java/com/ningdatech/pmapi/common/util/MDCUtil.java diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/common/config/ConfigurerAdapter.java b/pmapi/src/main/java/com/ningdatech/pmapi/common/config/ConfigurerAdapter.java index a39effe..553ba4f 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/common/config/ConfigurerAdapter.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/common/config/ConfigurerAdapter.java @@ -3,10 +3,13 @@ package com.ningdatech.pmapi.common.config; import com.alibaba.fastjson.serializer.SerializerFeature; import com.alibaba.fastjson.support.config.FastJsonConfig; import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; +import com.ningdatech.pmapi.common.interceptor.LogInterceptor; import org.springframework.context.annotation.Configuration; import org.springframework.http.MediaType; import org.springframework.http.converter.HttpMessageConverter; +import org.springframework.lang.NonNull; import org.springframework.web.servlet.config.annotation.EnableWebMvc; +import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import java.nio.charset.StandardCharsets; @@ -34,4 +37,9 @@ public class ConfigurerAdapter implements WebMvcConfigurer { converter.setDefaultCharset(StandardCharsets.UTF_8); converters.add(converter); } + + @Override + public void addInterceptors(@NonNull InterceptorRegistry registry) { + registry.addInterceptor(new LogInterceptor()).addPathPatterns("/**").order(-100); + } } diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/common/interceptor/LogInterceptor.java b/pmapi/src/main/java/com/ningdatech/pmapi/common/interceptor/LogInterceptor.java new file mode 100644 index 0000000..533306c --- /dev/null +++ b/pmapi/src/main/java/com/ningdatech/pmapi/common/interceptor/LogInterceptor.java @@ -0,0 +1,38 @@ +package com.ningdatech.pmapi.common.interceptor; + +import cn.hutool.core.lang.UUID; +import com.ningdatech.pmapi.common.util.MDCUtil; +import org.springframework.lang.NonNull; +import org.springframework.web.servlet.HandlerInterceptor; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + *

+ * LogInterceptor + *

+ * + * @author WendyYang + * @since 2023/10/26 + **/ +public class LogInterceptor implements HandlerInterceptor { + + @Override + public boolean preHandle(@NonNull HttpServletRequest request, + @NonNull HttpServletResponse response, + @NonNull Object handler) { + String traceId = UUID.randomUUID().toString(true); + response.addHeader(MDCUtil.TRACE_ID, traceId); + MDCUtil.setTraceId(traceId); + return true; + } + + @Override + public void afterCompletion(@NonNull HttpServletRequest request, + @NonNull HttpServletResponse response, + @NonNull Object handler, Exception ex) { + MDCUtil.removeTraceId(); + } + +} diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/common/util/MDCUtil.java b/pmapi/src/main/java/com/ningdatech/pmapi/common/util/MDCUtil.java new file mode 100644 index 0000000..8b18c46 --- /dev/null +++ b/pmapi/src/main/java/com/ningdatech/pmapi/common/util/MDCUtil.java @@ -0,0 +1,25 @@ +package com.ningdatech.pmapi.common.util; + +import org.slf4j.MDC; + +/** + *

+ * MDCUtil + *

+ * + * @author WendyYang + * @since 2023/10/26 + **/ +public class MDCUtil { + + public static final String TRACE_ID = "TraceId"; + + public static void setTraceId(String traceId) { + MDC.put(TRACE_ID, traceId); + } + + public static void removeTraceId() { + MDC.remove(TRACE_ID); + } + +} diff --git a/pmapi/src/main/resources/logback-spring.xml b/pmapi/src/main/resources/logback-spring.xml index 75f5472..d35d51f 100644 --- a/pmapi/src/main/resources/logback-spring.xml +++ b/pmapi/src/main/resources/logback-spring.xml @@ -19,7 +19,7 @@ - %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n + [traceId:%X{TraceId}] %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n UTF-8 @@ -41,7 +41,7 @@ - %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n + [traceId:%X{TraceId}] %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n UTF-8 @@ -51,7 +51,7 @@ - %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n + [traceId:%X{TraceId}] %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n UTF-8 From c12f4f4cbfc3a6369081391361888f4ea30d6245 Mon Sep 17 00:00:00 2001 From: WendyYang Date: Thu, 26 Oct 2023 16:52:47 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AF=B7=E6=B1=82?= =?UTF-8?q?=E5=A4=B4traceId=E5=91=BD=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ningdatech/pmapi/common/interceptor/LogInterceptor.java | 2 +- pmapi/src/main/java/com/ningdatech/pmapi/common/util/MDCUtil.java | 3 ++- pmapi/src/main/resources/logback-spring.xml | 6 +++--- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/common/interceptor/LogInterceptor.java b/pmapi/src/main/java/com/ningdatech/pmapi/common/interceptor/LogInterceptor.java index 533306c..084c92f 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/common/interceptor/LogInterceptor.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/common/interceptor/LogInterceptor.java @@ -23,7 +23,7 @@ public class LogInterceptor implements HandlerInterceptor { @NonNull HttpServletResponse response, @NonNull Object handler) { String traceId = UUID.randomUUID().toString(true); - response.addHeader(MDCUtil.TRACE_ID, traceId); + response.addHeader(MDCUtil.TRACE_ID_HEADER, traceId); MDCUtil.setTraceId(traceId); return true; } diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/common/util/MDCUtil.java b/pmapi/src/main/java/com/ningdatech/pmapi/common/util/MDCUtil.java index 8b18c46..00bed26 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/common/util/MDCUtil.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/common/util/MDCUtil.java @@ -12,7 +12,8 @@ import org.slf4j.MDC; **/ public class MDCUtil { - public static final String TRACE_ID = "TraceId"; + public static final String TRACE_ID = "traceId"; + public static final String TRACE_ID_HEADER = "Trace-Id"; public static void setTraceId(String traceId) { MDC.put(TRACE_ID, traceId); diff --git a/pmapi/src/main/resources/logback-spring.xml b/pmapi/src/main/resources/logback-spring.xml index d35d51f..6aad413 100644 --- a/pmapi/src/main/resources/logback-spring.xml +++ b/pmapi/src/main/resources/logback-spring.xml @@ -19,7 +19,7 @@ - [traceId:%X{TraceId}] %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n + [traceId:%X{traceId}] %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n UTF-8 @@ -41,7 +41,7 @@ - [traceId:%X{TraceId}] %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n + [traceId:%X{traceId}] %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n UTF-8 @@ -51,7 +51,7 @@ - [traceId:%X{TraceId}] %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n + [traceId:%X{traceId}] %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n UTF-8 From 704e864dead4adb8519955e5f84a1d28334f1235 Mon Sep 17 00:00:00 2001 From: WendyYang Date: Thu, 26 Oct 2023 17:42:42 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E4=B8=93=E5=AE=B6=E9=82=80=E8=AF=B7?= =?UTF-8?q?=E8=A1=A8=E5=AF=BC=E5=87=BAbug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pmapi/meeting/service/impl/MeetingExpertServiceImpl.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/meeting/service/impl/MeetingExpertServiceImpl.java b/pmapi/src/main/java/com/ningdatech/pmapi/meeting/service/impl/MeetingExpertServiceImpl.java index 0bfbb0d..4b49490 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/meeting/service/impl/MeetingExpertServiceImpl.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/meeting/service/impl/MeetingExpertServiceImpl.java @@ -23,6 +23,7 @@ import java.time.LocalDateTime; import java.util.Collection; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.stream.Collectors; /** @@ -102,7 +103,8 @@ public class MeetingExpertServiceImpl extends ServiceImpl pageExpertByStatusAndMeetingId(Page page, Long meetingId, ExpertAttendStatusEnum status, Integer inviteType) { - return baseMapper.selectExpertByStatusAndMeetingId(page, status.getCode(), meetingId, inviteType); + Integer statusCode = Optional.ofNullable(status).flatMap(w -> Optional.of(w.getCode())).orElse(null); + return baseMapper.selectExpertByStatusAndMeetingId(page, statusCode, meetingId, inviteType); } @Override From 0c78d31f995cd20cb9f780055d9dd6a330175ae0 Mon Sep 17 00:00:00 2001 From: WendyYang Date: Thu, 26 Oct 2023 18:26:45 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E4=B8=93=E5=AE=B6=E6=8A=BD=E5=8F=96?= =?UTF-8?q?=E8=A1=A8=E5=AF=BC=E5=87=BA=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ningdatech/pmapi/meeting/manage/ExpertExportManage.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/meeting/manage/ExpertExportManage.java b/pmapi/src/main/java/com/ningdatech/pmapi/meeting/manage/ExpertExportManage.java index 8b2c3cf..6c0a185 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/meeting/manage/ExpertExportManage.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/meeting/manage/ExpertExportManage.java @@ -268,7 +268,7 @@ public class ExpertExportManage { ExpertInfoDTO expert = new ExpertInfoDTO(); expert.setNo(integer.incrementAndGet()); if (ExpertAttendStatusEnum.ON_LEAVE.eq(w.getStatus())) { - expert.setBank(w.getExpertName() + "(请假)"); + expert.setName(w.getExpertName() + "(请假)"); } else { expert.setName(w.getExpertName()); }