FidIdEnricher: rename and chane payload type

This commit is contained in:
etreschenkov 2025-11-01 12:30:43 +03:00
parent 9cb5a16490
commit 9ce437a438
3 changed files with 46 additions and 44 deletions

View file

@ -1,15 +1,14 @@
package ru.nbch.credit_tracker.builder;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import ru.nbch.credit_tracker.model.IdData;
import ru.nbch.credit_tracker.model.NameData;
import ru.nbch.credit_tracker.entities.dto.SubjectProfileForSignal;
import ru.nbch.credit_tracker.entities.external_request.signals.Person;
import ru.nbch.credit_tracker.utils.CTUtil;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import ru.nbch.credit_tracker.entities.external_request.signals.Person;
import ru.nbch.credit_tracker.model.IdData;
import ru.nbch.credit_tracker.model.NameData;
import ru.nbch.credit_tracker.model.SubjectProfile;
import ru.nbch.credit_tracker.utils.CTUtil;
@Slf4j
public class PersonFactoryBuilderV2 {
@ -31,16 +30,17 @@ public class PersonFactoryBuilderV2 {
private final static String CONSENT_ISSUE_AUTHORITY = "Кем выдан";
private SubjectProfileForSignal personData;
private SubjectProfile personData;
private Long uid;
public static PersonFactoryBuilderV2 builder() {
return new PersonFactoryBuilderV2();
}
public PersonFactoryBuilderV2 personData(SubjectProfileForSignal personData) {
public PersonFactoryBuilderV2 personData(SubjectProfile personData) {
this.personData = personData;
this.uid = personData.getId();
//todo откуда брать этот id
// this.uid = personData.getIdentifier();
return this;
}
@ -48,8 +48,8 @@ public class PersonFactoryBuilderV2 {
if (personData == null) {
return null;
}
NameData nameData = personData.getNameProfile();
IdData passportData = personData.getIdProfile();
NameData nameData = personData.getNameData();
IdData passportData = personData.getIdData();
Person person = new Person();
person.setS(nameData.getLastName());
person.setN(nameData.getFirstName());

View file

@ -1,21 +1,20 @@
package ru.nbch.credit_tracker.service.indic;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import ru.nbch.credit_tracker.model.IdData;
import ru.nbch.credit_tracker.entities.dto.SubjectProfileForSignal;
import ru.nbch.credit_tracker.mapper.indic.PersonMapper;
import java.time.LocalDate;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import ru.nbch.credit_tracker.mapper.indic.PersonMapper;
import ru.nbch.credit_tracker.model.IdData;
import ru.nbch.credit_tracker.model.SubjectProfile;
@Slf4j
@Service
@ -89,8 +88,8 @@ public class PersonService {
return resultMap;
}
public void filledPassportsData(List<SubjectProfileForSignal> subjectProfiles) {
List<Integer> fids = subjectProfiles.stream().map(SubjectProfileForSignal::getFid).collect(Collectors.toList());
public void filledPassportsData(List<SubjectProfile> subjectProfiles) {
List<Integer> fids = subjectProfiles.stream().map(SubjectProfile::getFid).collect(Collectors.toList());
if (fids.isEmpty()) {
return;
}
@ -110,8 +109,8 @@ public class PersonService {
.idType2(passport.getIdType2())
.fileSinceDate(passport.getFileSinceDate())
.build();
subjectProfile.setIdProfile(idProfile);
subjectProfile.setFilled(isRequiredPassportDataPresent(passport));
subjectProfile.setIdData(idProfile);
// subjectProfile.setFilled(isRequiredPassportDataPresent(passport));
}
});
}

View file

@ -1,34 +1,37 @@
package ru.nbch.credit_tracker.service.task.impl.dprctd;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
import java.nio.file.StandardOpenOption;
import java.util.List;
import java.util.UUID;
import java.util.concurrent.BlockingQueue;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import ru.nbch.credit_tracker.builder.PersonFactoryBuilderV2;
import ru.nbch.credit_tracker.config.settings.CreditTrackerSettings;
import ru.nbch.credit_tracker.entities.dto.SubjectProfileForSignal;
import ru.nbch.credit_tracker.entities.external_request.signals.Person;
import ru.nbch.credit_tracker.model.PartFilePayload;
import ru.nbch.credit_tracker.model.SendSignalsPayload;
import ru.nbch.credit_tracker.model.SubjectsProfilePayloadV2;
import ru.nbch.credit_tracker.model.SubjectProfile;
import ru.nbch.credit_tracker.model.impl.SubjectPayload;
import ru.nbch.credit_tracker.service.SignalService;
import ru.nbch.credit_tracker.service.indic.PersonService;
import ru.nbch.credit_tracker.service.task.Handler;
import ru.nbch.credit_tracker.service.xml.stax.SignalsStaxXmlWriterV2;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.file.*;
import java.util.List;
import java.util.UUID;
import java.util.concurrent.BlockingQueue;
@Service
@Slf4j
public class FidIdEnricherV2 implements Handler<SubjectsProfilePayloadV2, SendSignalsPayload> {
public class FidIdEnricher implements Handler<SubjectPayload, SendSignalsPayload> {
private final PersonService personService;
private final SignalService signalService;
private final CreditTrackerSettings config;
private final BlockingQueue<PartFilePayload> mergerQueue;
public FidIdEnricherV2(PersonService personService,
public FidIdEnricher(PersonService personService,
SignalService signalService,
CreditTrackerSettings config,
BlockingQueue<PartFilePayload> mergerQueue) {
@ -39,12 +42,12 @@ public class FidIdEnricherV2 implements Handler<SubjectsProfilePayloadV2, SendSi
}
@Override
public SendSignalsPayload handle(SubjectsProfilePayloadV2 taskPayload) {
List<SubjectProfileForSignal> subjectsProfile = taskPayload.getSubjectProfiles();
public SendSignalsPayload handle(SubjectPayload taskPayload) {
List<SubjectProfile> subjectsProfile = taskPayload.getSubjects();
log.debug("FidIdEnricher handle by packageId: {}; size: {}", taskPayload.getPackageId(), subjectsProfile.size());
personService.filledPassportsData(subjectsProfile);
List<Person> personOnProcessing = subjectsProfile.stream()
.filter(SubjectProfileForSignal::isFilled)
.filter(subjectProfile -> subjectProfile.getIdData() != null && subjectProfile.getNameData() != null)
.map(subjectProfile -> PersonFactoryBuilderV2.builder().personData(subjectProfile).build())
.toList();
log.debug("personOnProcessing size: {}", personOnProcessing.size());