diff --git a/src/main/java/ru/nbch/credit_tracker/CreditTrackerApplication.java b/src/main/java/ru/nbch/credit_tracker/CreditTrackerApplication.java index 2e54a54..02ac99e 100644 --- a/src/main/java/ru/nbch/credit_tracker/CreditTrackerApplication.java +++ b/src/main/java/ru/nbch/credit_tracker/CreditTrackerApplication.java @@ -5,6 +5,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.ConfigurableApplicationContext; import ru.nbch.credit_tracker.service.MonitoringService; import ru.nbch.credit_tracker.service.UpdateProcessingPackagesService; +import ru.nbch.credit_tracker.service.UpdatingFlagsService; @SpringBootApplication public class CreditTrackerApplication { @@ -13,10 +14,10 @@ public class CreditTrackerApplication { ConfigurableApplicationContext ctx = SpringApplication.run(CreditTrackerApplication.class, args); UpdateProcessingPackagesService updateProcessingPackagesService = ctx.getBean(UpdateProcessingPackagesService.class); MonitoringService monitoringService = ctx.getBean(MonitoringService.class); -// UpdatingFlagsService updatingFlagsService = ctx.getBean(UpdatingFlagsService.class); -// updatingFlagsService.update(); - updateProcessingPackagesService.run(); - monitoringService.run(); + UpdatingFlagsService updatingFlagsService = ctx.getBean(UpdatingFlagsService.class); + updatingFlagsService.update(); +// updateProcessingPackagesService.run(); +// monitoringService.run(); } } diff --git a/src/main/java/ru/nbch/credit_tracker/mapper/signal/PackagesRecordsMapper.java b/src/main/java/ru/nbch/credit_tracker/mapper/signal/PackagesRecordsMapper.java index 1da09cb..81a1a6d 100644 --- a/src/main/java/ru/nbch/credit_tracker/mapper/signal/PackagesRecordsMapper.java +++ b/src/main/java/ru/nbch/credit_tracker/mapper/signal/PackagesRecordsMapper.java @@ -10,6 +10,7 @@ public interface PackagesRecordsMapper { void setErrorJson(@Param("json") String json); List registerJson(@Param("json") String json); List findFullPhoneFidMap(@Param("packageId") Long packageId, @Param("limit") int limit, @Param("offset") int offset); + List uniquePackageIdByPhones(@Param("json") String json); Long deleteByPackageId(@Param("packageId") Long id); PackagesRecordsMap findById(Long id); diff --git a/src/main/java/ru/nbch/credit_tracker/mapper/signal/PhonesMapMapper.java b/src/main/java/ru/nbch/credit_tracker/mapper/signal/PhonesMapMapper.java index b741734..5b19ff9 100644 --- a/src/main/java/ru/nbch/credit_tracker/mapper/signal/PhonesMapMapper.java +++ b/src/main/java/ru/nbch/credit_tracker/mapper/signal/PhonesMapMapper.java @@ -11,7 +11,9 @@ public interface PhonesMapMapper { List searchedAtLessThan(@Param("daysCount") Integer daysCount, @Param("limit") int limit, @Param("offset") int offset); PhonesMap findByPhone(@Param("phone") Long phone); void updateIdCachedData(@Param("json") String json); + void updateNameCachedData(@Param("json") String json); void updateFlagCachedData(@Param("json") String json); + void resetFidAndPD(@Param("json") String json); void registerJson(@Param("json") String json); void setFidJson(@Param("json") String json); } diff --git a/src/main/java/ru/nbch/credit_tracker/mapper/signal/UserPackageMapper.java b/src/main/java/ru/nbch/credit_tracker/mapper/signal/UserPackageMapper.java index 4f4a8e3..38ae703 100644 --- a/src/main/java/ru/nbch/credit_tracker/mapper/signal/UserPackageMapper.java +++ b/src/main/java/ru/nbch/credit_tracker/mapper/signal/UserPackageMapper.java @@ -27,6 +27,7 @@ public interface UserPackageMapper { void updatePackageOnMonitoringSuccess(@Param("id") Long id, @Param("monitoringAt") LocalDateTime monitoringAt); void setLastSearchedDt(@Param("id") Long id); + void setFidChanged(@Param("packageIds") List id); UserPackage findPackage(@Param("id") Long id); diff --git a/src/main/java/ru/nbch/credit_tracker/service/UserPackageService.java b/src/main/java/ru/nbch/credit_tracker/service/UserPackageService.java index 48ae056..d7c7be9 100644 --- a/src/main/java/ru/nbch/credit_tracker/service/UserPackageService.java +++ b/src/main/java/ru/nbch/credit_tracker/service/UserPackageService.java @@ -1,34 +1,29 @@ package ru.nbch.credit_tracker.service; import java.time.LocalDateTime; +import java.util.Arrays; import java.util.Comparator; import java.util.List; import java.util.stream.Collectors; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import ru.nbch.credit_tracker.entities.app.UserPackage; -import ru.nbch.credit_tracker.entities.user_request.monitoring_request.MonitoringRequest; import ru.nbch.credit_tracker.enums.Status; -import ru.nbch.credit_tracker.service.signal.UserPackageDao; +import ru.nbch.credit_tracker.mapper.signal.UserPackageMapper; @Slf4j @Service public class UserPackageService { - private final UserPackageDao userPackageService; + private final UserPackageMapper userPackageMapper; - public UserPackageService(UserPackageDao userPackageService) { - this.userPackageService = userPackageService; - } - - public boolean isPackageNotUnique(MonitoringRequest request) { - return userPackageService.isPackageNotUnique(request.getUserId(), request.getPackageName()); + public UserPackageService(UserPackageMapper userPackageMapper) { + this.userPackageMapper = userPackageMapper; } public boolean isPackageNotUnique(String userId, String packageName) { - return userPackageService.isPackageNotUnique(userId, packageName); + return userPackageMapper.isPackageNotUnique(userId, packageName); } - public Long registerPackage(String userId, String packageName, List signalTypes) { signalTypes.sort(Comparator.naturalOrder()); String types = "1,2"; @@ -42,7 +37,7 @@ public class UserPackageService { .createdAt(LocalDateTime.now()) .status(Status.ACCEPTED.name()) .build(); - return userPackageService.insertPackage(userPackage); + return userPackageMapper.insertPackage(userPackage); } public void rejectPackage(String userId, String packageName, List signalTypes) { @@ -57,35 +52,25 @@ public class UserPackageService { .createdAt(LocalDateTime.now()) .status(Status.REJECTED.name()) .build(); - userPackageService.insertPackage(userPackage); + userPackageMapper.insertPackage(userPackage); } - public List findActivePackages(String userId) { - return userPackageService.findUserPackages(userId, Status.ON_MONITORING); + return userPackageMapper.findUserPackages(userId, Arrays.asList(Status.ON_MONITORING.name())); } + public void setFidChanged(List id) { + userPackageMapper.setFidChanged(id); + } public List findAllPackages(String userId) { - return userPackageService.findAllPackagesByUserId(userId); - } - - public boolean isPackageExists(String username, String packageName) { - return userPackageService.isPackageExists(username, packageName, Status.ON_MONITORING); + return userPackageMapper.findAllPackagesByUserId(userId); } public List findByMemberCodeAndPackageName(String memberCode, String packageName) { - return userPackageService.findByMemberCodeAndPackageName(memberCode, packageName); - } - - public boolean isPackagesByStatusExist(String username, String packageName, Status status) { - return userPackageService.hasActivePackages(username, packageName, status); - } - - public void deletePackage(String username, String packageName, LocalDateTime deactivatedAt) { - userPackageService.deletePackage(username, packageName, Status.DELETED, Status.ON_MONITORING, deactivatedAt); + return userPackageMapper.findByMemberCodeAndPackageName(memberCode, packageName); } public void deletePackageById(Long id, LocalDateTime deactivatedAt) { - userPackageService.deletePackageById(id, deactivatedAt); + userPackageMapper.deletePackageById(id, Status.DELETED.name(), deactivatedAt); } } diff --git a/src/main/java/ru/nbch/credit_tracker/service/signal/PackageRecordsService.java b/src/main/java/ru/nbch/credit_tracker/service/signal/PackageRecordsService.java index d9e6e37..42e6363 100644 --- a/src/main/java/ru/nbch/credit_tracker/service/signal/PackageRecordsService.java +++ b/src/main/java/ru/nbch/credit_tracker/service/signal/PackageRecordsService.java @@ -79,6 +79,19 @@ public class PackageRecordsService { } } + public List selectUniquePackageIds(List phones) { + try { + String json = entityToJsonMapper.writeValueAsString(phones.stream() + .filter(Objects::nonNull) + .map(phone -> new HashMap() {{ + put("phone", phone); + }}).toList()); + return packagesRecordsMapper.uniquePackageIdByPhones(json); + } catch (JsonProcessingException e) { + throw new RuntimeException(e); + } + } + public void updateNameCache(List phonesMaps) { try { String json = entityToJsonMapper.writeValueAsString(phonesMaps.stream() diff --git a/src/main/java/ru/nbch/credit_tracker/service/signal/PhonesMapService.java b/src/main/java/ru/nbch/credit_tracker/service/signal/PhonesMapService.java new file mode 100644 index 0000000..3d85393 --- /dev/null +++ b/src/main/java/ru/nbch/credit_tracker/service/signal/PhonesMapService.java @@ -0,0 +1,53 @@ +package ru.nbch.credit_tracker.service.signal; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import java.util.HashMap; +import java.util.List; +import java.util.Objects; +import org.springframework.stereotype.Service; +import ru.nbch.credit_tracker.mapper.signal.PhonesMapMapper; +import ru.nbch.credit_tracker.model.SubjectProfile; + +@Service +public class PhonesMapService { + private final PhonesMapMapper phonesMapMapper; + private final ObjectMapper entityToJsonMapper; + + public PhonesMapService(PhonesMapMapper phonesMapMapper, + ObjectMapper entityToJsonMapper) { + this.phonesMapMapper = phonesMapMapper; + this.entityToJsonMapper = entityToJsonMapper; + } + + public void resetFidAndPDByPhones(List phones) { + try { + String json = entityToJsonMapper.writeValueAsString(phones.stream() + .filter(Objects::nonNull) + .map(phone -> new HashMap() {{ + put("phone", phone); + }}).toList()); + phonesMapMapper.resetFidAndPD(json); + } catch (JsonProcessingException e) { + throw new RuntimeException(e); + } + } + + public void updateNameCachedData(List subjectProfiles) { + try { + String json = entityToJsonMapper.writeValueAsString(subjectProfiles.stream() + .filter(Objects::nonNull) + .map(subjectProfile -> new HashMap() {{ + put("fid", subjectProfile.getFid()); + put("name_1", subjectProfile.getNameData().getLastName()); + put("first", subjectProfile.getNameData().getFirstName()); + put("middle", subjectProfile.getNameData().getMiddleName()); + put("birth_dt", subjectProfile.getNameData().getBirthDate()); + put("phone", subjectProfile.getPhone()); + }}).toList()); + phonesMapMapper.updateNameCachedData(json); + } catch (JsonProcessingException e) { + throw new RuntimeException(e); + } + } +} diff --git a/src/main/java/ru/nbch/credit_tracker/service/signal/UserPackageDao.java b/src/main/java/ru/nbch/credit_tracker/service/signal/UserPackageDao.java deleted file mode 100644 index ab2998b..0000000 --- a/src/main/java/ru/nbch/credit_tracker/service/signal/UserPackageDao.java +++ /dev/null @@ -1,75 +0,0 @@ -package ru.nbch.credit_tracker.service.signal; - -import java.time.LocalDateTime; -import java.util.Arrays; -import java.util.List; -import org.springframework.stereotype.Service; -import ru.nbch.credit_tracker.entities.app.UserPackage; -import ru.nbch.credit_tracker.enums.Status; -import ru.nbch.credit_tracker.mapper.signal.UserPackageMapper; - -@Service -public class UserPackageDao { - - private final UserPackageMapper mapper; - - public UserPackageDao(UserPackageMapper mapper) { - this.mapper = mapper; - } - - public boolean isPackageNotUnique(String userId, String packageName) { - return mapper.isPackageNotUnique(userId.substring(0, 6), packageName); - } - - public boolean isPackageExists(String userId, String packageName, Status status) { - return mapper.isPackageExists(userId.substring(0, 6), packageName, status.name()); - } - - public boolean hasActivePackages(String userId, String packageName, Status... status) { - return mapper.hasActivePackages(userId.substring(0, 6), packageName, Arrays.stream(status).map(Enum::name).toList()); - } - - public void deletePackage(String userId, String packageName, Status newStatus, Status previousStatus, LocalDateTime deactivatedAt) { - mapper.deletePackage(userId.substring(0, 6), packageName, newStatus.name(), previousStatus.name(), deactivatedAt); - } - - public void deletePackageById(Long id, LocalDateTime deactivatedAt) { - mapper.deletePackageById(id, Status.DELETED.name(), deactivatedAt); - } - - public Long insertPackage(UserPackage userPackage) { - return mapper.insertPackage(userPackage); - } - - public void updatePackageStatus(Long packageId, Status status) { - mapper.updatePackageStatus(packageId, status.name()); - } - - public void updatePackageLastDownloadedReport(Long id, String fileName) { - mapper.updatePackageLastDownloadedReport(id, fileName); - } - - public void updatePackageOnMonitoringSuccess(Long id, LocalDateTime monitoringAt) { - mapper.updatePackageOnMonitoringSuccess(id, monitoringAt); - } - - public UserPackage findPackage(Long id) { - return mapper.findPackage(id); - } - - public List findUserPackages(String userId, Status... status) { - return mapper.findUserPackages(userId.substring(0, 6), Arrays.stream(status).map(Enum::name).toList()); - } - - public List findAllPackagesByUserId(String userId) { - return mapper.findAllPackagesByUserId(userId.substring(0, 6)); - } - - public List findByMemberCodeAndPackageName(String memberCode, String packageName) { - return mapper.findByMemberCodeAndPackageName(memberCode.substring(0, 6), packageName); - } - - public List findAllPackagesByStatus(Status status) { - return mapper.findAllPackagesByStatus(status.name()); - } -} diff --git a/src/main/java/ru/nbch/credit_tracker/service/task/impl/FidIdEnricher.java b/src/main/java/ru/nbch/credit_tracker/service/task/impl/FidIdEnricher.java index 71b6f10..5123d05 100644 --- a/src/main/java/ru/nbch/credit_tracker/service/task/impl/FidIdEnricher.java +++ b/src/main/java/ru/nbch/credit_tracker/service/task/impl/FidIdEnricher.java @@ -8,6 +8,7 @@ import java.nio.file.Paths; import java.nio.file.StandardCopyOption; import java.nio.file.StandardOpenOption; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.UUID; @@ -53,7 +54,13 @@ public class FidIdEnricher implements Handler { .filter(subjectProfile -> subjectProfile.getIdData() == null) .map(SubjectProfile::getFid) .toList(); - Map idByFid = personService.filledPassportsData(noIdDataFids); + + Map idByFid; + if (!noIdDataFids.isEmpty()) { + idByFid = personService.filledPassportsData(noIdDataFids); + } else { + idByFid = new HashMap<>(); + } List idCacheOnUpdate = new ArrayList<>(); List personOnProcessing = subjectsProfile.stream() diff --git a/src/main/java/ru/nbch/credit_tracker/service/task/impl/FidNameEnricher.java b/src/main/java/ru/nbch/credit_tracker/service/task/impl/FidNameEnricher.java index f2e66e8..53cd7ab 100644 --- a/src/main/java/ru/nbch/credit_tracker/service/task/impl/FidNameEnricher.java +++ b/src/main/java/ru/nbch/credit_tracker/service/task/impl/FidNameEnricher.java @@ -1,5 +1,6 @@ package ru.nbch.credit_tracker.service.task.impl; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Optional; @@ -61,7 +62,12 @@ public class FidNameEnricher implements Handler .filter(subjectProfile -> !cachedRecords.containsKey(subjectProfile.getPhone())) .toList(); - Map nameByPhone = personService.findNameByNumber(noFidsData); + Map nameByPhone; + if (!noFidsData.isEmpty()) { + nameByPhone = personService.findNameByNumber(noFidsData); + } else { + nameByPhone = new HashMap<>(); + } AtomicInteger cacheHits = context.get(PackageVariable.cacheHits); AtomicInteger cacheMisses = context.get(PackageVariable.cacheMisses); @@ -74,6 +80,9 @@ public class FidNameEnricher implements Handler cacheMisses.incrementAndGet(); Name name = nameByPhone.get(CTUtil.normalizePhoneNumber(phone)); if (name == null) { + if (noFidsData.isEmpty()) { + log.warn("Unexpected scenario...all recs are hit to cache, but nameData was trying to found in indic"); + } return Stream.of(PhonesMap.builder() .phone(phone) .build()); diff --git a/src/main/java/ru/nbch/credit_tracker/service/task/impl/FidNameUpdater.java b/src/main/java/ru/nbch/credit_tracker/service/task/impl/FidNameUpdater.java index 885cd50..7c73a31 100644 --- a/src/main/java/ru/nbch/credit_tracker/service/task/impl/FidNameUpdater.java +++ b/src/main/java/ru/nbch/credit_tracker/service/task/impl/FidNameUpdater.java @@ -10,8 +10,10 @@ import ru.nbch.credit_tracker.entities.indic.Name; import ru.nbch.credit_tracker.model.SubjectProfile; import ru.nbch.credit_tracker.model.impl.PackageVariable; import ru.nbch.credit_tracker.model.impl.SubjectPayload; +import ru.nbch.credit_tracker.service.UserPackageService; import ru.nbch.credit_tracker.service.indic.PersonServiceV2; import ru.nbch.credit_tracker.service.signal.PackageRecordsService; +import ru.nbch.credit_tracker.service.signal.PhonesMapService; import ru.nbch.credit_tracker.service.task.Handler; import ru.nbch.credit_tracker.utils.CTUtil; @@ -21,13 +23,19 @@ public class FidNameUpdater implements Handler { private final PersonServiceV2 personService; private final CreditTrackerSettings creditTrackerSettings; private final PackageRecordsService packageRecordsService; + private final PhonesMapService phonesMapService; + private final UserPackageService userPackageService; public FidNameUpdater(PersonServiceV2 personService, CreditTrackerSettings creditTrackerSettings, - PackageRecordsService packageRecordsService) { + PackageRecordsService packageRecordsService, + PhonesMapService phonesMapService, + UserPackageService userPackageService) { this.personService = personService; this.creditTrackerSettings = creditTrackerSettings; this.packageRecordsService = packageRecordsService; + this.phonesMapService = phonesMapService; + this.userPackageService = userPackageService; } @Override @@ -44,12 +52,29 @@ public class FidNameUpdater implements Handler { if (name == null) { notFoundFidPhones.add(subjectProfile.getPhone()); } else if (!subjectProfile.getFid().equals(name.getFid())) { + subjectProfile.setFid(name.getFid()); + subjectProfile.getNameData().setFirstName(name.getFirst()); + subjectProfile.getNameData().setLastName(name.getLast()); + subjectProfile.getNameData().setMiddleName(name.getMiddle()); + subjectProfile.getNameData().setBirthDate(name.getBirthDate()); changingFidPhones.add(subjectProfile); } }); - //1.set to null fid name and id data in signals_phones_map - //1.2 set FID_CHANGED = 1 for this package(select by phone) + List changingFids = new ArrayList<>(); + if (!notFoundFidPhones.isEmpty()) { + phonesMapService.resetFidAndPDByPhones(notFoundFidPhones); + changingFids.addAll(notFoundFidPhones); + } + if (!changingFidPhones.isEmpty()) { + phonesMapService.updateNameCachedData(changingFidPhones); + changingFids.addAll(changingFidPhones.stream().map(SubjectProfile::getPhone).toList()); + } + + if (!changingFids.isEmpty()) { + List packageIds = packageRecordsService.selectUniquePackageIds(changingFids); + userPackageService.setFidChanged(packageIds); + } //2.set new fid name and id data in signals_phones_map //2.2 set FID_CHANGED = 1 for this package(select by phone) return new SubjectPayload(null, null, null, changingFidPhones); diff --git a/src/main/java/ru/nbch/credit_tracker/service/task/impl/FidUpdateNameEnricher.java b/src/main/java/ru/nbch/credit_tracker/service/task/impl/FidUpdateNameEnricher.java deleted file mode 100644 index 199d851..0000000 --- a/src/main/java/ru/nbch/credit_tracker/service/task/impl/FidUpdateNameEnricher.java +++ /dev/null @@ -1,136 +0,0 @@ -package ru.nbch.credit_tracker.service.task.impl; - -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.stream.Stream; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import ru.nbch.credit_tracker.config.settings.CreditTrackerSettings; -import ru.nbch.credit_tracker.entities.app.PhonesMap; -import ru.nbch.credit_tracker.entities.indic.Name; -import ru.nbch.credit_tracker.model.FlagData; -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.model.impl.PackageVariable; -import ru.nbch.credit_tracker.model.impl.SubjectPayload; -import ru.nbch.credit_tracker.service.indic.PersonServiceV2; -import ru.nbch.credit_tracker.service.signal.PackageRecordsService; -import ru.nbch.credit_tracker.service.task.Handler; -import ru.nbch.credit_tracker.utils.CTUtil; - -/** - * Стадия для сопоставления FID к номеру телефона и регистрации пакета в базе данных. - * Так же выполняется поиск и обогащение перс.данными из NAME для дальнейшей обработки. - * Имеет функуию при режиме RESTORE у Pipeline, когда фиды были установлены, но данные нужно подтянуть снова - */ -@Service -@Slf4j -public class FidUpdateNameEnricher implements Handler { - private final PersonServiceV2 personService; - private final CreditTrackerSettings creditTrackerSettings; - private final PackageRecordsService packageRecordsService; - - public FidUpdateNameEnricher(PersonServiceV2 personService, - CreditTrackerSettings creditTrackerSettings, - PackageRecordsService packageRecordsService) { - this.personService = personService; - this.creditTrackerSettings = creditTrackerSettings; - this.packageRecordsService = packageRecordsService; - } - - @Override - public SubjectPayload handle(SubjectPayload taskPayload) { - List subjects = taskPayload.getSubjects(); - var ctx = obtainContext(PackageVariable.class, taskPayload); - Long packageId = ctx.get(PackageVariable.packageId); - log.debug("NameEnricherStage handle by packageId: {}, size of bucket for save: {}", packageId, subjects.size()); - //найдем телефоны в табличном кэше - processByNumber(subjects); - return taskPayload; - } - - private void processByNumber(List subjects) { - - Map nameByPhone = personService.findNameByNumber(subjects); - - List subjectForSave = subjects.stream().flatMap(subject -> { - Name name = nameByPhone.get(CTUtil.normalizePhoneNumber(subject.getPhone())); - if (name == null) { - //todo set fid to null - return Stream.of(PhonesMap.builder() - .fid(null) - .phone(subject.getPhone()) - .name1(null) - .first(null) - .middle(null) - .birthDt(null) - .build()); - } - return Stream.of(PhonesMap.builder() - .fid(subject.getFid()) - .phone(subject.getPhone()) - .name1(name.getLast()) - .first(name.getFirst()) - .middle(name.getMiddle()) - .birthDt(name.getBirthDate()) - .build()); - }).toList(); - - packageRecordsService.updateNameCache(subjectForSave); - } - - private void fillByCache(SubjectProfile subjectProfile, PhonesMap cachedRecord) { - NameData nameData = NameData.builder() - .middleName(cachedRecord.getMiddle()) - .firstName(cachedRecord.getFirst()) - .lastName(cachedRecord.getName1()) - .birthDate(cachedRecord.getBirthDt()) - .build(); - subjectProfile.setNameData(nameData); - - Optional.of(cachedRecord) - .filter(cr -> cachedRecord.getSerNum() != null && cachedRecord.getIdType() != null) - .map(cr -> Optional.of( - (IdData.builder() - .idNum(cr.getSerNum()) - .idType(cr.getIdType()) - .build() - ))) - .ifPresent(idData -> subjectProfile.setIdData(idData.get())); - - Optional.of(cachedRecord) - .filter(cr -> cachedRecord.getFlagDebt5000() != null && cachedRecord.getFlag90days() != null) - .map(cr -> Optional.of( - (FlagData.builder() - .flag_debt5000(cr.getFlagDebt5000()) - .flag_90_12(cr.getFlag90days()) - .build() - ))) - .ifPresent(flagData -> subjectProfile.setFlagData(flagData.get())); - } - - private void fillByName(SubjectProfile subjectProfile, Name name) { - NameData nameData = NameData.builder() - .middleName(name.getMiddle()) - .firstName(name.getFirst()) - .lastName(name.getLast()) - .fileSinceDate(name.getFileSinceDate()) - .birthDate(name.getBirthDate()) - .build(); - - subjectProfile.setFid(name.getFid()); - subjectProfile.setNameData(nameData); - } - - @Override - public int preferredConcurrency() { - return creditTrackerSettings.getPipeline().nameEnricherStageConcurrency(); - } - - @Override - public SubjectPayload cookPoison() { - return SubjectPayload.POISON; - } -} diff --git a/src/main/resources/mybatis/mapper/signal/PackageRecordsMapper.xml b/src/main/resources/mybatis/mapper/signal/PackageRecordsMapper.xml index e4447ae..c2a0168 100644 --- a/src/main/resources/mybatis/mapper/signal/PackageRecordsMapper.xml +++ b/src/main/resources/mybatis/mapper/signal/PackageRecordsMapper.xml @@ -22,6 +22,15 @@ FROM signals_packages_records WHERE id = #{id} + + +