diff --git a/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/index/SearchProxy.java b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/index/SearchProxy.java index 0eb4fee26..fa96477e2 100644 --- a/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/index/SearchProxy.java +++ b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/index/SearchProxy.java @@ -2,12 +2,12 @@ package ru.spcex.clearing.historyimdg.index; import ru.spcex.clearing.historyimdg.index.field.SearchWithId; -import ru.spcex.clearing.historyimdg.index.field.SearchWithTradingDay; +import ru.spcex.clearing.historyimdg.index.field.SearchWithTradingDate; import ru.spcex.platform.classes.base.SpcexObjectBase; import java.time.LocalDate; -public class SearchProxy extends SpcexObjectBase implements SearchWithTradingDay, SearchWithId { +public class SearchProxy extends SpcexObjectBase implements SearchWithTradingDate, SearchWithId { private LocalDate tradingDate; @Override diff --git a/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/index/SearchProxyExecutionDeposit.java b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/index/SearchProxyExecutionDeposit.java new file mode 100644 index 000000000..80406f433 --- /dev/null +++ b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/index/SearchProxyExecutionDeposit.java @@ -0,0 +1,19 @@ +package ru.spcex.clearing.historyimdg.index; + +import ru.spcex.clearing.historyimdg.index.field.SearchWithTradingDate; + +import java.time.LocalDate; + +public class SearchProxyExecutionDeposit extends SearchProxy implements SearchWithTradingDate { + private LocalDate tradingDate; + + @Override + public LocalDate getTradingDate() { + return tradingDate; + } + + @Override + public void setTradingDate(LocalDate tradingDate) { + this.tradingDate = tradingDate; + } +} diff --git a/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/index/SearchProxyMoneyBalanceRegister.java b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/index/SearchProxyMoneyBalanceRegister.java new file mode 100644 index 000000000..ab9286877 --- /dev/null +++ b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/index/SearchProxyMoneyBalanceRegister.java @@ -0,0 +1,19 @@ +package ru.spcex.clearing.historyimdg.index; + +import ru.spcex.clearing.historyimdg.index.field.SearchWithCreated; + +import java.time.Instant; + +public class SearchProxyMoneyBalanceRegister extends SearchProxy implements SearchWithCreated { + private Instant created; + + @Override + public Instant getCreated() { + return created; + } + + @Override + public void setCreated(Instant created) { + this.created = created; + } +} diff --git a/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/index/SearchProxyMoneyPaymentInstructionRegister.java b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/index/SearchProxyMoneyPaymentInstructionRegister.java new file mode 100644 index 000000000..f4204229f --- /dev/null +++ b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/index/SearchProxyMoneyPaymentInstructionRegister.java @@ -0,0 +1,19 @@ +package ru.spcex.clearing.historyimdg.index; + +import ru.spcex.clearing.historyimdg.index.field.SearchWithClearingDate; + +import java.time.LocalDate; + +public class SearchProxyMoneyPaymentInstructionRegister extends SearchProxy implements SearchWithClearingDate { + private LocalDate clearingDate; + + @Override + public LocalDate getClearingDate() { + return clearingDate; + } + + @Override + public void setClearingDate(LocalDate clearingDate) { + this.clearingDate = clearingDate; + } +} diff --git a/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/index/SearchProxyRegistry.java b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/index/SearchProxyRegistry.java deleted file mode 100644 index d6ed646ee..000000000 --- a/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/index/SearchProxyRegistry.java +++ /dev/null @@ -1,24 +0,0 @@ -package ru.spcex.clearing.historyimdg.index; - -import ru.spcex.clearing.historyimdg.index.field.SearchCompanyId; - -import java.time.LocalDate; - -public class SearchProxyRegistry extends SearchProxy implements SearchCompanyId { - private Long companyId; - - @Override - public Long getCompanyId() { - return companyId; - } - - @Override - public void setCompanyId(Long companyId) { - this.companyId = companyId; - } - - @Override - public void setTradingDate(LocalDate tradingDate) { - - } -} diff --git a/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/index/field/SearchWithClearingDate.java b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/index/field/SearchWithClearingDate.java new file mode 100644 index 000000000..b0cb1f134 --- /dev/null +++ b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/index/field/SearchWithClearingDate.java @@ -0,0 +1,9 @@ +package ru.spcex.clearing.historyimdg.index.field; + +import java.time.LocalDate; + +public interface SearchWithClearingDate { + LocalDate getClearingDate(); + + void setClearingDate(LocalDate value); +} diff --git a/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/index/field/SearchWithCreated.java b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/index/field/SearchWithCreated.java new file mode 100644 index 000000000..35f1b2d7b --- /dev/null +++ b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/index/field/SearchWithCreated.java @@ -0,0 +1,9 @@ +package ru.spcex.clearing.historyimdg.index.field; + +import java.time.Instant; + +public interface SearchWithCreated { + public Instant getCreated(); + + public void setCreated(Instant created); +} diff --git a/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/index/field/SearchWithTradingDay.java b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/index/field/SearchWithTradingDate.java similarity index 80% rename from clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/index/field/SearchWithTradingDay.java rename to clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/index/field/SearchWithTradingDate.java index f1cd6f3b8..79bde1841 100644 --- a/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/index/field/SearchWithTradingDay.java +++ b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/index/field/SearchWithTradingDate.java @@ -2,7 +2,7 @@ package ru.spcex.clearing.historyimdg.index.field; import java.time.LocalDate; -public interface SearchWithTradingDay { +public interface SearchWithTradingDate { LocalDate getTradingDate(); void setTradingDate(LocalDate tradingDate); diff --git a/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/AbstractSliceMapLoader.java b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/AbstractSliceMapLoader.java index 37c2005ac..15246e269 100644 --- a/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/AbstractSliceMapLoader.java +++ b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/AbstractSliceMapLoader.java @@ -11,6 +11,7 @@ import ru.spcex.platform.classes.base.interfaces.WithId; import java.sql.Date; import java.sql.ResultSet; import java.sql.SQLException; +import java.sql.Timestamp; import java.time.Instant; import java.time.LocalDate; import java.time.ZoneId; @@ -90,6 +91,11 @@ public abstract class AbstractSliceMapLoader implements Autoco return date != null ? date.toLocalDate() : null; } + protected Instant getInstantFromTimestamp(ResultSet rs, String column) throws SQLException { + Timestamp date = rs.getTimestamp(column); + return date != null ? date.toInstant() : null; + } + protected abstract Collection load(Collection keys); } diff --git a/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/RegistryHistoryMapStore.java b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/ExecutionDepositHistoryMapStore.java similarity index 52% rename from clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/RegistryHistoryMapStore.java rename to clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/ExecutionDepositHistoryMapStore.java index dc180ddef..20e013886 100644 --- a/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/RegistryHistoryMapStore.java +++ b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/ExecutionDepositHistoryMapStore.java @@ -2,14 +2,14 @@ package ru.spcex.clearing.historyimdg.mapstores; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Component; -import ru.clearing.classes.statics.data.registry.Registry; -import ru.spcex.clearing.imdg.businessobject.RegistryMapStore; +import ru.clearing.classes.statics.data.execution.ExecutionDeposit; +import ru.spcex.clearing.imdg.businessobject.ExecutionDepositMapStore; import java.util.ArrayList; @Component -public class RegistryHistoryMapStore extends RegistryMapStore { - public RegistryHistoryMapStore(JdbcTemplate jdbcTemplate) { +public class ExecutionDepositHistoryMapStore extends ExecutionDepositMapStore { + public ExecutionDepositHistoryMapStore(JdbcTemplate jdbcTemplate) { super(jdbcTemplate); } @@ -19,13 +19,13 @@ public class RegistryHistoryMapStore extends RegistryMapStore { } @Override - protected boolean isLoadable(Registry obj) { + protected boolean isLoadable(ExecutionDeposit obj) { return true; } @Override public Iterable loadAllKeys() { - log.debug("RegistryHistoryMapStore loadAllKeys is called"); + log.debug("ExecutionDeposit loadAllKeys is called"); return new ArrayList<>(); } } diff --git a/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/MoneyBalanceRegisterHistoryMapStore.java b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/MoneyBalanceRegisterHistoryMapStore.java new file mode 100644 index 000000000..eda7341b6 --- /dev/null +++ b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/MoneyBalanceRegisterHistoryMapStore.java @@ -0,0 +1,31 @@ +package ru.spcex.clearing.historyimdg.mapstores; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.classes.statics.data.register.MoneyBalanceRegister; +import ru.spcex.clearing.imdg.businessobject.MoneyBalanceRegisterMapStore; + +import java.util.ArrayList; + +@Component +public class MoneyBalanceRegisterHistoryMapStore extends MoneyBalanceRegisterMapStore { + public MoneyBalanceRegisterHistoryMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + protected boolean isLoadable(Long id) { + return true; + } + + @Override + protected boolean isLoadable(MoneyBalanceRegister obj) { + return true; + } + + @Override + public Iterable loadAllKeys() { + log.debug("MoneyBalanceRegisterHistoryMapStore loadAllKeys is called"); + return new ArrayList<>(); + } +} diff --git a/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/MoneyPaymentInstructionRegisterHistoryMapStore.java b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/MoneyPaymentInstructionRegisterHistoryMapStore.java new file mode 100644 index 000000000..fa4562daf --- /dev/null +++ b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/MoneyPaymentInstructionRegisterHistoryMapStore.java @@ -0,0 +1,31 @@ +package ru.spcex.clearing.historyimdg.mapstores; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.classes.statics.data.register.MoneyPaymentInstructionRegister; +import ru.spcex.clearing.imdg.businessobject.MoneyPaymentInstructionRegisterMapStore; + +import java.util.ArrayList; + +@Component +public class MoneyPaymentInstructionRegisterHistoryMapStore extends MoneyPaymentInstructionRegisterMapStore { + public MoneyPaymentInstructionRegisterHistoryMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + protected boolean isLoadable(Long id) { + return true; + } + + @Override + protected boolean isLoadable(MoneyPaymentInstructionRegister obj) { + return true; + } + + @Override + public Iterable loadAllKeys() { + log.debug("MoneyPaymentInstructionRegisterHistoryMapStore loadAllKeys is called"); + return new ArrayList<>(); + } +} diff --git a/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/SearchRegistryMapStore.java b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/SearchExecutionDepositMapStore.java similarity index 62% rename from clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/SearchRegistryMapStore.java rename to clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/SearchExecutionDepositMapStore.java index 64ca0f478..5ba4c285a 100644 --- a/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/SearchRegistryMapStore.java +++ b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/SearchExecutionDepositMapStore.java @@ -2,7 +2,7 @@ package ru.spcex.clearing.historyimdg.mapstores; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Component; -import ru.spcex.clearing.historyimdg.index.SearchProxyRegistry; +import ru.spcex.clearing.historyimdg.index.SearchProxyExecutionDeposit; import ru.spcex.clearing.imdg.IMDGDistributedNames; import java.util.Collection; @@ -10,36 +10,35 @@ import java.util.Collections; import java.util.Map; @Component -public class SearchRegistryMapStore extends AbstractSliceMapLoader { - public SearchRegistryMapStore(JdbcTemplate jdbcTemplate) { +public class SearchExecutionDepositMapStore extends AbstractSliceMapLoader { + public SearchExecutionDepositMapStore(JdbcTemplate jdbcTemplate) { super(jdbcTemplate); } @Override protected String getTableName() { - return "registry"; + return "execution_deposit"; } @Override - public Collection load(Collection keys) { + public Collection load(Collection keys) { Map> paramMap = Collections.singletonMap("ids", keys); return namedParameterJdbcTemplate.query("select * from " + getTableName() + " where id in (:ids)", paramMap, (rs, rowNum) -> { - SearchProxyRegistry proxyRegistry = new SearchProxyRegistry(); + SearchProxyExecutionDeposit proxyRegistry = new SearchProxyExecutionDeposit(); proxyRegistry.setId(rs.getObject("id", Long.class)); proxyRegistry.setTradingDate(getLocalDateFromSqlDate(rs,"trading_date")); - proxyRegistry.setCompanyId(rs.getObject("company_id", Long.class)); return proxyRegistry; }); } @Override public String getMapName() { - return IMDGDistributedNames.Map_SearchRegistry; + return IMDGDistributedNames.Map_SearchExecutionDeposit; } @Override public String[] getIndexingField() { - return new String[]{"companyId"}; + return new String[]{"tradingDate"}; } } diff --git a/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/SearchMoneyBalanceRegisterMapStore.java b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/SearchMoneyBalanceRegisterMapStore.java new file mode 100644 index 000000000..8dbfce9cd --- /dev/null +++ b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/SearchMoneyBalanceRegisterMapStore.java @@ -0,0 +1,44 @@ +package ru.spcex.clearing.historyimdg.mapstores; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.spcex.clearing.historyimdg.index.SearchProxyMoneyBalanceRegister; +import ru.spcex.clearing.imdg.IMDGDistributedNames; + +import java.util.Collection; +import java.util.Collections; +import java.util.Map; + +@Component +public class SearchMoneyBalanceRegisterMapStore extends AbstractSliceMapLoader { + public SearchMoneyBalanceRegisterMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + protected String getTableName() { + return "money_balance_register"; + } + + @Override + public Collection load(Collection keys) { + Map> paramMap = Collections.singletonMap("ids", keys); + return namedParameterJdbcTemplate.query("select * from " + getTableName() + " where id in (:ids)", paramMap, + (rs, rowNum) -> { + SearchProxyMoneyBalanceRegister proxyRegistry = new SearchProxyMoneyBalanceRegister(); + proxyRegistry.setId(rs.getObject("id", Long.class)); + proxyRegistry.setCreated(getInstantFromTimestamp(rs, "CREATED_AT")); + return proxyRegistry; + }); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_SearchMoneyBalanceRegister; + } + + @Override + public String[] getIndexingField() { + return new String[]{"created"}; + } +} diff --git a/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/SearchMoneyPaymentInstructionRegisterMapStore.java b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/SearchMoneyPaymentInstructionRegisterMapStore.java new file mode 100644 index 000000000..82567a6fd --- /dev/null +++ b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/SearchMoneyPaymentInstructionRegisterMapStore.java @@ -0,0 +1,44 @@ +package ru.spcex.clearing.historyimdg.mapstores; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.spcex.clearing.historyimdg.index.SearchProxyMoneyPaymentInstructionRegister; +import ru.spcex.clearing.imdg.IMDGDistributedNames; + +import java.util.Collection; +import java.util.Collections; +import java.util.Map; + +@Component +public class SearchMoneyPaymentInstructionRegisterMapStore extends AbstractSliceMapLoader { + public SearchMoneyPaymentInstructionRegisterMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + protected String getTableName() { + return "money_payment_instruction_register"; + } + + @Override + public Collection load(Collection keys) { + Map> paramMap = Collections.singletonMap("ids", keys); + return namedParameterJdbcTemplate.query("select * from " + getTableName() + " where id in (:ids)", paramMap, + (rs, rowNum) -> { + SearchProxyMoneyPaymentInstructionRegister proxyRegistry = new SearchProxyMoneyPaymentInstructionRegister(); + proxyRegistry.setId(rs.getObject("id", Long.class)); + proxyRegistry.setClearingDate(getLocalDateFromSqlDate(rs, "clearing_date")); + return proxyRegistry; + }); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_SearchMoneyPaymentInstructionRegister; + } + + @Override + public String[] getIndexingField() { + return new String[]{"created"}; + } +} diff --git a/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java b/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java index e5c7cf0a4..0047bd791 100644 --- a/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java +++ b/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java @@ -195,7 +195,16 @@ public final class IMDGDistributedNames { public static final String Map_PriorityDictionary = "Map_PriorityDictionary"; //-------------------history and search tables - public static final String Map_SearchRegistry = "Map_SearchRegistry"; + public static final String Map_SearchExecutionDeposit = "Map_SearchDeposit"; + public static final String Map_SearchExecutionFond = "Map_SearchExecutionFond"; + public static final String Map_SearchMoneyBalanceRegister = "Map_SearchMoneyBalanceRegister"; + public static final String Map_SearchAdmittedLiabilitiesRegister = "Map_SearchAdmittedLiabilitiesRegister"; + public static final String Map_SearchCoveredLiabilitiesRegister = "Map_SearchCoveredLiabilitiesRegister"; + public static final String Map_SearchMoneyPaymentInstructionRegister = "Map_SearchMoneyPaymentInstructionRegister"; + public static final String Map_SearchDepoPaymentInstructionRegister = "Map_SearchDepoPaymentInstructionRegister"; + public static final String Map_SearchExcludeLiabilitiesRegister = "Map_SearchExcludeLiabilitiesRegister"; + public static final String Map_SearchLiabilitiesRegister = "Map_SearchLiabilitiesRegister"; + public static final String Map_SearchExecutionRegister = "Map_SearchExecutionRegister"; public static final String MAP_SEQUENCE_NAME = "MAP_SEQUENCE_NAME"; private IMDGDistributedNames() {