From 10d8803651e3ae9ba5f5681222fffb08d84afffc Mon Sep 17 00:00:00 2001 From: AKurakin Date: Thu, 16 Nov 2023 12:43:44 +0300 Subject: [PATCH] =?UTF-8?q?dbf-importer=20swt-importer=20=D0=97=D0=B0?= =?UTF-8?q?=D0=B1=D0=B8=D1=80=D0=B0=D1=82=D1=8C=20=D0=B8=20=D0=BE=D0=B1?= =?UTF-8?q?=D1=80=D0=B0=D0=B1=D0=B0=D1=82=D1=8B=D0=B2=D0=B0=D1=82=D1=8C=20?= =?UTF-8?q?=D1=84=D0=B0=D0=B9=D0=BB=D1=8B=20=D0=B2=20=D0=BF=D0=BE=D1=80?= =?UTF-8?q?=D1=8F=D0=B4=D0=BA=D0=B5=20=D0=B2=D1=80=D0=B5=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=20=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F?= =?UTF-8?q?=20=D0=BD=D0=B0=20sftp?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/ru/spcex/clearing/dbf/importer/config/SFTPConfig.java | 3 +++ .../ru/spcex/clearing/dbf/importer/services/FileChecker.java | 1 + .../java/ru/spcex/clearing/swt/importer/config/SFTPConfig.java | 3 +++ .../ru/spcex/clearing/swt/importer/services/FileChecker.java | 1 + 4 files changed, 8 insertions(+) diff --git a/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/config/SFTPConfig.java b/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/config/SFTPConfig.java index 90eb87d67..274f69025 100644 --- a/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/config/SFTPConfig.java +++ b/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/config/SFTPConfig.java @@ -22,6 +22,7 @@ import org.springframework.scheduling.support.PeriodicTrigger; import ru.spcex.clearing.dbf.importer.config.settings.ImportDBFServiceSettings; import java.io.File; +import java.util.Comparator; import java.util.concurrent.TimeUnit; @Configuration @@ -60,6 +61,8 @@ public class SFTPConfig { fileSync.setTemporaryFileSuffix(".tmp"); fileSync.setRemoteDirectory(settings.getStore().getSftpIn().getSftpSrcDir()); fileSync.setFilter(new AcceptAllFileListFilter<>()); + fileSync.setPreserveTimestamp(true); + fileSync.setComparator(Comparator.comparingInt(f -> f.getAttrs().getMTime())); return fileSync; } diff --git a/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/services/FileChecker.java b/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/services/FileChecker.java index 2ee390a94..b9e3d74e0 100644 --- a/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/services/FileChecker.java +++ b/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/services/FileChecker.java @@ -48,6 +48,7 @@ public class FileChecker { List resultFiles = new LinkedList<>(); if (dbfFiles != null && dbfFiles.length >= 1) { + Arrays.sort(dbfFiles, Comparator.comparingLong(File::lastModified)); resultFiles.addAll(Arrays.asList(dbfFiles)); } diff --git a/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/config/SFTPConfig.java b/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/config/SFTPConfig.java index c0255fa1a..d96dfb250 100644 --- a/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/config/SFTPConfig.java +++ b/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/config/SFTPConfig.java @@ -22,6 +22,7 @@ import org.springframework.scheduling.support.PeriodicTrigger; import ru.spcex.clearing.swt.importer.config.settings.ImportSWTServiceSettings; import java.io.File; +import java.util.Comparator; import java.util.concurrent.TimeUnit; @Configuration @@ -60,6 +61,8 @@ public class SFTPConfig { fileSync.setTemporaryFileSuffix(".tmp"); fileSync.setRemoteDirectory(settings.getStore().getSftpIn().getSftpSrcDir()); fileSync.setFilter(new AcceptAllFileListFilter<>()); + fileSync.setPreserveTimestamp(true); + fileSync.setComparator(Comparator.comparingInt(f -> f.getAttrs().getMTime())); return fileSync; } diff --git a/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/services/FileChecker.java b/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/services/FileChecker.java index f8287590d..6c99c5da7 100644 --- a/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/services/FileChecker.java +++ b/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/services/FileChecker.java @@ -54,6 +54,7 @@ public class FileChecker { List resultFiles = new LinkedList<>(); if (swtFiles != null && swtFiles.length >= 1) { + Arrays.sort(swtFiles, Comparator.comparingLong(File::lastModified)); resultFiles.addAll(Arrays.asList(swtFiles)); }