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 {
|
public final class IMDGDistributedNames {
|
||||||
private IMDGDistributedNames() {
|
private IMDGDistributedNames() {
|
||||||
}
|
}
|
||||||
|
|
@ -42,6 +42,13 @@
|
||||||
<scope>compile</scope>
|
<scope>compile</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>ru.spcex.clearing</groupId>
|
||||||
|
<artifactId>imdg-util</artifactId>
|
||||||
|
<version>SPCEX-1.0.0.0</version>
|
||||||
|
<scope>compile</scope>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<!-- JDBC -->
|
<!-- JDBC -->
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|
|
||||||
|
|
@ -6,17 +6,15 @@ import org.apache.commons.lang3.StringUtils;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Qualifier;
|
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import ru.spcex.clearing.imdg.base.TemplateMapStore;
|
import ru.spcex.clearing.imdg.base.TemplateMapStore;
|
||||||
import ru.spcex.clearing.imdg.businessevent.CompanyUpdateMapStore;
|
import ru.spcex.clearing.imdg.businessevent.CompanyUpdateMapStore;
|
||||||
import ru.spcex.clearing.imdg.businessobject.CompanyMapStore;
|
import ru.spcex.clearing.imdg.businessobject.CompanyMapStore;
|
||||||
import ru.spcex.clearing.imdg.dictionary.*;
|
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.CompanySymbolsMapStore;
|
||||||
import ru.spcex.clearing.imdg.object.ContactMapStore;
|
import ru.spcex.clearing.imdg.object.ContactMapStore;
|
||||||
import ru.spcex.clearing.imdg.object.ProfileDocumentMapStore;
|
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.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
|
|
||||||
|
|
@ -3,14 +3,11 @@ 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.StaticData.Company.CompanyRoleSet;
|
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.base.TemplateMapStore;
|
||||||
import ru.spcex.clearing.imdg.utils.DbUtilsHelper;
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
import ru.spcex.clearing.imdg.utils.IMDGDistributedNames;
|
|
||||||
|
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.util.*;
|
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
public class CompanyRoleSetMapStore extends TemplateMapStore<CompanyRoleSet> {
|
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.clearing.classes.objects.BusinessObject;
|
||||||
import ru.spcex.clearing.imdg.base.DictionaryMapStore;
|
import ru.spcex.clearing.imdg.base.DictionaryMapStore;
|
||||||
import ru.spcex.clearing.imdg.base.SimpleObjectMapStore;
|
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 ru.spcex.platform.imdg.iml.hazelcast.util.HazelcastHelper;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.InitializingBean;
|
import org.springframework.beans.factory.InitializingBean;
|
||||||
import ru.clearing.classes.objects.BusinessEvent;
|
import ru.clearing.classes.objects.BusinessEvent;
|
||||||
import ru.spcex.clearing.imdg.utils.IMDGDistributedNames;
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
|
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import ru.clearing.classes.StaticData.Company.Company;
|
import ru.clearing.classes.StaticData.Company.Company;
|
||||||
import ru.clearing.classes.StaticData.Company.CompanyUpdate;
|
import ru.clearing.classes.StaticData.Company.CompanyUpdate;
|
||||||
import ru.spcex.clearing.imdg.utils.IMDGDistributedNames;
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class UpdateMapService extends AbstractUpdateMapService {
|
public class UpdateMapService extends AbstractUpdateMapService {
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,7 @@
|
||||||
<module>classes</module>
|
<module>classes</module>
|
||||||
<module>backend-api</module>
|
<module>backend-api</module>
|
||||||
<module>imdg</module>
|
<module>imdg</module>
|
||||||
|
<module>imdg-util</module>
|
||||||
<module>db-scripts</module>
|
<module>db-scripts</module>
|
||||||
<module>dbf-importer</module>
|
<module>dbf-importer</module>
|
||||||
<module>dbf-exporter</module>
|
<module>dbf-exporter</module>
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue