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; 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.LocalDate;
import java.time.format.DateTimeFormatter; 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 @Slf4j
public class PersonFactoryBuilderV2 { public class PersonFactoryBuilderV2 {
@ -31,16 +30,17 @@ public class PersonFactoryBuilderV2 {
private final static String CONSENT_ISSUE_AUTHORITY = "Кем выдан"; private final static String CONSENT_ISSUE_AUTHORITY = "Кем выдан";
private SubjectProfileForSignal personData; private SubjectProfile personData;
private Long uid; private Long uid;
public static PersonFactoryBuilderV2 builder() { public static PersonFactoryBuilderV2 builder() {
return new PersonFactoryBuilderV2(); return new PersonFactoryBuilderV2();
} }
public PersonFactoryBuilderV2 personData(SubjectProfileForSignal personData) { public PersonFactoryBuilderV2 personData(SubjectProfile personData) {
this.personData = personData; this.personData = personData;
this.uid = personData.getId(); //todo откуда брать этот id
// this.uid = personData.getIdentifier();
return this; return this;
} }
@ -48,8 +48,8 @@ public class PersonFactoryBuilderV2 {
if (personData == null) { if (personData == null) {
return null; return null;
} }
NameData nameData = personData.getNameProfile(); NameData nameData = personData.getNameData();
IdData passportData = personData.getIdProfile(); IdData passportData = personData.getIdData();
Person person = new Person(); Person person = new Person();
person.setS(nameData.getLastName()); person.setS(nameData.getLastName());
person.setN(nameData.getFirstName()); person.setN(nameData.getFirstName());

View file

@ -1,21 +1,20 @@
package ru.nbch.credit_tracker.service.indic; 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.time.LocalDate;
import java.util.Comparator; import java.util.Comparator;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; 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 @Slf4j
@Service @Service
@ -89,8 +88,8 @@ public class PersonService {
return resultMap; return resultMap;
} }
public void filledPassportsData(List<SubjectProfileForSignal> subjectProfiles) { public void filledPassportsData(List<SubjectProfile> subjectProfiles) {
List<Integer> fids = subjectProfiles.stream().map(SubjectProfileForSignal::getFid).collect(Collectors.toList()); List<Integer> fids = subjectProfiles.stream().map(SubjectProfile::getFid).collect(Collectors.toList());
if (fids.isEmpty()) { if (fids.isEmpty()) {
return; return;
} }
@ -110,8 +109,8 @@ public class PersonService {
.idType2(passport.getIdType2()) .idType2(passport.getIdType2())
.fileSinceDate(passport.getFileSinceDate()) .fileSinceDate(passport.getFileSinceDate())
.build(); .build();
subjectProfile.setIdProfile(idProfile); subjectProfile.setIdData(idProfile);
subjectProfile.setFilled(isRequiredPassportDataPresent(passport)); // subjectProfile.setFilled(isRequiredPassportDataPresent(passport));
} }
}); });
} }

View file

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