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.CompleteTaskDTO;
|
||||||
import org.dromara.common.core.domain.dto.StartProcessDTO;
|
import org.dromara.common.core.domain.dto.StartProcessDTO;
|
||||||
|
import org.dromara.common.core.domain.dto.StartProcessReturnDTO;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -66,7 +67,7 @@ public interface WorkflowService {
|
|||||||
* @param startProcess 参数
|
* @param startProcess 参数
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
Map<String, Object> startWorkFlow(StartProcessDTO startProcess);
|
StartProcessReturnDTO startWorkFlow(StartProcessDTO startProcess);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 办理任务
|
* 办理任务
|
||||||
|
@ -2,6 +2,7 @@ package org.dromara.workflow.controller;
|
|||||||
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.dromara.common.core.domain.R;
|
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.domain.dto.UserDTO;
|
||||||
import org.dromara.common.core.validate.AddGroup;
|
import org.dromara.common.core.validate.AddGroup;
|
||||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||||
@ -20,7 +21,6 @@ import org.springframework.validation.annotation.Validated;
|
|||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 任务管理 控制层
|
* 任务管理 控制层
|
||||||
@ -44,9 +44,9 @@ public class FlwTaskController extends BaseController {
|
|||||||
@Log(title = "任务管理", businessType = BusinessType.INSERT)
|
@Log(title = "任务管理", businessType = BusinessType.INSERT)
|
||||||
@RepeatSubmit()
|
@RepeatSubmit()
|
||||||
@PostMapping("/startWorkFlow")
|
@PostMapping("/startWorkFlow")
|
||||||
public R<Map<String, Object>> startWorkFlow(@Validated(AddGroup.class) @RequestBody StartProcessBo startProcessBo) {
|
public R<StartProcessReturnDTO> startWorkFlow(@Validated(AddGroup.class) @RequestBody StartProcessBo startProcessBo) {
|
||||||
Map<String, Object> map = flwTaskService.startWorkFlow(startProcessBo);
|
StartProcessReturnDTO startProcessReturn = flwTaskService.startWorkFlow(startProcessBo);
|
||||||
return R.ok("提交成功", map);
|
return R.ok("提交成功", startProcessReturn);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package org.dromara.workflow.service;
|
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.core.domain.dto.UserDTO;
|
||||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
@ -26,7 +27,7 @@ public interface IFlwTaskService {
|
|||||||
* @param startProcessBo 启动流程参数
|
* @param startProcessBo 启动流程参数
|
||||||
* @return 结果
|
* @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 com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
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.domain.dto.UserDTO;
|
||||||
import org.dromara.common.core.enums.BusinessStatusEnum;
|
import org.dromara.common.core.enums.BusinessStatusEnum;
|
||||||
import org.dromara.common.core.exception.ServiceException;
|
import org.dromara.common.core.exception.ServiceException;
|
||||||
@ -86,7 +87,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public Map<String, Object> startWorkFlow(StartProcessBo startProcessBo) {
|
public StartProcessReturnDTO startWorkFlow(StartProcessBo startProcessBo) {
|
||||||
String businessId = startProcessBo.getBusinessId();
|
String businessId = startProcessBo.getBusinessId();
|
||||||
if (StringUtils.isBlank(businessId)) {
|
if (StringUtils.isBlank(businessId)) {
|
||||||
throw new ServiceException("启动工作流时必须包含业务ID");
|
throw new ServiceException("启动工作流时必须包含业务ID");
|
||||||
@ -102,7 +103,10 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
|||||||
if (ObjectUtil.isNotNull(flowInstance)) {
|
if (ObjectUtil.isNotNull(flowInstance)) {
|
||||||
BusinessStatusEnum.checkStartStatus(flowInstance.getFlowStatus());
|
BusinessStatusEnum.checkStartStatus(flowInstance.getFlowStatus());
|
||||||
List<Task> taskList = taskService.list(new FlowTask().setInstanceId(flowInstance.getId()));
|
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 flowParams = new FlowParams();
|
||||||
flowParams.flowCode(startProcessBo.getFlowCode());
|
flowParams.flowCode(startProcessBo.getFlowCode());
|
||||||
@ -119,7 +123,10 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
|||||||
if (taskList.size() > 1) {
|
if (taskList.size() > 1) {
|
||||||
throw new ServiceException("请检查流程第一个环节是否为申请人!");
|
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 lombok.RequiredArgsConstructor;
|
||||||
import org.dromara.common.core.domain.dto.CompleteTaskDTO;
|
import org.dromara.common.core.domain.dto.CompleteTaskDTO;
|
||||||
import org.dromara.common.core.domain.dto.StartProcessDTO;
|
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.service.WorkflowService;
|
||||||
import org.dromara.common.core.utils.StringUtils;
|
import org.dromara.common.core.utils.StringUtils;
|
||||||
import org.dromara.warm.flow.orm.entity.FlowInstance;
|
import org.dromara.warm.flow.orm.entity.FlowInstance;
|
||||||
@ -105,7 +106,7 @@ public class WorkflowServiceImpl implements WorkflowService {
|
|||||||
* @param startProcess 参数
|
* @param startProcess 参数
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Map<String, Object> startWorkFlow(StartProcessDTO startProcess) {
|
public StartProcessReturnDTO startWorkFlow(StartProcessDTO startProcess) {
|
||||||
return flwTaskService.startWorkFlow(BeanUtil.toBean(startProcess, StartProcessBo.class));
|
return flwTaskService.startWorkFlow(BeanUtil.toBean(startProcess, StartProcessBo.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user