get rid of InnRegnumPair record

This commit is contained in:
Mikhail Trofimov 2026-07-05 12:22:55 +03:00
parent bcfe0328f0
commit 20ec6871d5
2 changed files with 17 additions and 16 deletions

View file

@ -125,12 +125,13 @@ public class PackageRecordsService {
public List<Long> selectLpUniquePackageIds(List<LegalsMap> legalsMaps) {
try {
List<InnRegnumPair> pairs = legalsMaps.stream()
String json = entityToJsonMapper.writeValueAsString(legalsMaps.stream()
.filter(Objects::nonNull)
.map(legalMap -> new InnRegnumPair(legalMap.getInn(), legalMap.getRegNum()))
.toList();
.map(s -> new HashMap<String, Object>() {{
put("inn", s.getInn());
put("reg_num", s.getRegNum());
}}).toList());
String json = entityToJsonMapper.writeValueAsString(pairs);
return packagesRecordsMapper.uniquePackageIdByInnAndRegNum(json);
} catch (JsonProcessingException e) {
throw new RuntimeException(e);
@ -225,11 +226,13 @@ public class PackageRecordsService {
public List<UserPackageLegalData> selectUserPackageLegalData(Set<Pair<Long, Long>> uniqueInnRegnumPairs) {
try {
List<InnRegnumPair> pairs = uniqueInnRegnumPairs.stream()
.map(pair -> new InnRegnumPair(pair.getKey(), pair.getValue()))
.toList();
String json = entityToJsonMapper.writeValueAsString(uniqueInnRegnumPairs.stream()
.filter(Objects::nonNull)
.map(s -> new HashMap<String, Object>() {{
put("inn", s.getKey());
put("reg_num", s.getValue());
}}).toList());
String json = entityToJsonMapper.writeValueAsString(pairs);
return packagesRecordsMapper.selectUserPackageLegalData(json);
} catch (JsonProcessingException e) {
throw new RuntimeException(e);
@ -250,6 +253,4 @@ public class PackageRecordsService {
}
}
public record InnRegnumPair(Long inn, Long regNum) {
}
}

View file

@ -54,15 +54,15 @@
</select>
<select id="uniquePackageIdByInnAndRegNum" resultType="java.lang.Long">
WITH src AS (SELECT inn, regNum
WITH src AS (SELECT inn, reg_num
FROM json_to_recordset(#{json}::json) AS t(
inn bigint,
regNum bigint
reg_num bigint
))
select distinct (package_id)
FROM signals_legal_fid_map slfm
JOIN signals_user_packages sup ON sup.id = slfm.package_id
WHERE (slfm.inn, slfm.reg_num) IN (SELECT inn, regNum FROM src)
WHERE (slfm.inn, slfm.reg_num) IN (SELECT inn, reg_num FROM src)
AND sup.status = 'ON_MONITORING'
</select>
@ -78,17 +78,17 @@
</select>
<select id="selectUserPackageLegalData" resultType="ru.nbch.credit_tracker.model.UserPackageLegalData">
WITH src AS (SELECT inn, regNum
WITH src AS (SELECT inn, reg_num
FROM json_to_recordset(#{json}::json) AS t(
inn bigint,
regNum bigint
reg_num bigint
))
SELECT sup.id AS packageId, sup.signal_types AS signalTypes, sup.membercode AS userId,
sup.package_name AS packageName, slfm.inn AS inn, slfm.reg_num AS regNum,
slfm.subject_id AS subjectId
FROM signals_legal_fid_map slfm
JOIN signals_user_packages sup ON sup.id = slfm.package_id
WHERE (slfm.inn, slfm.reg_num) IN (SELECT inn, regNum FROM src)
WHERE (slfm.inn, slfm.reg_num) IN (SELECT inn, reg_num FROM src)
AND sup.status = 'ON_MONITORING'
</select>