diff --git a/src/main/java/ru/nbch/credit_tracker/builder/PersonFactoryBuilderV2.java b/src/main/java/ru/nbch/credit_tracker/builder/PersonFactoryBuilderV2.java index fb148dc..8bdb4a4 100644 --- a/src/main/java/ru/nbch/credit_tracker/builder/PersonFactoryBuilderV2.java +++ b/src/main/java/ru/nbch/credit_tracker/builder/PersonFactoryBuilderV2.java @@ -98,17 +98,6 @@ public class PersonFactoryBuilderV2 { } else { return switch (idType) { case "21" -> "21"; - case "22" -> "22.1"; - case "09" -> "22.2"; - case "26" -> "23"; - case "04" -> "24"; - case "07" -> "25"; - case "14", "03" -> "27"; - case "10" -> "31"; - case "15" -> "32"; - case "13" -> "37"; - case "06", "27" -> "28"; - case "01", "02" -> "999"; default -> { log.warn("ID_TYPE2 is blank and no matching found for ID_TYPE {}", idType); yield ""; diff --git a/src/main/java/ru/nbch/credit_tracker/component/MonitoringRequestValidator.java b/src/main/java/ru/nbch/credit_tracker/component/MonitoringRequestValidator.java index 3f31476..6ed707d 100644 --- a/src/main/java/ru/nbch/credit_tracker/component/MonitoringRequestValidator.java +++ b/src/main/java/ru/nbch/credit_tracker/component/MonitoringRequestValidator.java @@ -70,6 +70,9 @@ public class MonitoringRequestValidator { request -> { try { validationService.validateMonitoringRequest(request); + } catch (SignalException e) { + validationResult.addError(new MonitoringValidationError(-1, "", e)); + } finally { if (request.getPackageName() != null && validationResult.getPackageName() == null) { validationResult.setPackageName(request.getPackageName()); } @@ -83,9 +86,6 @@ public class MonitoringRequestValidator { && validationResult.getSignalTypes().isEmpty()) { validationResult.setSignalTypes(request.getSignalTypes()); } - request.getSubjects().getSubject().clear(); - } catch (SignalException e) { - validationResult.addError(new MonitoringValidationError(-1, "", e)); } }, request -> request.getSubjects().getSubject().isEmpty(), diff --git a/src/main/java/ru/nbch/credit_tracker/service/task/PipelinePackageOrchestrator.java b/src/main/java/ru/nbch/credit_tracker/service/task/PipelinePackageOrchestrator.java index 74a7b73..0908366 100644 --- a/src/main/java/ru/nbch/credit_tracker/service/task/PipelinePackageOrchestrator.java +++ b/src/main/java/ru/nbch/credit_tracker/service/task/PipelinePackageOrchestrator.java @@ -116,6 +116,12 @@ public class PipelinePackageOrchestrator { log.error(ExceptionUtils.getStackTrace(e)); return; } + if (res.signalXmlFilePath() == null) { + log.info("No one fid was found by packageId : {}; xml file won't be sent", packageId); + userPackageMapper.updatePackageOnMonitoringSuccess(packageId, LocalDateTime.now()); + return; + } + userPackageMapper.setLastSearchedDt(packageId); log.trace("Signal file by path: {} is completed", res.signalXmlFilePath()); boolean success = signalRestService.setupMonitoring(res.signalXmlFilePath()); 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 72faf81..71b6f10 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 @@ -83,6 +83,9 @@ public class FidIdEnricher implements Handler { packageRecordsService.updateIdCache(idCacheOnUpdate); log.debug("personOnProcessing size: {}", personOnProcessing.size()); Long packageId = taskPayload.getPackageId(); + if (personOnProcessing.isEmpty()) { + return new PartFilePayload(null, packageId, taskPayload.getMemberCode(), taskPayload.getPackageName()); + } Path partPath = writeSignals(personOnProcessing, taskPayload); return new PartFilePayload(partPath, packageId, taskPayload.getMemberCode(), taskPayload.getPackageName()); } 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 5c25a5e..360b078 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 @@ -74,7 +74,9 @@ public class FidNameEnricher implements Handler cacheMisses.incrementAndGet(); Name name = nameByPhone.get(CTUtil.normalizePhoneNumber(phone.toString())); if (name == null) { - return Stream.empty(); + return Stream.of(PhonesMap.builder() + .phone(phone) + .build()); } fillByName(subject, name); return Stream.of(PhonesMap.builder() diff --git a/src/main/resources/mybatis/mapper/signal/PhonesMapMapper.xml b/src/main/resources/mybatis/mapper/signal/PhonesMapMapper.xml index c79b36c..224db0a 100644 --- a/src/main/resources/mybatis/mapper/signal/PhonesMapMapper.xml +++ b/src/main/resources/mybatis/mapper/signal/PhonesMapMapper.xml @@ -55,6 +55,7 @@ #{phone} + and fid is not null