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; } 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); /** * åçä»»å¡ 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); } /** 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); /** * åçä»»å¡ 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; } /** 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)); }