| | |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; |
| | | import com.vci.ubcs.common.validator.ComprehensiveFileValidator; |
| | | import com.vci.ubcs.flow.engine.entity.FlowProcess; |
| | | import com.vci.ubcs.flow.engine.service.FlowEngineService; |
| | | import io.swagger.annotations.Api; |
| | |
| | | import org.springblade.core.tool.support.Kv; |
| | | import org.springblade.core.tool.utils.Func; |
| | | import com.vci.ubcs.flow.engine.constant.FlowEngineConstant; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | |
| | | */ |
| | | @NonDS |
| | | @RestController |
| | | @RequestMapping("manager") |
| | | @RequestMapping("/manager") |
| | | @AllArgsConstructor |
| | | @Api(value = "流程管理接口", tags = "流程管理接口") |
| | | //@PreAuth(RoleConstant.HAS_ROLE_ADMINISTRATOR) |
| | | public class FlowManagerController { |
| | | |
| | | private final FlowEngineService flowEngineService; |
| | | |
| | | /** |
| | | * 文件安全检查 |
| | | */ |
| | | @Autowired |
| | | private ComprehensiveFileValidator fileValidator; |
| | | |
| | | /** |
| | | * 分页 |
| | | */ |
| | | @GetMapping("list") |
| | | @GetMapping("/list") |
| | | @ApiOperationSupport(order = 1) |
| | | @ApiOperation(value = "分页", notes = "传入流程类型") |
| | | public R<IPage<FlowProcess>> list(@ApiParam("流程类型") String category, Query query, @RequestParam(required = false, defaultValue = "1") Integer mode) { |
| | |
| | | * @param state 状态 |
| | | * @param processId 流程id |
| | | */ |
| | | @PostMapping("change-state") |
| | | @PostMapping("/change-state") |
| | | @ApiOperationSupport(order = 2) |
| | | @ApiOperation(value = "变更流程状态", notes = "传入state,processId") |
| | | public R changeState(@RequestParam String state, @RequestParam String processId) { |
| | |
| | | * |
| | | * @param deploymentIds 部署流程id集合 |
| | | */ |
| | | @PostMapping("delete-deployment") |
| | | @PostMapping("/delete-deployment") |
| | | @ApiOperationSupport(order = 3) |
| | | @ApiOperation(value = "删除部署流程", notes = "部署流程id集合") |
| | | public R deleteDeployment(String deploymentIds) { |
| | |
| | | * |
| | | * @param file 流程文件 |
| | | */ |
| | | @PostMapping("check-upload") |
| | | @PostMapping("/check-upload") |
| | | @ApiOperationSupport(order = 4) |
| | | @ApiOperation(value = "上传部署流程文件", notes = "传入文件") |
| | | public R checkUpload(@RequestParam MultipartFile file) { |
| | | // 使用文件安全验证器 |
| | | ComprehensiveFileValidator.UploadValidationResult result = fileValidator.validateFile(file); |
| | | if (!result.isValid()) { |
| | | return R.fail(result.getMessage()); |
| | | } |
| | | boolean temp = Objects.requireNonNull(file.getOriginalFilename()).endsWith(FlowEngineConstant.SUFFIX); |
| | | return R.data(Kv.create().set("name", file.getOriginalFilename()).set("success", temp)); |
| | | } |
| | |
| | | * @param files 流程文件 |
| | | * @param category 类型 |
| | | */ |
| | | @PostMapping("deploy-upload") |
| | | @PostMapping("/deploy-upload") |
| | | @ApiOperationSupport(order = 5) |
| | | @ApiOperation(value = "上传部署流程文件", notes = "传入文件") |
| | | public R deployUpload(@RequestParam List<MultipartFile> files, |
| | | @RequestParam String category, |
| | | @RequestParam(required = false, defaultValue = "") String tenantIds) { |
| | | // 使用文件安全验证器 |
| | | ComprehensiveFileValidator.MultiUploadValidationResult result = fileValidator.validateFiles(files,true); |
| | | if (!result.isValid()) { |
| | | return R.fail(result.getMessage()); |
| | | } |
| | | return R.status(flowEngineService.deployUpload(files, category, Func.toStrList(tenantIds))); |
| | | } |
| | | |