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