diff --git a/src/main/java/ru/nbch/indicsearchservice/filter/TableFilter.java b/src/main/java/ru/nbch/indicsearchservice/filter/TableFilter.java index c452830..e4d3b02 100644 --- a/src/main/java/ru/nbch/indicsearchservice/filter/TableFilter.java +++ b/src/main/java/ru/nbch/indicsearchservice/filter/TableFilter.java @@ -1,5 +1,5 @@ package ru.nbch.indicsearchservice.filter; public interface TableFilter { - String getTableName(); + } diff --git a/src/main/java/ru/nbch/indicsearchservice/filter/firstlevel/DefaultFirstLevelTableFilter.java b/src/main/java/ru/nbch/indicsearchservice/filter/firstlevel/DefaultFirstLevelTableFilter.java new file mode 100644 index 0000000..499af54 --- /dev/null +++ b/src/main/java/ru/nbch/indicsearchservice/filter/firstlevel/DefaultFirstLevelTableFilter.java @@ -0,0 +1,43 @@ +package ru.nbch.indicsearchservice.filter.firstlevel; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Set; +import org.springframework.stereotype.Component; +import ru.nbch.indicsearchservice.model.TableData; + +@Component +public class DefaultFirstLevelTableFilter implements FirstLevelTableFilter { + private static final Set SUPPORTED_TABLE_NAMES = Set.of( + "RU_UID", + "RU_APPLICATION", + "RU_OBLIGPARTTAKE", + "RU_BANKRUPTCY", + "RU_SETTLED", + "RU_OTHERLEGAL", + "RU_CAPABILITY", + "RU_DEBT_BURDEN_INFO", + "ACCOUNT", + "INFORMATION", + "BANKRUPTCY", + "CONSUMER_BANKRUPTCY", + "LEGAL" + ); + + @Override + public List applyFilter(Map> tableDataMapByFid) { + List result = new ArrayList<>(); + + for (Map.Entry> entry : tableDataMapByFid.entrySet()) { + String tableName = entry.getKey(); + List tableRows = entry.getValue(); + + if (SUPPORTED_TABLE_NAMES.contains(tableName)) { + result.addAll(tableRows); + } + } + + return result; + } +} diff --git a/src/main/java/ru/nbch/indicsearchservice/filter/firstlevel/FirstLevelTableFilter.java b/src/main/java/ru/nbch/indicsearchservice/filter/firstlevel/FirstLevelTableFilter.java index 2d99d17..93556fb 100644 --- a/src/main/java/ru/nbch/indicsearchservice/filter/firstlevel/FirstLevelTableFilter.java +++ b/src/main/java/ru/nbch/indicsearchservice/filter/firstlevel/FirstLevelTableFilter.java @@ -1,6 +1,10 @@ package ru.nbch.indicsearchservice.filter.firstlevel; +import java.util.List; +import java.util.Map; import ru.nbch.indicsearchservice.filter.TableFilter; +import ru.nbch.indicsearchservice.model.TableData; public interface FirstLevelTableFilter extends TableFilter { + List applyFilter(Map> tableDataMapByFid); } diff --git a/src/main/java/ru/nbch/indicsearchservice/filter/firstlevel/SameLevelTableFilter.java b/src/main/java/ru/nbch/indicsearchservice/filter/firstlevel/SameLevelTableFilter.java deleted file mode 100644 index 58d5d81..0000000 --- a/src/main/java/ru/nbch/indicsearchservice/filter/firstlevel/SameLevelTableFilter.java +++ /dev/null @@ -1,28 +0,0 @@ -package ru.nbch.indicsearchservice.filter.firstlevel; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; -import ru.nbch.indicsearchservice.model.TableData; - -public class SameLevelTableFilter implements FirstLevelTableFilter { - private static final Set levelAvailableFor = Set.of("RU_UID"); - - @Override - public String getTableName() { - return ""; - } - - public Map> filterTableData(Map> allTableData) { - Map> filteredTableData = new HashMap<>(); - - for (Map.Entry> entry : allTableData.entrySet()) { - if (levelAvailableFor.contains(entry.getKey())) { - filteredTableData.put(entry.getKey(), entry.getValue()); - } - } - - return filteredTableData; - } -} diff --git a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuAccountAmtTableFilter.java b/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuAccountAmtTableFilter.java deleted file mode 100644 index 0b2db9e..0000000 --- a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuAccountAmtTableFilter.java +++ /dev/null @@ -1,44 +0,0 @@ -package ru.nbch.indicsearchservice.filter.secondlevel; - -import java.util.List; -import java.util.Optional; -import org.springframework.stereotype.Component; -import ru.nbch.indicsearchservice.model.TableData; - -@Component -public class RuAccountAmtTableFilter implements SecondLevelTableFilter { - @Override - public String getTableName() { - return "RU_ACCOUNT_AMT"; - } - - public void filterTableData(List parentTableDataList, List childTableDataList) { - for (TableData parentTableData : parentTableDataList) { - if (!parentTableData.getTableName().equals("RU_UID")) { - continue; - } - - Optional serialNumFieldData = parentTableData.getFieldData().stream() - .filter(d -> d.columnName().equals("SERIAL_NUM")) - .findFirst(); - if (serialNumFieldData.isEmpty()) { - continue; - } - - for (TableData childTableData : childTableDataList) { - Optional accSerialNumFieldData = childTableData.getFieldData().stream() - .filter(d -> d.columnName().equals("ACC_SERIAL_NUM")) - .findFirst(); - if (accSerialNumFieldData.isEmpty()) { - continue; - } - - if (serialNumFieldData.get().equals(accSerialNumFieldData.get())) { - parentTableData.getRelatedTableData().add(childTableData); - } - } - } - } - - public void filterTableDataV2(List parentTableDataList, List childTableDataList) {} -} diff --git a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuAcquirerIndividTableFilter.java b/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuAcquirerIndividTableFilter.java deleted file mode 100644 index 878dca5..0000000 --- a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuAcquirerIndividTableFilter.java +++ /dev/null @@ -1,53 +0,0 @@ -package ru.nbch.indicsearchservice.filter.secondlevel; - -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Set; -import org.springframework.stereotype.Component; -import ru.nbch.indicsearchservice.filter.TableFilter; -import ru.nbch.indicsearchservice.model.TableData; -import ru.nbch.indicsearchservice.model.enums.DataType; -import ru.nbch.indicsearchservice.model.enums.SearchParameter; -import ru.nbch.indicsearchservice.util.IndicSearchUtils; -import ru.nbch.indicsearchservice.util.MapperHolder; - -@Component -public class RuAcquirerIndividTableFilter implements SecondLevelTableFilter { - private final MapperHolder mapperHolder; - private final IndicSearchUtils indicSearchUtils; - - public RuAcquirerIndividTableFilter(MapperHolder mapperHolder, - IndicSearchUtils indicSearchUtils) { - this.mapperHolder = mapperHolder; - this.indicSearchUtils = indicSearchUtils; - } - - @Override - public List getSuitableDataTypes() { - return List.of(DataType.GUTDF, DataType.RUTDF); - } - - @Override - public List getSuitableSearchParameters() { - return List.of(SearchParameter.FID); - } - - @Override - public String getTableName() { - return "RU_ACQUIRERINDIVID"; - } - - @Override - public List searchByFid(Set fids) { - List> foundTableRows = mapperHolder.getIndicMapper().findAllByFidFromRuAcquirerIndivid(fids); - - List resultTableData = new ArrayList<>(); - for (LinkedHashMap row : foundTableRows) { - TableData parsedTableData = indicSearchUtils.mapToTableData(getTableName(), row); - resultTableData.add(parsedTableData); - } - - return resultTableData; - } -} diff --git a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuAcquirerLegalTableFilter.java b/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuAcquirerLegalTableFilter.java deleted file mode 100644 index 50b00c9..0000000 --- a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuAcquirerLegalTableFilter.java +++ /dev/null @@ -1,53 +0,0 @@ -package ru.nbch.indicsearchservice.filter.secondlevel; - -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Set; -import org.springframework.stereotype.Component; -import ru.nbch.indicsearchservice.filter.TableFilter; -import ru.nbch.indicsearchservice.model.TableData; -import ru.nbch.indicsearchservice.model.enums.DataType; -import ru.nbch.indicsearchservice.model.enums.SearchParameter; -import ru.nbch.indicsearchservice.util.IndicSearchUtils; -import ru.nbch.indicsearchservice.util.MapperHolder; - -@Component -public class RuAcquirerLegalTableFilter implements SecondLevelTableFilter { - private final MapperHolder mapperHolder; - private final IndicSearchUtils indicSearchUtils; - - public RuAcquirerLegalTableFilter(MapperHolder mapperHolder, - IndicSearchUtils indicSearchUtils) { - this.mapperHolder = mapperHolder; - this.indicSearchUtils = indicSearchUtils; - } - - @Override - public List getSuitableDataTypes() { - return List.of(DataType.GUTDF, DataType.RUTDF); - } - - @Override - public List getSuitableSearchParameters() { - return List.of(SearchParameter.FID); - } - - @Override - public String getTableName() { - return "RU_ACQUIRERLEGAL"; - } - - @Override - public List searchByFid(Set fids) { - List> foundTableRows = mapperHolder.getIndicMapper().findAllByFidFromRuAcquirerLegal(fids); - - List resultTableData = new ArrayList<>(); - for (LinkedHashMap row : foundTableRows) { - TableData parsedTableData = indicSearchUtils.mapToTableData(getTableName(), row); - resultTableData.add(parsedTableData); - } - - return resultTableData; - } -} diff --git a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuAllArrearsTableFilter.java b/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuAllArrearsTableFilter.java deleted file mode 100644 index 0ced518..0000000 --- a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuAllArrearsTableFilter.java +++ /dev/null @@ -1,53 +0,0 @@ -package ru.nbch.indicsearchservice.filter.secondlevel; - -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Set; -import org.springframework.stereotype.Component; -import ru.nbch.indicsearchservice.filter.TableFilter; -import ru.nbch.indicsearchservice.model.TableData; -import ru.nbch.indicsearchservice.model.enums.DataType; -import ru.nbch.indicsearchservice.model.enums.SearchParameter; -import ru.nbch.indicsearchservice.util.IndicSearchUtils; -import ru.nbch.indicsearchservice.util.MapperHolder; - -@Component -public class RuAllArrearsTableFilter implements SecondLevelTableFilter { - private final MapperHolder mapperHolder; - private final IndicSearchUtils indicSearchUtils; - - public RuAllArrearsTableFilter(MapperHolder mapperHolder, - IndicSearchUtils indicSearchUtils) { - this.mapperHolder = mapperHolder; - this.indicSearchUtils = indicSearchUtils; - } - - @Override - public List getSuitableDataTypes() { - return List.of(DataType.GUTDF, DataType.RUTDF); - } - - @Override - public List getSuitableSearchParameters() { - return List.of(SearchParameter.FID); - } - - @Override - public String getTableName() { - return "RU_ALL_ARREARS"; - } - - @Override - public List searchByFid(Set fids) { - List> foundTableRows = mapperHolder.getIndicMapper().findAllByFidFromRuAllArrears(fids); - - List resultTableData = new ArrayList<>(); - for (LinkedHashMap row : foundTableRows) { - TableData parsedTableData = indicSearchUtils.mapToTableData(getTableName(), row); - resultTableData.add(parsedTableData); - } - - return resultTableData; - } -} diff --git a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuAmendmentTableFilter.java b/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuAmendmentTableFilter.java deleted file mode 100644 index 4358ff1..0000000 --- a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuAmendmentTableFilter.java +++ /dev/null @@ -1,53 +0,0 @@ -package ru.nbch.indicsearchservice.filter.secondlevel; - -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Set; -import org.springframework.stereotype.Component; -import ru.nbch.indicsearchservice.filter.TableFilter; -import ru.nbch.indicsearchservice.model.TableData; -import ru.nbch.indicsearchservice.model.enums.DataType; -import ru.nbch.indicsearchservice.model.enums.SearchParameter; -import ru.nbch.indicsearchservice.util.IndicSearchUtils; -import ru.nbch.indicsearchservice.util.MapperHolder; - -@Component -public class RuAmendmentTableFilter implements SecondLevelTableFilter { - private final MapperHolder mapperHolder; - private final IndicSearchUtils indicSearchUtils; - - public RuAmendmentTableFilter(MapperHolder mapperHolder, - IndicSearchUtils indicSearchUtils) { - this.mapperHolder = mapperHolder; - this.indicSearchUtils = indicSearchUtils; - } - - @Override - public List getSuitableDataTypes() { - return List.of(DataType.GUTDF, DataType.RUTDF); - } - - @Override - public List getSuitableSearchParameters() { - return List.of(SearchParameter.FID); - } - - @Override - public String getTableName() { - return "RU_AMENDMENT"; - } - - @Override - public List searchByFid(Set fids) { - List> foundTableRows = mapperHolder.getIndicMapper().findAllByFidFromRuAmendment(fids); - - List resultTableData = new ArrayList<>(); - for (LinkedHashMap row : foundTableRows) { - TableData parsedTableData = indicSearchUtils.mapToTableData(getTableName(), row); - resultTableData.add(parsedTableData); - } - - return resultTableData; - } -} diff --git a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuAmountInfoTableFilter.java b/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuAmountInfoTableFilter.java deleted file mode 100644 index c18e19d..0000000 --- a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuAmountInfoTableFilter.java +++ /dev/null @@ -1,53 +0,0 @@ -package ru.nbch.indicsearchservice.filter.secondlevel; - -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Set; -import org.springframework.stereotype.Component; -import ru.nbch.indicsearchservice.filter.TableFilter; -import ru.nbch.indicsearchservice.model.TableData; -import ru.nbch.indicsearchservice.model.enums.DataType; -import ru.nbch.indicsearchservice.model.enums.SearchParameter; -import ru.nbch.indicsearchservice.util.IndicSearchUtils; -import ru.nbch.indicsearchservice.util.MapperHolder; - -@Component -public class RuAmountInfoTableFilter implements SecondLevelTableFilter { - private final MapperHolder mapperHolder; - private final IndicSearchUtils indicSearchUtils; - - public RuAmountInfoTableFilter(MapperHolder mapperHolder, - IndicSearchUtils indicSearchUtils) { - this.mapperHolder = mapperHolder; - this.indicSearchUtils = indicSearchUtils; - } - - @Override - public List getSuitableDataTypes() { - return List.of(DataType.GUTDF, DataType.RUTDF); - } - - @Override - public List getSuitableSearchParameters() { - return List.of(SearchParameter.FID); - } - - @Override - public String getTableName() { - return "RU_AMOUNT_INFO"; - } - - @Override - public List searchByFid(Set fids) { - List> foundTableRows = mapperHolder.getIndicMapper().findAllByFidFromRuAmountInfo(fids); - - List resultTableData = new ArrayList<>(); - for (LinkedHashMap row : foundTableRows) { - TableData parsedTableData = indicSearchUtils.mapToTableData(getTableName(), row); - resultTableData.add(parsedTableData); - } - - return resultTableData; - } -} diff --git a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuArrearTableFilter.java b/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuArrearTableFilter.java deleted file mode 100644 index f6d6c04..0000000 --- a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuArrearTableFilter.java +++ /dev/null @@ -1,53 +0,0 @@ -package ru.nbch.indicsearchservice.filter.secondlevel; - -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Set; -import org.springframework.stereotype.Component; -import ru.nbch.indicsearchservice.filter.TableFilter; -import ru.nbch.indicsearchservice.model.TableData; -import ru.nbch.indicsearchservice.model.enums.DataType; -import ru.nbch.indicsearchservice.model.enums.SearchParameter; -import ru.nbch.indicsearchservice.util.IndicSearchUtils; -import ru.nbch.indicsearchservice.util.MapperHolder; - -@Component -public class RuArrearTableFilter implements SecondLevelTableFilter { - private final MapperHolder mapperHolder; - private final IndicSearchUtils indicSearchUtils; - - public RuArrearTableFilter(MapperHolder mapperHolder, - IndicSearchUtils indicSearchUtils) { - this.mapperHolder = mapperHolder; - this.indicSearchUtils = indicSearchUtils; - } - - @Override - public List getSuitableDataTypes() { - return List.of(DataType.GUTDF, DataType.RUTDF); - } - - @Override - public List getSuitableSearchParameters() { - return List.of(SearchParameter.FID); - } - - @Override - public String getTableName() { - return "RU_ARREAR"; - } - - @Override - public List searchByFid(Set fids) { - List> foundTableRows = mapperHolder.getIndicMapper().findAllByFidFromRuArrear(fids); - - List resultTableData = new ArrayList<>(); - for (LinkedHashMap row : foundTableRows) { - TableData parsedTableData = indicSearchUtils.mapToTableData(getTableName(), row); - resultTableData.add(parsedTableData); - } - - return resultTableData; - } -} diff --git a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuCoborrowerTableFilter.java b/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuCoborrowerTableFilter.java deleted file mode 100644 index 736d89c..0000000 --- a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuCoborrowerTableFilter.java +++ /dev/null @@ -1,53 +0,0 @@ -package ru.nbch.indicsearchservice.filter.secondlevel; - -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Set; -import org.springframework.stereotype.Component; -import ru.nbch.indicsearchservice.filter.TableFilter; -import ru.nbch.indicsearchservice.model.TableData; -import ru.nbch.indicsearchservice.model.enums.DataType; -import ru.nbch.indicsearchservice.model.enums.SearchParameter; -import ru.nbch.indicsearchservice.util.IndicSearchUtils; -import ru.nbch.indicsearchservice.util.MapperHolder; - -@Component -public class RuCoborrowerTableFilter implements SecondLevelTableFilter { - private final MapperHolder mapperHolder; - private final IndicSearchUtils indicSearchUtils; - - public RuCoborrowerTableFilter(MapperHolder mapperHolder, - IndicSearchUtils indicSearchUtils) { - this.mapperHolder = mapperHolder; - this.indicSearchUtils = indicSearchUtils; - } - - @Override - public List getSuitableDataTypes() { - return List.of(DataType.GUTDF, DataType.RUTDF); - } - - @Override - public List getSuitableSearchParameters() { - return List.of(SearchParameter.FID); - } - - @Override - public String getTableName() { - return "RU_COBORROWER"; - } - - @Override - public List searchByFid(Set fids) { - List> foundTableRows = mapperHolder.getIndicMapper().findAllByFidFromRuCoborrower(fids); - - List resultTableData = new ArrayList<>(); - for (LinkedHashMap row : foundTableRows) { - TableData parsedTableData = indicSearchUtils.mapToTableData(getTableName(), row); - resultTableData.add(parsedTableData); - } - - return resultTableData; - } -} diff --git a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuCollatInsuredTableFilter.java b/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuCollatInsuredTableFilter.java deleted file mode 100644 index 93763f1..0000000 --- a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuCollatInsuredTableFilter.java +++ /dev/null @@ -1,53 +0,0 @@ -package ru.nbch.indicsearchservice.filter.secondlevel; - -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Set; -import org.springframework.stereotype.Component; -import ru.nbch.indicsearchservice.filter.TableFilter; -import ru.nbch.indicsearchservice.model.TableData; -import ru.nbch.indicsearchservice.model.enums.DataType; -import ru.nbch.indicsearchservice.model.enums.SearchParameter; -import ru.nbch.indicsearchservice.util.IndicSearchUtils; -import ru.nbch.indicsearchservice.util.MapperHolder; - -@Component -public class RuCollatInsuredTableFilter implements SecondLevelTableFilter { - private final MapperHolder mapperHolder; - private final IndicSearchUtils indicSearchUtils; - - public RuCollatInsuredTableFilter(MapperHolder mapperHolder, - IndicSearchUtils indicSearchUtils) { - this.mapperHolder = mapperHolder; - this.indicSearchUtils = indicSearchUtils; - } - - @Override - public List getSuitableDataTypes() { - return List.of(DataType.GUTDF, DataType.RUTDF); - } - - @Override - public List getSuitableSearchParameters() { - return List.of(SearchParameter.FID); - } - - @Override - public String getTableName() { - return "RU_COLLATINSURED"; - } - - @Override - public List searchByFid(Set fids) { - List> foundTableRows = mapperHolder.getIndicMapper().findAllByFidFromRuCollatInsured(fids); - - List resultTableData = new ArrayList<>(); - for (LinkedHashMap row : foundTableRows) { - TableData parsedTableData = indicSearchUtils.mapToTableData(getTableName(), row); - resultTableData.add(parsedTableData); - } - - return resultTableData; - } -} diff --git a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuCollatRepayTableFilter.java b/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuCollatRepayTableFilter.java deleted file mode 100644 index 4f66045..0000000 --- a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuCollatRepayTableFilter.java +++ /dev/null @@ -1,53 +0,0 @@ -package ru.nbch.indicsearchservice.filter.secondlevel; - -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Set; -import org.springframework.stereotype.Component; -import ru.nbch.indicsearchservice.filter.TableFilter; -import ru.nbch.indicsearchservice.model.TableData; -import ru.nbch.indicsearchservice.model.enums.DataType; -import ru.nbch.indicsearchservice.model.enums.SearchParameter; -import ru.nbch.indicsearchservice.util.IndicSearchUtils; -import ru.nbch.indicsearchservice.util.MapperHolder; - -@Component -public class RuCollatRepayTableFilter implements SecondLevelTableFilter { - private final MapperHolder mapperHolder; - private final IndicSearchUtils indicSearchUtils; - - public RuCollatRepayTableFilter(MapperHolder mapperHolder, - IndicSearchUtils indicSearchUtils) { - this.mapperHolder = mapperHolder; - this.indicSearchUtils = indicSearchUtils; - } - - @Override - public List getSuitableDataTypes() { - return List.of(DataType.GUTDF, DataType.RUTDF); - } - - @Override - public List getSuitableSearchParameters() { - return List.of(SearchParameter.FID); - } - - @Override - public String getTableName() { - return "RU_COLLATREPAY"; - } - - @Override - public List searchByFid(Set fids) { - List> foundTableRows = mapperHolder.getIndicMapper().findAllByFidFromRuCollatRepay(fids); - - List resultTableData = new ArrayList<>(); - for (LinkedHashMap row : foundTableRows) { - TableData parsedTableData = indicSearchUtils.mapToTableData(getTableName(), row); - resultTableData.add(parsedTableData); - } - - return resultTableData; - } -} diff --git a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuContractTermsChangesTableFilter.java b/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuContractTermsChangesTableFilter.java deleted file mode 100644 index 68e01f5..0000000 --- a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuContractTermsChangesTableFilter.java +++ /dev/null @@ -1,53 +0,0 @@ -package ru.nbch.indicsearchservice.filter.secondlevel; - -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Set; -import org.springframework.stereotype.Component; -import ru.nbch.indicsearchservice.filter.TableFilter; -import ru.nbch.indicsearchservice.model.TableData; -import ru.nbch.indicsearchservice.model.enums.DataType; -import ru.nbch.indicsearchservice.model.enums.SearchParameter; -import ru.nbch.indicsearchservice.util.IndicSearchUtils; -import ru.nbch.indicsearchservice.util.MapperHolder; - -@Component -public class RuContractTermsChangesTableFilter implements SecondLevelTableFilter { - private final MapperHolder mapperHolder; - private final IndicSearchUtils indicSearchUtils; - - public RuContractTermsChangesTableFilter(MapperHolder mapperHolder, - IndicSearchUtils indicSearchUtils) { - this.mapperHolder = mapperHolder; - this.indicSearchUtils = indicSearchUtils; - } - - @Override - public List getSuitableDataTypes() { - return List.of(DataType.GUTDF, DataType.RUTDF); - } - - @Override - public List getSuitableSearchParameters() { - return List.of(SearchParameter.FID); - } - - @Override - public String getTableName() { - return "RU_CONTRACT_TERMS_CHANGES"; - } - - @Override - public List searchByFid(Set fids) { - List> foundTableRows = mapperHolder.getIndicMapper().findAllByFidFromRuContractTermsChanges(fids); - - List resultTableData = new ArrayList<>(); - for (LinkedHashMap row : foundTableRows) { - TableData parsedTableData = indicSearchUtils.mapToTableData(getTableName(), row); - resultTableData.add(parsedTableData); - } - - return resultTableData; - } -} diff --git a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuDueArrearTableFilter.java b/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuDueArrearTableFilter.java deleted file mode 100644 index 6d10063..0000000 --- a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuDueArrearTableFilter.java +++ /dev/null @@ -1,53 +0,0 @@ -package ru.nbch.indicsearchservice.filter.secondlevel; - -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Set; -import org.springframework.stereotype.Component; -import ru.nbch.indicsearchservice.filter.TableFilter; -import ru.nbch.indicsearchservice.model.TableData; -import ru.nbch.indicsearchservice.model.enums.DataType; -import ru.nbch.indicsearchservice.model.enums.SearchParameter; -import ru.nbch.indicsearchservice.util.IndicSearchUtils; -import ru.nbch.indicsearchservice.util.MapperHolder; - -@Component -public class RuDueArrearTableFilter implements SecondLevelTableFilter { - private final MapperHolder mapperHolder; - private final IndicSearchUtils indicSearchUtils; - - public RuDueArrearTableFilter(MapperHolder mapperHolder, - IndicSearchUtils indicSearchUtils) { - this.mapperHolder = mapperHolder; - this.indicSearchUtils = indicSearchUtils; - } - - @Override - public List getSuitableDataTypes() { - return List.of(DataType.GUTDF, DataType.RUTDF); - } - - @Override - public List getSuitableSearchParameters() { - return List.of(SearchParameter.FID); - } - - @Override - public String getTableName() { - return "RU_DUEARREAR"; - } - - @Override - public List searchByFid(Set fids) { - List> foundTableRows = mapperHolder.getIndicMapper().findAllByFidFromRuDueArrear(fids); - - List resultTableData = new ArrayList<>(); - for (LinkedHashMap row : foundTableRows) { - TableData parsedTableData = indicSearchUtils.mapToTableData(getTableName(), row); - resultTableData.add(parsedTableData); - } - - return resultTableData; - } -} diff --git a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuFundDateTableFilter.java b/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuFundDateTableFilter.java deleted file mode 100644 index a3c6244..0000000 --- a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuFundDateTableFilter.java +++ /dev/null @@ -1,53 +0,0 @@ -package ru.nbch.indicsearchservice.filter.secondlevel; - -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Set; -import org.springframework.stereotype.Component; -import ru.nbch.indicsearchservice.filter.TableFilter; -import ru.nbch.indicsearchservice.model.TableData; -import ru.nbch.indicsearchservice.model.enums.DataType; -import ru.nbch.indicsearchservice.model.enums.SearchParameter; -import ru.nbch.indicsearchservice.util.IndicSearchUtils; -import ru.nbch.indicsearchservice.util.MapperHolder; - -@Component -public class RuFundDateTableFilter implements SecondLevelTableFilter { - private final MapperHolder mapperHolder; - private final IndicSearchUtils indicSearchUtils; - - public RuFundDateTableFilter(MapperHolder mapperHolder, - IndicSearchUtils indicSearchUtils) { - this.mapperHolder = mapperHolder; - this.indicSearchUtils = indicSearchUtils; - } - - @Override - public List getSuitableDataTypes() { - return List.of(DataType.GUTDF, DataType.RUTDF); - } - - @Override - public List getSuitableSearchParameters() { - return List.of(SearchParameter.FID); - } - - @Override - public String getTableName() { - return "RU_FUNDDATE"; - } - - @Override - public List searchByFid(Set fids) { - List> foundTableRows = mapperHolder.getIndicMapper().findAllByFidFromRuFundDate(fids); - - List resultTableData = new ArrayList<>(); - for (LinkedHashMap row : foundTableRows) { - TableData parsedTableData = indicSearchUtils.mapToTableData(getTableName(), row); - resultTableData.add(parsedTableData); - } - - return resultTableData; - } -} diff --git a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuGuaranteeRepayTableFilter.java b/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuGuaranteeRepayTableFilter.java deleted file mode 100644 index 16a900b..0000000 --- a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuGuaranteeRepayTableFilter.java +++ /dev/null @@ -1,53 +0,0 @@ -package ru.nbch.indicsearchservice.filter.secondlevel; - -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Set; -import org.springframework.stereotype.Component; -import ru.nbch.indicsearchservice.filter.TableFilter; -import ru.nbch.indicsearchservice.model.TableData; -import ru.nbch.indicsearchservice.model.enums.DataType; -import ru.nbch.indicsearchservice.model.enums.SearchParameter; -import ru.nbch.indicsearchservice.util.IndicSearchUtils; -import ru.nbch.indicsearchservice.util.MapperHolder; - -@Component -public class RuGuaranteeRepayTableFilter implements SecondLevelTableFilter { - private final MapperHolder mapperHolder; - private final IndicSearchUtils indicSearchUtils; - - public RuGuaranteeRepayTableFilter(MapperHolder mapperHolder, - IndicSearchUtils indicSearchUtils) { - this.mapperHolder = mapperHolder; - this.indicSearchUtils = indicSearchUtils; - } - - @Override - public List getSuitableDataTypes() { - return List.of(DataType.GUTDF, DataType.RUTDF); - } - - @Override - public List getSuitableSearchParameters() { - return List.of(SearchParameter.FID); - } - - @Override - public String getTableName() { - return "RU_GUARANTEEREPAY"; - } - - @Override - public List searchByFid(Set fids) { - List> foundTableRows = mapperHolder.getIndicMapper().findAllByFidFromRuGuaranteeRepay(fids); - - List resultTableData = new ArrayList<>(); - for (LinkedHashMap row : foundTableRows) { - TableData parsedTableData = indicSearchUtils.mapToTableData(getTableName(), row); - resultTableData.add(parsedTableData); - } - - return resultTableData; - } -} diff --git a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuGuarantorTableFilter.java b/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuGuarantorTableFilter.java deleted file mode 100644 index 2aefd1b..0000000 --- a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuGuarantorTableFilter.java +++ /dev/null @@ -1,53 +0,0 @@ -package ru.nbch.indicsearchservice.filter.secondlevel; - -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Set; -import org.springframework.stereotype.Component; -import ru.nbch.indicsearchservice.filter.TableFilter; -import ru.nbch.indicsearchservice.model.TableData; -import ru.nbch.indicsearchservice.model.enums.DataType; -import ru.nbch.indicsearchservice.model.enums.SearchParameter; -import ru.nbch.indicsearchservice.util.IndicSearchUtils; -import ru.nbch.indicsearchservice.util.MapperHolder; - -@Component -public class RuGuarantorTableFilter implements SecondLevelTableFilter { - private final MapperHolder mapperHolder; - private final IndicSearchUtils indicSearchUtils; - - public RuGuarantorTableFilter(MapperHolder mapperHolder, - IndicSearchUtils indicSearchUtils) { - this.mapperHolder = mapperHolder; - this.indicSearchUtils = indicSearchUtils; - } - - @Override - public List getSuitableDataTypes() { - return List.of(DataType.GUTDF, DataType.RUTDF); - } - - @Override - public List getSuitableSearchParameters() { - return List.of(SearchParameter.FID); - } - - @Override - public String getTableName() { - return "RU_GUARANTOR"; - } - - @Override - public List searchByFid(Set fids) { - List> foundTableRows = mapperHolder.getIndicMapper().findAllByFidFromRuGuarantor(fids); - - List resultTableData = new ArrayList<>(); - for (LinkedHashMap row : foundTableRows) { - TableData parsedTableData = indicSearchUtils.mapToTableData(getTableName(), row); - resultTableData.add(parsedTableData); - } - - return resultTableData; - } -} diff --git a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuIndepGuarantorTableFilter.java b/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuIndepGuarantorTableFilter.java deleted file mode 100644 index 59b1c4f..0000000 --- a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuIndepGuarantorTableFilter.java +++ /dev/null @@ -1,53 +0,0 @@ -package ru.nbch.indicsearchservice.filter.secondlevel; - -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Set; -import org.springframework.stereotype.Component; -import ru.nbch.indicsearchservice.filter.TableFilter; -import ru.nbch.indicsearchservice.model.TableData; -import ru.nbch.indicsearchservice.model.enums.DataType; -import ru.nbch.indicsearchservice.model.enums.SearchParameter; -import ru.nbch.indicsearchservice.util.IndicSearchUtils; -import ru.nbch.indicsearchservice.util.MapperHolder; - -@Component -public class RuIndepGuarantorTableFilter implements SecondLevelTableFilter { - private final MapperHolder mapperHolder; - private final IndicSearchUtils indicSearchUtils; - - public RuIndepGuarantorTableFilter(MapperHolder mapperHolder, - IndicSearchUtils indicSearchUtils) { - this.mapperHolder = mapperHolder; - this.indicSearchUtils = indicSearchUtils; - } - - @Override - public List getSuitableDataTypes() { - return List.of(DataType.GUTDF, DataType.RUTDF); - } - - @Override - public List getSuitableSearchParameters() { - return List.of(SearchParameter.FID); - } - - @Override - public String getTableName() { - return "RU_INDEPGUARANTOR"; - } - - @Override - public List searchByFid(Set fids) { - List> foundTableRows = mapperHolder.getIndicMapper().findAllByFidFromRuIndepGuarantor(fids); - - List resultTableData = new ArrayList<>(); - for (LinkedHashMap row : foundTableRows) { - TableData parsedTableData = indicSearchUtils.mapToTableData(getTableName(), row); - resultTableData.add(parsedTableData); - } - - return resultTableData; - } -} diff --git a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuLegalRecordTableFilter.java b/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuLegalRecordTableFilter.java deleted file mode 100644 index 65174c7..0000000 --- a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuLegalRecordTableFilter.java +++ /dev/null @@ -1,53 +0,0 @@ -package ru.nbch.indicsearchservice.filter.secondlevel; - -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Set; -import org.springframework.stereotype.Component; -import ru.nbch.indicsearchservice.filter.TableFilter; -import ru.nbch.indicsearchservice.model.TableData; -import ru.nbch.indicsearchservice.model.enums.DataType; -import ru.nbch.indicsearchservice.model.enums.SearchParameter; -import ru.nbch.indicsearchservice.util.IndicSearchUtils; -import ru.nbch.indicsearchservice.util.MapperHolder; - -@Component -public class RuLegalRecordTableFilter implements SecondLevelTableFilter { - private final MapperHolder mapperHolder; - private final IndicSearchUtils indicSearchUtils; - - public RuLegalRecordTableFilter(MapperHolder mapperHolder, - IndicSearchUtils indicSearchUtils) { - this.mapperHolder = mapperHolder; - this.indicSearchUtils = indicSearchUtils; - } - - @Override - public List getSuitableDataTypes() { - return List.of(DataType.GUTDF, DataType.RUTDF); - } - - @Override - public List getSuitableSearchParameters() { - return List.of(SearchParameter.FID); - } - - @Override - public String getTableName() { - return "RU_LEGALRECORD"; - } - - @Override - public List searchByFid(Set fids) { - List> foundTableRows = mapperHolder.getIndicMapper().findAllByFidFromRuLegalRecord(fids); - - List resultTableData = new ArrayList<>(); - for (LinkedHashMap row : foundTableRows) { - TableData parsedTableData = indicSearchUtils.mapToTableData(getTableName(), row); - resultTableData.add(parsedTableData); - } - - return resultTableData; - } -} diff --git a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuMonthAverPaymtTableFilter.java b/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuMonthAverPaymtTableFilter.java deleted file mode 100644 index 4baf12c..0000000 --- a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuMonthAverPaymtTableFilter.java +++ /dev/null @@ -1,53 +0,0 @@ -package ru.nbch.indicsearchservice.filter.secondlevel; - -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Set; -import org.springframework.stereotype.Component; -import ru.nbch.indicsearchservice.filter.TableFilter; -import ru.nbch.indicsearchservice.model.TableData; -import ru.nbch.indicsearchservice.model.enums.DataType; -import ru.nbch.indicsearchservice.model.enums.SearchParameter; -import ru.nbch.indicsearchservice.util.IndicSearchUtils; -import ru.nbch.indicsearchservice.util.MapperHolder; - -@Component -public class RuMonthAverPaymtTableFilter implements SecondLevelTableFilter { - private final MapperHolder mapperHolder; - private final IndicSearchUtils indicSearchUtils; - - public RuMonthAverPaymtTableFilter(MapperHolder mapperHolder, - IndicSearchUtils indicSearchUtils) { - this.mapperHolder = mapperHolder; - this.indicSearchUtils = indicSearchUtils; - } - - @Override - public List getSuitableDataTypes() { - return List.of(DataType.GUTDF, DataType.RUTDF); - } - - @Override - public List getSuitableSearchParameters() { - return List.of(SearchParameter.FID); - } - - @Override - public String getTableName() { - return "RU_MONTHAVERPAYMT"; - } - - @Override - public List searchByFid(Set fids) { - List> foundTableRows = mapperHolder.getIndicMapper().findAllByFidFromRuMonthAverPaymt(fids); - - List resultTableData = new ArrayList<>(); - for (LinkedHashMap row : foundTableRows) { - TableData parsedTableData = indicSearchUtils.mapToTableData(getTableName(), row); - resultTableData.add(parsedTableData); - } - - return resultTableData; - } -} diff --git a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuObligAccountTableFilter.java b/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuObligAccountTableFilter.java deleted file mode 100644 index e908999..0000000 --- a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuObligAccountTableFilter.java +++ /dev/null @@ -1,53 +0,0 @@ -package ru.nbch.indicsearchservice.filter.secondlevel; - -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Set; -import org.springframework.stereotype.Component; -import ru.nbch.indicsearchservice.filter.TableFilter; -import ru.nbch.indicsearchservice.model.TableData; -import ru.nbch.indicsearchservice.model.enums.DataType; -import ru.nbch.indicsearchservice.model.enums.SearchParameter; -import ru.nbch.indicsearchservice.util.IndicSearchUtils; -import ru.nbch.indicsearchservice.util.MapperHolder; - -@Component -public class RuObligAccountTableFilter implements SecondLevelTableFilter { - private final MapperHolder mapperHolder; - private final IndicSearchUtils indicSearchUtils; - - public RuObligAccountTableFilter(MapperHolder mapperHolder, - IndicSearchUtils indicSearchUtils) { - this.mapperHolder = mapperHolder; - this.indicSearchUtils = indicSearchUtils; - } - - @Override - public List getSuitableDataTypes() { - return List.of(DataType.GUTDF, DataType.RUTDF); - } - - @Override - public List getSuitableSearchParameters() { - return List.of(SearchParameter.FID); - } - - @Override - public String getTableName() { - return "RU_OBLIGACCOUNT"; - } - - @Override - public List searchByFid(Set fids) { - List> foundTableRows = mapperHolder.getIndicMapper().findAllByFidFromRuObligAccount(fids); - - List resultTableData = new ArrayList<>(); - for (LinkedHashMap row : foundTableRows) { - TableData parsedTableData = indicSearchUtils.mapToTableData(getTableName(), row); - resultTableData.add(parsedTableData); - } - - return resultTableData; - } -} diff --git a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuObligTerminationTableFilter.java b/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuObligTerminationTableFilter.java deleted file mode 100644 index 7cfbf59..0000000 --- a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuObligTerminationTableFilter.java +++ /dev/null @@ -1,53 +0,0 @@ -package ru.nbch.indicsearchservice.filter.secondlevel; - -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Set; -import org.springframework.stereotype.Component; -import ru.nbch.indicsearchservice.filter.TableFilter; -import ru.nbch.indicsearchservice.model.TableData; -import ru.nbch.indicsearchservice.model.enums.DataType; -import ru.nbch.indicsearchservice.model.enums.SearchParameter; -import ru.nbch.indicsearchservice.util.IndicSearchUtils; -import ru.nbch.indicsearchservice.util.MapperHolder; - -@Component -public class RuObligTerminationTableFilter implements SecondLevelTableFilter { - private final MapperHolder mapperHolder; - private final IndicSearchUtils indicSearchUtils; - - public RuObligTerminationTableFilter(MapperHolder mapperHolder, - IndicSearchUtils indicSearchUtils) { - this.mapperHolder = mapperHolder; - this.indicSearchUtils = indicSearchUtils; - } - - @Override - public List getSuitableDataTypes() { - return List.of(DataType.GUTDF, DataType.RUTDF); - } - - @Override - public List getSuitableSearchParameters() { - return List.of(SearchParameter.FID); - } - - @Override - public String getTableName() { - return "RU_OBLIGTERMINATION"; - } - - @Override - public List searchByFid(Set fids) { - List> foundTableRows = mapperHolder.getIndicMapper().findAllByFidFromRuObligTermination(fids); - - List resultTableData = new ArrayList<>(); - for (LinkedHashMap row : foundTableRows) { - TableData parsedTableData = indicSearchUtils.mapToTableData(getTableName(), row); - resultTableData.add(parsedTableData); - } - - return resultTableData; - } -} diff --git a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuObligsRcBankruptTableFilter.java b/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuObligsRcBankruptTableFilter.java deleted file mode 100644 index f8d6894..0000000 --- a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuObligsRcBankruptTableFilter.java +++ /dev/null @@ -1,53 +0,0 @@ -package ru.nbch.indicsearchservice.filter.secondlevel; - -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Set; -import org.springframework.stereotype.Component; -import ru.nbch.indicsearchservice.filter.TableFilter; -import ru.nbch.indicsearchservice.model.TableData; -import ru.nbch.indicsearchservice.model.enums.DataType; -import ru.nbch.indicsearchservice.model.enums.SearchParameter; -import ru.nbch.indicsearchservice.util.IndicSearchUtils; -import ru.nbch.indicsearchservice.util.MapperHolder; - -@Component -public class RuObligsRcBankruptTableFilter implements SecondLevelTableFilter { - private final MapperHolder mapperHolder; - private final IndicSearchUtils indicSearchUtils; - - public RuObligsRcBankruptTableFilter(MapperHolder mapperHolder, - IndicSearchUtils indicSearchUtils) { - this.mapperHolder = mapperHolder; - this.indicSearchUtils = indicSearchUtils; - } - - @Override - public List getSuitableDataTypes() { - return List.of(DataType.GUTDF, DataType.RUTDF); - } - - @Override - public List getSuitableSearchParameters() { - return List.of(SearchParameter.FID); - } - - @Override - public String getTableName() { - return "RU_OBLIGSRCBANKRUPT"; - } - - @Override - public List searchByFid(Set fids) { - List> foundTableRows = mapperHolder.getIndicMapper().findAllByFidFromRuObligsRcBankrupt(fids); - - List resultTableData = new ArrayList<>(); - for (LinkedHashMap row : foundTableRows) { - TableData parsedTableData = indicSearchUtils.mapToTableData(getTableName(), row); - resultTableData.add(parsedTableData); - } - - return resultTableData; - } -} diff --git a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuObligsRcLiquidTableFilter.java b/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuObligsRcLiquidTableFilter.java deleted file mode 100644 index 63cbfb1..0000000 --- a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuObligsRcLiquidTableFilter.java +++ /dev/null @@ -1,53 +0,0 @@ -package ru.nbch.indicsearchservice.filter.secondlevel; - -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Set; -import org.springframework.stereotype.Component; -import ru.nbch.indicsearchservice.filter.TableFilter; -import ru.nbch.indicsearchservice.model.TableData; -import ru.nbch.indicsearchservice.model.enums.DataType; -import ru.nbch.indicsearchservice.model.enums.SearchParameter; -import ru.nbch.indicsearchservice.util.IndicSearchUtils; -import ru.nbch.indicsearchservice.util.MapperHolder; - -@Component -public class RuObligsRcLiquidTableFilter implements SecondLevelTableFilter { - private final MapperHolder mapperHolder; - private final IndicSearchUtils indicSearchUtils; - - public RuObligsRcLiquidTableFilter(MapperHolder mapperHolder, - IndicSearchUtils indicSearchUtils) { - this.mapperHolder = mapperHolder; - this.indicSearchUtils = indicSearchUtils; - } - - @Override - public List getSuitableDataTypes() { - return List.of(DataType.GUTDF, DataType.RUTDF); - } - - @Override - public List getSuitableSearchParameters() { - return List.of(SearchParameter.FID); - } - - @Override - public String getTableName() { - return "RU_OBLIGSRCLIQUID"; - } - - @Override - public List searchByFid(Set fids) { - List> foundTableRows = mapperHolder.getIndicMapper().findAllByFidFromRuObligsRcLiquid(fids); - - List resultTableData = new ArrayList<>(); - for (LinkedHashMap row : foundTableRows) { - TableData parsedTableData = indicSearchUtils.mapToTableData(getTableName(), row); - resultTableData.add(parsedTableData); - } - - return resultTableData; - } -} diff --git a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuOverallvalTableFilter.java b/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuOverallvalTableFilter.java deleted file mode 100644 index 0ecd3c2..0000000 --- a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuOverallvalTableFilter.java +++ /dev/null @@ -1,53 +0,0 @@ -package ru.nbch.indicsearchservice.filter.secondlevel; - -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Set; -import org.springframework.stereotype.Component; -import ru.nbch.indicsearchservice.filter.TableFilter; -import ru.nbch.indicsearchservice.model.TableData; -import ru.nbch.indicsearchservice.model.enums.DataType; -import ru.nbch.indicsearchservice.model.enums.SearchParameter; -import ru.nbch.indicsearchservice.util.IndicSearchUtils; -import ru.nbch.indicsearchservice.util.MapperHolder; - -@Component -public class RuOverallvalTableFilter implements SecondLevelTableFilter { - private final MapperHolder mapperHolder; - private final IndicSearchUtils indicSearchUtils; - - public RuOverallvalTableFilter(MapperHolder mapperHolder, - IndicSearchUtils indicSearchUtils) { - this.mapperHolder = mapperHolder; - this.indicSearchUtils = indicSearchUtils; - } - - @Override - public List getSuitableDataTypes() { - return List.of(DataType.GUTDF, DataType.RUTDF); - } - - @Override - public List getSuitableSearchParameters() { - return List.of(SearchParameter.FID); - } - - @Override - public String getTableName() { - return "RU_OVERALLVAL"; - } - - @Override - public List searchByFid(Set fids) { - List> foundTableRows = mapperHolder.getIndicMapper().findAllByFidFromRuOverallval(fids); - - List resultTableData = new ArrayList<>(); - for (LinkedHashMap row : foundTableRows) { - TableData parsedTableData = indicSearchUtils.mapToTableData(getTableName(), row); - resultTableData.add(parsedTableData); - } - - return resultTableData; - } -} diff --git a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuPastDueArrearTableFilter.java b/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuPastDueArrearTableFilter.java deleted file mode 100644 index 04e2f19..0000000 --- a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuPastDueArrearTableFilter.java +++ /dev/null @@ -1,53 +0,0 @@ -package ru.nbch.indicsearchservice.filter.secondlevel; - -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Set; -import org.springframework.stereotype.Component; -import ru.nbch.indicsearchservice.filter.TableFilter; -import ru.nbch.indicsearchservice.model.TableData; -import ru.nbch.indicsearchservice.model.enums.DataType; -import ru.nbch.indicsearchservice.model.enums.SearchParameter; -import ru.nbch.indicsearchservice.util.IndicSearchUtils; -import ru.nbch.indicsearchservice.util.MapperHolder; - -@Component -public class RuPastDueArrearTableFilter implements SecondLevelTableFilter { - private final MapperHolder mapperHolder; - private final IndicSearchUtils indicSearchUtils; - - public RuPastDueArrearTableFilter(MapperHolder mapperHolder, - IndicSearchUtils indicSearchUtils) { - this.mapperHolder = mapperHolder; - this.indicSearchUtils = indicSearchUtils; - } - - @Override - public List getSuitableDataTypes() { - return List.of(DataType.GUTDF, DataType.RUTDF); - } - - @Override - public List getSuitableSearchParameters() { - return List.of(SearchParameter.FID); - } - - @Override - public String getTableName() { - return "RU_PASTDUEARREAR"; - } - - @Override - public List searchByFid(Set fids) { - List> foundTableRows = mapperHolder.getIndicMapper().findAllByFidFromRuPastDueArrear(fids); - - List resultTableData = new ArrayList<>(); - for (LinkedHashMap row : foundTableRows) { - TableData parsedTableData = indicSearchUtils.mapToTableData(getTableName(), row); - resultTableData.add(parsedTableData); - } - - return resultTableData; - } -} diff --git a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuPaymtConditionTableFilter.java b/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuPaymtConditionTableFilter.java deleted file mode 100644 index c84a944..0000000 --- a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuPaymtConditionTableFilter.java +++ /dev/null @@ -1,53 +0,0 @@ -package ru.nbch.indicsearchservice.filter.secondlevel; - -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Set; -import org.springframework.stereotype.Component; -import ru.nbch.indicsearchservice.filter.TableFilter; -import ru.nbch.indicsearchservice.model.TableData; -import ru.nbch.indicsearchservice.model.enums.DataType; -import ru.nbch.indicsearchservice.model.enums.SearchParameter; -import ru.nbch.indicsearchservice.util.IndicSearchUtils; -import ru.nbch.indicsearchservice.util.MapperHolder; - -@Component -public class RuPaymtConditionTableFilter implements SecondLevelTableFilter { - private final MapperHolder mapperHolder; - private final IndicSearchUtils indicSearchUtils; - - public RuPaymtConditionTableFilter(MapperHolder mapperHolder, - IndicSearchUtils indicSearchUtils) { - this.mapperHolder = mapperHolder; - this.indicSearchUtils = indicSearchUtils; - } - - @Override - public List getSuitableDataTypes() { - return List.of(DataType.GUTDF, DataType.RUTDF); - } - - @Override - public List getSuitableSearchParameters() { - return List.of(SearchParameter.FID); - } - - @Override - public String getTableName() { - return "RU_PAYMT_CONDITION"; - } - - @Override - public List searchByFid(Set fids) { - List> foundTableRows = mapperHolder.getIndicMapper().findAllByFidFromRuPaymtCondition(fids); - - List resultTableData = new ArrayList<>(); - for (LinkedHashMap row : foundTableRows) { - TableData parsedTableData = indicSearchUtils.mapToTableData(getTableName(), row); - resultTableData.add(parsedTableData); - } - - return resultTableData; - } -} diff --git a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuPaymtTableFilter.java b/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuPaymtTableFilter.java deleted file mode 100644 index ba75b20..0000000 --- a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuPaymtTableFilter.java +++ /dev/null @@ -1,53 +0,0 @@ -package ru.nbch.indicsearchservice.filter.secondlevel; - -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Set; -import org.springframework.stereotype.Component; -import ru.nbch.indicsearchservice.filter.TableFilter; -import ru.nbch.indicsearchservice.model.TableData; -import ru.nbch.indicsearchservice.model.enums.DataType; -import ru.nbch.indicsearchservice.model.enums.SearchParameter; -import ru.nbch.indicsearchservice.util.IndicSearchUtils; -import ru.nbch.indicsearchservice.util.MapperHolder; - -@Component -public class RuPaymtTableFilter implements SecondLevelTableFilter { - private final MapperHolder mapperHolder; - private final IndicSearchUtils indicSearchUtils; - - public RuPaymtTableFilter(MapperHolder mapperHolder, - IndicSearchUtils indicSearchUtils) { - this.mapperHolder = mapperHolder; - this.indicSearchUtils = indicSearchUtils; - } - - @Override - public List getSuitableDataTypes() { - return List.of(DataType.GUTDF, DataType.RUTDF); - } - - @Override - public List getSuitableSearchParameters() { - return List.of(SearchParameter.FID); - } - - @Override - public String getTableName() { - return "RU_PAYMT"; - } - - @Override - public List searchByFid(Set fids) { - List> foundTableRows = mapperHolder.getIndicMapper().findAllByFidFromRuPaymt(fids); - - List resultTableData = new ArrayList<>(); - for (LinkedHashMap row : foundTableRows) { - TableData parsedTableData = indicSearchUtils.mapToTableData(getTableName(), row); - resultTableData.add(parsedTableData); - } - - return resultTableData; - } -} diff --git a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuServiceCoTableFilter.java b/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuServiceCoTableFilter.java deleted file mode 100644 index 1cf8a67..0000000 --- a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuServiceCoTableFilter.java +++ /dev/null @@ -1,53 +0,0 @@ -package ru.nbch.indicsearchservice.filter.secondlevel; - -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Set; -import org.springframework.stereotype.Component; -import ru.nbch.indicsearchservice.filter.TableFilter; -import ru.nbch.indicsearchservice.model.TableData; -import ru.nbch.indicsearchservice.model.enums.DataType; -import ru.nbch.indicsearchservice.model.enums.SearchParameter; -import ru.nbch.indicsearchservice.util.IndicSearchUtils; -import ru.nbch.indicsearchservice.util.MapperHolder; - -@Component -public class RuServiceCoTableFilter implements SecondLevelTableFilter { - private final MapperHolder mapperHolder; - private final IndicSearchUtils indicSearchUtils; - - public RuServiceCoTableFilter(MapperHolder mapperHolder, - IndicSearchUtils indicSearchUtils) { - this.mapperHolder = mapperHolder; - this.indicSearchUtils = indicSearchUtils; - } - - @Override - public List getSuitableDataTypes() { - return List.of(DataType.GUTDF, DataType.RUTDF); - } - - @Override - public List getSuitableSearchParameters() { - return List.of(SearchParameter.FID); - } - - @Override - public String getTableName() { - return "RU_SERVICECO"; - } - - @Override - public List searchByFid(Set fids) { - List> foundTableRows = mapperHolder.getIndicMapper().findAllByFidFromRuServiceCo(fids); - - List resultTableData = new ArrayList<>(); - for (LinkedHashMap row : foundTableRows) { - TableData parsedTableData = indicSearchUtils.mapToTableData(getTableName(), row); - resultTableData.add(parsedTableData); - } - - return resultTableData; - } -} diff --git a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuSourceNonMonetObligTableFilter.java b/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuSourceNonMonetObligTableFilter.java deleted file mode 100644 index a1d837f..0000000 --- a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuSourceNonMonetObligTableFilter.java +++ /dev/null @@ -1,53 +0,0 @@ -package ru.nbch.indicsearchservice.filter.secondlevel; - -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Set; -import org.springframework.stereotype.Component; -import ru.nbch.indicsearchservice.filter.TableFilter; -import ru.nbch.indicsearchservice.model.TableData; -import ru.nbch.indicsearchservice.model.enums.DataType; -import ru.nbch.indicsearchservice.model.enums.SearchParameter; -import ru.nbch.indicsearchservice.util.IndicSearchUtils; -import ru.nbch.indicsearchservice.util.MapperHolder; - -@Component -public class RuSourceNonMonetObligTableFilter implements SecondLevelTableFilter { - private final MapperHolder mapperHolder; - private final IndicSearchUtils indicSearchUtils; - - public RuSourceNonMonetObligTableFilter(MapperHolder mapperHolder, - IndicSearchUtils indicSearchUtils) { - this.mapperHolder = mapperHolder; - this.indicSearchUtils = indicSearchUtils; - } - - @Override - public List getSuitableDataTypes() { - return List.of(DataType.GUTDF, DataType.RUTDF); - } - - @Override - public List getSuitableSearchParameters() { - return List.of(SearchParameter.FID); - } - - @Override - public String getTableName() { - return "RU_SOURCENONMONETOBLIG"; - } - - @Override - public List searchByFid(Set fids) { - List> foundTableRows = mapperHolder.getIndicMapper().findAllByFidFromRuSourceNonMonetOblig(fids); - - List resultTableData = new ArrayList<>(); - for (LinkedHashMap row : foundTableRows) { - TableData parsedTableData = indicSearchUtils.mapToTableData(getTableName(), row); - resultTableData.add(parsedTableData); - } - - return resultTableData; - } -} diff --git a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuSubjectNonMonetObligTableFilter.java b/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuSubjectNonMonetObligTableFilter.java deleted file mode 100644 index 8686ef4..0000000 --- a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuSubjectNonMonetObligTableFilter.java +++ /dev/null @@ -1,53 +0,0 @@ -package ru.nbch.indicsearchservice.filter.secondlevel; - -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Set; -import org.springframework.stereotype.Component; -import ru.nbch.indicsearchservice.filter.TableFilter; -import ru.nbch.indicsearchservice.model.TableData; -import ru.nbch.indicsearchservice.model.enums.DataType; -import ru.nbch.indicsearchservice.model.enums.SearchParameter; -import ru.nbch.indicsearchservice.util.IndicSearchUtils; -import ru.nbch.indicsearchservice.util.MapperHolder; - -@Component -public class RuSubjectNonMonetObligTableFilter implements SecondLevelTableFilter { - private final MapperHolder mapperHolder; - private final IndicSearchUtils indicSearchUtils; - - public RuSubjectNonMonetObligTableFilter(MapperHolder mapperHolder, - IndicSearchUtils indicSearchUtils) { - this.mapperHolder = mapperHolder; - this.indicSearchUtils = indicSearchUtils; - } - - @Override - public List getSuitableDataTypes() { - return List.of(DataType.GUTDF, DataType.RUTDF); - } - - @Override - public List getSuitableSearchParameters() { - return List.of(SearchParameter.FID); - } - - @Override - public String getTableName() { - return "RU_SUBJECTNONMONETOBLIG"; - } - - @Override - public List searchByFid(Set fids) { - List> foundTableRows = mapperHolder.getIndicMapper().findAllByFidFromRuSubjectNonMonetOblig(fids); - - List resultTableData = new ArrayList<>(); - for (LinkedHashMap row : foundTableRows) { - TableData parsedTableData = indicSearchUtils.mapToTableData(getTableName(), row); - resultTableData.add(parsedTableData); - } - - return resultTableData; - } -} diff --git a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuSubmitHoldTableFilter.java b/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuSubmitHoldTableFilter.java deleted file mode 100644 index ad36f96..0000000 --- a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuSubmitHoldTableFilter.java +++ /dev/null @@ -1,53 +0,0 @@ -package ru.nbch.indicsearchservice.filter.secondlevel; - -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Set; -import org.springframework.stereotype.Component; -import ru.nbch.indicsearchservice.filter.TableFilter; -import ru.nbch.indicsearchservice.model.TableData; -import ru.nbch.indicsearchservice.model.enums.DataType; -import ru.nbch.indicsearchservice.model.enums.SearchParameter; -import ru.nbch.indicsearchservice.util.IndicSearchUtils; -import ru.nbch.indicsearchservice.util.MapperHolder; - -@Component -public class RuSubmitHoldTableFilter implements SecondLevelTableFilter { - private final MapperHolder mapperHolder; - private final IndicSearchUtils indicSearchUtils; - - public RuSubmitHoldTableFilter(MapperHolder mapperHolder, - IndicSearchUtils indicSearchUtils) { - this.mapperHolder = mapperHolder; - this.indicSearchUtils = indicSearchUtils; - } - - @Override - public List getSuitableDataTypes() { - return List.of(DataType.GUTDF, DataType.RUTDF); - } - - @Override - public List getSuitableSearchParameters() { - return List.of(SearchParameter.FID); - } - - @Override - public String getTableName() { - return "RU_SUBMITHOLD"; - } - - @Override - public List searchByFid(Set fids) { - List> foundTableRows = mapperHolder.getIndicMapper().findAllByFidFromRuSubmitHold(fids); - - List resultTableData = new ArrayList<>(); - for (LinkedHashMap row : foundTableRows) { - TableData parsedTableData = indicSearchUtils.mapToTableData(getTableName(), row); - resultTableData.add(parsedTableData); - } - - return resultTableData; - } -} diff --git a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuTradeTableFilter.java b/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuTradeTableFilter.java deleted file mode 100644 index 2371590..0000000 --- a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuTradeTableFilter.java +++ /dev/null @@ -1,53 +0,0 @@ -package ru.nbch.indicsearchservice.filter.secondlevel; - -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Set; -import org.springframework.stereotype.Component; -import ru.nbch.indicsearchservice.filter.TableFilter; -import ru.nbch.indicsearchservice.model.TableData; -import ru.nbch.indicsearchservice.model.enums.DataType; -import ru.nbch.indicsearchservice.model.enums.SearchParameter; -import ru.nbch.indicsearchservice.util.IndicSearchUtils; -import ru.nbch.indicsearchservice.util.MapperHolder; - -@Component -public class RuTradeTableFilter implements SecondLevelTableFilter { - private final MapperHolder mapperHolder; - private final IndicSearchUtils indicSearchUtils; - - public RuTradeTableFilter(MapperHolder mapperHolder, - IndicSearchUtils indicSearchUtils) { - this.mapperHolder = mapperHolder; - this.indicSearchUtils = indicSearchUtils; - } - - @Override - public List getSuitableDataTypes() { - return List.of(DataType.GUTDF, DataType.RUTDF); - } - - @Override - public List getSuitableSearchParameters() { - return List.of(SearchParameter.FID); - } - - @Override - public String getTableName() { - return "RU_TRADE"; - } - - @Override - public List searchByFid(Set fids) { - List> foundTableRows = mapperHolder.getIndicMapper().findAllByFidFromRuTrade(fids); - - List resultTableData = new ArrayList<>(); - for (LinkedHashMap row : foundTableRows) { - TableData parsedTableData = indicSearchUtils.mapToTableData(getTableName(), row); - resultTableData.add(parsedTableData); - } - - return resultTableData; - } -} diff --git a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuUidSecondLevelTableFilter.java b/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuUidSecondLevelTableFilter.java new file mode 100644 index 0000000..9deaa2d --- /dev/null +++ b/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/RuUidSecondLevelTableFilter.java @@ -0,0 +1,77 @@ +package ru.nbch.indicsearchservice.filter.secondlevel; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; +import org.springframework.stereotype.Component; +import ru.nbch.indicsearchservice.model.TableData; + +@Component +public class RuUidSecondLevelTableFilter implements SecondLevelTableFilter { + private static final Set SUPPORTED_TABLE_NAMES = Set.of( + "RU_TRADE", + "RU_ACCOUNT_AMT", + "RU_COBORROWER", + "RU_PAYMT_CONDITION", + "RU_OVERALLVAL", + "RU_AMENDMENT", + "RU_FUNDDATE", + "RU_ARREAR", + "RU_DUEARREAR", + "RU_PASTDUEARREAR", + "RU_PAYMT", + "RU_MONTHAVERPAYMT", + "RU_SOURCENONMONETOBLIG" + ); + + @Override + public void applyFilter(List firstLevelTableDataList, Map> tableDataMapByFid) { + if (firstLevelTableDataList == null || firstLevelTableDataList.isEmpty() || tableDataMapByFid == null) { + return; + } + + Map> relatedTablesByAccSerialNum = new HashMap<>(); + + for (String supportedTableName : SUPPORTED_TABLE_NAMES) { + List childTables = tableDataMapByFid.get(supportedTableName); + + if (childTables != null) { + for (TableData childTable : childTables) { + Object accSerialNum = getFieldValue(childTable, "ACC_SERIAL_NUM"); + if (accSerialNum != null) { + relatedTablesByAccSerialNum + .computeIfAbsent(accSerialNum, k -> new ArrayList<>()) + .add(childTable); + } + } + } + } + + for (TableData parentTable : firstLevelTableDataList) { + Object serialNum = getFieldValue(parentTable, "SERIAL_NUM"); + + if (serialNum != null) { + List matchedParentTables = relatedTablesByAccSerialNum.get(serialNum); + if (matchedParentTables != null) { + parentTable.getRelatedTableData().addAll(matchedParentTables); + } + } + } + } + + private Object getFieldValue(TableData tableData, String targetColumnName) { + if (tableData.getFieldData() == null) { + return null; + } + + for (TableData.FieldData field : tableData.getFieldData()) { + if (targetColumnName.equals(field.columnName())) { + return field.columnValue(); + } + } + + return null; + } +} diff --git a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/SecondLevelTableFilter.java b/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/SecondLevelTableFilter.java index c99a090..a63173e 100644 --- a/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/SecondLevelTableFilter.java +++ b/src/main/java/ru/nbch/indicsearchservice/filter/secondlevel/SecondLevelTableFilter.java @@ -1,6 +1,10 @@ package ru.nbch.indicsearchservice.filter.secondlevel; +import java.util.List; +import java.util.Map; import ru.nbch.indicsearchservice.filter.TableFilter; +import ru.nbch.indicsearchservice.model.TableData; public interface SecondLevelTableFilter extends TableFilter { + void applyFilter(List firstLevelTableDataList, Map> tableDataMapByFid); } diff --git a/src/main/java/ru/nbch/indicsearchservice/filter/thirdlevel/BlocksThirdLevelTableFilter.java b/src/main/java/ru/nbch/indicsearchservice/filter/thirdlevel/BlocksThirdLevelTableFilter.java new file mode 100644 index 0000000..5581bac --- /dev/null +++ b/src/main/java/ru/nbch/indicsearchservice/filter/thirdlevel/BlocksThirdLevelTableFilter.java @@ -0,0 +1,88 @@ +package ru.nbch.indicsearchservice.filter.thirdlevel; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; +import org.springframework.stereotype.Component; +import ru.nbch.indicsearchservice.model.TableData; + +@Component +public class BlocksThirdLevelTableFilter implements ThirdLevelTableFilter { + private static final Set SUPPORTED_TABLE_NAMES = Set.of( + "RU_COLLATERAL_BLOCKS", + "RU_BANKRUPTCY_BLOCKS" + ); + + @Override + public void applyFilter(List firstLevelTableDataList, Map> tableDataMapByFid) { + if (firstLevelTableDataList == null || firstLevelTableDataList.isEmpty() || tableDataMapByFid == null) { + return; + } + + Map>> childTablesByParentAndSerial = new HashMap<>(); + + for (String tableName : SUPPORTED_TABLE_NAMES) { + String parentTableName = tableName.replace("_BLOCKS", ""); + String childTableName = tableName; + + List childTables = tableDataMapByFid.get(childTableName); + + if (childTables != null) { + Map> groupedChildTables = new HashMap<>(); + for (TableData childTable : childTables) { + Object parentSerialNum = getFieldValue(childTable, "PARENT_SERIAL_NUM"); + if (parentSerialNum != null) { + groupedChildTables + .computeIfAbsent(parentSerialNum, k -> new ArrayList<>()) + .add(childTable); + } + } + childTablesByParentAndSerial.put(parentTableName, groupedChildTables); + } + } + + for (TableData firstLevelTable : firstLevelTableDataList) { + if (firstLevelTable.getRelatedTableData() == null) { + continue; + } + + for (TableData secondLevelTable : firstLevelTable.getRelatedTableData()) { + String tableName = secondLevelTable.getTableName(); + + String parentTableName = tableName; + String childTableName = tableName + "_BLOCKS"; + + if (SUPPORTED_TABLE_NAMES.contains(childTableName)) { + Map> availableChildTables = childTablesByParentAndSerial.get(parentTableName); + + if (availableChildTables != null) { + Object serialNum = getFieldValue(secondLevelTable, "SERIAL_NUM"); + + if (serialNum != null) { + List matchingChildTables = availableChildTables.get(serialNum); + if (matchingChildTables != null) { + secondLevelTable.getRelatedTableData().addAll(matchingChildTables); + } + } + } + } + } + } + } + + private Object getFieldValue(TableData tableData, String targetColumnName) { + if (tableData.getFieldData() == null) { + return null; + } + + for (TableData.FieldData field : tableData.getFieldData()) { + if (targetColumnName.equals(field.columnName())) { + return field.columnValue(); + } + } + + return null; + } +} diff --git a/src/main/java/ru/nbch/indicsearchservice/filter/thirdlevel/RuBankruptcyBlocksTableFilter.java b/src/main/java/ru/nbch/indicsearchservice/filter/thirdlevel/RuBankruptcyBlocksTableFilter.java deleted file mode 100644 index 136221c..0000000 --- a/src/main/java/ru/nbch/indicsearchservice/filter/thirdlevel/RuBankruptcyBlocksTableFilter.java +++ /dev/null @@ -1,53 +0,0 @@ -package ru.nbch.indicsearchservice.filter.thirdlevel; - -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Set; -import org.springframework.stereotype.Component; -import ru.nbch.indicsearchservice.filter.TableFilter; -import ru.nbch.indicsearchservice.model.TableData; -import ru.nbch.indicsearchservice.model.enums.DataType; -import ru.nbch.indicsearchservice.model.enums.SearchParameter; -import ru.nbch.indicsearchservice.util.IndicSearchUtils; -import ru.nbch.indicsearchservice.util.MapperHolder; - -@Component -public class RuBankruptcyBlocksTableFilter implements ThirdLevelTableFilter { - private final MapperHolder mapperHolder; - private final IndicSearchUtils indicSearchUtils; - - public RuBankruptcyBlocksTableFilter(MapperHolder mapperHolder, - IndicSearchUtils indicSearchUtils) { - this.mapperHolder = mapperHolder; - this.indicSearchUtils = indicSearchUtils; - } - - @Override - public List getSuitableDataTypes() { - return List.of(DataType.GUTDF, DataType.RUTDF); - } - - @Override - public List getSuitableSearchParameters() { - return List.of(SearchParameter.FID); - } - - @Override - public String getTableName() { - return "RU_BANKRUPTCY_BLOCKS"; - } - - @Override - public List searchByFid(Set fids) { - List> foundTableRows = mapperHolder.getIndicMapper().findAllByFidFromRuBankruptcyBlocks(fids); - - List resultTableData = new ArrayList<>(); - for (LinkedHashMap row : foundTableRows) { - TableData parsedTableData = indicSearchUtils.mapToTableData(getTableName(), row); - resultTableData.add(parsedTableData); - } - - return resultTableData; - } -} diff --git a/src/main/java/ru/nbch/indicsearchservice/filter/thirdlevel/RuCollateralBlocksTableFilter.java b/src/main/java/ru/nbch/indicsearchservice/filter/thirdlevel/RuCollateralBlocksTableFilter.java deleted file mode 100644 index 951649b..0000000 --- a/src/main/java/ru/nbch/indicsearchservice/filter/thirdlevel/RuCollateralBlocksTableFilter.java +++ /dev/null @@ -1,53 +0,0 @@ -package ru.nbch.indicsearchservice.filter.thirdlevel; - -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Set; -import org.springframework.stereotype.Component; -import ru.nbch.indicsearchservice.filter.TableFilter; -import ru.nbch.indicsearchservice.model.TableData; -import ru.nbch.indicsearchservice.model.enums.DataType; -import ru.nbch.indicsearchservice.model.enums.SearchParameter; -import ru.nbch.indicsearchservice.util.IndicSearchUtils; -import ru.nbch.indicsearchservice.util.MapperHolder; - -@Component -public class RuCollateralBlocksTableFilter implements ThirdLevelTableFilter { - private final MapperHolder mapperHolder; - private final IndicSearchUtils indicSearchUtils; - - public RuCollateralBlocksTableFilter(MapperHolder mapperHolder, - IndicSearchUtils indicSearchUtils) { - this.mapperHolder = mapperHolder; - this.indicSearchUtils = indicSearchUtils; - } - - @Override - public List getSuitableDataTypes() { - return List.of(DataType.GUTDF, DataType.RUTDF); - } - - @Override - public List getSuitableSearchParameters() { - return List.of(SearchParameter.FID); - } - - @Override - public String getTableName() { - return "RU_COLLATERAL_BLOCKS"; - } - - @Override - public List searchByFid(Set fids) { - List> foundTableRows = mapperHolder.getIndicMapper().findAllByFidFromRuCollateralBlocks(fids); - - List resultTableData = new ArrayList<>(); - for (LinkedHashMap row : foundTableRows) { - TableData parsedTableData = indicSearchUtils.mapToTableData(getTableName(), row); - resultTableData.add(parsedTableData); - } - - return resultTableData; - } -} diff --git a/src/main/java/ru/nbch/indicsearchservice/filter/thirdlevel/ThirdLevelTableFilter.java b/src/main/java/ru/nbch/indicsearchservice/filter/thirdlevel/ThirdLevelTableFilter.java index 87b4021..21ae05a 100644 --- a/src/main/java/ru/nbch/indicsearchservice/filter/thirdlevel/ThirdLevelTableFilter.java +++ b/src/main/java/ru/nbch/indicsearchservice/filter/thirdlevel/ThirdLevelTableFilter.java @@ -1,6 +1,10 @@ package ru.nbch.indicsearchservice.filter.thirdlevel; +import java.util.List; +import java.util.Map; import ru.nbch.indicsearchservice.filter.TableFilter; +import ru.nbch.indicsearchservice.model.TableData; public interface ThirdLevelTableFilter extends TableFilter { + void applyFilter(List firstLevelTableDataList, Map> tableDataMapByFid); } diff --git a/src/main/java/ru/nbch/indicsearchservice/service/IndicSearchService.java b/src/main/java/ru/nbch/indicsearchservice/service/IndicSearchService.java index 6aa83d2..75ca97f 100644 --- a/src/main/java/ru/nbch/indicsearchservice/service/IndicSearchService.java +++ b/src/main/java/ru/nbch/indicsearchservice/service/IndicSearchService.java @@ -2,7 +2,6 @@ package ru.nbch.indicsearchservice.service; import java.util.ArrayList; import java.util.HashMap; -import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Set; @@ -11,7 +10,9 @@ import org.springframework.stereotype.Service; import ru.nbch.indicsearchservice.dto.request.AddSearchJobRequestDto; import ru.nbch.indicsearchservice.dto.response.AddSearchJobResponseDto; import ru.nbch.indicsearchservice.dto.response.JobStatusResponseDto; -import ru.nbch.indicsearchservice.filter.TableFilter; +import ru.nbch.indicsearchservice.filter.firstlevel.DefaultFirstLevelTableFilter; +import ru.nbch.indicsearchservice.filter.secondlevel.SecondLevelTableFilter; +import ru.nbch.indicsearchservice.filter.thirdlevel.ThirdLevelTableFilter; import ru.nbch.indicsearchservice.loader.TableLoader; import ru.nbch.indicsearchservice.model.TableData; import ru.nbch.indicsearchservice.util.IndicSearchUtils; @@ -19,14 +20,20 @@ import ru.nbch.indicsearchservice.util.IndicSearchUtils; @Service public class IndicSearchService { private final List tableLoaders; - private final List tableFilters; + private final DefaultFirstLevelTableFilter firstLevelTableFilter; + private final List secondLevelTableFilters; + private final List thirdLevelTableFilters; private final IndicSearchUtils indicSearchUtils; public IndicSearchService(List tableLoaders, - List tableFilters, + DefaultFirstLevelTableFilter firstLevelTableFilter, + List secondLevelTableFilters, + List thirdLevelTableFilters, IndicSearchUtils indicSearchUtils) { this.tableLoaders = tableLoaders; - this.tableFilters = tableFilters; + this.firstLevelTableFilter = firstLevelTableFilter; + this.secondLevelTableFilters = secondLevelTableFilters; + this.thirdLevelTableFilters = thirdLevelTableFilters; this.indicSearchUtils = indicSearchUtils; } @@ -49,9 +56,9 @@ public class IndicSearchService { tableDataMapByFid.put(tableLoader.getTableName(), tableLoader.searchByFid(foundFids)); } - Map> firstLevelTables = new HashMap<>(); - Map> secondLevelTables = new HashMap<>(); - Map> thirdLevelTables = new HashMap<>(); + List result = firstLevelTableFilter.applyFilter(tableDataMapByFid); + secondLevelTableFilters.forEach(f -> f.applyFilter(result, tableDataMapByFid)); + thirdLevelTableFilters.forEach(f -> f.applyFilter(result, tableDataMapByFid)); return null; } diff --git a/src/main/java/ru/nbch/indicsearchservice/util/IndicSearchUtils.java b/src/main/java/ru/nbch/indicsearchservice/util/IndicSearchUtils.java index c87606f..2a7a6ad 100644 --- a/src/main/java/ru/nbch/indicsearchservice/util/IndicSearchUtils.java +++ b/src/main/java/ru/nbch/indicsearchservice/util/IndicSearchUtils.java @@ -4,6 +4,7 @@ import java.sql.Date; import java.sql.Timestamp; import java.time.LocalDate; import java.time.format.DateTimeFormatter; +import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Map; @@ -71,4 +72,14 @@ public class IndicSearchUtils { default -> value; }; } + + public List getFirstLevelTables(Map> tableDataMapByFid) { + List result = new ArrayList<>(); + + for (Map.Entry> entry : tableDataMapByFid.entrySet()) { + if (entry.getKey().equals("RU_UID")) {} + } + + return result; + } }