From af2cd72647c5705312e0b461fd774856f227ddad Mon Sep 17 00:00:00 2001 From: Mikhail Trofimov Date: Wed, 3 Sep 2025 15:42:36 +0300 Subject: [PATCH] Fix empty inserting while registering subjects; Update version to 1.5 --- pom.xml | 2 +- .../ru/nbch/credit_tracker/service/MonitoringService.java | 4 +++- .../ru/nbch/credit_tracker/service/SignalService.java | 8 +++++--- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/pom.xml b/pom.xml index bfa03a6..793ffec 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ ru.nbch credit-tracker - 1.4 + 1.5 credit_tracker Credit Tracker Application diff --git a/src/main/java/ru/nbch/credit_tracker/service/MonitoringService.java b/src/main/java/ru/nbch/credit_tracker/service/MonitoringService.java index 225dc35..f9fa4e3 100644 --- a/src/main/java/ru/nbch/credit_tracker/service/MonitoringService.java +++ b/src/main/java/ru/nbch/credit_tracker/service/MonitoringService.java @@ -261,7 +261,9 @@ public class MonitoringService { hit.setReportFileName(reportFileName); hits.add(hit); }); - signalService.insertHits(hits); + if (!hits.isEmpty()) { + signalService.insertHits(hits); + } }); response.getSubjects().getSubjects().clear(); // чистим список для экономии памяти }, diff --git a/src/main/java/ru/nbch/credit_tracker/service/SignalService.java b/src/main/java/ru/nbch/credit_tracker/service/SignalService.java index 52a4b2c..daa2356 100644 --- a/src/main/java/ru/nbch/credit_tracker/service/SignalService.java +++ b/src/main/java/ru/nbch/credit_tracker/service/SignalService.java @@ -86,9 +86,11 @@ public class SignalService { try (BufferedInputStream in = new BufferedInputStream(Files.newInputStream(Path.of(filePath)), 8 * 1024 * 1024)) { staxXmlProcessor.read(in, MonitoringRequest.class, request -> { - phoneFidMapService.registerSubjects(request.getSubjects().getSubject(), packageId); - log.trace("Registered subject's batch. Total count: {}. PackageId: {}", request.getSubjects().getSubject().size(), packageId); - request.getSubjects().getSubject().clear(); + if (!request.getSubjects().getSubject().isEmpty()) { + phoneFidMapService.registerSubjects(request.getSubjects().getSubject(), packageId); + log.trace("Registered subject's batch. Total count: {}. PackageId: {}", request.getSubjects().getSubject().size(), packageId); + request.getSubjects().getSubject().clear(); + } }, batchSize, "/MonitoringRequest/Subjects/Subject"); } catch (IOException e) { throw new RuntimeException("Error while parsing monitoring request", e);