From 2ab15f75f10396bfc0f1cf33ea2cb8ad51d6059c Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Thu, 1 Feb 2024 18:34:44 +0800 Subject: [PATCH] =?UTF-8?q?update=20-=20=E4=BC=98=E5=8C=96=E5=A4=84?= =?UTF-8?q?=E7=90=86=E5=AE=A1=E6=89=B9=E8=BF=87=E7=A8=8B=E4=B8=AD=E8=AE=A1?= =?UTF-8?q?=E7=AE=97=E5=AE=A1=E6=89=B9=E4=BA=BA=E7=9A=84=E8=B0=83=E4=BA=8C?= =?UTF-8?q?=E6=96=B9=E6=8E=A5=E5=8F=A3=E7=9A=84=E5=8F=82=E6=95=B0=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../delegate/AdminTaskAssigneeSelector.java | 11 +++++------ .../delegate/IdentityTaskAssigneeSelector.java | 5 +++-- .../delegate/InitiatorLeaderTaskAssigneeSelector.java | 3 ++- .../delegate/PositionTaskAssigneeSelector.java | 3 ++- .../controller/delegate/RoleTaskAssigneeSelector.java | 5 +++-- .../web/bpmn/BpmnProcessInstanceController.java | 6 ++++-- 6 files changed, 19 insertions(+), 14 deletions(-) diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/delegate/AdminTaskAssigneeSelector.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/delegate/AdminTaskAssigneeSelector.java index 034a0f572..6e09fcc58 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/delegate/AdminTaskAssigneeSelector.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/delegate/AdminTaskAssigneeSelector.java @@ -9,6 +9,7 @@ import cn.axzo.workflow.core.deletage.approverscope.ApproverScopeDTO; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.ListUtils; import org.flowable.bpmn.model.UserTask; import org.flowable.engine.delegate.DelegateExecution; import org.springframework.beans.factory.annotation.Autowired; @@ -53,15 +54,13 @@ public class AdminTaskAssigneeSelector extends AbstractBpmnTaskAssigneeSelector ApproverScopeDTO scopeDto) { ListFlowTaskAssignerReq.ListFlowTaskAssignerReqBuilder builder = ListFlowTaskAssignerReq.builder(); if (!CollectionUtils.isEmpty(scopeDto.getOrgScopes())) { - builder.orgScopes(scopeDto.getOrgScopes().stream() - .map(e -> BeanUtil - .copyProperties(e, ListFlowTaskAssignerReq.OrgScope.class)) + builder.orgScopes(ListUtils.emptyIfNull(scopeDto.getOrgScopes()).stream() + .map(e -> BeanUtil.copyProperties(e, ListFlowTaskAssignerReq.OrgScope.class)) .collect(Collectors.toList())); } if (!CollectionUtils.isEmpty(scopeDto.getWorkerTeamScopes())) { - builder.workerTeamScopes(scopeDto.getWorkerTeamScopes().stream() - .map(w -> BeanUtil - .copyProperties(w, ListFlowTaskAssignerReq.OrgScope.class)) + builder.workerTeamScopes(ListUtils.emptyIfNull(scopeDto.getOrgScopes()).stream() + .map(w -> BeanUtil.copyProperties(w, ListFlowTaskAssignerReq.OrgScope.class)) .collect(Collectors.toList())); } ListFlowTaskAssignerReq req = builder.build(); diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/delegate/IdentityTaskAssigneeSelector.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/delegate/IdentityTaskAssigneeSelector.java index e14bafd52..97c2ff1bf 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/delegate/IdentityTaskAssigneeSelector.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/delegate/IdentityTaskAssigneeSelector.java @@ -9,6 +9,7 @@ import cn.axzo.workflow.core.deletage.approverscope.ApproverScopeDTO; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.ListUtils; import org.flowable.bpmn.model.UserTask; import org.flowable.engine.delegate.DelegateExecution; import org.springframework.beans.factory.annotation.Autowired; @@ -50,11 +51,11 @@ public class IdentityTaskAssigneeSelector extends AbstractBpmnTaskAssigneeSelect protected List invokeService(UserTask userTask, DelegateExecution execution, ApproverScopeDTO scopeDto) { ListFlowTaskAssignerReq req = ListFlowTaskAssignerReq.builder() - .orgScopes(scopeDto.getOrgScopes().stream() + .orgScopes(ListUtils.emptyIfNull(scopeDto.getOrgScopes()).stream() .map(e -> BeanUtil .copyProperties(e, ListFlowTaskAssignerReq.OrgScope.class)) .collect(Collectors.toList())) - .workerTeamScopes(scopeDto.getWorkerTeamScopes().stream() + .workerTeamScopes(ListUtils.emptyIfNull(scopeDto.getWorkerTeamScopes()).stream() .map(w -> BeanUtil .copyProperties(w, ListFlowTaskAssignerReq.OrgScope.class)) .collect(Collectors.toList())) diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/delegate/InitiatorLeaderTaskAssigneeSelector.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/delegate/InitiatorLeaderTaskAssigneeSelector.java index 2ba725e60..6d97d51d5 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/delegate/InitiatorLeaderTaskAssigneeSelector.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/delegate/InitiatorLeaderTaskAssigneeSelector.java @@ -10,6 +10,7 @@ import cn.axzo.workflow.core.deletage.approverscope.ApproverScopeDTO; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.ListUtils; import org.flowable.bpmn.model.UserTask; import org.flowable.engine.delegate.DelegateExecution; import org.springframework.beans.factory.annotation.Autowired; @@ -60,7 +61,7 @@ public class InitiatorLeaderTaskAssigneeSelector extends AbstractBpmnTaskAssigne return super.invokeService(userTask, execution, scopeDto); } FlowTaskAssignerReq req = FlowTaskAssignerReq.builder() - .orgScopes(scopeDto.getOrgScopes().stream() + .orgScopes(ListUtils.emptyIfNull(scopeDto.getOrgScopes()).stream() .map(o -> FlowTaskAssignerReq.OrgScope.builder() .ouId(o.getOuId()) .workspaceId(o.getWorkspaceId()) diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/delegate/PositionTaskAssigneeSelector.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/delegate/PositionTaskAssigneeSelector.java index 660d2c280..7507670ea 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/delegate/PositionTaskAssigneeSelector.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/delegate/PositionTaskAssigneeSelector.java @@ -9,6 +9,7 @@ import cn.axzo.workflow.core.deletage.approverscope.ApproverScopeDTO; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.ListUtils; import org.flowable.bpmn.model.UserTask; import org.flowable.engine.delegate.DelegateExecution; import org.springframework.beans.factory.annotation.Autowired; @@ -51,7 +52,7 @@ public class PositionTaskAssigneeSelector extends AbstractBpmnTaskAssigneeSelect protected List invokeService(UserTask userTask, DelegateExecution execution, ApproverScopeDTO scopeDto) { FlowTaskAssignerReq req = FlowTaskAssignerReq.builder() - .orgScopes(scopeDto.getOrgScopes().stream() + .orgScopes(ListUtils.emptyIfNull(scopeDto.getOrgScopes()).stream() .map(e -> BeanUtil.copyProperties(e, FlowTaskAssignerReq.OrgScope.class)) .collect(Collectors.toList())) .jobCodes(super.getTypes(userTask)) diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/delegate/RoleTaskAssigneeSelector.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/delegate/RoleTaskAssigneeSelector.java index 2f7488bea..230d2154c 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/delegate/RoleTaskAssigneeSelector.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/delegate/RoleTaskAssigneeSelector.java @@ -9,6 +9,7 @@ import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskDelegateAssigner; import cn.axzo.workflow.core.deletage.approverscope.ApproverScopeDTO; import cn.hutool.core.collection.CollUtil; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.ListUtils; import org.flowable.bpmn.model.UserTask; import org.flowable.engine.delegate.DelegateExecution; import org.springframework.beans.factory.annotation.Autowired; @@ -51,7 +52,7 @@ public class RoleTaskAssigneeSelector extends AbstractBpmnTaskAssigneeSelector { @Override protected List invokeService(UserTask userTask, DelegateExecution execution, ApproverScopeDTO scopeDto) { - Set workspaceIdSet = scopeDto.getOrgScopes().stream() + Set workspaceIdSet = ListUtils.emptyIfNull(scopeDto.getOrgScopes()).stream() .map(OrgScope::getWorkspaceId) .collect(Collectors.toSet()); @@ -59,7 +60,7 @@ public class RoleTaskAssigneeSelector extends AbstractBpmnTaskAssigneeSelector { // ouIds、workspaceIds 只能传其中一个 然后代码过滤 RoleUserParam param = RoleUserParam.builder() .roleIds(super.getTypes(userTask).stream().map(Long::valueOf).collect(Collectors.toSet())) - .ouIds(scopeDto.getOrgScopes().stream() + .ouIds(ListUtils.emptyIfNull(scopeDto.getOrgScopes()).stream() .map(OrgScope::getOuId) .collect(Collectors.toList())) .build(); diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/bpmn/BpmnProcessInstanceController.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/bpmn/BpmnProcessInstanceController.java index faf5a4ec9..6bdd54113 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/bpmn/BpmnProcessInstanceController.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/bpmn/BpmnProcessInstanceController.java @@ -40,6 +40,7 @@ import javax.annotation.Resource; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.util.List; +import java.util.Objects; import static cn.axzo.workflow.common.constant.BpmnConstants.BIZ_ORG_RELATION; import static cn.azxo.framework.common.model.CommonResponse.success; @@ -81,9 +82,10 @@ public class BpmnProcessInstanceController implements ProcessInstanceApi { try { result = bpmnProcessInstanceService.createProcessInstance(dto); } catch (Exception e) { - LogUtil.error(LogUtil.ErrorType.ERROR_BUSINESS, "发起审核createProcessInstance===>>>异常:{}", e.getMessage()); + String errorMsg = Objects.nonNull(e.getCause()) ? e.getCause().getMessage() : e.getMessage(); + LogUtil.error(LogUtil.ErrorType.ERROR_BUSINESS, "发起审核createProcessInstance===>>>异常:{}", errorMsg); DingTalkUtils.sendDingTalk(profile, dto, e); - return CommonResponse.fail(e.getMessage()); + return CommonResponse.fail(errorMsg); } return success(result); }