From 9b507f06c4a7ff9ad39d25b45bb11982bc814e5d Mon Sep 17 00:00:00 2001
From: gssong <1742057357@qq.com>
Date: 星期日, 02 六月 2024 10:19:18 +0800
Subject: [PATCH] update 增加通用接口 降低耦合

---
 ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/WorkflowUtils.java |   53 +++++++++++++++++++++++++++--------------------------
 1 files changed, 27 insertions(+), 26 deletions(-)

diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/WorkflowUtils.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/WorkflowUtils.java
index 2281acb..aa84387 100644
--- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/WorkflowUtils.java
+++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/WorkflowUtils.java
@@ -7,6 +7,7 @@
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
+import org.dromara.common.core.domain.dto.BusinessInstanceDTO;
 import org.dromara.common.core.domain.dto.RoleDTO;
 import org.dromara.common.core.domain.dto.UserDTO;
 import org.dromara.common.core.service.UserService;
@@ -27,7 +28,6 @@
 import org.dromara.workflow.domain.ActHiTaskinst;
 import org.dromara.workflow.domain.vo.MultiInstanceVo;
 import org.dromara.workflow.domain.vo.ParticipantVo;
-import org.dromara.workflow.domain.vo.ProcessInstanceVo;
 import org.dromara.workflow.flowable.cmd.UpdateHiTaskInstCmd;
 import org.dromara.workflow.mapper.ActHiTaskinstMapper;
 import org.dromara.workflow.service.IActHiProcinstService;
@@ -46,7 +46,7 @@
 
 import java.util.*;
 
-import static org.dromara.workflow.common.constant.FlowConstant.PROCESS_INSTANCE_VO;
+import static org.dromara.workflow.common.constant.FlowConstant.BUSINESS_INSTANCE_DTO;
 
 /**
  * 宸ヤ綔娴佸伐鍏�
@@ -241,20 +241,21 @@
      * @param obj         涓氬姟瀵硅薄
      * @param businessKey 涓氬姟id
      */
-    public static void setProcessInstanceVo(Object obj, String businessKey) {
+    public static void setBusinessInstanceDTO(Object obj, String businessKey) {
         if (StringUtils.isBlank(businessKey) || obj == null) {
             return;
         }
         ActHiProcinst actHiProcinst = ACT_HI_PROCINST_SERVICE.selectByBusinessKey(businessKey);
         if (actHiProcinst == null) {
-            ProcessInstanceVo processInstanceVo = new ProcessInstanceVo();
-            processInstanceVo.setBusinessStatus(BusinessStatusEnum.DRAFT.getStatus());
-            ReflectUtils.invokeSetter(obj, PROCESS_INSTANCE_VO, processInstanceVo);
+            BusinessInstanceDTO businessInstanceDTO = new BusinessInstanceDTO();
+            businessInstanceDTO.setBusinessStatus(BusinessStatusEnum.DRAFT.getStatus());
+            ReflectUtils.invokeSetter(obj, BUSINESS_INSTANCE_DTO, businessInstanceDTO);
             return;
         }
-        ProcessInstanceVo processInstanceVo = BeanUtil.toBean(actHiProcinst, ProcessInstanceVo.class);
-        processInstanceVo.setBusinessStatusName(BusinessStatusEnum.findByStatus(processInstanceVo.getBusinessStatus()));
-        ReflectUtils.invokeSetter(obj, PROCESS_INSTANCE_VO, processInstanceVo);
+        BusinessInstanceDTO businessInstanceDTO = BeanUtil.toBean(actHiProcinst, BusinessInstanceDTO.class);
+        businessInstanceDTO.setBusinessStatusName(BusinessStatusEnum.findByStatus(businessInstanceDTO.getBusinessStatus()));
+        businessInstanceDTO.setProcessDefinitionId(actHiProcinst.getProcDefId());
+        ReflectUtils.invokeSetter(obj, BUSINESS_INSTANCE_DTO, businessInstanceDTO);
     }
 
     /**
@@ -264,7 +265,7 @@
      * @param idList    涓氬姟id
      * @param fieldName 涓婚敭灞炴�у悕绉�
      */
-    public static void setProcessInstanceListVo(Object obj, List<String> idList, String fieldName) {
+    public static void setBusinessInstanceListDTO(Object obj, List<String> idList, String fieldName) {
         if (CollUtil.isEmpty(idList) || obj == null) {
             return;
         }
@@ -273,21 +274,22 @@
             for (Object o : collection) {
                 String fieldValue = ReflectUtils.invokeGetter(o, fieldName).toString();
                 if (CollUtil.isEmpty(actHiProcinstList)) {
-                    ProcessInstanceVo processInstanceVo = new ProcessInstanceVo();
-                    processInstanceVo.setBusinessStatus(BusinessStatusEnum.DRAFT.getStatus());
-                    processInstanceVo.setBusinessStatusName(BusinessStatusEnum.findByStatus(processInstanceVo.getBusinessStatus()));
-                    ReflectUtils.invokeSetter(o, PROCESS_INSTANCE_VO, processInstanceVo);
+                    BusinessInstanceDTO businessInstanceDTO = new BusinessInstanceDTO();
+                    businessInstanceDTO.setBusinessStatus(BusinessStatusEnum.DRAFT.getStatus());
+                    businessInstanceDTO.setBusinessStatusName(BusinessStatusEnum.findByStatus(businessInstanceDTO.getBusinessStatus()));
+                    ReflectUtils.invokeSetter(o, BUSINESS_INSTANCE_DTO, businessInstanceDTO);
                 } else {
                     ActHiProcinst actHiProcinst = actHiProcinstList.stream().filter(e -> e.getBusinessKey().equals(fieldValue)).findFirst().orElse(null);
                     if (ObjectUtil.isNotEmpty(actHiProcinst)) {
-                        ProcessInstanceVo processInstanceVo = BeanUtil.toBean(actHiProcinst, ProcessInstanceVo.class);
-                        processInstanceVo.setBusinessStatusName(BusinessStatusEnum.findByStatus(processInstanceVo.getBusinessStatus()));
-                        ReflectUtils.invokeSetter(o, PROCESS_INSTANCE_VO, processInstanceVo);
+                        BusinessInstanceDTO businessInstanceDTO = BeanUtil.toBean(actHiProcinst, BusinessInstanceDTO.class);
+                        businessInstanceDTO.setBusinessStatusName(BusinessStatusEnum.findByStatus(businessInstanceDTO.getBusinessStatus()));
+                        businessInstanceDTO.setProcessDefinitionId(actHiProcinst.getProcDefId());
+                        ReflectUtils.invokeSetter(o, BUSINESS_INSTANCE_DTO, businessInstanceDTO);
                     } else {
-                        ProcessInstanceVo processInstanceVo = new ProcessInstanceVo();
-                        processInstanceVo.setBusinessStatus(BusinessStatusEnum.DRAFT.getStatus());
-                        processInstanceVo.setBusinessStatusName(BusinessStatusEnum.findByStatus(processInstanceVo.getBusinessStatus()));
-                        ReflectUtils.invokeSetter(o, PROCESS_INSTANCE_VO, processInstanceVo);
+                        BusinessInstanceDTO businessInstanceDTO = new BusinessInstanceDTO();
+                        businessInstanceDTO.setBusinessStatus(BusinessStatusEnum.DRAFT.getStatus());
+                        businessInstanceDTO.setBusinessStatusName(BusinessStatusEnum.findByStatus(businessInstanceDTO.getBusinessStatus()));
+                        ReflectUtils.invokeSetter(o, BUSINESS_INSTANCE_DTO, businessInstanceDTO);
                     }
                 }
             }
@@ -346,10 +348,11 @@
 
     /**
      * 鏍规嵁浠诲姟id鏌ヨ 褰撳墠鐢ㄦ埛鐨勪换鍔★紝妫�鏌� 褰撳墠浜哄憳 鏄惁鏄 taskId 鐨勫姙鐞嗕汉
+     *
      * @param taskId 浠诲姟id
-     * @return
+     * @return 缁撴灉
      */
-    public static Task getTaskByCurrUser(String taskId){
+    public static Task getTaskByCurrentUser(String taskId) {
         TaskQuery taskQuery = QueryUtils.taskQuery();
         taskQuery.taskId(taskId).taskCandidateOrAssigned(String.valueOf(LoginHelper.getUserId()));
 
@@ -358,8 +361,6 @@
             List<String> groupIds = StreamUtils.toList(roles, e -> String.valueOf(e.getRoleId()));
             taskQuery.taskCandidateGroupIn(groupIds);
         }
-        Task task = taskQuery.singleResult();
-
-        return task;
+        return taskQuery.singleResult();
     }
 }

--
Gitblit v1.9.3