imdg execution fond/depo/currency microseconds fix

This commit is contained in:
ialbert 2024-06-07 17:03:36 +03:00
parent 5a19686e82
commit 2d9a49e990
4 changed files with 28 additions and 18 deletions

View file

@ -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<ExecutionCurrency> {
@ -78,7 +77,7 @@ public class ExecutionCurrencyMapStore extends TemplateMapStore<ExecutionCurrenc
TimeUtil.toDateFromInstant(object.getCreated()),
TimeUtil.toDateFromInstant(object.getUpdated()),
object.getExchangeExecutionId(),
TimeUtil.toDateFromInstant(object.getExchangeExecutionTime()),
TimeUtil.toTimestampFromInstant(object.getExchangeExecutionTime()),
TimeUtil.toDateFromInstant(object.getExchangeExecutionMicroseconds()),
TimeUtil.toDateFromLocalDate(object.getTradingDate()),
TimeUtil.toDateFromLocalDate(object.getSettlementDate()),

View file

@ -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.ExecutionDeposit;
@ -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 ExecutionDepositMapStore extends TemplateMapStore<ExecutionDeposit> {
public ExecutionDepositMapStore(JdbcTemplate jdbcTemplate) {
@ -96,7 +95,7 @@ public class ExecutionDepositMapStore extends TemplateMapStore<ExecutionDeposit>
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(),

View file

@ -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<ExecutionFond> {
@ -103,7 +102,7 @@ public class ExecutionFondMapStore extends TemplateMapStore<ExecutionFond> {
object.getSettlementAmount(),
object.getLots(),
object.getQuantity(),
TimeUtil.toDateFromInstant(object.getExchangeExecutionTime()),
TimeUtil.toTimestampFromInstant(object.getExchangeExecutionTime()),
object.getDuration(),
object.getTradingClearingRegistryId(),
object.getPartyTradingClearingRegistry(),

View file

@ -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;
}