From 8a434848f08397dcf1cc17f2be0195cfb4563d5c Mon Sep 17 00:00:00 2001 From: ialbert Date: Tue, 17 Mar 2026 17:02:40 +0300 Subject: [PATCH] http://jira.mfd.msk:8088/browse/BKI-3488 --- .../credit_tracker/config/task/PipelineStarterConfig.java | 2 +- .../nbch/credit_tracker/model/impl/PackageVariable.java | 3 ++- .../service/mode/common/UpdatingFidAndPdService.java | 2 +- .../service/task/PipelinePackageOrchestrator.java | 8 +++++++- .../credit_tracker/service/task/impl/KickPipeLine.java | 3 +++ .../credit_tracker/service/task/impl/PipelineMode.java | 1 + .../resources/mybatis/mapper/signal/UserPackageMapper.xml | 7 ++++++- 7 files changed, 21 insertions(+), 5 deletions(-) diff --git a/src/main/java/ru/nbch/credit_tracker/config/task/PipelineStarterConfig.java b/src/main/java/ru/nbch/credit_tracker/config/task/PipelineStarterConfig.java index 2beb2fc..f7e27c0 100644 --- a/src/main/java/ru/nbch/credit_tracker/config/task/PipelineStarterConfig.java +++ b/src/main/java/ru/nbch/credit_tracker/config/task/PipelineStarterConfig.java @@ -30,7 +30,7 @@ public class PipelineStarterConfig { PackageRecordsService packageRecordsService, PhonesMapMapper phonesMapMapper) { return (setupParam) -> switch (setupParam.mode()) { - case DEFAULT -> + case DEFAULT, RESEND -> new KickPipeLineDefaultImpl(setupParam, userPackageMapper, packageRecordsService, creditTrackerSettings); case RESTORE -> new KickPipeLineDefaultImpl(setupParam, userPackageMapper, packageRecordsService, creditTrackerSettings); diff --git a/src/main/java/ru/nbch/credit_tracker/model/impl/PackageVariable.java b/src/main/java/ru/nbch/credit_tracker/model/impl/PackageVariable.java index bae3f68..4edaac0 100644 --- a/src/main/java/ru/nbch/credit_tracker/model/impl/PackageVariable.java +++ b/src/main/java/ru/nbch/credit_tracker/model/impl/PackageVariable.java @@ -3,5 +3,6 @@ package ru.nbch.credit_tracker.model.impl; public enum PackageVariable { packageId, cacheMisses, - cacheHits + cacheHits, + mode } diff --git a/src/main/java/ru/nbch/credit_tracker/service/mode/common/UpdatingFidAndPdService.java b/src/main/java/ru/nbch/credit_tracker/service/mode/common/UpdatingFidAndPdService.java index df8ac46..7c52e55 100644 --- a/src/main/java/ru/nbch/credit_tracker/service/mode/common/UpdatingFidAndPdService.java +++ b/src/main/java/ru/nbch/credit_tracker/service/mode/common/UpdatingFidAndPdService.java @@ -62,7 +62,7 @@ public class UpdatingFidAndPdService { List packagesRepeated = userPackageMapper.findForRepeatedPackages(); packagesRepeated.forEach(userPackage -> { Long packageId = userPackage.getId(); - SetupParam setupParam = new SetupParam(packageId, null, PipelineMode.DEFAULT); + SetupParam setupParam = new SetupParam(packageId, null, PipelineMode.RESEND); try { Pipeline makeXmlByCache = pipelinePackageManager.build(setupParam); pipelinePackageOrchestrator.startOrDelay(makeXmlByCache, packageId); 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 040082c..fabd1f0 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 @@ -16,6 +16,7 @@ import ru.nbch.credit_tracker.model.impl.PackageVariable; import ru.nbch.credit_tracker.model.impl.SignalXmlFilePayload; import ru.nbch.credit_tracker.service.MonitoringErrorProcesingService; import ru.nbch.credit_tracker.service.signal.SignalRestService; +import ru.nbch.credit_tracker.service.task.impl.PipelineMode; import ru.nbch.credit_tracker.service.task.impl.XmlMergeCoordinator; import ru.nbch.credit_tracker.utils.error.ExceptionUtils; @@ -125,7 +126,12 @@ public class PipelinePackageOrchestrator { log.trace("Signal file by path: {} is completed", res.signalXmlFilePath()); boolean success = signalRestService.setupMonitoring(res.signalXmlFilePath()); if (success) { - userPackageMapper.updatePackageOnMonitoringSuccess(packageId, LocalDateTime.now()); + PipelineMode mode = ctx.get(PackageVariable.mode); + if (mode != null && mode.equals(PipelineMode.DEFAULT)) { + userPackageMapper.updatePackageOnMonitoringSuccess(packageId, LocalDateTime.now()); + } else { + userPackageMapper.updatePackageOnMonitoringSuccess(packageId, null); + } monitoringErrorProcesingService.findErrors(packageId); } else { userPackageMapper.setRejectedStatus(packageId, RejectedStatus.ERROR.getKey()); diff --git a/src/main/java/ru/nbch/credit_tracker/service/task/impl/KickPipeLine.java b/src/main/java/ru/nbch/credit_tracker/service/task/impl/KickPipeLine.java index fd13a1f..09ae8f8 100644 --- a/src/main/java/ru/nbch/credit_tracker/service/task/impl/KickPipeLine.java +++ b/src/main/java/ru/nbch/credit_tracker/service/task/impl/KickPipeLine.java @@ -23,6 +23,7 @@ import ru.nbch.credit_tracker.utils.error.ExceptionUtils; public abstract class KickPipeLine implements IPipeLineStarter { private final Logger log = LoggerFactory.getLogger(getClass()); protected final Long packageId; + protected final PipelineMode mode; protected final UserPackageMapper userPackageMapper; protected final PackageRecordsService packageRecordsService; protected final CreditTrackerSettings creditTrackerSettings; @@ -41,6 +42,7 @@ public abstract class KickPipeLine implements IPipeLineStarter { this.packageRecordsService = packageRecordsService; this.creditTrackerSettings = creditTrackerSettings; this.BATCH_SIZE = creditTrackerSettings.getPipeline().subjectBatchSize(); + this.mode = setupParam.mode(); } private static class PipelineStarterException extends SignalClientException { @@ -62,6 +64,7 @@ public abstract class KickPipeLine implements IPipeLineStarter { context.store(PackageVariable.packageId, packageId); context.store(PackageVariable.cacheMisses, new AtomicInteger()); context.store(PackageVariable.cacheHits, new AtomicInteger()); + context.store(PackageVariable.mode, mode); int limit = BATCH_SIZE; UserPackage userPackage = userPackageMapper.findPackage(packageId); List page = nextPage(limit); diff --git a/src/main/java/ru/nbch/credit_tracker/service/task/impl/PipelineMode.java b/src/main/java/ru/nbch/credit_tracker/service/task/impl/PipelineMode.java index 28f658f..7b7959f 100644 --- a/src/main/java/ru/nbch/credit_tracker/service/task/impl/PipelineMode.java +++ b/src/main/java/ru/nbch/credit_tracker/service/task/impl/PipelineMode.java @@ -7,6 +7,7 @@ package ru.nbch.credit_tracker.service.task.impl; */ public enum PipelineMode { DEFAULT, + RESEND, RESTORE, REPEATED_RESTORE, RECALC_PERSONAL_DATA, diff --git a/src/main/resources/mybatis/mapper/signal/UserPackageMapper.xml b/src/main/resources/mybatis/mapper/signal/UserPackageMapper.xml index fea6d38..06df525 100644 --- a/src/main/resources/mybatis/mapper/signal/UserPackageMapper.xml +++ b/src/main/resources/mybatis/mapper/signal/UserPackageMapper.xml @@ -91,7 +91,12 @@ UPDATE signals_user_packages - SET monitoring_at = #{monitoringAt}, status = 'ON_MONITORING', fid_changed = null + SET + + monitoring_at = #{monitoringAt}, + + status = 'ON_MONITORING', + fid_changed = null WHERE id = #{id}