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);
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);

View file

@ -165,7 +165,7 @@ public class SignalService {
userPackageService.updatePackageStatus(packageId, status);
}
public Signals buildSignals(Integer packageId) {
public Signals buildSignals(Integer packageId, Predicate<PhoneFidMap> 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<Person> buildPersons(Integer packageId, Predicate<PhoneFidMap> filter) {
private List<Person> buildPersons(Integer packageId, Predicate<PhoneFidMap> filter) {
List<Person> result = new ArrayList<>();
int offset = 0;
List<PhoneFidMap> batch;

View file

@ -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<PhoneFidMap> 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);