indic-search-service/src/main/java/ru/nbch/indicsearchservice/loader/RuBankruptcyTableLoader.java
Ivan Nikolaev-Axenov 4620e47590 incomplete v2
2026-05-18 17:04:23 +03:00

52 lines
1.7 KiB
Java

package ru.nbch.indicsearchservice.loader;
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.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 RuBankruptcyTableLoader implements TableLoader {
private final MapperHolder mapperHolder;
private final IndicSearchUtils indicSearchUtils;
public RuBankruptcyTableLoader(MapperHolder mapperHolder,
IndicSearchUtils indicSearchUtils) {
this.mapperHolder = mapperHolder;
this.indicSearchUtils = indicSearchUtils;
}
@Override
public List<DataType> getSuitableDataTypes() {
return List.of(DataType.GUTDF, DataType.RUTDF);
}
@Override
public List<SearchParameter> getSuitableSearchParameters() {
return List.of(SearchParameter.FID);
}
@Override
public String getTableName() {
return "RU_BANKRUPTCY";
}
@Override
public List<TableData> searchByFid(Set<Integer> fids) {
List<LinkedHashMap<String, Object>> foundTableRows = mapperHolder.getIndicMapper().findAllByFidFromRuBankruptcy(fids);
List<TableData> resultTableData = new ArrayList<>();
for (LinkedHashMap<String, Object> row : foundTableRows) {
TableData parsedTableData = indicSearchUtils.mapToTableData(getTableName(), row);
resultTableData.add(parsedTableData);
}
return resultTableData;
}
}