diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/ExecutionDepositComponent.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/ExecutionDepositComponent.java index bbe554b3a..761141c85 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/ExecutionDepositComponent.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/ExecutionDepositComponent.java @@ -21,7 +21,7 @@ import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.platform.messaging.domain.ActionType; import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.clearing.platform.messaging.domain.Consts; -import ru.spcex.clearing.platform.messaging.domain.cud.registry.CoveredDealRegisterNewRequest; +import ru.spcex.clearing.platform.messaging.domain.cud.registry.DealRegisterNewRequest; import ru.spcex.clearing.platform.messaging.domain.cud.securitites.MoneyMarketSecurityNewRequest; import ru.spcex.platform.enumeration.Allowed; import ru.spcex.platform.enumeration.Market; @@ -85,8 +85,9 @@ public class ExecutionDepositComponent { /** * Сбрасывать каждый день в 01:00:01 "0 1 0 1 * ?" */ - @Scheduled(cron = "${clearing-service.scheduler.check-s-trade}") + @Scheduled(cron = "0 1 0 1 * ?") public void resetTradingDay() { + log.trace("Recheck today trading day for search STrade. Current state: tradeNum={}, tradeDat={}", tradeNum, tradingDay); Instant today = TimeUtil.localDateToInstant(LocalDate.now()); if (tradingDay == null || !tradingDay.equals(today)) { tradeNum = -1L; @@ -95,8 +96,9 @@ public class ExecutionDepositComponent { log.info("Reset trading day for search STrade: tradeNum={}, tradeDat={}", tradeNum, tradingDay); } + @Scheduled(cron = "${clearing-service.scheduler.check-s-trade}") public void processNewTS() { - Long tradeNum = -1L; // todo уточнить как он обновляется + log.debug("Start check new S_TRADE. Start tradeNum={}", tradeNum); ImdgPredicateBuilder pb = sTradeImdg.predicateBuilder(); ImdgPredicate sql = pb.and(pb.greater("tradeNum", tradeNum), pb.greatEqual("tradeDateTime", tradingDay)); Collection sTrades = sTradeImdg.getCollectionObjectsByPredicate(sql); @@ -166,7 +168,7 @@ public class ExecutionDepositComponent { Long newMaxTradeNum = sTrades.stream().mapToLong(STrade::getTradeNum).max().orElseGet(() -> tradeNum); - log.debug("Next tradeNum is {}", newMaxTradeNum); + log.info("Process completed. Next tradeNum is {}", newMaxTradeNum); } protected void verification(ExecutionDeposit forED) throws ClearingException { @@ -236,26 +238,13 @@ public class ExecutionDepositComponent { } protected void sendNotification(ExecutionDeposit forED) { - final String destination = Consts.REGISTRY_COVERED_DEAL_REGISTER_NEW; - CoveredDealRegisterNewRequest requestPayload = new CoveredDealRegisterNewRequest(); + final String destination = Consts.REGISTRY_DEAL_REGISTER_NEW; + DealRegisterNewRequest requestPayload = new DealRegisterNewRequest(); requestPayload.setExecutionId(forED.getId()); -// requestPayload.setCompanyFullName(forED.getCompanyFullName()); - requestPayload.setTradingDate(forED.getTradingDate()); + requestPayload.setClearingDate(forED.getClearingDate()); requestPayload.setExchangeExecutionId(forED.getExchangeExecutionId()); requestPayload.setExchangeExecutionTime(forED.getExchangeExecutionTime()); - requestPayload.setSecuritySymbol(forED.getSecuritySymbol()); - requestPayload.setSecurityFullName(forED.getSecurityFullName()); -// requestPayload.setSellerFullName(forED.getSellerFullName()); -// requestPayload.setSellerClearingCode(forED.getSellerClearingCode()); -// String requestPayload.setSellerAccount(forED.getAccountId()); -// String requestPayload.setBuyerFullName(forED.getBuyerFullName()); -// requestPayload.setBuyerClearingCode(forED.getBuyerClearingCode()); -// String requestPayload.setBuyerAccount(forED.getBuyerAccount()); -// BigDecimal requestPayload.setAmount(forED.getAmount()); - requestPayload.setId(idGenerator.nextId()); - requestPayload.setCreatedAt(forED.getCreated()); - requestPayload.setUpdatedAt(forED.getUpdated()); - requestPayload.setClearingDate(forED.getClearingDate()); +// requestPayload.setId(idGenerator.nextId()); BaseRequest request = new BaseRequest<>(); request.setId(idGenerator.nextId()); diff --git a/clearing-parent/clearing-service/src/main/resources/application.properties b/clearing-parent/clearing-service/src/main/resources/application.properties index e0908f94a..bb4e61e6b 100644 --- a/clearing-parent/clearing-service/src/main/resources/application.properties +++ b/clearing-parent/clearing-service/src/main/resources/application.properties @@ -20,4 +20,4 @@ clearing-service.kafka-producer.linger-ms=1 clearing-service.kafka-producer.buffer-memory=33554432 clearing-service.scheduler.check-payment-instruction=*/5 * * * * * -clearing-service.scheduler.check-s-trade=0 1 0 1 * ? +clearing-service.scheduler.check-s-trade=0 * 0 1 * ? diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/DealRegisterNewRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/DealRegisterNewRequest.java new file mode 100644 index 000000000..c9edf8b55 --- /dev/null +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/DealRegisterNewRequest.java @@ -0,0 +1,67 @@ +package ru.spcex.clearing.platform.messaging.domain.cud.registry; + + +import com.fasterxml.jackson.annotation.JsonProperty; + +import java.math.BigDecimal; +import java.time.Instant; +import java.time.LocalDate; + +public class DealRegisterNewRequest { + + @JsonProperty + public Long executionId; + + @JsonProperty + public Long exchangeExecutionId; + + @JsonProperty + public Instant exchangeExecutionTime; + + @JsonProperty + public Long id; + + @JsonProperty + public LocalDate clearingDate; + + + public Long getExecutionId() { + return executionId; + } + + public void setExecutionId(Long executionId) { + this.executionId = executionId; + } + + public Long getExchangeExecutionId() { + return exchangeExecutionId; + } + + public void setExchangeExecutionId(Long exchangeExecutionId) { + this.exchangeExecutionId = exchangeExecutionId; + } + + public Instant getExchangeExecutionTime() { + return exchangeExecutionTime; + } + + public void setExchangeExecutionTime(Instant exchangeExecutionTime) { + this.exchangeExecutionTime = exchangeExecutionTime; + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public LocalDate getClearingDate() { + return clearingDate; + } + + public void setClearingDate(LocalDate clearingDate) { + this.clearingDate = clearingDate; + } +}