From 49729c4d0893c438a4a3202ac0c472d55f4088fd Mon Sep 17 00:00:00 2001 From: aalehin Date: Tue, 29 Nov 2022 19:10:53 +0300 Subject: [PATCH] http://jira.mfd.msk:8088/browse/CLS-51 --- some fix up --- .../AbstractHazelcastLifecycleSupport.java | 29 +++++++++--------- .../ru/spcex/clearing/imdg/util/Util.java | 30 +++++++++++++++++++ 2 files changed, 44 insertions(+), 15 deletions(-) create mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/util/Util.java diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/services/AbstractHazelcastLifecycleSupport.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/services/AbstractHazelcastLifecycleSupport.java index 5c1e24129..e55d066a8 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/services/AbstractHazelcastLifecycleSupport.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/services/AbstractHazelcastLifecycleSupport.java @@ -19,30 +19,30 @@ import java.util.ArrayList; import java.util.List; import java.util.concurrent.*; +import static ru.spcex.clearing.imdg.util.Util.makeSchedulerAllTodayMap; + //todo почистить класс public abstract class AbstractHazelcastLifecycleSupport implements InitializingBean, DisposableBean { - /** - * Рабочая версия БД. Треьуется вручную сверять с DDL.sql и накручивать эту переменную. - */ - public abstract String getCheckDbVersion(); - - /** - * Обязательная сверка у этих классов SerialVersionUID во время подключения к Storage. - */ - public abstract Class[] getSerialVersionUIDClasses(); - private final Logger log = LoggerFactory.getLogger(this.getClass()); - private final HazelcastInstance hazelcastServerInstance; private final JdbcTemplate jdbcTemplate; -// private final HazelcastClientListener clientListener; -// private final ITaskAdministrator startupTasksAdministrator; public AbstractHazelcastLifecycleSupport(HazelcastInstance hazelcastServerInstance, JdbcTemplate jdbcTemplate) { this.hazelcastServerInstance = hazelcastServerInstance; this.jdbcTemplate = jdbcTemplate; } + /** + * Рабочая версия БД. Треьуется вручную сверять с DDL.sql и накручивать эту переменную. + */ + public abstract String getCheckDbVersion(); +// private final HazelcastClientListener clientListener; +// private final ITaskAdministrator startupTasksAdministrator; + + /** + * Обязательная сверка у этих классов SerialVersionUID во время подключения к Storage. + */ + public abstract Class[] getSerialVersionUIDClasses(); @Override public void afterPropertiesSet() { @@ -99,7 +99,7 @@ public abstract class AbstractHazelcastLifecycleSupport implements InitializingB boolean generatorResult = generator.init(maxKey); if (generatorResult) { log.info("IDGenerator {} success init by {}", IMDGDistributedNames.MAP_SEQUENCE_NAME, maxKey); -// makeSchedulerAllTodayMap(); + makeSchedulerAllTodayMap(hazelcastServerInstance); } else { log.info("IDGenerator {} already initialized in other node", IMDGDistributedNames.MAP_SEQUENCE_NAME); } @@ -114,7 +114,6 @@ public abstract class AbstractHazelcastLifecycleSupport implements InitializingB } - @Override public void destroy() { hazelcastServerInstance.shutdown(); diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/util/Util.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/util/Util.java new file mode 100644 index 000000000..432c51755 --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/util/Util.java @@ -0,0 +1,30 @@ +package ru.spcex.clearing.imdg.util; + +import com.hazelcast.core.HazelcastInstance; +import com.hazelcast.core.IMap; +import ru.clearing.classes.statics.data.scheduler.Scheduler; +import ru.clearing.classes.statics.data.scheduler.Timetable; +import ru.clearing.classes.statics.data.scheduler.TradingCalendar; + +import java.time.LocalDate; +import java.util.List; + +import static ru.spcex.clearing.imdg.IMDGDistributedNames.*; + +public class Util { + + public static void makeSchedulerAllTodayMap(HazelcastInstance hazelcastInstance) { + IMap schedulerMap = hazelcastInstance.getMap(Map_Scheduler); + IMap tradingCalendarMap = hazelcastInstance.getMap(Map_TradingCalendar); + IMap timetableMap = hazelcastInstance.getMap(Map_Timetable); + Boolean isTradingCalendarEmpty = tradingCalendarMap.isEmpty(); + + List listOfSchedulerOnDate = schedulerMap.values().stream().filter((x) -> x.getClearingDate().isEqual(LocalDate.now())).toList(); + if (isTradingCalendarEmpty) { + //то из timeTable все активные записи. + } else { + + } + + } +}