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