package com.aizuda.boot.modules.flw.controller; import com.aizuda.boot.modules.flw.FlowHelper; import com.aizuda.core.api.ApiController; import com.baomidou.kisso.annotation.Permission; import com.aizuda.bpm.engine.FlowLongEngine; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameters; import io.swagger.v3.oas.annotations.enums.ParameterIn; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.annotation.Resource; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * 流程实例 前端控制器 * * @author 青苗 * @since 2023-09-07 */ @Tag(name = "流程实例") @RestController @RequestMapping("/v1/process-instance") public class ProcessInstanceController extends ApiController { @Resource private FlowLongEngine flowLongEngine; @Operation(summary = "获取所有分类流程定义列表") @Permission("flw:processInstance:listAll") @Parameters({ @Parameter(name = "processId", description = "流程ID", in = ParameterIn.PATH) }) @PostMapping("/start/{processId}") public boolean start(@PathVariable("processId") Long processId) { return flowLongEngine.startInstanceById(processId, FlowHelper.getFlowCreator()).isPresent(); } }