Minor Refactoring

This commit is contained in:
Mikhail Trofimov 2025-07-16 17:17:05 +03:00
parent 09ee8e15fa
commit f4f3cf7151
3 changed files with 10 additions and 7 deletions

View file

@ -163,8 +163,7 @@ public class SignalFacade {
signalService.registerSubjects(subjects, packageId); signalService.registerSubjects(subjects, packageId);
subjects.clear(); subjects.clear();
signalService.updateSubjects(packageId, null); signalService.updateSubjects(packageId, null);
Signals signals = signalService.buildSignals(packageId); Signals signals = signalService.buildSignals(packageId, null);
signals.getConditions().getPersons().getPerson().addAll(signalService.buildPersons(packageId, null));
if (signalRestService.update(signals)) { if (signalRestService.update(signals)) {
log.info("Package was successfully registered in signal service. PackageId: {} PackageName: {}", packageId, packageName); log.info("Package was successfully registered in signal service. PackageId: {} PackageName: {}", packageId, packageName);
signalService.updatePackageStatus(packageId, Status.ON_MONITORING); signalService.updatePackageStatus(packageId, Status.ON_MONITORING);

View file

@ -165,7 +165,7 @@ public class SignalService {
userPackageService.updatePackageStatus(packageId, status); userPackageService.updatePackageStatus(packageId, status);
} }
public Signals buildSignals(Integer packageId) { public Signals buildSignals(Integer packageId, Predicate<PhoneFidMap> filter) {
UserPackage userPackage = userPackageService.findPackage(packageId); UserPackage userPackage = userPackageService.findPackage(packageId);
Signals signals = new Signals(); Signals signals = new Signals();
signals.setOnline("2"); // Всегда=2 (только онлайн-сигналы) signals.setOnline("2"); // Всегда=2 (только онлайн-сигналы)
@ -174,10 +174,12 @@ public class SignalService {
auth.setUser(config.getSignalsuser()); auth.setUser(config.getSignalsuser());
signals.setAuth(auth); signals.setAuth(auth);
signals.getConditions().getPersons().getPerson().addAll(buildPersons(packageId, null));
return signals; return signals;
} }
public List<Person> buildPersons(Integer packageId, Predicate<PhoneFidMap> filter) { private List<Person> buildPersons(Integer packageId, Predicate<PhoneFidMap> filter) {
List<Person> result = new ArrayList<>(); List<Person> result = new ArrayList<>();
int offset = 0; int offset = 0;
List<PhoneFidMap> batch; List<PhoneFidMap> batch;

View file

@ -4,6 +4,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.concurrent.CustomizableThreadFactory; import org.springframework.scheduling.concurrent.CustomizableThreadFactory;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import ru.nbch.credit_tracker.config.settings.CreditTrackerSettings; 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.dto.UserPackage;
import ru.nbch.credit_tracker.entities.signal_package.Signals; import ru.nbch.credit_tracker.entities.signal_package.Signals;
import ru.nbch.credit_tracker.enums.Status; import ru.nbch.credit_tracker.enums.Status;
@ -15,6 +16,7 @@ import java.util.List;
import java.util.concurrent.Executors; import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.function.Predicate;
@Slf4j @Slf4j
@Service @Service
@ -52,10 +54,10 @@ public class UpdatingFlagsService {
private void updateFlags(Integer packageId, String packageName) { private void updateFlags(Integer packageId, String packageName) {
try { try {
signalService.updatePackageStatus(packageId, Status.PROCESSING); signalService.updatePackageStatus(packageId, Status.PROCESSING);
boolean updated = signalService.updateSubjects(packageId, subject -> subject.getCalculatedAt() != null && hasDaysPassed(subject.getCalculatedAt())); Predicate<PhoneFidMap> filter = subject -> subject.getCalculatedAt() != null && hasDaysPassed(subject.getCalculatedAt());
boolean updated = signalService.updateSubjects(packageId, filter);
if (updated) { if (updated) {
Signals signals = signalService.buildSignals(packageId); Signals signals = signalService.buildSignals(packageId, filter);
signals.getConditions().getPersons().getPerson().addAll(signalService.buildPersons(packageId, subject -> subject.getCalculatedAt() != null && hasDaysPassed(subject.getCalculatedAt())));
if (signalRestService.update(signals)) { if (signalRestService.update(signals)) {
log.info("Flags were updated successfully. PackageId: {} PackageName: {}. Package status changed to ON_MONITORING", packageId, packageName); log.info("Flags were updated successfully. PackageId: {} PackageName: {}. Package status changed to ON_MONITORING", packageId, packageName);
signalService.updatePackageStatus(packageId, Status.ON_MONITORING); signalService.updatePackageStatus(packageId, Status.ON_MONITORING);