diff --git a/src/main/java/ru/nbch/credit_tracker/mapper/signal/LegalsMapMapper.java b/src/main/java/ru/nbch/credit_tracker/mapper/signal/LegalsMapMapper.java index e930a2d..c127aa5 100644 --- a/src/main/java/ru/nbch/credit_tracker/mapper/signal/LegalsMapMapper.java +++ b/src/main/java/ru/nbch/credit_tracker/mapper/signal/LegalsMapMapper.java @@ -31,7 +31,7 @@ public interface LegalsMapMapper { @Param("batchSize") int batchSize, @Param("lastId") Long lastId); - List findCachedByInnAndRegNUm(@Param("json") String json); + List findCachedByInnAndRegNum(@Param("json") String json); void updateSearchedAt(@Param("json") String json); 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 f69b96d..182da34 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 @@ -56,12 +56,13 @@ public class PackageRecordsService { public Map, LegalsMap> findCachedLegalsByInnAndRegNums(List subjects) { try { - List innAndRegNums = subjects.stream() - .map(s -> new InnRegnumPair(s.getInn(), s.getRegNum())) - .toList(); - String json = entityToJsonMapper.writeValueAsString(innAndRegNums); - - return legalsMapMapper.findCachedByInnAndRegNUm(json) + String json = entityToJsonMapper.writeValueAsString(subjects.stream() + .filter(Objects::nonNull) + .map(s -> new HashMap() {{ + put("inn", s.getInn()); + put("reg_num", s.getRegNum()); + }}).toList()); + return legalsMapMapper.findCachedByInnAndRegNum(json) .stream() .collect(Collectors.toMap( lm -> Pair.of(lm.getInn(), lm.getRegNum()), diff --git a/src/main/java/ru/nbch/credit_tracker/service/task/LpFidEnricher.java b/src/main/java/ru/nbch/credit_tracker/service/task/LpFidEnricher.java index 0944163..bd6f0a8 100644 --- a/src/main/java/ru/nbch/credit_tracker/service/task/LpFidEnricher.java +++ b/src/main/java/ru/nbch/credit_tracker/service/task/LpFidEnricher.java @@ -129,7 +129,7 @@ public class LpFidEnricher implements Handler { packageRecordsService.saveLegalsToCache(subjectForSave); - return subjectForSave.stream().anyMatch(s -> s.getFid() != null); + return subjectForSave.stream().anyMatch(s -> s.getFid() != null) || (noFidsData.isEmpty() && !cachedRecords.isEmpty()); } private void fillByCache(SubjectProfile subjectProfile, LegalsMap cachedRecord) { diff --git a/src/main/java/ru/nbch/credit_tracker/service/task/impl/NpFidEnricher.java b/src/main/java/ru/nbch/credit_tracker/service/task/impl/NpFidEnricher.java index 011c9b2..6070d47 100644 --- a/src/main/java/ru/nbch/credit_tracker/service/task/impl/NpFidEnricher.java +++ b/src/main/java/ru/nbch/credit_tracker/service/task/impl/NpFidEnricher.java @@ -99,7 +99,7 @@ public class NpFidEnricher implements Handler { packageRecordsService.saveToCache(subjectForSave); - return subjectForSave.stream().anyMatch(s -> s.getFid() != null); + return subjectForSave.stream().anyMatch(s -> s.getFid() != null) || (noFidsData.isEmpty() && !cachedRecords.isEmpty()); } private void fillByCache(SubjectProfile subjectProfile, PhonesMap cachedRecord) { diff --git a/src/main/resources/mybatis/mapper/signal/LegalsMapMapper.xml b/src/main/resources/mybatis/mapper/signal/LegalsMapMapper.xml index deffe91..7e4a1af 100644 --- a/src/main/resources/mybatis/mapper/signal/LegalsMapMapper.xml +++ b/src/main/resources/mybatis/mapper/signal/LegalsMapMapper.xml @@ -8,7 +8,7 @@ - + @@ -58,11 +58,11 @@ - + WITH src AS (SELECT inn, reg_num FROM json_to_recordset(#{json}::json) AS t( inn bigint, - regNum bigint + reg_num bigint )) SELECT slm.id AS id, slm.fid as fid, @@ -73,7 +73,7 @@ slm.calculated_at AS calculated_at, slm.last_rejected_date AS last_rejected_date FROM signals_legals_map slm - WHERE (slm.inn, slm.reg_num) IN (SELECT inn, regNum FROM src) + WHERE (slm.inn, slm.reg_num) IN (SELECT inn, reg_num FROM src)