From f70b7b20d2a063f5b5e7ccff9de24b5480feabb9 Mon Sep 17 00:00:00 2001 From: yanglin Date: Tue, 14 Jan 2025 14:31:04 +0800 Subject: [PATCH] =?UTF-8?q?REQ-3502:=20=E8=BF=87=E6=BB=A4=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WorkflowTodoCardButtonInterceptor.java | 28 ++----------------- ...kflowTodoCardButtonInterceptorFactory.java | 12 +++++++- 2 files changed, 14 insertions(+), 26 deletions(-) diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/card/workflow/WorkflowTodoCardButtonInterceptor.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/card/workflow/WorkflowTodoCardButtonInterceptor.java index 38d2adef..339513da 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/card/workflow/WorkflowTodoCardButtonInterceptor.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/card/workflow/WorkflowTodoCardButtonInterceptor.java @@ -11,13 +11,11 @@ import cn.axzo.workflow.common.enums.ButtonVisibleScopeEnum; import cn.axzo.workflow.common.model.request.bpmn.BpmnButtonMetaInfo; import cn.axzo.workflow.common.model.response.bpmn.task.BpmnTaskButtonVo; import cn.axzo.workflow.common.model.response.bpmn.task.BpmnTaskButtonVo.BpmnButtonMetaInfoWithVisibleScope; -import com.alibaba.fastjson.JSON; import lombok.Getter; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import java.util.Collections; -import java.util.HashMap; import java.util.List; import java.util.Optional; import java.util.Set; @@ -31,9 +29,8 @@ import static java.util.stream.Collectors.toSet; @RequiredArgsConstructor class WorkflowTodoCardButtonInterceptor implements CardButtonInterceptor { - private final WorkflowTodoCardButtonInterceptorFactory factory; private final Todo todo; - private BpmnTaskButtonVo workflowButtons; + private final BpmnTaskButtonVo workflowButtons; @Override public DecisionValue isPerformActionAvailable(ButtonV3 button) { @@ -103,7 +100,6 @@ class WorkflowTodoCardButtonInterceptor implements CardButtonInterceptor { } private Optional findWorkflowButton(ButtonV3 button) { - fetchWorkflowButtons(); List workflowButtons = this.workflowButtons.getButtons(); if (workflowButtons == null) workflowButtons = Collections.emptyList(); @@ -113,11 +109,10 @@ class WorkflowTodoCardButtonInterceptor implements CardButtonInterceptor { } private Set getWorkflowHideButtonKeys() { - fetchWorkflowButtons(); return getWorkflowHideButtonKeys(workflowButtons); } - private Set getWorkflowHideButtonKeys(BpmnTaskButtonVo workflowButtons) { + static Set getWorkflowHideButtonKeys(BpmnTaskButtonVo workflowButtons) { List workflowHiddenButtons = workflowButtons.getCustomHiddenButtons(); if (workflowHiddenButtons == null) workflowHiddenButtons = Collections.emptyList(); @@ -126,12 +121,7 @@ class WorkflowTodoCardButtonInterceptor implements CardButtonInterceptor { .collect(toSet()); } - private Set getWorkflowButtons() { - fetchWorkflowButtons(); - return getWorkflowButtons(workflowButtons); - } - - private Set getWorkflowButtons(BpmnTaskButtonVo workflowButtons) { + static Set getWorkflowButtons(BpmnTaskButtonVo workflowButtons) { List workflowHiddenButtons = workflowButtons.getButtons(); if (workflowHiddenButtons == null) workflowHiddenButtons = Collections.emptyList(); @@ -140,18 +130,6 @@ class WorkflowTodoCardButtonInterceptor implements CardButtonInterceptor { .collect(toSet()); } - private void fetchWorkflowButtons() { - if (workflowButtons == null) { - workflowButtons = factory.fetchWorkflowButtons(todo); - - HashMap workflowButtonInfo = new HashMap<>(); - workflowButtonInfo.put("workflowHideButtonKeys", getWorkflowHideButtonKeys(workflowButtons)); - workflowButtonInfo.put("workflowButtons", getWorkflowButtons(workflowButtons)); - log.info("fetchWorkflowButtons, todoIdentityCode={}, workflowButtonInfo: {}", - todo.getIdentityCode(), JSON.toJSONString(workflowButtonInfo)); - } - } - @Getter @RequiredArgsConstructor public static class WorkflowButtonInfo { diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/card/workflow/WorkflowTodoCardButtonInterceptorFactory.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/card/workflow/WorkflowTodoCardButtonInterceptorFactory.java index e655813c..e5a2270d 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/card/workflow/WorkflowTodoCardButtonInterceptorFactory.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/card/workflow/WorkflowTodoCardButtonInterceptorFactory.java @@ -13,11 +13,13 @@ import cn.axzo.msg.center.service.pending.request.CardContent; import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskButtonSearchDTO; import cn.axzo.workflow.common.model.response.bpmn.task.BpmnTaskButtonVo; import cn.axzo.workflow.starter.api.WorkflowCoreService; +import com.alibaba.fastjson.JSON; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import javax.annotation.Nullable; +import java.util.HashMap; /** * @author yanglin @@ -44,7 +46,15 @@ class WorkflowTodoCardButtonInterceptorFactory implements CardButtonInterceptorF log.warn("todo not found. identityCode={}", card.getBizParam()); return null; } - return new WorkflowTodoCardButtonInterceptor(this, todo); + BpmnTaskButtonVo workflowButtons = fetchWorkflowButtons(todo); + HashMap workflowButtonInfo = new HashMap<>(); + workflowButtonInfo.put("workflowHideButtonKeys", WorkflowTodoCardButtonInterceptor + .getWorkflowHideButtonKeys(workflowButtons)); + workflowButtonInfo.put("workflowButtons", WorkflowTodoCardButtonInterceptor + .getWorkflowButtons(workflowButtons)); + log.info("fetchWorkflowButtons, todoIdentityCode={}, workflowButtonInfo: {}", + todo.getIdentityCode(), JSON.toJSONString(workflowButtonInfo)); + return new WorkflowTodoCardButtonInterceptor(todo, workflowButtons); } BpmnTaskButtonVo fetchWorkflowButtons(Todo todo) {