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/MdmEngineController.java |   40 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 40 insertions(+), 0 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java
index 7e3cf21..623570c 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java
@@ -10,6 +10,7 @@
 import com.vci.ubcs.code.service.MdmEngineService;
 import com.vci.ubcs.code.service.MdmIOService;
 import com.vci.ubcs.code.vo.pagemodel.*;
+import com.vci.ubcs.common.validator.ComprehensiveFileValidator;
 import com.vci.ubcs.flow.core.dto.FlowStatusDTO;
 import com.vci.ubcs.starter.annotation.VciBusinessLog;
 import com.vci.ubcs.starter.revision.model.BaseModel;
@@ -43,21 +44,31 @@
 	 * 鏃ュ織
 	 */
 	private Logger logger = LoggerFactory.getLogger(getClass());
+
 	/**
 	 * 涓绘暟鎹紩鎿庢湇鍔�
 	 */
 	@Autowired
 	private MdmEngineService engineService;
+
 	/**
 	 * 涓绘暟鎹鍏ュ鍑烘湇鍔�
 	 */
 	@Autowired
 	private MdmIOService mdmIOService;
+
 	/**
 	 * 鏃ュ織淇濆瓨宸ュ叿绫�
 	 */
 	@Autowired
 	private SaveLogUtil saveLogUtil;
+
+	/**
+	 * 鏂囦欢瀹夊叏妫�鏌�
+	 */
+	@Autowired
+	private ComprehensiveFileValidator fileValidator;
+
 
 	/**
 	 * 涓嬭浇鎵归噺鐢宠鐨勫鍏ユā鏉�
@@ -112,6 +123,12 @@
 	@VciBusinessLog(operateName = "瀵煎叆鎵归噺缂栬緫鏁版嵁")
 	@PostMapping("/batchImportEdit")
 	public R batchImportEdit(String codeClassifyOid, String classifyAttr,MultipartFile file,HttpServletResponse response) throws Throwable {
+		// 浣跨敤鏂囦欢瀹夊叏楠岃瘉鍣�
+		ComprehensiveFileValidator.UploadValidationResult validationResult = fileValidator.validateFile(file);
+		if (!validationResult.isValid()) {
+			return R.fail(validationResult.getMessage());
+		}
+
 		String excelFileName = LocalFileUtil.getDefaultTempFolder() + File.separator + file.getOriginalFilename();
 		File file1 = new File(excelFileName);
 		try {
@@ -218,6 +235,12 @@
 	@VciBusinessLog(operateName = "鎵归噺鐢宠缂栫爜鐨勪俊鎭�")
 	@PostMapping("/batchImportCode")
 	public R batchImportCode(String secDTOList, String codeClassifyOid, MultipartFile file, HttpServletResponse response) throws Throwable {
+		// 浣跨敤鏂囦欢瀹夊叏楠岃瘉鍣�
+		ComprehensiveFileValidator.UploadValidationResult validationResult = fileValidator.validateFile(file);
+		if (!validationResult.isValid()) {
+			return R.fail(validationResult.getMessage());
+		}
+
 		CodeOrderDTO orderDTO = new CodeOrderDTO();
 		orderDTO.setCodeClassifyOid(codeClassifyOid);
 		if(StringUtils.isNotBlank(secDTOList)){
@@ -269,6 +292,12 @@
 	@VciBusinessLog(operateName = "瀵煎叆缂栫爜鐨勫巻鍙叉暟鎹�")
 	@PostMapping("/batchImportHistoryData")
 	public R batchImportHistoryData(String codeClassifyOid, String classifyAttr,MultipartFile file,HttpServletResponse response) throws Throwable {
+		// 浣跨敤鏂囦欢瀹夊叏楠岃瘉鍣�
+		ComprehensiveFileValidator.UploadValidationResult validationResult = fileValidator.validateFile(file);
+		if (!validationResult.isValid()) {
+			return R.fail(validationResult.getMessage());
+		}
+
 		String excelFileName = LocalFileUtil.getDefaultTempFolder() + File.separator + file.getOriginalFilename();
 		File file1 = new File(excelFileName);
 		try {
@@ -312,6 +341,12 @@
 	@VciBusinessLog(operateName = "鎵归噺鐢宠缂栫爜鐨勪俊鎭�")
 	@PostMapping("/batchTopImportCode")
 	public R batchTopImportCode(String codeClassifyOid, String classifyAttr,MultipartFile file,HttpServletResponse response) throws Throwable {
+		// 浣跨敤鏂囦欢瀹夊叏楠岃瘉鍣�
+		ComprehensiveFileValidator.UploadValidationResult result = fileValidator.validateFile(file);
+		if (!result.isValid()) {
+			return R.fail(result.getMessage());
+		}
+
 		String excelFileName = LocalFileUtil.getDefaultTempFolder() + File.separator + file.getOriginalFilename();
 		File file1 = new File(excelFileName);
 		try {
@@ -867,6 +902,11 @@
 	 */
 	@PostMapping("/importGroupCode")
 	public R  importGroupCode(String codeClassifyOid,MultipartFile file,HttpServletResponse response){
+		// 浣跨敤鏂囦欢瀹夊叏楠岃瘉鍣�
+		ComprehensiveFileValidator.UploadValidationResult result = fileValidator.validateFile(file);
+		if (!result.isValid()) {
+			return R.fail(result.getMessage());
+		}
 
 		String excelFileName = LocalFileUtil.getDefaultTempFolder() + File.separator + file.getOriginalFilename();
 		File file1 = new File(excelFileName);

--
Gitblit v1.9.3