Forráskód Böngészése

Merge branch 'feature-lihb-20250610' of http://219.151.181.73:3000/zhuwei/bladex into test-merge-02

LHB 3 hónapja
szülő
commit
01944da5ed

+ 33 - 23
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/PrivateStandardServiceImpl.java

@@ -1,6 +1,7 @@
 package org.springblade.business.service.impl;
 
 import cn.hutool.core.util.ReflectUtil;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springblade.business.entity.StandardFile;
@@ -200,45 +201,54 @@ public class PrivateStandardServiceImpl extends ServiceImpl<PrivateStandardMappe
         //先删除文件
         try {
             List<StandardFile> standardFiles = standardFileService.listByIds(delFileIds);
-            for (StandardFile standardFile : standardFiles) {
-                this.deleteFile(standardFile.getId());
+            if(CollectionUtils.isNotEmpty(standardFiles)){
+                for (StandardFile standardFile : standardFiles) {
+                    this.deleteFile(standardFile.getId());
+                }
             }
             //删除规范文件
-            for (Long delId : delIds) {
-                delete(delId);
+            if(CollectionUtils.isNotEmpty(delIds)){
+                for (Long delId : delIds) {
+                    delete(delId);
+                }
             }
         } catch (Exception e) {
             throw new ServiceException("Oss删除文件失败");
         }
         try {
+
             // 文件索引计数器
             int fileIndex = 0;
             for (PrivateStandardDTO dto : data) {
                 // 获取当前对象需要的文件数量
                 int fileCount = dto.getFilesCount();
-                if(fileCount > 0){
-                    dto.setFile(allFiles[fileIndex++]);
+                if(allFiles != null && allFiles.length > 0){
+                    if(fileCount > 0 && fileIndex < allFiles.length){
+                        dto.setFile(allFiles[fileIndex++]);
+                    }
+                    //先上传文件,上传成功在执行添加
+                    if(dto.getFile() != null){
+                        MultipartFile file = dto.getFile();
+                        StandardFile standardFile = new StandardFile();
+                        standardFile.setId(SnowFlakeUtil.getId());
+                        standardFile.setStandardId(dto.getId());
+                        standardFile.setCreateUser(user.getUserId());
+                        String originalFilename = file.getOriginalFilename();
+                        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());
+
+                        //添加新文件
+                        standardFileService.save(standardFile);
+                    }
                 }
 
-                //先上传文件,上传成功在执行添加
-                if(dto.getFiles() != null){
-                    MultipartFile file = dto.getFile();
-                    StandardFile standardFile = new StandardFile();
-                    standardFile.setId(SnowFlakeUtil.getId());
-                    standardFile.setStandardId(dto.getId());
-                    standardFile.setCreateUser(user.getUserId());
-                    String originalFilename = file.getOriginalFilename();
-                    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());
 
-                    //添加新文件
-                    standardFileService.save(standardFile);
-                }
                 //创建数据
                 PrivateStandard privateStandard = BeanUtil.copyProperties(dto, PrivateStandard.class);
                 //修改