From 9f11bd21abfc30a744bb785efd3afe28f1800920 Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Thu, 12 Sep 2024 17:11:43 +0800 Subject: [PATCH] =?UTF-8?q?feat(REQ-2924)=20-=20=E6=96=B0=E7=89=88?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/aspectj/ErrorReportAspect.java | 34 +++++++++++++------ .../AbstractBpmnTaskAssigneeSelector.java | 2 +- 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/common/aspectj/ErrorReportAspect.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/common/aspectj/ErrorReportAspect.java index 9c10446ab..9dfcba629 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/common/aspectj/ErrorReportAspect.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/common/aspectj/ErrorReportAspect.java @@ -20,11 +20,10 @@ import org.springframework.core.Ordered; import org.springframework.stereotype.Component; import org.springframework.stereotype.Service; import org.springframework.util.StopWatch; +import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.RestController; -import org.springframework.web.context.request.RequestAttributes; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; -import org.springframework.web.context.request.ServletWebRequest; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; @@ -85,13 +84,13 @@ public class ErrorReportAspect implements Ordered { if (!signature.toShortString().contains("ExtAxApiLogServiceImpl")) { String type = getType(joinPoint); ApiLogEvent event = new ApiLogEvent(MDC.get(CTX_LOG_ID_MDC), - signature.toShortString(), - Objects.isNull(getOriginRequest()) ? "" : getOriginRequest().getHeader(HEADER_SERVER_NAME), - Objects.isNull(getOriginRequest()) ? "" : getOriginRequest().getHeader(HEADER_API_VERSION), - Objects.equals(type, "Controller") ? joinPoint.getArgs() : null, - Objects.equals(type, "Controller") ? result : null, - watch.getTotalTimeSeconds(), - type); + signature.toShortString(), + Objects.isNull(getOriginRequest()) ? "" : getOriginRequest().getHeader(HEADER_SERVER_NAME), + Objects.isNull(getOriginRequest()) ? "" : getOriginRequest().getHeader(HEADER_API_VERSION), + Objects.equals(type, "Controller") ? joinPoint.getArgs() : null, + Objects.equals(type, "Controller") ? result : null, + watch.getTotalTimeSeconds(), + type); applicationEventPublisher.publishEvent(event); } @@ -137,14 +136,27 @@ public class ErrorReportAspect implements Ordered { if (workflowProperties.getFilterSendDingTalk().contains(operation.summary())) { filterSendDingTalk = false; } - ServletWebRequest request= (ServletWebRequest) RequestContextHolder.getRequestAttributes(); + + log.error("request header server name: {}", getHeader()); envConfig.type().executeAction(profile, operation.summary(), filterSendDingTalk, joinPoint.getArgs(), joinPoint.getSignature().toShortString(), e, - workflowProperties.getFilterOperations().contains(operation.summary())); + workflowProperties.getFilterOperations().contains(operation.summary())); } } } + private String getHeader() { + ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + if (Objects.isNull(attributes)) { + return ""; + } + + HttpServletRequest request = attributes.getRequest(); + // 获取指定请求头的值 + String headerValue = request.getHeader(HEADER_SERVER_NAME); + return StringUtils.hasText(headerValue) ? headerValue : ""; + } + private HttpServletRequest getOriginRequest() { try { ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/delegate/AbstractBpmnTaskAssigneeSelector.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/delegate/AbstractBpmnTaskAssigneeSelector.java index 1889fe585..978be677b 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/delegate/AbstractBpmnTaskAssigneeSelector.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/delegate/AbstractBpmnTaskAssigneeSelector.java @@ -199,8 +199,8 @@ public abstract class AbstractBpmnTaskAssigneeSelector implements BpmnTaskAssign return assigners; } List personIds = assigners.stream() -// .filter(e -> !StringUtils.hasText(e.getAvatar()) && StringUtils.hasText(e.getPersonId())) .map(BpmnTaskDelegateAssigner::getPersonId) + .filter(StringUtils::hasText) .map(Long::parseLong) .distinct().collect(Collectors.toList()); Map personProfileMap = parseApiResult(() -> flowSupportApi.listPersons(PersonProfileQueryReq.builder().personIds(personIds).build()),