REQ-3502: 过滤流程按钮

This commit is contained in:
yanglin 2025-01-14 11:43:51 +08:00
parent ea0177677c
commit 903a2401b2
2 changed files with 4 additions and 5 deletions

View File

@ -18,7 +18,6 @@ import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.Set;
import java.util.function.Supplier;
import static java.util.stream.Collectors.toSet;
@ -29,8 +28,8 @@ import static java.util.stream.Collectors.toSet;
@RequiredArgsConstructor
class WorkflowTodoCardButtonInterceptor implements CardButtonInterceptor {
private final WorkflowTodoCardButtonInterceptorFactory factory;
private final Todo todo;
private final Supplier<BpmnTaskButtonVo> workflowButtonsProvider;
private BpmnTaskButtonVo workflowButtons;
@Override
@ -119,7 +118,7 @@ class WorkflowTodoCardButtonInterceptor implements CardButtonInterceptor {
private void fetchWorkflowButtons() {
if (workflowButtons == null)
workflowButtons = workflowButtonsProvider.get();
workflowButtons = factory.fetchWorkflowButtons(todo);
}
}

View File

@ -40,10 +40,10 @@ class WorkflowTodoCardButtonInterceptorFactory implements CardButtonInterceptorF
log.warn("todo not found. identityCode={}", card.getBizParam());
return null;
}
return new WorkflowTodoCardButtonInterceptor(todo, () -> fetchWorkflowButtons(todo));
return new WorkflowTodoCardButtonInterceptor(this, todo);
}
private BpmnTaskButtonVo fetchWorkflowButtons(Todo todo) {
BpmnTaskButtonVo fetchWorkflowButtons(Todo todo) {
TodoBusiness business = todoBusinessDao.getBusinesses(todo).findBusiness(todo).orElse(null);
BizAssertions.assertNotNull(business, "todo business not found. todoIdentityCode={}", todo.getIdentityCode());
BpmnTaskButtonSearchDTO workflowRequest = new BpmnTaskButtonSearchDTO();