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/controller/FlwTaskController.java | 8 ++++----
ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/service/WorkflowService.java | 3 ++-
ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IFlwTaskService.java | 3 ++-
ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java | 13 ++++++++++---
ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WorkflowServiceImpl.java | 3 ++-
ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/dto/StartProcessReturnDTO.java | 30 ++++++++++++++++++++++++++++++
6 files changed, 50 insertions(+), 10 deletions(-)
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/dto/StartProcessReturnDTO.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/dto/StartProcessReturnDTO.java
new file mode 100644
index 0000000..9bcbd12
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/dto/StartProcessReturnDTO.java
@@ -0,0 +1,30 @@
+package org.dromara.common.core.domain.dto;
+
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * 鍚姩娴佺▼杩斿洖瀵硅薄
+ *
+ * @author Lion Li
+ */
+@Data
+public class StartProcessReturnDTO implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 娴佺▼瀹炰緥id
+ */
+ private Long processInstanceId;
+
+ /**
+ * 浠诲姟id
+ */
+ private Long taskId;
+
+}
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/service/WorkflowService.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/service/WorkflowService.java
index 565362e..9f2d11a 100644
--- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/service/WorkflowService.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/service/WorkflowService.java
@@ -2,6 +2,7 @@
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 java.util.List;
import java.util.Map;
@@ -66,7 +67,7 @@
* @param startProcess 鍙傛暟
* @return 缁撴灉
*/
- Map<String, Object> startWorkFlow(StartProcessDTO startProcess);
+ StartProcessReturnDTO startWorkFlow(StartProcessDTO startProcess);
/**
* 鍔炵悊浠诲姟
diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/FlwTaskController.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/FlwTaskController.java
index 5d9535a..463916b 100644
--- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/FlwTaskController.java
+++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/FlwTaskController.java
@@ -2,6 +2,7 @@
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
+import org.dromara.common.core.domain.dto.StartProcessReturnDTO;
import org.dromara.common.core.domain.dto.UserDTO;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
@@ -20,7 +21,6 @@
import org.springframework.web.bind.annotation.*;
import java.util.List;
-import java.util.Map;
/**
* 浠诲姟绠$悊 鎺у埗灞�
@@ -44,9 +44,9 @@
@Log(title = "浠诲姟绠$悊", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping("/startWorkFlow")
- public R<Map<String, Object>> startWorkFlow(@Validated(AddGroup.class) @RequestBody StartProcessBo startProcessBo) {
- Map<String, Object> map = flwTaskService.startWorkFlow(startProcessBo);
- return R.ok("鎻愪氦鎴愬姛", map);
+ public R<StartProcessReturnDTO> startWorkFlow(@Validated(AddGroup.class) @RequestBody StartProcessBo startProcessBo) {
+ StartProcessReturnDTO startProcessReturn = flwTaskService.startWorkFlow(startProcessBo);
+ return R.ok("鎻愪氦鎴愬姛", startProcessReturn);
}
/**
diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IFlwTaskService.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IFlwTaskService.java
index 80bfa94..11034e7 100644
--- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IFlwTaskService.java
+++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IFlwTaskService.java
@@ -1,5 +1,6 @@
package org.dromara.workflow.service;
+import org.dromara.common.core.domain.dto.StartProcessReturnDTO;
import org.dromara.common.core.domain.dto.UserDTO;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
@@ -26,7 +27,7 @@
* @param startProcessBo 鍚姩娴佺▼鍙傛暟
* @return 缁撴灉
*/
- Map<String, Object> startWorkFlow(StartProcessBo startProcessBo);
+ StartProcessReturnDTO startWorkFlow(StartProcessBo startProcessBo);
/**
* 鍔炵悊浠诲姟
diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java
index f95821d..631faab 100644
--- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java
+++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java
@@ -11,6 +11,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
+import org.dromara.common.core.domain.dto.StartProcessReturnDTO;
import org.dromara.common.core.domain.dto.UserDTO;
import org.dromara.common.core.enums.BusinessStatusEnum;
import org.dromara.common.core.exception.ServiceException;
@@ -86,7 +87,7 @@
*/
@Override
@Transactional(rollbackFor = Exception.class)
- public Map<String, Object> startWorkFlow(StartProcessBo startProcessBo) {
+ public StartProcessReturnDTO startWorkFlow(StartProcessBo startProcessBo) {
String businessId = startProcessBo.getBusinessId();
if (StringUtils.isBlank(businessId)) {
throw new ServiceException("鍚姩宸ヤ綔娴佹椂蹇呴』鍖呭惈涓氬姟ID");
@@ -102,7 +103,10 @@
if (ObjectUtil.isNotNull(flowInstance)) {
BusinessStatusEnum.checkStartStatus(flowInstance.getFlowStatus());
List<Task> taskList = taskService.list(new FlowTask().setInstanceId(flowInstance.getId()));
- return Map.of(PROCESS_INSTANCE_ID, taskList.get(0).getInstanceId(), TASK_ID, taskList.get(0).getId());
+ StartProcessReturnDTO dto = new StartProcessReturnDTO();
+ dto.setProcessInstanceId(taskList.get(0).getInstanceId());
+ dto.setTaskId(taskList.get(0).getId());
+ return dto;
}
FlowParams flowParams = new FlowParams();
flowParams.flowCode(startProcessBo.getFlowCode());
@@ -119,7 +123,10 @@
if (taskList.size() > 1) {
throw new ServiceException("璇锋鏌ユ祦绋嬬涓�涓幆鑺傛槸鍚︿负鐢宠浜猴紒");
}
- return Map.of(PROCESS_INSTANCE_ID, instance.getId(), TASK_ID, taskList.get(0).getId());
+ StartProcessReturnDTO dto = new StartProcessReturnDTO();
+ dto.setProcessInstanceId(instance.getId());
+ dto.setTaskId(taskList.get(0).getId());
+ return dto;
}
/**
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 6be20c4..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
@@ -5,6 +5,7 @@
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.common.core.utils.StringUtils;
import org.dromara.warm.flow.orm.entity.FlowInstance;
@@ -105,7 +106,7 @@
* @param startProcess 鍙傛暟
*/
@Override
- public Map<String, Object> startWorkFlow(StartProcessDTO startProcess) {
+ public StartProcessReturnDTO startWorkFlow(StartProcessDTO startProcess) {
return flwTaskService.startWorkFlow(BeanUtil.toBean(startProcess, StartProcessBo.class));
}
--
Gitblit v1.9.3