Ludc
2025-11-18 4470052c3b6bdeb18e45987f8aa293d1e93d0552
Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/controller/FlowManagerController.java
@@ -18,6 +18,7 @@
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;
@@ -31,6 +32,7 @@
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;
@@ -47,10 +49,15 @@
@RequestMapping("manager")
@AllArgsConstructor
@Api(value = "流程管理接口", tags = "流程管理接口")
//@PreAuth(RoleConstant.HAS_ROLE_ADMINISTRATOR)
public class FlowManagerController {
   private final FlowEngineService flowEngineService;
   /**
    * 文件安全检查
    */
   @Autowired
   private ComprehensiveFileValidator fileValidator;
   /**
    * 分页
@@ -98,6 +105,11 @@
   @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));
   }
@@ -114,6 +126,11 @@
   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)));
   }