Эх сурвалжийг харах

试验-规范管理-规范文件管理-文件管理查询

LHB 2 сар өмнө
parent
commit
e865197aeb

+ 10 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/dto/PrivateStandardDTO.java

@@ -29,4 +29,14 @@ public class PrivateStandardDTO extends PrivateStandard {
      * 当前规范文件下文件的数量
      */
     private Integer filesCount;
+
+    /**
+     * 单个文件
+     */
+    private MultipartFile file;
+
+    /**
+     * 单个文件
+     */
+    private StandardFile standardFile;
 }

+ 8 - 14
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/PrivateStandardServiceImpl.java

@@ -216,17 +216,13 @@ public class PrivateStandardServiceImpl extends ServiceImpl<PrivateStandardMappe
             for (PrivateStandardDTO dto : data) {
                 // 获取当前对象需要的文件数量
                 int fileCount = dto.getFilesCount();
-
-                // 为当前对象分配文件
-                MultipartFile[] objectFiles = new MultipartFile[fileCount];
-                for (int i = 0; i < fileCount; i++) {
-                    objectFiles[i] = allFiles[fileIndex++];
+                if(fileCount > 0){
+                    dto.setFile(allFiles[fileIndex++]);
                 }
-                dto.setFiles(objectFiles);
 
                 //先上传文件,上传成功在执行添加
-                List<StandardFile> standardFiles = new ArrayList<>();
-                for (MultipartFile file : dto.getFiles()) {
+                if(dto.getFiles() != null){
+                    MultipartFile file = dto.getFile();
                     StandardFile standardFile = new StandardFile();
                     standardFile.setId(SnowFlakeUtil.getId());
                     standardFile.setStandardId(dto.getId());
@@ -235,18 +231,16 @@ public class PrivateStandardServiceImpl extends ServiceImpl<PrivateStandardMappe
                     standardFile.setFileName(originalFilename);
                     originalFilename = "standard/" + dto.getId() + "|" + originalFilename;
                     MockMultipartFile multipartFile = new MockMultipartFile("file", originalFilename, "application/pdf", file.getInputStream());
+
                     //Oss上传 传特殊文件名 在oss中做特殊路径处理
                     BladeFile bladeFile = newIOSSClient.uploadFileByInputStream(multipartFile);
-
                     standardFile.setStandardFileUrl(bladeFile.getLink());
-                    standardFiles.add(standardFile);
-                }
 
+                    //添加新文件
+                    standardFileService.save(standardFile);
+                }
                 //创建数据
                 PrivateStandard privateStandard = BeanUtil.copyProperties(dto, PrivateStandard.class);
-
-                //添加新文件
-                standardFileService.saveBatch(standardFiles);
                 //修改
                 baseMapper.updateById(privateStandard);
                 return true;