update 优化 发起流程api返回值使用对象封装
This commit is contained in:
parent
27b4992f6e
commit
37b2d648b1
@ -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;
|
||||
|
||||
}
|
@ -2,6 +2,7 @@ package org.dromara.common.core.service;
|
||||
|
||||
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 @@ public interface WorkflowService {
|
||||
* @param startProcess 参数
|
||||
* @return 结果
|
||||
*/
|
||||
Map<String, Object> startWorkFlow(StartProcessDTO startProcess);
|
||||
StartProcessReturnDTO startWorkFlow(StartProcessDTO startProcess);
|
||||
|
||||
/**
|
||||
* 办理任务
|
||||
|
@ -2,6 +2,7 @@ package org.dromara.workflow.controller;
|
||||
|
||||
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.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 任务管理 控制层
|
||||
@ -44,9 +44,9 @@ public class FlwTaskController extends BaseController {
|
||||
@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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -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 @@ public interface IFlwTaskService {
|
||||
* @param startProcessBo 启动流程参数
|
||||
* @return 结果
|
||||
*/
|
||||
Map<String, Object> startWorkFlow(StartProcessBo startProcessBo);
|
||||
StartProcessReturnDTO startWorkFlow(StartProcessBo startProcessBo);
|
||||
|
||||
/**
|
||||
* 办理任务
|
||||
|
@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
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 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
||||
*/
|
||||
@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 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
||||
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 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
||||
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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -5,6 +5,7 @@ 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.common.core.utils.StringUtils;
|
||||
import org.dromara.warm.flow.orm.entity.FlowInstance;
|
||||
@ -105,7 +106,7 @@ public class WorkflowServiceImpl implements WorkflowService {
|
||||
* @param startProcess 参数
|
||||
*/
|
||||
@Override
|
||||
public Map<String, Object> startWorkFlow(StartProcessDTO startProcess) {
|
||||
public StartProcessReturnDTO startWorkFlow(StartProcessDTO startProcess) {
|
||||
return flwTaskService.startWorkFlow(BeanUtil.toBean(startProcess, StartProcessBo.class));
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user