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 b946d0d83..0e91ada63 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 @@ -16,6 +16,7 @@ import java.time.Instant; import java.time.LocalDate; import java.time.ZoneId; import java.time.format.DateTimeFormatter; +import java.time.temporal.ChronoUnit; import java.util.*; import static ru.spcex.clearing.imdg.base.ObjectBaseMapStore.MAX_IN_CLAUSE_SIZE; @@ -75,20 +76,21 @@ public abstract class AbstractSliceMapLoader implements Autoco @Override public Iterable loadAllKeys() { - //fixme понять какое поле подходит большинству таблиц. created_at??? - //fixme пока выгружаются все ключи безотносительно даты -// return Collections.emptyList(); -// Instant yesterdayInstant = Instant.now().minus(0, ChronoUnit.DAYS); -// Instant halfYearAgo = yesterdayInstant.minus(365, ChronoUnit.DAYS); -// List ids = jdbcTemplate.query("select id from " + getTableName() + " where CAST(tradingday as DATE) <= ? and CAST(tradingday as DATE) >= ? ", -// new Object[]{FIREBIRD_INSTANT_FORMATTER.format(yesterdayInstant), FIREBIRD_INSTANT_FORMATTER.format(halfYearAgo)}, log.debug("loading all keys from {}...", getTableName()); - List ids = jdbcTemplate.query("select id from " + getTableName(), - (resultSet, i) -> resultSet.getObject("id", Long.class)); + LocalDate yesterdayInstant = LocalDate.now().minus(0, ChronoUnit.DAYS); +// Instant yesterdayInstant = Instant.now().minus(0, ChronoUnit.DAYS); + LocalDate fewDaysAgo = yesterdayInstant.minus(2, ChronoUnit.DAYS); + String fieldOfDay = fieldOfDay(); + List ids = jdbcTemplate.query("select id from " + getTableName() + " where " + fieldOfDay + " <= ? " + + "and " + fieldOfDay + " >= ? ", + (resultSet, i) -> resultSet.getLong("id"), + yesterdayInstant, fewDaysAgo); log.debug("loading all keys from {} done; size={}", getTableName(), ids.size()); return ids; } + protected abstract String fieldOfDay(); + protected LocalDate getLocalDateFromSqlDate(ResultSet rs, String column) throws SQLException { Date date = rs.getDate(column); return date != null ? date.toLocalDate() : null; diff --git a/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/SearchAdmittedLiabilitiesRegisterMapStore.java b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/SearchAdmittedLiabilitiesRegisterMapStore.java index 791357068..4bb973872 100644 --- a/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/SearchAdmittedLiabilitiesRegisterMapStore.java +++ b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/SearchAdmittedLiabilitiesRegisterMapStore.java @@ -19,7 +19,12 @@ public class SearchAdmittedLiabilitiesRegisterMapStore extends AbstractSliceMapL protected String getTableName() { return "admitted_liabilities_register"; } -// + + @Override + protected String fieldOfDay() { + return "clearing_date"; + } + @Override public Collection load(Collection keys) { diff --git a/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/SearchCoveredLiabilitiesRegisterMapStore.java b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/SearchCoveredLiabilitiesRegisterMapStore.java index e0b21fbc6..50cc7b907 100644 --- a/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/SearchCoveredLiabilitiesRegisterMapStore.java +++ b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/SearchCoveredLiabilitiesRegisterMapStore.java @@ -19,7 +19,11 @@ public class SearchCoveredLiabilitiesRegisterMapStore extends AbstractSliceMapLo protected String getTableName() { return "covered_liabilities_register"; } -// + + @Override + protected String fieldOfDay() { + return "clearing_date"; + } @Override public Collection load(Collection keys) { diff --git a/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/SearchDepoPaymentInstructionRegisterMapStore.java b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/SearchDepoPaymentInstructionRegisterMapStore.java index 7e5234bb8..5ff31e4e8 100644 --- a/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/SearchDepoPaymentInstructionRegisterMapStore.java +++ b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/SearchDepoPaymentInstructionRegisterMapStore.java @@ -20,6 +20,10 @@ public class SearchDepoPaymentInstructionRegisterMapStore extends AbstractSliceM return "depo_payment_instruction_register"; } + @Override + protected String fieldOfDay() { + return "CREATED_AT"; + } @Override public Collection load(Collection keys) { Map> paramMap = Collections.singletonMap("ids", keys); @@ -34,7 +38,7 @@ public class SearchDepoPaymentInstructionRegisterMapStore extends AbstractSliceM @Override public String getMapName() { - return IMDGDistributedNames.Map_SearchMoneyPaymentInstructionRegister; + return IMDGDistributedNames.Map_SearchDepoPaymentInstructionRegister; } @Override diff --git a/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/SearchExcludeLiabilitiesRegisterMapStore.java b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/SearchExcludeLiabilitiesRegisterMapStore.java index 9e0a538eb..1b4e04950 100644 --- a/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/SearchExcludeLiabilitiesRegisterMapStore.java +++ b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/SearchExcludeLiabilitiesRegisterMapStore.java @@ -20,6 +20,10 @@ public class SearchExcludeLiabilitiesRegisterMapStore extends AbstractSliceMapLo return "exclude_liabilities_register"; } + @Override + protected String fieldOfDay() { + return "CREATED_AT"; + } @Override public Collection load(Collection keys) { Map> paramMap = Collections.singletonMap("ids", keys); @@ -34,7 +38,7 @@ public class SearchExcludeLiabilitiesRegisterMapStore extends AbstractSliceMapLo @Override public String getMapName() { - return IMDGDistributedNames.Map_SearchMoneyPaymentInstructionRegister; + return IMDGDistributedNames.Map_SearchExcludeLiabilitiesRegister; } @Override diff --git a/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/SearchExecutionDepositMapStore.java b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/SearchExecutionDepositMapStore.java index 5ba4c285a..f362903a1 100644 --- a/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/SearchExecutionDepositMapStore.java +++ b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/SearchExecutionDepositMapStore.java @@ -20,6 +20,11 @@ public class SearchExecutionDepositMapStore extends AbstractSliceMapLoader load(Collection keys) { Map> paramMap = Collections.singletonMap("ids", keys); diff --git a/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/SearchExecutionFondMapStore.java b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/SearchExecutionFondMapStore.java index f2c8a7c1e..184504b14 100644 --- a/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/SearchExecutionFondMapStore.java +++ b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/SearchExecutionFondMapStore.java @@ -20,6 +20,11 @@ public class SearchExecutionFondMapStore extends AbstractSliceMapLoader load(Collection keys) { Map> paramMap = Collections.singletonMap("ids", keys); diff --git a/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/SearchExecutionRegisterMapStore.java b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/SearchExecutionRegisterMapStore.java index 719ec012c..67b0dd64c 100644 --- a/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/SearchExecutionRegisterMapStore.java +++ b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/mapstores/SearchExecutionRegisterMapStore.java @@ -20,6 +20,11 @@ public class SearchExecutionRegisterMapStore extends AbstractSliceMapLoader load(Collection keys) { Map> paramMap = Collections.singletonMap("ids", keys); @@ -34,7 +39,7 @@ public class SearchExecutionRegisterMapStore extends AbstractSliceMapLoader load(Collection keys) { Map> paramMap = Collections.singletonMap("ids", keys); @@ -34,7 +39,7 @@ public class SearchLiabilitiesRegisterMapStore extends AbstractSliceMapLoader loadAllKeys() { -// //пример loadAllKeys -// log.debug("loading all keys from {}...", getTableName()); -// LocalDate upperInstant = LocalDate.now().plus(1, ChronoUnit.DAYS); -// LocalDate halfYearAgo = upperInstant.minus(365, ChronoUnit.DAYS); -// List ids = jdbcTemplate.query("select id from " + getTableName() + " where CAST(created_at as DATE) <= ? and CAST(created_at as DATE) >= ? ", -// new Object[]{upperInstant, halfYearAgo}, -// (resultSet, i) -> resultSet.getObject("id", Long.class)); -// log.debug("loading all keys from {} done; size={}", getTableName(), ids.size()); -// return ids; -// //LocalDate today = LocalDate.now(); -// // log.debug("loadAllKeys from {} on {} {} today", getTableName(), dateField, canBeGreat ? ">=" : "="); -// // List keys; -// // try { -// // keys = jdbcTemplate.query("select id from " + getTableName() + " where " + dateField + (canBeGreat ? " >= ?" : " = ?"), -// // (resultSet, i) -> resultSet.getLong("id"), -// // new Object[]{today}); -// // } catch (Throwable e) { -// // log.error("At load keys from {} (by field {}): {}", getTableName(), dateField, ExceptionUtils.getStackTrace(e)); -// // throw e; -// // } -// } + + @Override + protected String fieldOfDay() { + return "CREATED_AT"; + } @Override public Collection load(Collection keys) { 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 index 7c49cde3c..0ff10ce22 100644 --- 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 @@ -20,6 +20,11 @@ public class SearchMoneyPaymentInstructionRegisterMapStore extends AbstractSlice return "money_payment_instruction_register"; } + @Override + protected String fieldOfDay() { + return "clearing_date"; + } + @Override public Collection load(Collection keys) { Map> paramMap = Collections.singletonMap("ids", keys); diff --git a/clearing-parent/imdg-hist/src/main/resources/application.properties b/clearing-parent/imdg-hist/src/main/resources/application.properties index 87fc068e3..3a50c9896 100644 --- a/clearing-parent/imdg-hist/src/main/resources/application.properties +++ b/clearing-parent/imdg-hist/src/main/resources/application.properties @@ -2,9 +2,9 @@ imdg.hist.hazelcast.listenPort=5702 imdg.hist.hazelcast.login=dev-hist imdg.hist.hazelcast.password=dev-pass-hist imdg.hist.hazelcast.cluster-members[0]=127.0.0.1 -imdg.hist.database.login=clearing +imdg.hist.database.login=cls_dev imdg.hist.database.password=Aa111111 -imdg.hist.database.url=jdbc:postgresql://10.200.200.133:5432/clearing?currentSchema=clearing_prod +imdg.hist.database.url=jdbc:postgresql://10.200.200.133:5432/clearing?currentSchema=clearing_dev #imdg.database.url=jdbc:postgresql://10.200.200.133:5432/postgres?currentSchema=clearing_tester #debug tester mode: