From 2d9a49e9906a7cfedb5ab0d742150929003e9a6c Mon Sep 17 00:00:00 2001 From: ialbert Date: Fri, 7 Jun 2024 17:03:36 +0300 Subject: [PATCH] imdg execution fond/depo/currency microseconds fix --- .../businessobject/ExecutionCurrencyMapStore.java | 9 ++++----- .../businessobject/ExecutionDepositMapStore.java | 9 ++++----- .../businessobject/ExecutionFondMapStore.java | 15 +++++++-------- .../ru/spcex/platform/utils/time/TimeUtil.java | 13 +++++++++++++ 4 files changed, 28 insertions(+), 18 deletions(-) diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ExecutionCurrencyMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ExecutionCurrencyMapStore.java index 24c5ec025..7185976ea 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ExecutionCurrencyMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ExecutionCurrencyMapStore.java @@ -1,5 +1,8 @@ package ru.spcex.clearing.imdg.businessobject; +import java.math.BigDecimal; +import java.sql.ResultSet; +import java.sql.SQLException; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Component; import ru.clearing.classes.statics.data.execution.ExecutionCurrency; @@ -7,10 +10,6 @@ import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.imdg.base.TemplateMapStore; import ru.spcex.platform.utils.time.TimeUtil; -import java.math.BigDecimal; -import java.sql.ResultSet; -import java.sql.SQLException; - @Component public class ExecutionCurrencyMapStore extends TemplateMapStore { @@ -78,7 +77,7 @@ public class ExecutionCurrencyMapStore extends TemplateMapStore { public ExecutionDepositMapStore(JdbcTemplate jdbcTemplate) { @@ -96,7 +95,7 @@ public class ExecutionDepositMapStore extends TemplateMapStore TimeUtil.toDateFromInstant(object.getCreated()), TimeUtil.toDateFromInstant(object.getUpdated()), object.getExchangeExecutionId(), - TimeUtil.toDateFromInstant(object.getExchangeExecutionTime()), + TimeUtil.toTimestampFromInstant(object.getExchangeExecutionTime()), TimeUtil.toDateFromLocalDate(object.getTradingDate()), object.getTradingClearingRegistryId(), object.getPartyTradingClearingRegistry(), diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ExecutionFondMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ExecutionFondMapStore.java index c5b970f2a..177dbb3f7 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ExecutionFondMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ExecutionFondMapStore.java @@ -1,15 +1,14 @@ package ru.spcex.clearing.imdg.businessobject; -import org.springframework.jdbc.core.JdbcTemplate; -import org.springframework.stereotype.Component; -import ru.spcex.clearing.imdg.IMDGDistributedNames; -import ru.clearing.classes.statics.data.execution.ExecutionFond; -import ru.spcex.clearing.imdg.base.TemplateMapStore; -import ru.spcex.platform.utils.time.TimeUtil; - import java.math.BigDecimal; import java.sql.ResultSet; import java.sql.SQLException; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.classes.statics.data.execution.ExecutionFond; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.clearing.imdg.base.TemplateMapStore; +import ru.spcex.platform.utils.time.TimeUtil; @Component public class ExecutionFondMapStore extends TemplateMapStore { @@ -103,7 +102,7 @@ public class ExecutionFondMapStore extends TemplateMapStore { object.getSettlementAmount(), object.getLots(), object.getQuantity(), - TimeUtil.toDateFromInstant(object.getExchangeExecutionTime()), + TimeUtil.toTimestampFromInstant(object.getExchangeExecutionTime()), object.getDuration(), object.getTradingClearingRegistryId(), object.getPartyTradingClearingRegistry(), diff --git a/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/time/TimeUtil.java b/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/time/TimeUtil.java index 3da417437..af410c60f 100644 --- a/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/time/TimeUtil.java +++ b/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/time/TimeUtil.java @@ -1,6 +1,7 @@ package ru.spcex.platform.utils.time; import java.sql.Time; +import java.sql.Timestamp; import java.time.Instant; import java.time.LocalDate; import java.time.LocalDateTime; @@ -37,6 +38,18 @@ public class TimeUtil { return Date.from(instant); } + public static Timestamp toTimestampFromInstant(Instant instant) { + if (instant == null) return null; + return java.sql.Timestamp.from(instant); + } + + public static Instant instPlusMicros(Instant i, Long ms) { + if (ms == null) return i; + if (i == null) return null; + return i.plus(ms, ChronoUnit.MICROS); + + } + public static Date toDateFromLocalDateTime(LocalDateTime localDateTime) { return localDateTime != null ? Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant()) : null; }