diff --git a/src/main/java/ru/nbch/credit_tracker/component/comparator/DeletePackageStatusComparator.java b/src/main/java/ru/nbch/credit_tracker/component/comparator/DeletePackageStatusComparator.java index 8c09ebb..d7bd9a5 100644 --- a/src/main/java/ru/nbch/credit_tracker/component/comparator/DeletePackageStatusComparator.java +++ b/src/main/java/ru/nbch/credit_tracker/component/comparator/DeletePackageStatusComparator.java @@ -15,7 +15,7 @@ public class DeletePackageStatusComparator { try { Status status = Status.valueOf(str); return switch (status) { - case ON_MONITORING, PROCESSING_REPEATED -> 1; + case ON_MONITORING, PROCESSING_REPEATED, NO_FID -> 1; case DELETED -> 0; default -> -1; }; diff --git a/src/main/java/ru/nbch/credit_tracker/enums/Status.java b/src/main/java/ru/nbch/credit_tracker/enums/Status.java index dd35f21..c1368bb 100644 --- a/src/main/java/ru/nbch/credit_tracker/enums/Status.java +++ b/src/main/java/ru/nbch/credit_tracker/enums/Status.java @@ -2,6 +2,7 @@ package ru.nbch.credit_tracker.enums; public enum Status { ON_MONITORING, // пакет стоит на мониторинге в оф. сервисе + NO_FID, REJECTED, // отклонен на стороне НБКИ PROCESSING, // идет поиск телефона и расчет флагов по пакету PROCESSING_REPEATED, diff --git a/src/main/java/ru/nbch/credit_tracker/facade/SignalFacadeV3.java b/src/main/java/ru/nbch/credit_tracker/facade/SignalFacadeV3.java index bac9423..60713fa 100644 --- a/src/main/java/ru/nbch/credit_tracker/facade/SignalFacadeV3.java +++ b/src/main/java/ru/nbch/credit_tracker/facade/SignalFacadeV3.java @@ -215,10 +215,12 @@ public class SignalFacadeV3 { PackageAll pack = new PackageAll(); pack.setPackageName(data.getPackageName()); pack.setCreatedAt(data.getCreatedAt() != null ? data.getCreatedAt().toString() : null); - String statusForClient = data.getStatus().equals(Status.ACCEPTED.name()) ? Status.PROCESSING.name() : - data.getStatus().equals(Status.PROCESSING_REPEATED.name()) ? Status.ON_MONITORING.name() : data.getStatus(); - pack.setStatus(statusForClient); - if (data.getStatus().equals(Status.DELETED.name())) { + Status packageStatus = EnumUtil.getEnum(Status.class, data.getStatus()); + Status statusForClient = packageStatus == Status.ACCEPTED ? Status.PROCESSING : + Arrays.asList(Status.PROCESSING_REPEATED, Status.NO_FID).contains(packageStatus) ? Status.ON_MONITORING : packageStatus; + assert statusForClient != null; + pack.setStatus(statusForClient.name()); + if (packageStatus == Status.DELETED) { pack.setDeactivatedAt(data.getDeactivatedAt() != null ? data.getDeactivatedAt().toString() : null); } packages.getPackages().add(pack); @@ -235,7 +237,7 @@ public class SignalFacadeV3 { -> clientExcp(SignalError.ERROR_016, XmlErrorFormat.MonitoringPackageDeleteError, packageName)); Status status = EnumUtil.getEnum(Status.class, packageToDelete.getStatus()); - if (!Status.ON_MONITORING.equals(status)) { + if (!Arrays.asList(Status.ON_MONITORING, Status.NO_FID).contains(status)) { throw clientExcp(deleteStatusError(status), XmlErrorFormat.MonitoringPackageDeleteError, packageName); } 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 a12e6f1..789babc 100644 --- a/src/main/java/ru/nbch/credit_tracker/service/UserPackageService.java +++ b/src/main/java/ru/nbch/credit_tracker/service/UserPackageService.java @@ -56,7 +56,7 @@ public class UserPackageService { } public List findActivePackages(String userId) { - return userPackageMapper.findUserPackages(userId, Arrays.asList(Status.ON_MONITORING.name())); + return userPackageMapper.findUserPackages(userId.substring(0, 6), Arrays.asList(Status.ON_MONITORING.name(), Status.NO_FID.name())); } public void setFidChanged(List id) { 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 0908366..bafd457 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 @@ -11,6 +11,7 @@ import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import ru.nbch.credit_tracker.config.settings.CreditTrackerSettings; import ru.nbch.credit_tracker.enums.RejectedStatus; +import ru.nbch.credit_tracker.enums.Status; import ru.nbch.credit_tracker.mapper.signal.UserPackageMapper; import ru.nbch.credit_tracker.model.impl.PackageVariable; import ru.nbch.credit_tracker.model.impl.SignalXmlFilePayload; @@ -118,7 +119,7 @@ public class PipelinePackageOrchestrator { } 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()); + userPackageMapper.updatePackageStatus(packageId, Status.NO_FID.name()); return; }