This commit is contained in:
parent
db2079821c
commit
d72e0b79c5
3 changed files with 26 additions and 4 deletions
|
|
@ -0,0 +1,22 @@
|
||||||
|
package ru.spcex.clearing.gatewayapi.config.deserializers;
|
||||||
|
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.core.JsonParser;
|
||||||
|
import com.fasterxml.jackson.databind.DeserializationContext;
|
||||||
|
import com.fasterxml.jackson.databind.JsonDeserializer;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
|
|
||||||
|
public class LocalDateTimeV2Deserializer extends JsonDeserializer<LocalDateTime> {
|
||||||
|
private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm:ss.SSS");
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public LocalDateTime deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
|
||||||
|
String date = p.getText();
|
||||||
|
if (date == null || date.trim().length() == 0) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return LocalDateTime.parse(date, formatter);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -6,7 +6,7 @@ import java.math.BigDecimal;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import ru.spcex.clearing.gatewayapi.config.deserializers.LocalDateDeserializer;
|
import ru.spcex.clearing.gatewayapi.config.deserializers.LocalDateDeserializer;
|
||||||
import ru.spcex.clearing.gatewayapi.config.deserializers.LocalDateTimeDeserializer;
|
import ru.spcex.clearing.gatewayapi.config.deserializers.LocalDateTimeV2Deserializer;
|
||||||
|
|
||||||
public class CurrencyRate {
|
public class CurrencyRate {
|
||||||
|
|
||||||
|
|
@ -32,11 +32,11 @@ public class CurrencyRate {
|
||||||
|
|
||||||
private BigDecimal price;
|
private BigDecimal price;
|
||||||
|
|
||||||
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
|
@JsonDeserialize(using = LocalDateTimeV2Deserializer.class)
|
||||||
@JsonProperty("update_date_time")
|
@JsonProperty("update_date_time")
|
||||||
private LocalDateTime updateDateTime;
|
private LocalDateTime updateDateTime;
|
||||||
|
|
||||||
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
|
@JsonDeserialize(using = LocalDateTimeV2Deserializer.class)
|
||||||
@JsonProperty("source_date_time")
|
@JsonProperty("source_date_time")
|
||||||
private LocalDateTime sourceDateTime;
|
private LocalDateTime sourceDateTime;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -121,7 +121,7 @@ public class RatesMessageListener extends QueueConsumer implements InitializingB
|
||||||
ImdgPredicateBuilder predicateBuilder = ratesImdg.predicateBuilder();
|
ImdgPredicateBuilder predicateBuilder = ratesImdg.predicateBuilder();
|
||||||
Collection<Long> rateIds = ratesImdg.getCollectionIdsByPredicate(
|
Collection<Long> rateIds = ratesImdg.getCollectionIdsByPredicate(
|
||||||
predicateBuilder.and(
|
predicateBuilder.and(
|
||||||
predicateBuilder.equals("date", elem.getDate()),
|
predicateBuilder.equals("valueDate", elem.getDate()),
|
||||||
predicateBuilder.equals("currency", elem.getBaseCurrencyLetterCode())
|
predicateBuilder.equals("currency", elem.getBaseCurrencyLetterCode())
|
||||||
));
|
));
|
||||||
if (rateIds.isEmpty()) {
|
if (rateIds.isEmpty()) {
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue