From 4470052c3b6bdeb18e45987f8aa293d1e93d0552 Mon Sep 17 00:00:00 2001
From: Ludc <2870569285@qq.com>
Date: 星期二, 18 十一月 2025 11:59:12 +0800
Subject: [PATCH] 所有文件上传接口增加文件安全校验逻辑。

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyController.java |   26 +++++++++++++++++++++++++-
 1 files changed, 25 insertions(+), 1 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyController.java
index c06511b..06ddc94 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyController.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyController.java
@@ -25,6 +25,7 @@
 import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO;
 import com.vci.ubcs.code.vo.pagemodel.CodeImProtRusultVO;
 import com.vci.ubcs.code.wrapper.CodeClassifyWrapper;
+import com.vci.ubcs.common.validator.ComprehensiveFileValidator;
 import com.vci.ubcs.omd.vo.BtmTypeAttributeVO;
 import com.vci.ubcs.starter.revision.model.TreeQueryObject;
 import com.vci.ubcs.starter.util.LocalFileUtil;
@@ -47,6 +48,7 @@
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.StringUtil;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 import javax.servlet.http.HttpServletResponse;
@@ -77,6 +79,13 @@
 	private final ICodeClassifyService codeClassifyService;
 
 	CodeClassifyMapper codeClassifyMapper;
+
+	/**
+	 * 鏂囦欢瀹夊叏妫�鏌�
+	 */
+	@Autowired
+	private ComprehensiveFileValidator fileValidator;
+
 	/**
 	 * 涓婚搴撳畾涔夎〃 璇︽儏
 	 */
@@ -95,7 +104,7 @@
 	 */
 	@GetMapping("/treeCodeClassify")
 	public List<Tree> treeCodeClassify(TreeQueryObject treeQueryObject)  {
-		return  codeClassifyService. treeCodeClassify(treeQueryObject);
+		return codeClassifyService.treeCodeClassify(treeQueryObject);
 	}
 
 	/**
@@ -276,6 +285,12 @@
 	 */
 	@PostMapping("/importClassify")
 	public R importClassify(MultipartFile file) {
+		// 浣跨敤鏂囦欢瀹夊叏楠岃瘉鍣�
+		ComprehensiveFileValidator.UploadValidationResult result = fileValidator.validateFile(file);
+		if (!result.isValid()) {
+			return R.fail(result.getMessage());
+		}
+
 		String excelFileName = LocalFileUtil.getDefaultTempFolder() + File.separator + LocalFileUtil.getFileNameForIE(file.getOriginalFilename());
 		File file1 = new File(excelFileName);
 		try {
@@ -358,4 +373,13 @@
 		CodeClassifyVO codeClassifyVO = codeClassifyService.getObjectByClsfNamePath(clsfNamePath);
 		return R.data(codeClassifyVO);
 	}
+
+	/**
+	 * 娴佹按渚濊禆鐢熸垚
+	 */
+	@GetMapping("/flowingDependencyGen")
+	public R flowingDependencyGen(String classifyOid)  {
+		return codeClassifyService.flowingDependencyGen(classifyOid);
+	}
+
 }

--
Gitblit v1.9.3