diff --git a/src/main/java/ru/nbch/credit_tracker/config/settings/CreditTrackerSettings.java b/src/main/java/ru/nbch/credit_tracker/config/settings/CreditTrackerSettings.java index 22ee245..06ca08b 100644 --- a/src/main/java/ru/nbch/credit_tracker/config/settings/CreditTrackerSettings.java +++ b/src/main/java/ru/nbch/credit_tracker/config/settings/CreditTrackerSettings.java @@ -34,7 +34,7 @@ public class CreditTrackerSettings { private String loadDir; private Long monitoringInterval; private String updateFlagsCronExpression; - private Long daysToUpdateFlags; + private Integer daysToUpdateFlags; private Long daysToUpdateFids; private String encoding; private String dbVersion; diff --git a/src/main/java/ru/nbch/credit_tracker/mapper/signal/PhonesMapMapper.java b/src/main/java/ru/nbch/credit_tracker/mapper/signal/PhonesMapMapper.java index 8bec5bd..a04cf57 100644 --- a/src/main/java/ru/nbch/credit_tracker/mapper/signal/PhonesMapMapper.java +++ b/src/main/java/ru/nbch/credit_tracker/mapper/signal/PhonesMapMapper.java @@ -11,6 +11,7 @@ public interface PhonesMapMapper { List searchedAtLessThan(@Param("daysCount") Integer daysCount, @Param("batchSize") int batchSize, @Param("lastId") Long lastId); PhonesMap findByPhone(@Param("phone") Long phone); List findEligibleForFlagsUpdate(@Param("lastId") Long lastId, + @Param("interval") Integer interval, @Param("batchSize") Integer batchSize); List findEligibleForFlagsInsert(@Param("lastId") Long lastId, @Param("batchSize") Integer batchSize); diff --git a/src/main/java/ru/nbch/credit_tracker/service/UpdatingFlagsService.java b/src/main/java/ru/nbch/credit_tracker/service/UpdatingFlagsService.java index 1b325fc..194e9de 100644 --- a/src/main/java/ru/nbch/credit_tracker/service/UpdatingFlagsService.java +++ b/src/main/java/ru/nbch/credit_tracker/service/UpdatingFlagsService.java @@ -8,6 +8,7 @@ import org.slf4j.LoggerFactory; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; +import ru.nbch.credit_tracker.config.settings.CreditTrackerSettings; import ru.nbch.credit_tracker.entities.app.PhonesMap; import ru.nbch.credit_tracker.mapper.signal.PhonesMapMapper; import ru.nbch.credit_tracker.service.task.impl.FlagsEnricher; @@ -24,12 +25,16 @@ public class UpdatingFlagsService { private final static int BATCH_SIZE = 1000; private final PhonesMapMapper phonesMapMapper; private final FlagsEnricher flagsEnricherV2; + private final Integer updateDaysInterval; private final AtomicBoolean insertIsRunning = new AtomicBoolean(false); private final AtomicBoolean updateIsRunning = new AtomicBoolean(false); - public UpdatingFlagsService(PhonesMapMapper phonesMapMapper, FlagsEnricher flagsEnricherV2) { + public UpdatingFlagsService(CreditTrackerSettings settings, + PhonesMapMapper phonesMapMapper, + FlagsEnricher flagsEnricherV2) { this.phonesMapMapper = phonesMapMapper; this.flagsEnricherV2 = flagsEnricherV2; + this.updateDaysInterval = settings.getDaysToUpdateFlags(); } @Scheduled(cron = "${ct.update-flags-cron-expression}") @@ -44,7 +49,7 @@ public class UpdatingFlagsService { int batchNumber = 1; List phonesMaps; while (true) { - phonesMaps = phonesMapMapper.findEligibleForFlagsUpdate(lastId, BATCH_SIZE); + phonesMaps = phonesMapMapper.findEligibleForFlagsUpdate(lastId, updateDaysInterval, BATCH_SIZE); log.trace("update batch {}, signals_phones_map records loaded: {}", batchNumber, phonesMaps.size()); if (phonesMaps.isEmpty()) { break; diff --git a/src/main/java/ru/nbch/credit_tracker/service/task/impl/KickPipeLineRepeatedRestoreImpl.java b/src/main/java/ru/nbch/credit_tracker/service/task/impl/KickPipeLineRepeatedRestoreImpl.java index 01575ce..366be10 100644 --- a/src/main/java/ru/nbch/credit_tracker/service/task/impl/KickPipeLineRepeatedRestoreImpl.java +++ b/src/main/java/ru/nbch/credit_tracker/service/task/impl/KickPipeLineRepeatedRestoreImpl.java @@ -17,7 +17,7 @@ public class KickPipeLineRepeatedRestoreImpl extends KickPipeLine { PackageRecordsService packageRecordsService, CreditTrackerSettings creditTrackerSettings) { super(setupParam, userPackageMapper, packageRecordsService, creditTrackerSettings); - this.daysToUpdateFlags = creditTrackerSettings.getDaysToUpdateFlags().intValue(); + this.daysToUpdateFlags = creditTrackerSettings.getDaysToUpdateFlags(); } @Override