From f4f3cf71518b682bd4cb646de249ceeac5b44aa7 Mon Sep 17 00:00:00 2001 From: Mikhail Trofimov Date: Wed, 16 Jul 2025 17:17:05 +0300 Subject: [PATCH] Minor Refactoring --- .../java/ru/nbch/credit_tracker/facade/SignalFacade.java | 3 +-- .../ru/nbch/credit_tracker/service/SignalService.java | 6 ++++-- .../nbch/credit_tracker/service/UpdatingFlagsService.java | 8 +++++--- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/main/java/ru/nbch/credit_tracker/facade/SignalFacade.java b/src/main/java/ru/nbch/credit_tracker/facade/SignalFacade.java index 6412a7a..75f4ebd 100644 --- a/src/main/java/ru/nbch/credit_tracker/facade/SignalFacade.java +++ b/src/main/java/ru/nbch/credit_tracker/facade/SignalFacade.java @@ -163,8 +163,7 @@ public class SignalFacade { signalService.registerSubjects(subjects, packageId); subjects.clear(); signalService.updateSubjects(packageId, null); - Signals signals = signalService.buildSignals(packageId); - signals.getConditions().getPersons().getPerson().addAll(signalService.buildPersons(packageId, null)); + Signals signals = signalService.buildSignals(packageId, null); if (signalRestService.update(signals)) { log.info("Package was successfully registered in signal service. PackageId: {} PackageName: {}", packageId, packageName); signalService.updatePackageStatus(packageId, Status.ON_MONITORING); diff --git a/src/main/java/ru/nbch/credit_tracker/service/SignalService.java b/src/main/java/ru/nbch/credit_tracker/service/SignalService.java index 75b90de..48fc786 100644 --- a/src/main/java/ru/nbch/credit_tracker/service/SignalService.java +++ b/src/main/java/ru/nbch/credit_tracker/service/SignalService.java @@ -165,7 +165,7 @@ public class SignalService { userPackageService.updatePackageStatus(packageId, status); } - public Signals buildSignals(Integer packageId) { + public Signals buildSignals(Integer packageId, Predicate filter) { UserPackage userPackage = userPackageService.findPackage(packageId); Signals signals = new Signals(); signals.setOnline("2"); // Всегда=2 (только онлайн-сигналы) @@ -174,10 +174,12 @@ public class SignalService { auth.setUser(config.getSignalsuser()); signals.setAuth(auth); + signals.getConditions().getPersons().getPerson().addAll(buildPersons(packageId, null)); + return signals; } - public List buildPersons(Integer packageId, Predicate filter) { + private List buildPersons(Integer packageId, Predicate filter) { List result = new ArrayList<>(); int offset = 0; List batch; 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 fef48fe..bf65f76 100644 --- a/src/main/java/ru/nbch/credit_tracker/service/UpdatingFlagsService.java +++ b/src/main/java/ru/nbch/credit_tracker/service/UpdatingFlagsService.java @@ -4,6 +4,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.scheduling.concurrent.CustomizableThreadFactory; import org.springframework.stereotype.Service; import ru.nbch.credit_tracker.config.settings.CreditTrackerSettings; +import ru.nbch.credit_tracker.entities.dto.PhoneFidMap; import ru.nbch.credit_tracker.entities.dto.UserPackage; import ru.nbch.credit_tracker.entities.signal_package.Signals; import ru.nbch.credit_tracker.enums.Status; @@ -15,6 +16,7 @@ import java.util.List; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; +import java.util.function.Predicate; @Slf4j @Service @@ -52,10 +54,10 @@ public class UpdatingFlagsService { private void updateFlags(Integer packageId, String packageName) { try { signalService.updatePackageStatus(packageId, Status.PROCESSING); - boolean updated = signalService.updateSubjects(packageId, subject -> subject.getCalculatedAt() != null && hasDaysPassed(subject.getCalculatedAt())); + Predicate filter = subject -> subject.getCalculatedAt() != null && hasDaysPassed(subject.getCalculatedAt()); + boolean updated = signalService.updateSubjects(packageId, filter); if (updated) { - Signals signals = signalService.buildSignals(packageId); - signals.getConditions().getPersons().getPerson().addAll(signalService.buildPersons(packageId, subject -> subject.getCalculatedAt() != null && hasDaysPassed(subject.getCalculatedAt()))); + Signals signals = signalService.buildSignals(packageId, filter); if (signalRestService.update(signals)) { log.info("Flags were updated successfully. PackageId: {} PackageName: {}. Package status changed to ON_MONITORING", packageId, packageName); signalService.updatePackageStatus(packageId, Status.ON_MONITORING);