From 59fd7eeeb3a233c288e2440b65f59d11b16c4620 Mon Sep 17 00:00:00 2001
From: 秋辞未寒 <545073804@qq.com>
Date: 星期二, 10 十二月 2024 17:55:11 +0800
Subject: [PATCH] add 新增 基于Redisson的发号器工具

---
 ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WorkflowServiceImpl.java |   61 ++++++++++++++----------------
 1 files changed, 29 insertions(+), 32 deletions(-)

diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WorkflowServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WorkflowServiceImpl.java
index 4d4384a..b036584 100644
--- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WorkflowServiceImpl.java
+++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WorkflowServiceImpl.java
@@ -1,10 +1,14 @@
 package org.dromara.workflow.service.impl;
 
+import cn.hutool.core.util.StrUtil;
 import lombok.RequiredArgsConstructor;
 import org.dromara.common.core.service.WorkflowService;
+import org.dromara.workflow.domain.ActHiProcinst;
+import org.dromara.workflow.service.IActHiProcinstService;
 import org.dromara.workflow.service.IActProcessInstanceService;
 import org.dromara.workflow.utils.WorkflowUtils;
-import org.flowable.engine.RuntimeService;
+import org.flowable.engine.TaskService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -19,9 +23,10 @@
 @Service
 public class WorkflowServiceImpl implements WorkflowService {
 
-    private final IActProcessInstanceService iActProcessInstanceService;
-    private final RuntimeService runtimeService;
-
+    @Autowired(required = false)
+    private TaskService taskService;
+    private final IActProcessInstanceService actProcessInstanceService;
+    private final IActHiProcinstService actHiProcinstService;
     /**
      * 杩愯涓殑瀹炰緥 鍒犻櫎绋嬪疄渚嬶紝鍒犻櫎鍘嗗彶璁板綍锛屽垹闄や笟鍔′笌娴佺▼鍏宠仈淇℃伅
      *
@@ -30,7 +35,7 @@
      */
     @Override
     public boolean deleteRunAndHisInstance(List<String> businessKeys) {
-        return iActProcessInstanceService.deleteRunAndHisInstance(businessKeys);
+        return actProcessInstanceService.deleteRunAndHisInstance(businessKeys);
     }
 
     /**
@@ -54,29 +59,6 @@
     }
 
     /**
-     * 璁剧疆娴佺▼瀹炰緥瀵硅薄
-     *
-     * @param obj         涓氬姟瀵硅薄
-     * @param businessKey 涓氬姟id
-     */
-    @Override
-    public void setBusinessInstanceDTO(Object obj, String businessKey) {
-        WorkflowUtils.setBusinessInstanceDTO(obj, businessKey);
-    }
-
-    /**
-     * 璁剧疆娴佺▼瀹炰緥瀵硅薄
-     *
-     * @param obj       涓氬姟瀵硅薄
-     * @param idList    涓氬姟id
-     * @param fieldName 涓婚敭灞炴�у悕绉�
-     */
-    @Override
-    public void setBusinessInstanceListDTO(Object obj, List<String> idList, String fieldName) {
-        WorkflowUtils.setBusinessInstanceListDTO(obj, idList, fieldName);
-    }
-
-    /**
      * 璁剧疆娴佺▼鍙橀噺(鍏ㄥ眬鍙橀噺)
      *
      * @param taskId       浠诲姟id
@@ -85,7 +67,7 @@
      */
     @Override
     public void setVariable(String taskId, String variableName, Object value) {
-        runtimeService.setVariable(taskId, variableName, value);
+        taskService.setVariable(taskId, variableName, value);
     }
 
     /**
@@ -96,7 +78,7 @@
      */
     @Override
     public void setVariables(String taskId, Map<String, Object> variables) {
-        runtimeService.setVariables(taskId, variables);
+        taskService.setVariables(taskId, variables);
     }
 
     /**
@@ -108,7 +90,7 @@
      */
     @Override
     public void setVariableLocal(String taskId, String variableName, Object value) {
-        runtimeService.setVariableLocal(taskId, variableName, value);
+        taskService.setVariableLocal(taskId, variableName, value);
     }
 
     /**
@@ -119,6 +101,21 @@
      */
     @Override
     public void setVariablesLocal(String taskId, Map<String, Object> variables) {
-        runtimeService.setVariablesLocal(taskId, variables);
+        taskService.setVariablesLocal(taskId, variables);
+    }
+
+    /**
+     * 鎸夌収涓氬姟id鏌ヨ娴佺▼瀹炰緥id
+     *
+     * @param businessKey 涓氬姟id
+     * @return 缁撴灉
+     */
+    @Override
+    public String getInstanceIdByBusinessKey(String businessKey) {
+        ActHiProcinst actHiProcinst = actHiProcinstService.selectByBusinessKey(businessKey);
+        if (actHiProcinst == null) {
+            return StrUtil.EMPTY;
+        }
+        return actHiProcinst.getId();
     }
 }

--
Gitblit v1.9.3