Added comments for SignalService
This commit is contained in:
parent
7120fd9dd2
commit
997bcc6c4a
1 changed files with 18 additions and 3 deletions
|
|
@ -82,6 +82,9 @@ public class SignalService {
|
|||
log.info("Subjects were registered. PackageId: {}", packageId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Обрабатывает все PhoneFidMap по packageId, выгружая их пачками и фильтруя по переданному фильтру
|
||||
*/
|
||||
public boolean updateSubjects(Integer packageId, Predicate<PhoneFidMap> filter) {
|
||||
boolean updated = false;
|
||||
int offset = 0;
|
||||
|
|
@ -108,6 +111,9 @@ public class SignalService {
|
|||
return updated;
|
||||
}
|
||||
|
||||
/**
|
||||
* Обрабатывает пачку PhoneFidMap: обновляет фиды и флаги просрочек
|
||||
*/
|
||||
public void updateFlags(List<PhoneFidMap> subjects, Integer packageId) {
|
||||
if (subjects.isEmpty()) {
|
||||
return;
|
||||
|
|
@ -169,6 +175,10 @@ public class SignalService {
|
|||
userPackageService.updatePackageStatus(packageId, status);
|
||||
}
|
||||
|
||||
/**
|
||||
* Формирует файл запроса в официальный сервис сигналов, выгружая паспортные данные пачками и сразу записывая их в файл
|
||||
* @return Путь к файлу запроса к официальному сервису сигналов на постановку на мониторинг
|
||||
*/
|
||||
public String writeSignals(Integer packageId, Predicate<PhoneFidMap> filter) {
|
||||
String folderPath = config.getLoadDir() + File.separator + "tmp_folder" + File.separator + packageId + File.separator;
|
||||
String filePath = folderPath + UUID.randomUUID() + "_output.xml";
|
||||
|
|
@ -194,11 +204,13 @@ public class SignalService {
|
|||
Auth auth = new Auth();
|
||||
auth.setUser(config.getSignalsuser());
|
||||
signals.setAuth(auth);
|
||||
|
||||
|
||||
return signals;
|
||||
}
|
||||
|
||||
/**
|
||||
* Обрабатывает все PhoneFidMap по packageId, выгружая их пачками и фильтруя по переданному фильтру.
|
||||
* writer записывает пачку сразу в файл
|
||||
*/
|
||||
private void buildPersons(Integer packageId, Predicate<PhoneFidMap> filter, Consumer<List<Person>> writer) {
|
||||
int offset = 0;
|
||||
List<PhoneFidMap> batch;
|
||||
|
|
@ -211,13 +223,16 @@ public class SignalService {
|
|||
persons = findPersons(batch);
|
||||
}
|
||||
if (!persons.isEmpty()) {
|
||||
writer.accept(persons);
|
||||
writer.accept(persons); // записывает пачку Persons в файл
|
||||
}
|
||||
offset += batchSize;
|
||||
} while (!batch.isEmpty());
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Формирует список Person для постановки на мониторинг в официальный сервис сигналов на основе списка PhoneFidMap
|
||||
*/
|
||||
private List<Person> findPersons(List<PhoneFidMap> subjects) {
|
||||
if (subjects.isEmpty()) {
|
||||
return Collections.emptyList();
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue