package jnpf.flowable.controller; import cn.dev33.satoken.annotation.SaCheckLogin; import jnpf.base.ActionResult; import jnpf.exception.WorkFlowException; import jnpf.flowable.service.dev.DevApprovalService; import jnpf.flowable.service.dev.DevApprovalRuns; import org.springframework.context.annotation.Profile; import lombok.Data; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; @Profile("workflow-dev-tools & !prod & !production") @RestController @RequestMapping("/devApproval") @SaCheckLogin @RequiredArgsConstructor public class DevApprovalController { private final DevApprovalService service; private final DevApprovalRuns runs; @GetMapping("/{taskId}") public ActionResult inspect(@PathVariable String taskId) throws WorkFlowException { return ActionResult.success(service.inspect(taskId, null)); } @PostMapping("/{taskId}/run") public ActionResult start(@PathVariable String taskId, @RequestBody Request request) throws WorkFlowException { return ActionResult.success(runs.start(taskId, request.getSignId())); } @GetMapping("/{taskId}/run") public ActionResult status(@PathVariable String taskId) throws WorkFlowException { return ActionResult.success(runs.status(taskId)); } @PostMapping("/{taskId}/run/stop") public ActionResult stop(@PathVariable String taskId, @RequestBody Request request) throws WorkFlowException { return ActionResult.success(runs.stop(taskId, request.getRunId())); } @Data public static class Request { private String signId; private String runId; } }