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 | 74 ++++++++++++++++++++++++++++++------- 1 files changed, 60 insertions(+), 14 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 91a899d..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,12 +1,18 @@ 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.TaskService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; +import java.util.Map; /** * 閫氱敤 宸ヤ綔娴佹湇鍔″疄鐜� @@ -17,8 +23,10 @@ @Service public class WorkflowServiceImpl implements WorkflowService { - private final IActProcessInstanceService iActProcessInstanceService; - + @Autowired(required = false) + private TaskService taskService; + private final IActProcessInstanceService actProcessInstanceService; + private final IActHiProcinstService actHiProcinstService; /** * 杩愯涓殑瀹炰緥 鍒犻櫎绋嬪疄渚嬶紝鍒犻櫎鍘嗗彶璁板綍锛屽垹闄や笟鍔′笌娴佺▼鍏宠仈淇℃伅 * @@ -27,7 +35,7 @@ */ @Override public boolean deleteRunAndHisInstance(List<String> businessKeys) { - return iActProcessInstanceService.deleteRunAndHisInstance(businessKeys); + return actProcessInstanceService.deleteRunAndHisInstance(businessKeys); } /** @@ -51,25 +59,63 @@ } /** - * 璁剧疆娴佺▼瀹炰緥瀵硅薄 + * 璁剧疆娴佺▼鍙橀噺(鍏ㄥ眬鍙橀噺) * - * @param obj 涓氬姟瀵硅薄 - * @param businessKey 涓氬姟id + * @param taskId 浠诲姟id + * @param variableName 鍙橀噺鍚嶇О + * @param value 鍙橀噺鍊� */ @Override - public void setBusinessInstanceDTO(Object obj, String businessKey) { - WorkflowUtils.setBusinessInstanceDTO(obj, businessKey); + public void setVariable(String taskId, String variableName, Object value) { + taskService.setVariable(taskId, variableName, value); } /** - * 璁剧疆娴佺▼瀹炰緥瀵硅薄 + * 璁剧疆娴佺▼鍙橀噺(鍏ㄥ眬鍙橀噺) * - * @param obj 涓氬姟瀵硅薄 - * @param idList 涓氬姟id - * @param fieldName 涓婚敭灞炴�у悕绉� + * @param taskId 浠诲姟id + * @param variables 娴佺▼鍙橀噺 */ @Override - public void setBusinessInstanceListDTO(Object obj, List<String> idList, String fieldName) { - WorkflowUtils.setBusinessInstanceListDTO(obj, idList, fieldName); + public void setVariables(String taskId, Map<String, Object> variables) { + taskService.setVariables(taskId, variables); + } + + /** + * 璁剧疆娴佺▼鍙橀噺(鏈湴鍙橀噺,闈炲叏灞�鍙橀噺) + * + * @param taskId 浠诲姟id + * @param variableName 鍙橀噺鍚嶇О + * @param value 鍙橀噺鍊� + */ + @Override + public void setVariableLocal(String taskId, String variableName, Object value) { + taskService.setVariableLocal(taskId, variableName, value); + } + + /** + * 璁剧疆娴佺▼鍙橀噺(鏈湴鍙橀噺,闈炲叏灞�鍙橀噺) + * + * @param taskId 浠诲姟id + * @param variables 娴佺▼鍙橀噺 + */ + @Override + public void setVariablesLocal(String taskId, Map<String, Object> 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