From 37b2d648b1135623531805a5747fd48b12e5367b Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期一, 20 一月 2025 12:52:55 +0800 Subject: [PATCH] update 优化 发起流程api返回值使用对象封装 --- ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WorkflowServiceImpl.java | 135 ++++++++++++++++++++++---------------------- 1 files changed, 68 insertions(+), 67 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 b036584..41a44ac 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,14 +1,20 @@ package org.dromara.workflow.service.impl; -import cn.hutool.core.util.StrUtil; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; import lombok.RequiredArgsConstructor; +import org.dromara.common.core.domain.dto.CompleteTaskDTO; +import org.dromara.common.core.domain.dto.StartProcessDTO; +import org.dromara.common.core.domain.dto.StartProcessReturnDTO; 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.dromara.common.core.utils.StringUtils; +import org.dromara.warm.flow.orm.entity.FlowInstance; +import org.dromara.workflow.common.ConditionalOnEnable; +import org.dromara.workflow.domain.bo.CompleteTaskBo; +import org.dromara.workflow.domain.bo.StartProcessBo; +import org.dromara.workflow.service.IFlwDefinitionService; +import org.dromara.workflow.service.IFlwInstanceService; +import org.dromara.workflow.service.IFlwTaskService; import org.springframework.stereotype.Service; import java.util.List; @@ -19,23 +25,24 @@ * * @author may */ +@ConditionalOnEnable @RequiredArgsConstructor @Service public class WorkflowServiceImpl implements WorkflowService { - @Autowired(required = false) - private TaskService taskService; - private final IActProcessInstanceService actProcessInstanceService; - private final IActHiProcinstService actHiProcinstService; + private final IFlwInstanceService flwInstanceService; + private final IFlwDefinitionService flwDefinitionService; + private final IFlwTaskService flwTaskService; + /** - * 杩愯涓殑瀹炰緥 鍒犻櫎绋嬪疄渚嬶紝鍒犻櫎鍘嗗彶璁板綍锛屽垹闄や笟鍔′笌娴佺▼鍏宠仈淇℃伅 + * 鍒犻櫎娴佺▼瀹炰緥 * - * @param businessKeys 涓氬姟id + * @param businessIds 涓氬姟id * @return 缁撴灉 */ @Override - public boolean deleteRunAndHisInstance(List<String> businessKeys) { - return actProcessInstanceService.deleteRunAndHisInstance(businessKeys); + public boolean deleteInstance(List<Long> businessIds) { + return flwInstanceService.deleteByBusinessIds(businessIds); } /** @@ -44,78 +51,72 @@ * @param taskId 浠诲姟id */ @Override - public String getBusinessStatusByTaskId(String taskId) { - return WorkflowUtils.getBusinessStatusByTaskId(taskId); + public String getBusinessStatusByTaskId(Long taskId) { + FlowInstance flowInstance = flwInstanceService.selectByTaskId(taskId); + return ObjectUtil.isNotNull(flowInstance) ? flowInstance.getFlowStatus() : StringUtils.EMPTY; } /** * 鑾峰彇褰撳墠娴佺▼鐘舵�� * - * @param businessKey 涓氬姟id + * @param businessId 涓氬姟id */ @Override - public String getBusinessStatus(String businessKey) { - return WorkflowUtils.getBusinessStatus(businessKey); + public String getBusinessStatus(String businessId) { + FlowInstance flowInstance = flwInstanceService.selectInstByBusinessId(businessId); + return ObjectUtil.isNotNull(flowInstance) ? flowInstance.getFlowStatus() : StringUtils.EMPTY; } /** - * 璁剧疆娴佺▼鍙橀噺(鍏ㄥ眬鍙橀噺) + * 璁剧疆娴佺▼鍙橀噺 * - * @param taskId 浠诲姟id - * @param variableName 鍙橀噺鍚嶇О - * @param value 鍙橀噺鍊� + * @param instanceId 娴佺▼瀹炰緥id + * @param variables 娴佺▼鍙橀噺 */ @Override - public void setVariable(String taskId, String variableName, Object value) { - taskService.setVariable(taskId, variableName, value); - } - - /** - * 璁剧疆娴佺▼鍙橀噺(鍏ㄥ眬鍙橀噺) - * - * @param taskId 浠诲姟id - * @param variables 娴佺▼鍙橀噺 - */ - @Override - 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); + public void setVariable(Long instanceId, Map<String, Object> variables) { + flwInstanceService.setVariable(instanceId, variables); } /** * 鎸夌収涓氬姟id鏌ヨ娴佺▼瀹炰緥id * - * @param businessKey 涓氬姟id + * @param businessId 涓氬姟id * @return 缁撴灉 */ @Override - public String getInstanceIdByBusinessKey(String businessKey) { - ActHiProcinst actHiProcinst = actHiProcinstService.selectByBusinessKey(businessKey); - if (actHiProcinst == null) { - return StrUtil.EMPTY; - } - return actHiProcinst.getId(); + public Long getInstanceIdByBusinessId(String businessId) { + FlowInstance flowInstance = flwInstanceService.selectInstByBusinessId(businessId); + return ObjectUtil.isNotNull(flowInstance) ? flowInstance.getId() : null; + } + + /** + * 鏂板绉熸埛娴佺▼瀹氫箟 + * + * @param tenantId 绉熸埛id + */ + @Override + public void syncDef(String tenantId) { + flwDefinitionService.syncDef(tenantId); + } + + /** + * 鍚姩娴佺▼ + * + * @param startProcess 鍙傛暟 + */ + @Override + public StartProcessReturnDTO startWorkFlow(StartProcessDTO startProcess) { + return flwTaskService.startWorkFlow(BeanUtil.toBean(startProcess, StartProcessBo.class)); + } + + /** + * 鍔炵悊浠诲姟 + * + * @param completeTask 鍙傛暟 + */ + @Override + public boolean completeTask(CompleteTaskDTO completeTask) { + return flwTaskService.completeTask(BeanUtil.toBean(completeTask, CompleteTaskBo.class)); } } -- Gitblit v1.9.3