ProcessInstanceController.java 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package com.aizuda.boot.modules.flw.controller;
  2. import com.aizuda.boot.modules.flw.FlowHelper;
  3. import com.aizuda.core.api.ApiController;
  4. import com.baomidou.kisso.annotation.Permission;
  5. import com.aizuda.bpm.engine.FlowLongEngine;
  6. import io.swagger.v3.oas.annotations.Operation;
  7. import io.swagger.v3.oas.annotations.Parameter;
  8. import io.swagger.v3.oas.annotations.Parameters;
  9. import io.swagger.v3.oas.annotations.enums.ParameterIn;
  10. import io.swagger.v3.oas.annotations.tags.Tag;
  11. import jakarta.annotation.Resource;
  12. import org.springframework.web.bind.annotation.PathVariable;
  13. import org.springframework.web.bind.annotation.PostMapping;
  14. import org.springframework.web.bind.annotation.RequestMapping;
  15. import org.springframework.web.bind.annotation.RestController;
  16. /**
  17. * 流程实例 前端控制器
  18. *
  19. * @author 青苗
  20. * @since 2023-09-07
  21. */
  22. @Tag(name = "流程实例")
  23. @RestController
  24. @RequestMapping("/v1/process-instance")
  25. public class ProcessInstanceController extends ApiController {
  26. @Resource
  27. private FlowLongEngine flowLongEngine;
  28. @Operation(summary = "获取所有分类流程定义列表")
  29. @Permission("flw:processInstance:listAll")
  30. @Parameters({
  31. @Parameter(name = "processId", description = "流程ID", in = ParameterIn.PATH)
  32. })
  33. @PostMapping("/start/{processId}")
  34. public boolean start(@PathVariable("processId") Long processId) {
  35. return flowLongEngine.startInstanceById(processId, FlowHelper.getFlowCreator()).isPresent();
  36. }
  37. }