From 3907579a69079b5ee462d17799e3995d9cd77fd4 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期三, 17 九月 2025 21:54:38 +0800
Subject: [PATCH] 延时问题

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/task/ReceiveDirCheckTask.java |   57 +++++----------------------------------------------------
 1 files changed, 5 insertions(+), 52 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/task/ReceiveDirCheckTask.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/task/ReceiveDirCheckTask.java
index 77a97e3..079a2d9 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/task/ReceiveDirCheckTask.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/task/ReceiveDirCheckTask.java
@@ -9,12 +9,14 @@
 import org.springblade.mdm.machinefile.entity.MachineFile;
 import org.springblade.mdm.machinefile.service.FileSendRecordService;
 import org.springblade.mdm.machinefile.service.MachineFileService;
+import org.springblade.mdm.machinefile.service.ReceiveFileCheckService;
 import org.springblade.mdm.utils.FileContentUtil;
 import org.springblade.mdm.utils.ProgramFileNameParser;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.EnableScheduling;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.io.File;
 import java.io.IOException;
@@ -43,7 +45,7 @@
 	@Autowired
 	private ParamService paramService;
 	@Autowired
-	private FileSendRecordService fileSendRecordService;
+	private ReceiveFileCheckService receiveFileCheckService;
 	/**
 	 * 鏂囦欢榛樿淇濆瓨灏忔椂鏁帮紝0涓嶉檺鍒�
 	 */
@@ -79,9 +81,9 @@
 
 			for(MachineFile machineFile : recFiles){
 				try {
-					checkFile(machineFile, recFiles,machine);
+					receiveFileCheckService.check(machineFile, recFiles,machine);
 				}catch(Exception e){
-					log.error("妫�鏌ec鏂囦欢澶辫触:"+machineFile.getName(),e);
+					log.error("妫�鏌ec鏂囦欢澶辫触:{}",machineFile.getName(),e);
 				}
 			}
 
@@ -89,54 +91,5 @@
 
 	}
 
-	/**
-	 * 鏂囦欢绉诲姩鍒皌emp
-	 * @param machineFile
-	 */
-	private void checkFile(MachineFile machineFile,List<MachineFile> allFilesInDir,Machine machine) throws IOException {
-		String srcFilepath = MachineFileService.getBasePath(machine,machineFile.getDirType())+ File.separator+machineFile.getName();
-		Path source = Paths.get(srcFilepath);
-		if(!source.toFile().exists()){
-			return;
-		}
-		try(InputStream fileIns = Files.newInputStream(Paths.get(srcFilepath));) {
-			if(!FileContentUtil.isTextFile(fileIns)){
-				//闈炴枃鏈�
-				machineFile.setExceptionType(MachineFile.EXCEPTION_NOT_TEXT);
-			}else{
-				ProgramNameVO progNameVO =  ProgramFileNameParser.parseProgramName(machineFile.getName());
-				if(!progNameVO.isValidFilename()){
-					machineFile.setExceptionType(MachineFile.EXCEPTION_BAD_FILENAME);
-				}else {
-					String prefix = progNameVO.logicProgramName()+"-";
-					long matchCount = allFilesInDir.stream().filter(file -> file.getName().startsWith(prefix)).count();
-					if(matchCount != progNameVO.getSegmentCount()){//鏂囦欢娈垫暟缂哄け
-						machineFile.setExceptionType(MachineFile.EXCEPTION_LOST_FILES);
-					}else{
-						//妫�鏌ユ槸鍚﹀尮閰嶄笅鍙戣褰曠殑娈垫暟
-						//姝h礋3绉掍綔涓烘煡璇㈡椂闂�
-						Date beginTime = new Date(machineFile.getFileCreateTime().getTime()-3000);
-						Date endTime = new Date(machineFile.getFileCreateTime().getTime()+3000);
-						Optional<FileSendRecord> optFile = fileSendRecordService.lambdaQuery()
-							.eq(FileSendRecord::getMachineCode,machineFile.getMachineCode())
-							.likeRight(FileSendRecord::getName,prefix).between(FileSendRecord::getCreateTime,beginTime,endTime).oneOpt();
 
-						if(optFile.isPresent()){
-							//纭疄涓嬪彂杩囷紝姣斿鎬绘鏁版槸鍚︾浉鍚�
-							FileSendRecord sendFile = optFile.get();
-							ProgramNameVO sendProgNameVO =  ProgramFileNameParser.parseProgramName(sendFile.getName());
-							if(progNameVO.getSegmentCount() != sendProgNameVO.getSegmentCount()){
-								//娈垫暟涓嶅尮閰�
-								machineFile.setExceptionType(MachineFile.EXCEPTION_NOT_MATCH_SEND);
-							}else{
-								machineFile.setExceptionType(MachineFile.EXCEPTION_OK);
-							}
-						}
-					}
-				}
-			}
-
-			machineFileService.updateById(machineFile);
-		}
-	}
 }

--
Gitblit v1.9.3