diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/CompanySymbolsMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/CompanySymbolsMapStore.java index c8e3735e1..42661abef 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/CompanySymbolsMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/CompanySymbolsMapStore.java @@ -3,17 +3,34 @@ package ru.spcex.clearing.imdg.object; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Component; import ru.clearing.classes.statics.data.company.CompanySymbols; -import ru.spcex.clearing.imdg.base.ObjectBaseMapStore; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.clearing.imdg.base.TemplateMapStore; -import java.util.*; +import java.sql.ResultSet; +import java.sql.SQLException; @Component -public class CompanySymbolsMapStore extends ObjectBaseMapStore { +public class CompanySymbolsMapStore extends TemplateMapStore { public CompanySymbolsMapStore(JdbcTemplate jdbcTemplate) { super(jdbcTemplate); } + @Override + public String getMapName() { + return IMDGDistributedNames.Map_CompanySymbols; + } + + @Override + protected CompanySymbols objectReader(ResultSet resultSet) throws SQLException { + CompanySymbols object = new CompanySymbols(); + object.setId(resultSet.getObject("id", Long.class)); + object.setCompanyId(resultSet.getObject("companyid", Long.class)); + object.setCompanySymbol(resultSet.getObject("companysymbol", String.class)); + object.setCompanySymbolValue(resultSet.getObject("companysymbolvalue", String.class)); + return object; + } + @Override public String getTableName() { return "COMPANY_SYMBOLS"; @@ -26,38 +43,14 @@ public class CompanySymbolsMapStore extends ObjectBaseMapStore { }; } - protected final String insertStatement = makeInsertSql(getTableName(), getFields(), "id"); - @Override - public Collection load(Collection keys) { - Map> paramMap = Collections.singletonMap("ids", keys); - return namedParameterJdbcTemplate.query("select * from " + getTableName() + " where id in (:ids)", paramMap, - (resultSet, i) -> { - CompanySymbols companySymbols = new CompanySymbols(); - companySymbols.setId(resultSet.getObject("id", Long.class)); - companySymbols.setCompanyId(resultSet.getObject("companyid", Long.class)); - companySymbols.setCompanySymbol(resultSet.getObject("companysymbol", String.class)); - companySymbols.setCompanySymbolValue(resultSet.getObject("companysymbolvalue", String.class)); - return companySymbols; - }); + protected Object[] objectToField(CompanySymbols resultSet) { + Object[] args = new Object[]{ + resultSet.getId(), + resultSet.getCompanyId(), + resultSet.getCompanySymbol(), + resultSet.getCompanySymbolValue() + }; + return args; } - - @Override - public void store(Map map) { - List batchArgs = new ArrayList<>(); - - for (Map.Entry entry : map.entrySet()) { - CompanySymbols companySymbols = entry.getValue(); - - Object[] args = new Object[]{ - companySymbols.getId(), - companySymbols.getCompanyId(), - companySymbols.getCompanySymbol(), - companySymbols.getCompanySymbolValue() - }; - batchArgs.add(args); - } - batchInsertUpdate(insertStatement, batchArgs); - } - }