Browse Source

fix(backend): 文件存储调用方适配 — upload→store、移除原始文件IO逻辑

• AdminArticleController: 改用 FileStorageService.store(),移除原始文件IO代码
• AssessmentReportController: upload() → store()
• DanReportUploadService: upload() → store()

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Xiaogang Liao 2 tháng trước cách đây
mục cha
commit
986170d5c9

+ 8 - 15
cfc-backend/src/main/java/com/etotem/cfc/controller/admin/AdminArticleController.java

@@ -5,16 +5,14 @@ import com.etotem.cfc.entity.Article;
 import com.etotem.cfc.entity.ArticleCategory;
 import com.etotem.cfc.service.ArticleCategoryService;
 import com.etotem.cfc.service.ArticleService;
+import com.etotem.cfc.service.FileStorageService;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 import javax.annotation.Resource;
-import java.io.File;
-import java.io.IOException;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.UUID;
 
 @RestController
 @RequestMapping("/api/admin/articles")
@@ -26,6 +24,9 @@ public class AdminArticleController {
     @Resource
     private ArticleCategoryService articleCategoryService;
 
+    @Resource
+    private FileStorageService fileStorageService;
+
     @PostMapping("/list")
     public Result<Page<Article>> list(@RequestBody Map<String, Object> body) {
         String status = (String) body.get("status");
@@ -250,19 +251,11 @@ public class AdminArticleController {
             return Result.error("文件为空");
         }
         try {
-            String uploadDir = System.getProperty("user.dir") + "/uploads/articles/";
-            File dir = new File(uploadDir);
-            if (!dir.exists()) dir.mkdirs();
-
-            String ext = file.getOriginalFilename();
-            ext = ext != null && ext.contains(".") ? ext.substring(ext.lastIndexOf(".")) : ".jpg";
-            String filename = UUID.randomUUID().toString() + ext;
-            File dest = new File(uploadDir + filename);
-            file.transferTo(dest);
-
-            String url = "/uploads/articles/" + filename;
+            String url = fileStorageService.store(file, "articles");
             return Result.success(url);
-        } catch (IOException e) {
+        } catch (IllegalArgumentException e) {
+            return Result.error(e.getMessage());
+        } catch (RuntimeException e) {
             return Result.error("上传失败: " + e.getMessage());
         }
     }

+ 1 - 1
cfc-backend/src/main/java/com/etotem/cfc/controller/assessment/AssessmentReportController.java

@@ -59,7 +59,7 @@ public class AssessmentReportController {
             return Result.error("文件不能为空");
         }
 
-        String filePath = fileStorageService.upload(file, "assessment-reports");
+        String filePath = fileStorageService.store(file, "assessment-reports");
         if (filePath == null) {
             return Result.error("文件上传失败");
         }

+ 1 - 1
cfc-backend/src/main/java/com/etotem/cfc/service/DanReportUploadService.java

@@ -61,7 +61,7 @@ if (!DanReportUpload.DIM_MIND.equals(dimension) && !DanReportUpload.DIM_WISDOM.e
         }
 
         // 1. 保存文件
-        String fileUrl = fileStorageService.upload(file, "dan-reports");
+        String fileUrl = fileStorageService.store(file, "dan-reports");
         if (fileUrl == null) {
             return Result.error("文件保存失败");
         }