package jnpf.workflow.admin.controller;
|
|
import java.util.List;
|
|
import org.springframework.web.bind.annotation.DeleteMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.PathVariable;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
import jakarta.validation.Valid;
|
import jnpf.workflow.admin.result.Result;
|
import jnpf.workflow.common.exception.ResultCode;
|
import jnpf.workflow.common.model.fo.DefinitionDeleteFo;
|
import jnpf.workflow.common.model.fo.DefinitionDeployFo;
|
import jnpf.workflow.common.model.vo.DefinitionVo;
|
import jnpf.workflow.common.model.vo.DeploymentVo;
|
import jnpf.workflow.common.service.IDefinitionService;
|
import lombok.RequiredArgsConstructor;
|
import lombok.extern.slf4j.Slf4j;
|
|
@Slf4j
|
@Tag(name = "流程定义控制层", description = "DefinitionController")
|
@RestController
|
@RequiredArgsConstructor
|
@RequestMapping("/api/Flow/definition")
|
public class DefinitionController {
|
|
private final IDefinitionService definitionService;
|
|
@Operation(summary = "deploy", description = "部署流程定义")
|
@PostMapping("/deploy")
|
public Result<DeploymentVo> deploy(@RequestBody @Valid DefinitionDeployFo fo) {
|
DeploymentVo vo = definitionService.deployDefinition(fo);
|
if (null != vo) {
|
return Result.success(vo);
|
}
|
return Result.failed(ResultCode.DEPLOY_FAILURE);
|
}
|
|
@Operation(summary = "list", description = "列表查询流程定义")
|
@GetMapping("/list")
|
public Result<List<DefinitionVo>> list() {
|
return Result.success(definitionService.listDefinition());
|
}
|
|
@Operation(summary = "delete", description = "删除流程定义")
|
@DeleteMapping
|
public Result<Boolean> delete(@Valid DefinitionDeleteFo fo) {
|
if (definitionService.deleteDefinition(fo)) {
|
return Result.success(ResultCode.DELETE_SUCCESS);
|
}
|
return Result.failed(ResultCode.DELETE_FAILURE);
|
}
|
|
@Operation(summary = "get", description = "获取流程元素")
|
@GetMapping("/{deploymentId}")
|
public Result getStructure(@PathVariable("deploymentId") String deploymentId) {
|
return Result.success(definitionService.getStructure(deploymentId));
|
}
|
}
|