From 234d8989d7b65aee665b5932fcf182009753592b Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期三, 06 三月 2024 19:07:23 +0800 Subject: [PATCH] update 优化 支持工作流关闭租户 --- ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActModelServiceImpl.java | 40 ++++++++++++++++++++++++++++------------ 1 files changed, 28 insertions(+), 12 deletions(-) diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActModelServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActModelServiceImpl.java index 01bb12e..b2a7892 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActModelServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActModelServiceImpl.java @@ -24,10 +24,7 @@ import org.dromara.workflow.utils.ModelUtils; import org.flowable.bpmn.model.BpmnModel; import org.flowable.engine.RepositoryService; -import org.flowable.engine.repository.Deployment; -import org.flowable.engine.repository.Model; -import org.flowable.engine.repository.ModelQuery; -import org.flowable.engine.repository.ProcessDefinition; +import org.flowable.engine.repository.*; import org.flowable.validation.ValidationError; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -63,7 +60,9 @@ @Override public TableDataInfo<Model> page(ModelBo modelBo) { ModelQuery query = repositoryService.createModelQuery(); - query.modelTenantId(TenantHelper.getTenantId()); + if (TenantHelper.isEnable()) { + query.modelTenantId(TenantHelper.getTenantId()); + } if (StringUtils.isNotEmpty(modelBo.getName())) { query.modelNameLike("%" + modelBo.getName() + "%"); } @@ -99,7 +98,12 @@ String description = modelBo.getDescription(); String categoryCode = modelBo.getCategoryCode(); String xml = modelBo.getXml(); - Model checkModel = repositoryService.createModelQuery().modelKey(key).modelTenantId(TenantHelper.getTenantId()).singleResult(); + ModelQuery query = repositoryService.createModelQuery(); + query.modelKey(key); + if (TenantHelper.isEnable()) { + query.modelTenantId(TenantHelper.getTenantId()); + } + Model checkModel = query.singleResult(); if (ObjectUtil.isNotNull(checkModel)) { throw new ServiceException("妯″瀷key宸插瓨鍦紒"); } @@ -110,7 +114,9 @@ model.setVersion(version); model.setCategory(categoryCode); model.setMetaInfo(description); - model.setTenantId(TenantHelper.getTenantId()); + if (TenantHelper.isEnable()) { + model.setTenantId(TenantHelper.getTenantId()); + } //淇濆瓨鍒濆鍖栫殑妯″瀷鍩烘湰淇℃伅鏁版嵁 repositoryService.saveModel(model); repositoryService.addModelEditorSource(model.getId(), StrUtil.utf8Bytes(xml)); @@ -158,7 +164,11 @@ public boolean update(ModelBo modelBo) { try { Model model = repositoryService.getModel(modelBo.getId()); - List<Model> list = repositoryService.createModelQuery().modelTenantId(TenantHelper.getTenantId()).modelKey(modelBo.getKey()).list(); + ModelQuery query = repositoryService.createModelQuery(); + if (TenantHelper.isEnable()) { + query.modelTenantId(TenantHelper.getTenantId()); + } + List<Model> list = query.modelKey(modelBo.getKey()).list(); list.stream().filter(e -> !e.getId().equals(model.getId())).findFirst().ifPresent(e -> { throw new ServiceException("妯″瀷KEY宸插瓨鍦紒"); }); @@ -189,7 +199,11 @@ BpmnModel bpmnModel = ModelUtils.xmlToBpmnModel(xml); ModelUtils.checkBpmnModel(bpmnModel); Model model = repositoryService.getModel(modelId); - List<Model> list = repositoryService.createModelQuery().modelTenantId(TenantHelper.getTenantId()).modelKey(key).list(); + ModelQuery query = repositoryService.createModelQuery(); + if (TenantHelper.isEnable()) { + query.modelTenantId(TenantHelper.getTenantId()); + } + List<Model> list = query.modelKey(key).list(); list.stream().filter(e -> !e.getId().equals(model.getId())).findFirst().ifPresent(e -> { throw new ServiceException("妯″瀷KEY宸插瓨鍦紒"); }); @@ -254,7 +268,11 @@ // xml璧勬簮鐨勫悕绉� 锛屽搴攁ct_ge_bytearray琛ㄤ腑鐨刵ame_瀛楁 String processName = model.getName() + ".bpmn20.xml"; // 璋冪敤閮ㄧ讲鐩稿叧鐨刟pi鏂规硶杩涜閮ㄧ讲娴佺▼瀹氫箟 - Deployment deployment = repositoryService.createDeployment() + DeploymentBuilder builder = repositoryService.createDeployment(); + if (TenantHelper.isEnable()) { + builder.tenantId(TenantHelper.getTenantId()); + } + Deployment deployment = builder // 閮ㄧ讲鍚嶇О .name(model.getName()) // 閮ㄧ讲鏍囪瘑key @@ -263,8 +281,6 @@ .category(model.getCategory()) // bpmn20.xml璧勬簮 .addBytes(processName, xmlBytes) - // 绉熸埛id - .tenantId(TenantHelper.getTenantId()) .deploy(); // 鏇存柊 閮ㄧ讲id 鍒版祦绋嬪畾涔夋ā鍨嬫暟鎹〃涓� -- Gitblit v1.9.3