http://jira.mfd.msk:8088/browse/CLS-13 добавил мапсторы (не все), рефакторинг
This commit is contained in:
parent
7009933409
commit
007072afa6
11 changed files with 177 additions and 12 deletions
20
clearing-parent/imdg-util/pom.xml
Normal file
20
clearing-parent/imdg-util/pom.xml
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<parent>
|
||||
<artifactId>clearing-parent</artifactId>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<version>SPCEX-1.0.0.0</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>imdg-util</artifactId>
|
||||
<description>Клиентские утилиты для подключения к IMDG хранилищу</description>
|
||||
|
||||
<properties>
|
||||
<maven.compiler.source>17</maven.compiler.source>
|
||||
<maven.compiler.target>17</maven.compiler.target>
|
||||
</properties>
|
||||
|
||||
</project>
|
||||
|
|
@ -1,6 +1,8 @@
|
|||
package ru.spcex.clearing.imdg.utils;
|
||||
package ru.spcex.clearing.imdg;
|
||||
|
||||
//fixme перенести в новый модуль IMDGDistributedNames
|
||||
/**
|
||||
* Список имён распределённых объектов
|
||||
*/
|
||||
public final class IMDGDistributedNames {
|
||||
private IMDGDistributedNames() {
|
||||
}
|
||||
|
|
@ -42,6 +42,13 @@
|
|||
<scope>compile</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<artifactId>imdg-util</artifactId>
|
||||
<version>SPCEX-1.0.0.0</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
|
||||
<!-- JDBC -->
|
||||
|
||||
<dependency>
|
||||
|
|
|
|||
|
|
@ -6,17 +6,15 @@ import org.apache.commons.lang3.StringUtils;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import ru.spcex.clearing.imdg.base.TemplateMapStore;
|
||||
import ru.spcex.clearing.imdg.businessevent.CompanyUpdateMapStore;
|
||||
import ru.spcex.clearing.imdg.businessobject.CompanyMapStore;
|
||||
import ru.spcex.clearing.imdg.dictionary.*;
|
||||
import ru.spcex.clearing.imdg.object.CompanyRoleSetMapStore;
|
||||
import ru.spcex.clearing.imdg.object.CompanySymbolsMapStore;
|
||||
import ru.spcex.clearing.imdg.object.ContactMapStore;
|
||||
import ru.spcex.clearing.imdg.object.ProfileDocumentMapStore;
|
||||
import ru.spcex.clearing.imdg.utils.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
|
|
|
|||
|
|
@ -3,14 +3,11 @@ package ru.spcex.clearing.imdg.object;
|
|||
import org.springframework.jdbc.core.JdbcTemplate;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.StaticData.Company.CompanyRoleSet;
|
||||
import ru.spcex.clearing.imdg.base.ObjectBaseMapStore;
|
||||
import ru.spcex.clearing.imdg.base.TemplateMapStore;
|
||||
import ru.spcex.clearing.imdg.utils.DbUtilsHelper;
|
||||
import ru.spcex.clearing.imdg.utils.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.util.*;
|
||||
|
||||
@Component
|
||||
public class CompanyRoleSetMapStore extends TemplateMapStore<CompanyRoleSet> {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,66 @@
|
|||
package ru.spcex.clearing.imdg.object;
|
||||
|
||||
import org.springframework.jdbc.core.JdbcTemplate;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.StaticData.Misc.KeyRate;
|
||||
import ru.spcex.clearing.imdg.base.TemplateMapStore;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.imdg.utils.TimeUtil;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
|
||||
@Component
|
||||
public class KeyRateMapStore extends TemplateMapStore<KeyRate> {
|
||||
|
||||
public KeyRateMapStore(JdbcTemplate jdbcTemplate) {
|
||||
super(jdbcTemplate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTableName() {
|
||||
return "KEY_RATE";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getMapName() {
|
||||
return IMDGDistributedNames.Map_KeyRate;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getIndexingField() {
|
||||
return new String[]{"startDate", "endDate"};
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getFields() {
|
||||
return new String[]{"id", "rate", "start_date", "end_date", "document", "workflow_status"};
|
||||
}
|
||||
|
||||
@Override
|
||||
protected KeyRate objectReader(ResultSet resultSet) throws SQLException {
|
||||
KeyRate keyRate = new KeyRate();
|
||||
keyRate.setId(resultSet.getObject("ID", Long.class));
|
||||
keyRate.setRate(resultSet.getObject("RATE", BigDecimal.class));
|
||||
keyRate.setStartDate(getInstantFromTimestamp(resultSet,"START_DATE"));
|
||||
keyRate.setEndDate(getInstantFromTimestamp(resultSet, "END_DATE"));
|
||||
keyRate.setDocument(resultSet.getObject("DOCUMENT", String.class));
|
||||
keyRate.setWorkflowStatus(resultSet.getObject("WORKFLOW_STATUS", String.class));
|
||||
return keyRate;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Object[] objectToField(KeyRate partnerList) {
|
||||
Object[] args = new Object[]{
|
||||
partnerList.getId(),
|
||||
partnerList.getRate(),
|
||||
TimeUtil.fromInstant(partnerList.getStartDate()),
|
||||
TimeUtil.fromInstant(partnerList.getEndDate()),
|
||||
partnerList.getDocument(),
|
||||
partnerList.getWorkflowStatus()
|
||||
};
|
||||
return args;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,74 @@
|
|||
package ru.spcex.clearing.imdg.object;
|
||||
|
||||
import org.springframework.jdbc.core.JdbcTemplate;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.StaticData.Misc.MoneyMarketSecurity;
|
||||
import ru.spcex.clearing.imdg.base.TemplateMapStore;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.imdg.utils.TimeUtil;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
|
||||
@Component
|
||||
public class MoneyMarketSecurityMapStore extends TemplateMapStore<MoneyMarketSecurity> {
|
||||
|
||||
public MoneyMarketSecurityMapStore(JdbcTemplate jdbcTemplate) {
|
||||
super(jdbcTemplate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTableName() {
|
||||
return "MONEY_MARKET_SECURITY";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getMapName() {
|
||||
return IMDGDistributedNames.Map_MoneyMarketSecurity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getIndexingField() {
|
||||
return new String[]{"securityId"};
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getFields() {
|
||||
return new String[]{"ID", "SECURITY_ID", "DESCRIPTION", "START_DATE", "END_DATE", "NOMINAL_VALUE", "NOMINAL_CURRENCY", "INSTRUMENT_TYPE", "FULL_NAME", "SECURITY_SYMBOL"};
|
||||
}
|
||||
|
||||
@Override
|
||||
protected MoneyMarketSecurity objectReader(ResultSet resultSet) throws SQLException {
|
||||
MoneyMarketSecurity object = new MoneyMarketSecurity();
|
||||
object.setId(resultSet.getObject("ID", Long.class));
|
||||
object.setSecurityId(resultSet.getObject("SECURITY_ID", Long.class));
|
||||
object.setDescription(resultSet.getObject("DESCRIPTION", String.class));
|
||||
object.setStartDate(getInstantFromTimestamp(resultSet, "START_DATE"));
|
||||
object.setEndDate(getInstantFromTimestamp(resultSet, "END_DATE"));
|
||||
object.setNominalValue(resultSet.getObject("NOMINAL_VALUE", BigDecimal.class));
|
||||
object.setNominalCurrency(resultSet.getObject("NOMINAL_CURRENCY", Long.class));
|
||||
object.setInstrumentType(resultSet.getObject("INSTRUMENT_TYPE", String.class));
|
||||
object.setFullName(resultSet.getObject("FULL_NAME", String.class));
|
||||
object.setSecuritySymbol(resultSet.getObject("SECURITY_SYMBOL", String.class));
|
||||
return object;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Object[] objectToField(MoneyMarketSecurity moneyMarketSecurity) {
|
||||
Object[] args = new Object[]{
|
||||
moneyMarketSecurity.getId(),
|
||||
moneyMarketSecurity.getSecurityId(),
|
||||
moneyMarketSecurity.getDescription(),
|
||||
TimeUtil.fromInstant(moneyMarketSecurity.getStartDate()),
|
||||
TimeUtil.fromInstant(moneyMarketSecurity.getEndDate()),
|
||||
moneyMarketSecurity.getNominalValue(),
|
||||
moneyMarketSecurity.getNominalCurrency(),
|
||||
moneyMarketSecurity.getInstrumentType(),
|
||||
moneyMarketSecurity.getFullName(),
|
||||
moneyMarketSecurity.getSecuritySymbol()
|
||||
};
|
||||
return args;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -14,7 +14,7 @@ import org.springframework.jdbc.core.JdbcTemplate;
|
|||
import ru.clearing.classes.objects.BusinessObject;
|
||||
import ru.spcex.clearing.imdg.base.DictionaryMapStore;
|
||||
import ru.spcex.clearing.imdg.base.SimpleObjectMapStore;
|
||||
import ru.spcex.clearing.imdg.utils.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.platform.imdg.iml.hazelcast.util.HazelcastHelper;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import org.slf4j.Logger;
|
|||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.InitializingBean;
|
||||
import ru.clearing.classes.objects.BusinessEvent;
|
||||
import ru.spcex.clearing.imdg.utils.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
import java.time.Instant;
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||
import org.springframework.stereotype.Service;
|
||||
import ru.clearing.classes.StaticData.Company.Company;
|
||||
import ru.clearing.classes.StaticData.Company.CompanyUpdate;
|
||||
import ru.spcex.clearing.imdg.utils.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
@Service
|
||||
public class UpdateMapService extends AbstractUpdateMapService {
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@
|
|||
<module>classes</module>
|
||||
<module>backend-api</module>
|
||||
<module>imdg</module>
|
||||
<module>imdg-util</module>
|
||||
<module>db-scripts</module>
|
||||
<module>dbf-importer</module>
|
||||
<module>dbf-exporter</module>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue