changing inherited class from ObjectBaseMapStore to TemplateMapStore for ContactMapStore and ProfileDocumentMapStore. refactor CompanySymbolsMapStore

This commit is contained in:
psemenkov 2022-09-27 15:57:00 +03:00
parent b10c22b888
commit 2acc0fa402
3 changed files with 78 additions and 92 deletions

View file

@ -21,16 +21,6 @@ public class CompanySymbolsMapStore extends TemplateMapStore<CompanySymbols> {
return IMDGDistributedNames.Map_CompanySymbols; 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 @Override
public String getTableName() { public String getTableName() {
return "COMPANY_SYMBOLS"; return "COMPANY_SYMBOLS";
@ -43,6 +33,16 @@ public class CompanySymbolsMapStore extends TemplateMapStore<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 @Override
protected Object[] objectToField(CompanySymbols resultSet) { protected Object[] objectToField(CompanySymbols resultSet) {
Object[] args = new Object[]{ Object[] args = new Object[]{

View file

@ -3,17 +3,24 @@ package ru.spcex.clearing.imdg.object;
import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import ru.clearing.classes.statics.data.profile.Contact; import ru.clearing.classes.statics.data.profile.Contact;
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 @Component
public class ContactMapStore extends ObjectBaseMapStore<Contact> { public class ContactMapStore extends TemplateMapStore<Contact> {
public ContactMapStore(JdbcTemplate jdbcTemplate) { public ContactMapStore(JdbcTemplate jdbcTemplate) {
super(jdbcTemplate); super(jdbcTemplate);
} }
@Override
public String getMapName() {
return IMDGDistributedNames.Map_Contact;
}
@Override @Override
public String getTableName() { public String getTableName() {
return "CONTACT"; return "CONTACT";
@ -26,38 +33,24 @@ public class ContactMapStore extends ObjectBaseMapStore<Contact> {
}; };
} }
protected final String insertStatement = makeInsertSql(getTableName(), getFields(), "id");
@Override @Override
public Collection<Contact> load(Collection<Long> keys) { protected Contact objectReader(ResultSet resultSet) throws SQLException {
Map<String, Collection<Long>> paramMap = Collections.singletonMap("ids", keys); Contact object = new Contact();
return namedParameterJdbcTemplate.query("select * from " + getTableName() + " where id in (:ids)", paramMap, object.setId(resultSet.getObject("id", Long.class));
(resultSet, i) -> { object.setCompanyId(resultSet.getObject("company_id", Long.class));
Contact contact = new Contact(); object.setContactType(resultSet.getObject("contact_type", String.class));
contact.setId(resultSet.getObject("id", Long.class)); object.setContactValue(resultSet.getObject("contact_value", String.class));
contact.setCompanyId(resultSet.getObject("company_id", Long.class)); return object;
contact.setContactType(resultSet.getObject("contact_type", String.class));
contact.setContactValue(resultSet.getObject("contact_value", String.class));
return contact;
});
} }
@Override @Override
public void store(Map<Long, Contact> map) { protected Object[] objectToField(Contact resultSet) {
List<Object[]> batchArgs = new ArrayList<>(); Object[] args = new Object[]{
resultSet.getId(),
for (Map.Entry<Long, Contact> entry : map.entrySet()) { resultSet.getCompanyId(),
Contact contact = entry.getValue(); resultSet.getContactType(),
resultSet.getContactValue()
Object[] args = new Object[]{ };
contact.getId(), return args;
contact.getCompanyId(),
contact.getContactType(),
contact.getContactValue()
};
batchArgs.add(args);
}
batchInsertUpdate(insertStatement, batchArgs);
} }
} }

View file

@ -3,18 +3,25 @@ package ru.spcex.clearing.imdg.object;
import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import ru.clearing.classes.statics.data.profile.ProfileDocument; import ru.clearing.classes.statics.data.profile.ProfileDocument;
import ru.spcex.clearing.imdg.base.ObjectBaseMapStore; import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.imdg.base.TemplateMapStore;
import ru.spcex.platform.utils.time.TimeUtil; import ru.spcex.platform.utils.time.TimeUtil;
import java.util.*; import java.sql.ResultSet;
import java.sql.SQLException;
@Component @Component
public class ProfileDocumentMapStore extends ObjectBaseMapStore<ProfileDocument> { public class ProfileDocumentMapStore extends TemplateMapStore<ProfileDocument> {
public ProfileDocumentMapStore(JdbcTemplate jdbcTemplate) { public ProfileDocumentMapStore(JdbcTemplate jdbcTemplate) {
super(jdbcTemplate); super(jdbcTemplate);
} }
@Override
public String getMapName() {
return IMDGDistributedNames.Map_ProfileDocument;
}
@Override @Override
public String getTableName() { public String getTableName() {
return "PROFILE_DOCUMENT"; return "PROFILE_DOCUMENT";
@ -28,56 +35,42 @@ public class ProfileDocumentMapStore extends ObjectBaseMapStore<ProfileDocument>
}; };
} }
protected final String insertStatement = makeInsertSql(getTableName(), getFields(), "id");
@Override @Override
public Collection<ProfileDocument> load(Collection<Long> keys) { protected ProfileDocument objectReader(ResultSet resultSet) throws SQLException {
Map<String, Collection<Long>> paramMap = Collections.singletonMap("ids", keys); ProfileDocument object = new ProfileDocument();
return namedParameterJdbcTemplate.query("select * from " + getTableName() + " where id in (:ids)", paramMap, object.setId(resultSet.getObject("id", Long.class));
(resultSet, i) -> { object.setCompanyId(resultSet.getObject("company_id", Long.class));
ProfileDocument profileDocument = new ProfileDocument(); object.setDocumentType(resultSet.getObject("document_type", String.class));
profileDocument.setId(resultSet.getObject("id", Long.class)); object.setIssueDate(getInstantFromTimestamp(resultSet, "issue_date"));
profileDocument.setCompanyId(resultSet.getObject("company_id", Long.class)); object.setIssuePlace(resultSet.getObject("issue_place", String.class));
profileDocument.setDocumentType(resultSet.getObject("document_type", String.class)); object.setIssuer(resultSet.getObject("issuer", String.class));
profileDocument.setIssueDate(getInstantFromTimestamp(resultSet,"issue_date")); object.setIssuerCode(resultSet.getObject("issuer_code", String.class));
profileDocument.setIssuePlace(resultSet.getObject("issue_place", String.class)); object.setName(resultSet.getObject("name", String.class));
profileDocument.setIssuer(resultSet.getObject("issuer", String.class)); object.setNumber(resultSet.getObject("number", String.class));
profileDocument.setIssuerCode(resultSet.getObject("issuer_code", String.class)); object.setPlace(resultSet.getObject("place", String.class));
profileDocument.setName(resultSet.getObject("name", String.class)); object.setValidFromDate(getInstantFromTimestamp(resultSet, "valid_from_date"));
profileDocument.setNumber(resultSet.getObject("number", String.class)); object.setValidToDate(getInstantFromTimestamp(resultSet, "valid_to_date"));
profileDocument.setPlace(resultSet.getObject("place", String.class)); object.setLink(resultSet.getObject("LINK", String.class));
profileDocument.setValidFromDate(getInstantFromTimestamp(resultSet,"valid_from_date")); return object;
profileDocument.setValidToDate(getInstantFromTimestamp(resultSet,"valid_to_date"));
profileDocument.setLink(resultSet.getObject("LINK", String.class));
return profileDocument;
});
} }
@Override @Override
public void store(Map<Long, ProfileDocument> map) { protected Object[] objectToField(ProfileDocument resultSet) {
List<Object[]> batchArgs = new ArrayList<>(); Object[] args = new Object[]{
resultSet.getId(),
for (Map.Entry<Long, ProfileDocument> entry : map.entrySet()) { resultSet.getCompanyId(),
ProfileDocument profileDocument = entry.getValue(); resultSet.getDocumentType(),
TimeUtil.toDateFromInstant(resultSet.getIssueDate()),
Object[] args = new Object[]{ resultSet.getIssuePlace(),
profileDocument.getId(), resultSet.getIssuer(),
profileDocument.getCompanyId(), resultSet.getIssuerCode(),
profileDocument.getDocumentType(), resultSet.getName(),
TimeUtil.toDateFromInstant(profileDocument.getIssueDate()), resultSet.getNumber(),
profileDocument.getIssuePlace(), resultSet.getPlace(),
profileDocument.getIssuer(), TimeUtil.toDateFromInstant(resultSet.getValidFromDate()),
profileDocument.getIssuerCode(), TimeUtil.toDateFromInstant(resultSet.getValidToDate()),
profileDocument.getName(), resultSet.getLink()
profileDocument.getNumber(), };
profileDocument.getPlace(), return args;
TimeUtil.toDateFromInstant(profileDocument.getValidFromDate()),
TimeUtil.toDateFromInstant(profileDocument.getValidToDate()),
profileDocument.getLink()
};
batchArgs.add(args);
}
batchInsertUpdate(insertStatement, batchArgs);
} }
} }