From 40301571bf8da2fd931b7ca97a44d26f0cc087e0 Mon Sep 17 00:00:00 2001 From: Yen Date: Tue, 6 Sep 2022 09:06:55 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9todo=E5=A4=87=E6=B3=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bpm/common/util/DeployBpmnUtil.java | 24 +++++++++++++++++++ .../controller/FlowDefinitionController.java | 19 +++++++++++++-- .../modules/bpm/entity/dto/DeployBpmnBo.java | 3 +++ 3 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/qs/serve/modules/bpm/common/util/DeployBpmnUtil.java diff --git a/src/main/java/com/qs/serve/modules/bpm/common/util/DeployBpmnUtil.java b/src/main/java/com/qs/serve/modules/bpm/common/util/DeployBpmnUtil.java new file mode 100644 index 0000000..413165a --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bpm/common/util/DeployBpmnUtil.java @@ -0,0 +1,24 @@ +package com.qs.serve.modules.bpm.common.util; + +import com.qs.serve.modules.bpm.entity.dto.DeployBpmnBo; +import com.qs.serve.modules.bpm.entity.dto.DeployViewerDto; +import org.flowable.bpmn.model.BpmnModel; + +/** + * 视图转换工具类 + * @author YenHex + * @since 2022/8/23 + */ +public class DeployBpmnUtil { + + /** + * 视图转换 + * @param viewer + * @return + */ + public static BpmnModel toBpmnModel(DeployViewerDto viewer){ + + return new BpmnModel(); + } + +} diff --git a/src/main/java/com/qs/serve/modules/bpm/controller/FlowDefinitionController.java b/src/main/java/com/qs/serve/modules/bpm/controller/FlowDefinitionController.java index 58cccb4..5a5a1ac 100644 --- a/src/main/java/com/qs/serve/modules/bpm/controller/FlowDefinitionController.java +++ b/src/main/java/com/qs/serve/modules/bpm/controller/FlowDefinitionController.java @@ -3,6 +3,7 @@ package com.qs.serve.modules.bpm.controller; import com.qs.serve.common.model.dto.PageVo; import com.qs.serve.common.model.dto.R; import com.qs.serve.common.util.PageUtil; +import com.qs.serve.modules.bpm.common.util.DeployBpmnUtil; import com.qs.serve.modules.bpm.entity.dto.DeployBpmnBo; import com.qs.serve.modules.bpm.entity.dto.FlowProcDefDto; import com.qs.serve.modules.bpm.service.IFlowDefinitionService; @@ -10,6 +11,10 @@ import com.qs.serve.modules.sys.service.SysRoleService; import com.qs.serve.modules.sys.service.SysUserService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.flowable.bpmn.model.BpmnModel; +import org.flowable.engine.RepositoryService; +import org.flowable.engine.repository.Deployment; +import org.flowable.engine.repository.ProcessDefinition; import org.springframework.web.bind.annotation.*; import java.util.List; @@ -28,6 +33,8 @@ public class FlowDefinitionController { private IFlowDefinitionService flowDefinitionService; + private RepositoryService repositoryService; + private SysUserService userService; private SysRoleService sysRoleService; @@ -45,13 +52,21 @@ public class FlowDefinitionController { } /** - * 部署流程( TODO 未完成 ) + * 部署流程 * @param deployBpmnBo * @return */ @PostMapping("/deploy") public R deploy(@RequestBody DeployBpmnBo deployBpmnBo){ - return R.ok(); + BpmnModel bpmnModel = DeployBpmnUtil.toBpmnModel(deployBpmnBo.getViewer()); + Deployment deployment = repositoryService.createDeployment() + .name(deployBpmnBo.getDefinitionName()) + .category(deployBpmnBo.getGroupName()) + //.tenantId("tenantId1") + .addBpmnModel(deployBpmnBo.getDefinitionName()+".bpmn",bpmnModel) + .deploy(); + ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().deploymentId(deployment.getId()).singleResult(); + return R.isTrue(processDefinition!=null); } /** diff --git a/src/main/java/com/qs/serve/modules/bpm/entity/dto/DeployBpmnBo.java b/src/main/java/com/qs/serve/modules/bpm/entity/dto/DeployBpmnBo.java index f94f85c..bd279e1 100644 --- a/src/main/java/com/qs/serve/modules/bpm/entity/dto/DeployBpmnBo.java +++ b/src/main/java/com/qs/serve/modules/bpm/entity/dto/DeployBpmnBo.java @@ -2,6 +2,7 @@ package com.qs.serve.modules.bpm.entity.dto; import lombok.Data; +import javax.validation.constraints.NotNull; import java.util.List; /** @@ -12,12 +13,14 @@ import java.util.List; public class DeployBpmnBo { /** 流程定义名称 */ + @NotNull(message = "流程定义名称不能为空") private String definitionName; /** 流程定义名称 */ private String groupName; /** 前端视图对象 */ + @NotNull(message = "流程视图布局不可为空") private DeployViewerDto viewer; }