clearing-service http://jira.mfd.msk:8088/browse/CLS-188 часть доделок
This commit is contained in:
parent
06f53ad40d
commit
2c7a9934fe
3 changed files with 78 additions and 22 deletions
|
|
@ -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.ActionType;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
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.clearing.platform.messaging.domain.cud.securitites.MoneyMarketSecurityNewRequest;
|
||||||
import ru.spcex.platform.enumeration.Allowed;
|
import ru.spcex.platform.enumeration.Allowed;
|
||||||
import ru.spcex.platform.enumeration.Market;
|
import ru.spcex.platform.enumeration.Market;
|
||||||
|
|
@ -85,8 +85,9 @@ public class ExecutionDepositComponent {
|
||||||
/**
|
/**
|
||||||
* Сбрасывать каждый день в 01:00:01 "0 1 0 1 * ?"
|
* Сбрасывать каждый день в 01:00:01 "0 1 0 1 * ?"
|
||||||
*/
|
*/
|
||||||
@Scheduled(cron = "${clearing-service.scheduler.check-s-trade}")
|
@Scheduled(cron = "0 1 0 1 * ?")
|
||||||
public void resetTradingDay() {
|
public void resetTradingDay() {
|
||||||
|
log.trace("Recheck today trading day for search STrade. Current state: tradeNum={}, tradeDat={}", tradeNum, tradingDay);
|
||||||
Instant today = TimeUtil.localDateToInstant(LocalDate.now());
|
Instant today = TimeUtil.localDateToInstant(LocalDate.now());
|
||||||
if (tradingDay == null || !tradingDay.equals(today)) {
|
if (tradingDay == null || !tradingDay.equals(today)) {
|
||||||
tradeNum = -1L;
|
tradeNum = -1L;
|
||||||
|
|
@ -95,8 +96,9 @@ public class ExecutionDepositComponent {
|
||||||
log.info("Reset trading day for search STrade: tradeNum={}, tradeDat={}", tradeNum, tradingDay);
|
log.info("Reset trading day for search STrade: tradeNum={}, tradeDat={}", tradeNum, tradingDay);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Scheduled(cron = "${clearing-service.scheduler.check-s-trade}")
|
||||||
public void processNewTS() {
|
public void processNewTS() {
|
||||||
Long tradeNum = -1L; // todo уточнить как он обновляется
|
log.debug("Start check new S_TRADE. Start tradeNum={}", tradeNum);
|
||||||
ImdgPredicateBuilder pb = sTradeImdg.predicateBuilder();
|
ImdgPredicateBuilder pb = sTradeImdg.predicateBuilder();
|
||||||
ImdgPredicate sql = pb.and(pb.greater("tradeNum", tradeNum), pb.greatEqual("tradeDateTime", tradingDay));
|
ImdgPredicate sql = pb.and(pb.greater("tradeNum", tradeNum), pb.greatEqual("tradeDateTime", tradingDay));
|
||||||
Collection<STrade> sTrades = sTradeImdg.getCollectionObjectsByPredicate(sql);
|
Collection<STrade> sTrades = sTradeImdg.getCollectionObjectsByPredicate(sql);
|
||||||
|
|
@ -166,7 +168,7 @@ public class ExecutionDepositComponent {
|
||||||
|
|
||||||
|
|
||||||
Long newMaxTradeNum = sTrades.stream().mapToLong(STrade::getTradeNum).max().orElseGet(() -> tradeNum);
|
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 {
|
protected void verification(ExecutionDeposit forED) throws ClearingException {
|
||||||
|
|
@ -236,26 +238,13 @@ public class ExecutionDepositComponent {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void sendNotification(ExecutionDeposit forED) {
|
protected void sendNotification(ExecutionDeposit forED) {
|
||||||
final String destination = Consts.REGISTRY_COVERED_DEAL_REGISTER_NEW;
|
final String destination = Consts.REGISTRY_DEAL_REGISTER_NEW;
|
||||||
CoveredDealRegisterNewRequest requestPayload = new CoveredDealRegisterNewRequest();
|
DealRegisterNewRequest requestPayload = new DealRegisterNewRequest();
|
||||||
requestPayload.setExecutionId(forED.getId());
|
requestPayload.setExecutionId(forED.getId());
|
||||||
// requestPayload.setCompanyFullName(forED.getCompanyFullName());
|
requestPayload.setClearingDate(forED.getClearingDate());
|
||||||
requestPayload.setTradingDate(forED.getTradingDate());
|
|
||||||
requestPayload.setExchangeExecutionId(forED.getExchangeExecutionId());
|
requestPayload.setExchangeExecutionId(forED.getExchangeExecutionId());
|
||||||
requestPayload.setExchangeExecutionTime(forED.getExchangeExecutionTime());
|
requestPayload.setExchangeExecutionTime(forED.getExchangeExecutionTime());
|
||||||
requestPayload.setSecuritySymbol(forED.getSecuritySymbol());
|
// requestPayload.setId(idGenerator.nextId());
|
||||||
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());
|
|
||||||
|
|
||||||
BaseRequest<Object> request = new BaseRequest<>();
|
BaseRequest<Object> request = new BaseRequest<>();
|
||||||
request.setId(idGenerator.nextId());
|
request.setId(idGenerator.nextId());
|
||||||
|
|
|
||||||
|
|
@ -20,4 +20,4 @@ clearing-service.kafka-producer.linger-ms=1
|
||||||
clearing-service.kafka-producer.buffer-memory=33554432
|
clearing-service.kafka-producer.buffer-memory=33554432
|
||||||
|
|
||||||
clearing-service.scheduler.check-payment-instruction=*/5 * * * * *
|
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 * ?
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Add table
Reference in a new issue