From acc7f3dfe57c064e27adaeecc28644197e374f66 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期三, 06 三月 2024 23:56:43 +0800
Subject: [PATCH] update 优化 封装 QueryUtils 查询工具 简化工作流业务查询代码

---
 ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessDefinitionServiceImpl.java |   55 +++++++++++++++++--------------------------------------
 1 files changed, 17 insertions(+), 38 deletions(-)

diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessDefinitionServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessDefinitionServiceImpl.java
index f29db1d..51c90f1 100644
--- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessDefinitionServiceImpl.java
+++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessDefinitionServiceImpl.java
@@ -20,7 +20,7 @@
 import org.dromara.workflow.domain.vo.ProcessDefinitionVo;
 import org.dromara.workflow.service.IActProcessDefinitionService;
 import org.dromara.workflow.service.IWfCategoryService;
-import org.flowable.engine.HistoryService;
+import org.dromara.workflow.utils.QueryUtils;
 import org.flowable.engine.ProcessMigrationService;
 import org.flowable.engine.RepositoryService;
 import org.flowable.engine.impl.bpmn.deployer.ResourceNameUtil;
@@ -47,11 +47,7 @@
 public class ActProcessDefinitionServiceImpl implements IActProcessDefinitionService {
 
     private final RepositoryService repositoryService;
-
-    private final HistoryService historyService;
-
     private final ProcessMigrationService processMigrationService;
-
     private final IWfCategoryService wfCategoryService;
 
     /**
@@ -62,10 +58,7 @@
      */
     @Override
     public TableDataInfo<ProcessDefinitionVo> page(ProcessDefinitionBo processDefinitionBo) {
-        ProcessDefinitionQuery query = repositoryService.createProcessDefinitionQuery();
-        if (TenantHelper.isEnable()) {
-            query.processDefinitionTenantId(TenantHelper.getTenantId());
-        }
+        ProcessDefinitionQuery query = QueryUtils.definitionQuery();
         if (StringUtils.isNotEmpty(processDefinitionBo.getKey())) {
             query.processDefinitionKey(processDefinitionBo.getKey());
         }
@@ -82,7 +75,7 @@
         List<Deployment> deploymentList = null;
         if (CollUtil.isNotEmpty(definitionList)) {
             List<String> deploymentIds = StreamUtils.toList(definitionList, ProcessDefinition::getDeploymentId);
-            deploymentList = repositoryService.createDeploymentQuery().deploymentIds(deploymentIds).list();
+            deploymentList = QueryUtils.deploymentQuery(deploymentIds).list();
         }
         for (ProcessDefinition processDefinition : definitionList) {
             ProcessDefinitionVo processDefinitionVo = BeanUtil.toBean(processDefinition, ProcessDefinitionVo.class);
@@ -108,16 +101,12 @@
     @Override
     public List<ProcessDefinitionVo> getProcessDefinitionListByKey(String key) {
         List<ProcessDefinitionVo> processDefinitionVoList = new ArrayList<>();
-        ProcessDefinitionQuery query = repositoryService.createProcessDefinitionQuery();
-        if (TenantHelper.isEnable()) {
-            query.processDefinitionTenantId(TenantHelper.getTenantId());
-        }
+        ProcessDefinitionQuery query = QueryUtils.definitionQuery();
         List<ProcessDefinition> definitionList = query.processDefinitionKey(key).list();
         List<Deployment> deploymentList = null;
         if (CollUtil.isNotEmpty(definitionList)) {
             List<String> deploymentIds = definitionList.stream().map(ProcessDefinition::getDeploymentId).collect(Collectors.toList());
-            deploymentList = repositoryService.createDeploymentQuery()
-                .deploymentIds(deploymentIds).list();
+            deploymentList = QueryUtils.deploymentQuery(deploymentIds).list();
         }
         for (ProcessDefinition processDefinition : definitionList) {
             ProcessDefinitionVo processDefinitionVo = BeanUtil.toBean(processDefinition, ProcessDefinitionVo.class);
@@ -172,7 +161,7 @@
     @Override
     public boolean deleteDeployment(String deploymentId, String processDefinitionId) {
         try {
-            List<HistoricTaskInstance> taskInstanceList = historyService.createHistoricTaskInstanceQuery()
+            List<HistoricTaskInstance> taskInstanceList = QueryUtils.hisTaskInstanceQuery()
                 .processDefinitionId(processDefinitionId).list();
             if (CollectionUtil.isNotEmpty(taskInstanceList)) {
                 throw new ServiceException("褰撳墠娴佺▼瀹氫箟宸茶浣跨敤涓嶅彲鍒犻櫎锛�");
@@ -194,11 +183,8 @@
     @Override
     public boolean updateProcessDefState(String processDefinitionId) {
         try {
-            ProcessDefinitionQuery query = repositoryService.createProcessDefinitionQuery();
-            if (TenantHelper.isEnable()) {
-                query.processDefinitionTenantId(TenantHelper.getTenantId());
-            }
-            ProcessDefinition processDefinition = query.processDefinitionId(processDefinitionId).singleResult();
+            ProcessDefinition processDefinition = QueryUtils.definitionQuery()
+                .processDefinitionId(processDefinitionId).singleResult();
             //灏嗗綋鍓嶄负鎸傝捣鐘舵�佹洿鏂颁负婵�娲荤姸鎬�
             //鍙傛暟璇存槑锛氬弬鏁�1锛氭祦绋嬪畾涔塱d,鍙傛暟2锛氭槸鍚︽縺娲伙紙true鏄惁绾ц仈瀵瑰簲娴佺▼瀹炰緥锛屾縺娲讳簡鍒欏搴旀祦绋嬪疄渚嬮兘鍙互瀹℃壒锛夛紝
             //鍙傛暟3锛氫粈涔堟椂鍊欐縺娲伙紝濡傛灉涓簄ull鍒欑珛鍗虫縺娲伙紝濡傛灉涓哄叿浣撴椂闂村垯鍒拌揪姝ゆ椂闂村悗婵�娲�
@@ -249,13 +235,10 @@
      */
     @Override
     public boolean convertToModel(String processDefinitionId) {
-        ProcessDefinition pd = repositoryService.createProcessDefinitionQuery()
+        ProcessDefinition pd = QueryUtils.definitionQuery()
             .processDefinitionId(processDefinitionId).singleResult();
         InputStream inputStream = repositoryService.getResourceAsStream(pd.getDeploymentId(), pd.getResourceName());
-        ModelQuery query = repositoryService.createModelQuery();
-        if (TenantHelper.isEnable()) {
-            query.modelTenantId(TenantHelper.getTenantId());
-        }
+        ModelQuery query = QueryUtils.modelQuery();
         Model model = query.modelKey(pd.getKey()).singleResult();
         try {
             if (ObjectUtil.isNotNull(model)) {
@@ -304,11 +287,9 @@
             InputStream inputStream = file.getInputStream();
             Deployment deployment;
             if (FlowConstant.ZIP.equals(suffix)) {
-                DeploymentBuilder query = repositoryService.createDeployment();
-                if (TenantHelper.isEnable()) {
-                    query.tenantId(TenantHelper.getTenantId());
-                }
-                deployment = query.addZipInputStream(new ZipInputStream(inputStream))
+                DeploymentBuilder builder = repositoryService.createDeployment();
+                deployment = builder.addZipInputStream(new ZipInputStream(inputStream))
+                    .tenantId(TenantHelper.getTenantId())
                     .name(processName).key(processKey).category(categoryCode).deploy();
             } else {
                 String[] list = ResourceNameUtil.BPMN_RESOURCE_SUFFIXES;
@@ -320,18 +301,16 @@
                     }
                 }
                 if (flag) {
-                    DeploymentBuilder query = repositoryService.createDeployment();
-                    if (TenantHelper.isEnable()) {
-                        query.tenantId(TenantHelper.getTenantId());
-                    }
-                    deployment = query.addInputStream(filename, inputStream)
+                    DeploymentBuilder builder = repositoryService.createDeployment();
+                    deployment = builder.addInputStream(filename, inputStream)
+                        .tenantId(TenantHelper.getTenantId())
                         .name(processName).key(processKey).category(categoryCode).deploy();
                 } else {
                     throw new ServiceException("鏂囦欢绫诲瀷涓婁紶閿欒锛�");
                 }
             }
             // 鏇存柊鍒嗙被
-            ProcessDefinition definition = repositoryService.createProcessDefinitionQuery().deploymentId(deployment.getId()).singleResult();
+            ProcessDefinition definition = QueryUtils.definitionQuery().deploymentId(deployment.getId()).singleResult();
             repositoryService.setProcessDefinitionCategory(definition.getId(), categoryCode);
 
             return true;

--
Gitblit v1.9.3