changing inherited class from ObjectBaseMapStore to TemplateMapStore for CompanySymbolsMapStore

This commit is contained in:
psemenkov 2022-09-27 14:03:31 +03:00
parent 10dd8bdd1d
commit b10c22b888

View file

@ -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<CompanySymbols> {
public class CompanySymbolsMapStore extends TemplateMapStore<CompanySymbols> {
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<CompanySymbols> {
};
}
protected final String insertStatement = makeInsertSql(getTableName(), getFields(), "id");
@Override
public Collection<CompanySymbols> load(Collection<Long> keys) {
Map<String, Collection<Long>> 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<Long, CompanySymbols> map) {
List<Object[]> batchArgs = new ArrayList<>();
for (Map.Entry<Long, CompanySymbols> 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);
}
}