Added comments for SignalRestService, UpdatingFlagsService, UpdateProcessingPackagesService, MonitoringService

This commit is contained in:
Mikhail Trofimov 2025-07-24 16:22:59 +03:00
parent aa106350b5
commit 0c7adde053
5 changed files with 22 additions and 5 deletions

View file

@ -162,7 +162,7 @@ public class SignalFacade {
signalService.registerSubjects(subjects, packageId); signalService.registerSubjects(subjects, packageId);
subjects.clear(); subjects.clear();
signalService.updateSubjects(packageId, null); signalService.updateSubjects(packageId, null);
if (signalRestService.update(packageId, null)) { if (signalRestService.setupMonitoring(packageId, null)) {
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);
} else { } else {

View file

@ -33,6 +33,9 @@ import java.util.concurrent.TimeUnit;
import java.util.zip.ZipEntry; import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream; import java.util.zip.ZipOutputStream;
/**
* Сервис периодического опроса официального сервиса сигналов на наличие новых отчетов по пакетам находящимся в статусе ON_MONITORING
*/
@Slf4j @Slf4j
@Service @Service
public class MonitoringService { public class MonitoringService {

View file

@ -8,6 +8,10 @@ import ru.nbch.credit_tracker.service.signal.SignalRestService;
import java.util.List; import java.util.List;
/**
* Сервис для завершения обработки пакетов находящихся в статусе PROCESSING
* Запускается при старте приложения и отрабатывает 1 раз
*/
@Slf4j @Slf4j
@Service @Service
public class UpdateProcessingPackagesService { public class UpdateProcessingPackagesService {
@ -33,7 +37,7 @@ public class UpdateProcessingPackagesService {
private void process(Integer packageId, String packageName) { private void process(Integer packageId, String packageName) {
try { try {
signalService.updateSubjects(packageId, null); signalService.updateSubjects(packageId, null);
if (signalRestService.update(packageId, null)) { if (signalRestService.setupMonitoring(packageId, null)) {
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);
} else { } else {

View file

@ -17,6 +17,10 @@ import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.function.Predicate; import java.util.function.Predicate;
/**
* Сервис периодического обновления фидов и флагов просрочек по пакетам находящимся в статусе ON_MONITORING
* По обновленным пакетам формируется новый запрос постановки на мониторинг в официальный сервис сигналов
*/
@Slf4j @Slf4j
@Service @Service
public class UpdatingFlagsService { public class UpdatingFlagsService {
@ -56,7 +60,7 @@ public class UpdatingFlagsService {
Predicate<PhoneFidMap> filter = subject -> subject.getCalculatedAt() != null && hasDaysPassed(subject.getCalculatedAt()); Predicate<PhoneFidMap> filter = subject -> subject.getCalculatedAt() != null && hasDaysPassed(subject.getCalculatedAt());
boolean updated = signalService.updateSubjects(packageId, filter); boolean updated = signalService.updateSubjects(packageId, filter);
if (updated) { if (updated) {
if (signalRestService.update(packageId, filter)) { if (signalRestService.setupMonitoring(packageId, filter)) {
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);
} else { } else {

View file

@ -59,7 +59,11 @@ public class SignalRestService {
this.authToken = buildToken(config.getSignalsToken(), config.getSignalsuser()); this.authToken = buildToken(config.getSignalsToken(), config.getSignalsuser());
} }
public boolean update(Integer packageId, Predicate<PhoneFidMap> filter) throws Exception { /**
* Ставит пакет на мониторинг в официальный сервис сигналов
* @return true - если пакет успешно поставился на мониторинг. false - в противном случае
*/
public boolean setupMonitoring(Integer packageId, Predicate<PhoneFidMap> filter) throws Exception {
String path = signalService.writeSignals(packageId, filter); String path = signalService.writeSignals(packageId, filter);
Resource request = compressFile(path); Resource request = compressFile(path);
@ -96,6 +100,9 @@ public class SignalRestService {
return false; return false;
} }
/**
* Удаляет пакет с мониторинга
*/
public void deletePackage(String username, String packageName) { public void deletePackage(String username, String packageName) {
String packCode = username.substring(0, 6) + "_" + packageName; String packCode = username.substring(0, 6) + "_" + packageName;
String url = DELETE_URI + "?packCode=" + packCode; String url = DELETE_URI + "?packCode=" + packCode;
@ -119,7 +126,6 @@ public class SignalRestService {
} }
/** /**
*
* @return Список отчетов, по которым сработали сигналы из официального сервиса сигналов * @return Список отчетов, по которым сработали сигналы из официального сервиса сигналов
*/ */
public SgnlOnlineReport getReports(String packCode) { public SgnlOnlineReport getReports(String packCode) {