Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
ialbert 2023-01-31 20:09:36 +03:00
commit fc56cbe360
14 changed files with 124 additions and 78 deletions

View file

@ -6,7 +6,6 @@ import io.swagger.annotations.ApiModelProperty;
import ru.spcex.clearing.backendapi.domain.actions.IAction; import ru.spcex.clearing.backendapi.domain.actions.IAction;
import ru.spcex.clearing.backendapi.errors.BackEndError; import ru.spcex.clearing.backendapi.errors.BackEndError;
import ru.spcex.clearing.platform.messaging.domain.ActionType; import ru.spcex.clearing.platform.messaging.domain.ActionType;
import ru.spcex.clearing.platform.messaging.domain.cud.reports.ReportWithPeriodRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.schedule.LauncherCommandRequest; import ru.spcex.clearing.platform.messaging.domain.cud.schedule.LauncherCommandRequest;
import ru.spcex.platform.enumeration.Task; import ru.spcex.platform.enumeration.Task;
import ru.spcex.platform.utils.enumeration.EnumMessage; import ru.spcex.platform.utils.enumeration.EnumMessage;
@ -31,18 +30,12 @@ public class LauncherNew implements IAction<Object> {
@Override @Override
public Object toRequest() { public Object toRequest() {
if (Task.createReport_GREP.equalsByKey(task)) { LauncherCommandRequest taskRunnerCommandRequest = new LauncherCommandRequest();
ReportWithPeriodRequest reportCommand = new ReportWithPeriodRequest(); taskRunnerCommandRequest.setTaskName(task);
reportCommand.setReportId(task); taskRunnerCommandRequest.setCompanyId(companyId);
return reportCommand; taskRunnerCommandRequest.setSecurityId(securityId);
} else { taskRunnerCommandRequest.setUserId(userId);
LauncherCommandRequest taskRunnerCommandRequest = new LauncherCommandRequest(); return taskRunnerCommandRequest;
taskRunnerCommandRequest.setTaskName(task);
taskRunnerCommandRequest.setCompanyId(companyId);
taskRunnerCommandRequest.setSecurityId(securityId);
taskRunnerCommandRequest.setUserId(userId);
return taskRunnerCommandRequest;
}
} }
@Override @Override

View file

@ -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());

View file

@ -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 * ?

View file

@ -8,7 +8,7 @@ import org.springframework.beans.factory.InitializingBean;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.reports.ReportWithPeriodRequest; import ru.spcex.clearing.platform.messaging.domain.cud.schedule.LauncherCommandRequest;
import ru.spcex.clearing.platform.messaging.service.QueueConsumer; import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
import ru.spcex.clearing.reports.config.element.ReportsServiceSettings; import ru.spcex.clearing.reports.config.element.ReportsServiceSettings;
import ru.spcex.platform.enumeration.Task; import ru.spcex.platform.enumeration.Task;
@ -40,20 +40,23 @@ public class QCommandExecutor extends QueueConsumer implements InitializingBean
@Override @Override
public void afterPropertiesSet() { public void afterPropertiesSet() {
log.info("Init queue listener {}", getClass().getSimpleName()); log.info("Init queue listener {}", getClass().getSimpleName());
callback(ReportWithPeriodRequest.class) callback(LauncherCommandRequest.class)
.setConsumer(this::newReportWithPeriod) .setConsumer(this::newReportWithPeriod)
.forDestination(Task.createReport_GREP.topic(), callbacks::put); .forDestination(Task.createReport_GREP.topic(), callbacks::put);
init(); init();
} }
private void newReportWithPeriod(BaseRequest<ReportWithPeriodRequest> reportRequest) { private void newReportWithPeriod(BaseRequest<LauncherCommandRequest> reportRequest) {
ReportWithPeriodRequest request = reportRequest.getRequestPayload(); LauncherCommandRequest request = reportRequest.getRequestPayload();
log.info("newReportWithPeriod request received: {}", request); log.info("newReportWithPeriod request received: {}", request);
final String taskName = QUEUE_RUN_REPORT_COMMAND; //request.getTaskName();
if (StringUtils.isBlank(request.getReportId())) // if (StringUtils.isBlank(request.getReportId()))
throw new IllegalStateException("ReportID is empty"); // throw new IllegalStateException("ReportID is empty");
LocalDate startDate = request.getStartDate(); // LocalDate startDate = request.getStartDate();
LocalDate endDate = request.getEndDate(); // LocalDate endDate = request.getEndDate();
LocalDate startDate = null;
LocalDate endDate = null;
if (startDate == null && endDate == null) { if (startDate == null && endDate == null) {
endDate = LocalDate.now(); endDate = LocalDate.now();
startDate = LocalDate.of(endDate.getYear(), endDate.getMonth(), 1); startDate = LocalDate.of(endDate.getYear(), endDate.getMonth(), 1);
@ -65,18 +68,18 @@ public class QCommandExecutor extends QueueConsumer implements InitializingBean
throw new IllegalStateException("StartDate > EndDate"); throw new IllegalStateException("StartDate > EndDate");
try { try {
if (QUEUE_RUN_REPORT_COMMAND.equals(request.getReportId()) if (QUEUE_RUN_REPORT_COMMAND.equals(taskName)
|| QUEUE_RUN_DAILY_REPORT_COMMAND.equals(request.getReportId())) { || QUEUE_RUN_DAILY_REPORT_COMMAND.equals(taskName)) {
log.info("Generate all report by command {}", request.getReportId()); log.info("Generate all report by command {}", taskName);
reportsServiceCommand.generateReportAll(request.getReportId(), startDate, endDate); reportsServiceCommand.generateReportAll(taskName, startDate, endDate);
} else { } else {
log.info("Generate single report by command {}", request.getReportId()); log.info("Generate single report by command {}", taskName);
reportsServiceCommand.generateReportById(request.getReportId(), startDate, endDate); reportsServiceCommand.generateReportById(taskName, startDate, endDate);
} }
log.debug("successfully processed"); log.debug("successfully processed");
} catch (IOException e) { } catch (IOException e) {
log.error("Error create report {}: {}", request.getReportId(), ExceptionUtils.getStackTrace(e)); log.error("Error create report {}: {}", taskName, ExceptionUtils.getStackTrace(e));
} }
} }

View file

@ -20,9 +20,9 @@ public abstract class ReportWithPeriodCollector<T extends AbstractReport> extend
LocalDate startDate, LocalDate startDate,
LocalDate endDate) { LocalDate endDate) {
ImdgPredicateBuilder pb = liabilitiesClaimsAssetsImdg.predicateBuilder(); ImdgPredicateBuilder pb = liabilitiesClaimsAssetsImdg.predicateBuilder();
Instant dateTimeLo = toInstantStartDay(startDate); // Instant dateTimeLo = toInstantStartDay(startDate);
Instant dateTimeHi = toInstantStartDay(endDate); // Instant dateTimeHi = toInstantEndDay(endDate);
ImdgPredicate p = pb.and(pb.greatEqual("refundDate", dateTimeLo), pb.lessEqual("refundDate", dateTimeHi)); ImdgPredicate p = pb.and(pb.greatEqual("refundDate", startDate), pb.lessEqual("refundDate", endDate));
Collection<LiabilitiesClaimsAssets> liabilities = liabilitiesClaimsAssetsImdg.getCollectionObjectsByPredicate(p); Collection<LiabilitiesClaimsAssets> liabilities = liabilitiesClaimsAssetsImdg.getCollectionObjectsByPredicate(p);
return liabilities; return liabilities;
} }
@ -31,9 +31,9 @@ public abstract class ReportWithPeriodCollector<T extends AbstractReport> extend
LocalDate startDate, LocalDate endDate, LocalDate startDate, LocalDate endDate,
Long allowClearingStatusId) { Long allowClearingStatusId) {
ImdgPredicateBuilder pb = liabilitiesClaimsAssetsImdg.predicateBuilder(); ImdgPredicateBuilder pb = liabilitiesClaimsAssetsImdg.predicateBuilder();
Instant dateTimeLo = toInstantStartDay(startDate); // Instant dateTimeLo = toInstantStartDay(startDate);
Instant dateTimeHi = toInstantStartDay(endDate); // Instant dateTimeHi = toInstantEndDay(endDate);
ImdgPredicate p = pb.and(pb.greatEqual("refundDate", dateTimeLo), pb.lessEqual("refundDate", dateTimeHi), ImdgPredicate p = pb.and(pb.greatEqual("refundDate", startDate), pb.lessEqual("refundDate", endDate),
pb.equals("clearingStatus", allowClearingStatusId)); pb.equals("clearingStatus", allowClearingStatusId));
Collection<LiabilitiesClaimsAssets> liabilities = liabilitiesClaimsAssetsImdg.getCollectionObjectsByPredicate(p); Collection<LiabilitiesClaimsAssets> liabilities = liabilitiesClaimsAssetsImdg.getCollectionObjectsByPredicate(p);
return liabilities; return liabilities;

View file

@ -45,7 +45,7 @@ public class ReportBR_0420314_P2_Collector extends ReportWithPeriodCollector<Rep
Collection<PaymentInstruction> searchPaymentInstruction(LocalDate startDate, LocalDate endDate) { Collection<PaymentInstruction> searchPaymentInstruction(LocalDate startDate, LocalDate endDate) {
ImdgPredicateBuilder pb = paymentInstructionImdg.predicateBuilder(); ImdgPredicateBuilder pb = paymentInstructionImdg.predicateBuilder();
Instant dateTimeLo = toInstantStartDay(startDate); Instant dateTimeLo = toInstantStartDay(startDate);
Instant dateTimeHi = toInstantStartDay(endDate); Instant dateTimeHi = toInstantEndDay(endDate);
ImdgPredicate p = pb.and(pb.greatEqual("created", dateTimeLo), pb.lessEqual("created", dateTimeHi)); ImdgPredicate p = pb.and(pb.greatEqual("created", dateTimeLo), pb.lessEqual("created", dateTimeHi));
Collection<PaymentInstruction> paymentInstructionsAll = paymentInstructionImdg.getCollectionObjectsByPredicate(p); Collection<PaymentInstruction> paymentInstructionsAll = paymentInstructionImdg.getCollectionObjectsByPredicate(p);
return paymentInstructionsAll; return paymentInstructionsAll;

View file

@ -35,7 +35,7 @@ public class ReportBR_0420317_Collector extends ReportWithPeriodCollector<Report
Collection<Relation> searchRelation(LocalDate startDate, LocalDate endDate, String service) { Collection<Relation> searchRelation(LocalDate startDate, LocalDate endDate, String service) {
ImdgPredicateBuilder pb = relationImdg.predicateBuilder(); ImdgPredicateBuilder pb = relationImdg.predicateBuilder();
Instant dateTimeLo = toInstantStartDay(startDate); Instant dateTimeLo = toInstantStartDay(startDate);
Instant dateTimeHi = toInstantStartDay(endDate); Instant dateTimeHi = toInstantEndDay(endDate);
ImdgPredicate p = pb.and(pb.greatEqual("updated", dateTimeLo), pb.lessEqual("updated", dateTimeHi), ImdgPredicate p = pb.and(pb.greatEqual("updated", dateTimeLo), pb.lessEqual("updated", dateTimeHi),
pb.equals("service", service)); pb.equals("service", service));
Collection<Relation> relations = relationImdg.getCollectionObjectsByPredicate(p); Collection<Relation> relations = relationImdg.getCollectionObjectsByPredicate(p);

View file

@ -49,8 +49,8 @@ public class ReportPA_B_Collector extends ReportWithPeriodCollector<ReportPA_B>
ImdgPredicateBuilder builder = liabilitiesClaimsAssetsImdg.predicateBuilder(); ImdgPredicateBuilder builder = liabilitiesClaimsAssetsImdg.predicateBuilder();
ImdgPredicate refundDatePredicate = builder.and( ImdgPredicate refundDatePredicate = builder.and(
builder.greatEqual("refundDate", toInstantStartDay(startDate)), builder.greatEqual("refundDate", (startDate)),
builder.lessEqual("refundDate", toInstantStartDay(endDate)) builder.lessEqual("refundDate", (endDate))
); );
ImdgPredicate companyIdPredicates = builder.in("companyId", companyIds.toArray(new Comparable[0])); ImdgPredicate companyIdPredicates = builder.in("companyId", companyIds.toArray(new Comparable[0]));
ImdgPredicate finalPredicate = builder.and(refundDatePredicate, companyIdPredicates); ImdgPredicate finalPredicate = builder.and(refundDatePredicate, companyIdPredicates);

View file

@ -55,8 +55,8 @@ public class ReportPA_IV_Collector extends ReportWithPeriodCollector<ReportPA_IV
ImdgPredicateBuilder builder = liabilitiesClaimsAssetsImdg.predicateBuilder(); ImdgPredicateBuilder builder = liabilitiesClaimsAssetsImdg.predicateBuilder();
ImdgPredicate refundDatePredicate = builder.and( ImdgPredicate refundDatePredicate = builder.and(
builder.greatEqual("refundDate", toInstantStartDay(startDate)), builder.greatEqual("refundDate", (startDate)),
builder.lessEqual("refundDate", toInstantStartDay(endDate)) builder.lessEqual("refundDate", (endDate))
); );
ImdgPredicate companyIdPredicates = builder.in("companyId", companyIds.toArray(new Comparable[0])); ImdgPredicate companyIdPredicates = builder.in("companyId", companyIds.toArray(new Comparable[0]));
ImdgPredicate finalPredicate = builder.and(refundDatePredicate, companyIdPredicates); ImdgPredicate finalPredicate = builder.and(refundDatePredicate, companyIdPredicates);

View file

@ -14,7 +14,7 @@ class AbstractReportCollectorTest extends AbstractReportCollector {
@Test @Test
void testToString() { void testToString() {
AbstractReportCollectorTest instance = new AbstractReportCollectorTest(); AbstractReportCollectorTest instance = new AbstractReportCollectorTest();
assertEquals(null, instance.toString((Long) null)); assertEquals("", instance.toString((Long) null));
assertEquals("1", instance.toString((Long) 1L)); assertEquals("1", instance.toString((Long) 1L));
assertEquals("1230", instance.toString((Long) 1230L)); assertEquals("1230", instance.toString((Long) 1230L));
@ -23,7 +23,7 @@ class AbstractReportCollectorTest extends AbstractReportCollector {
@Test @Test
void testToString1() { void testToString1() {
AbstractReportCollectorTest instance = new AbstractReportCollectorTest(); AbstractReportCollectorTest instance = new AbstractReportCollectorTest();
assertEquals(null, instance.toString((Instant) null)); assertEquals("", instance.toString((Instant) null));
Instant val = Instant.ofEpochMilli(1672058774338L); Instant val = Instant.ofEpochMilli(1672058774338L);
assertEquals("26.12.2022T15:46:14", instance.toString(val)); // msk timezone assertEquals("26.12.2022T15:46:14", instance.toString(val)); // msk timezone
} }
@ -38,7 +38,7 @@ class AbstractReportCollectorTest extends AbstractReportCollector {
@Test @Test
void testToString3() { void testToString3() {
AbstractReportCollectorTest instance = new AbstractReportCollectorTest(); AbstractReportCollectorTest instance = new AbstractReportCollectorTest();
assertEquals(null, instance.toString((BigDecimal)null)); assertEquals("", instance.toString((BigDecimal)null));
assertEquals("0.00", instance.toString(BigDecimal.ZERO)); assertEquals("0.00", instance.toString(BigDecimal.ZERO));
assertEquals("1.10", instance.toString(BigDecimal.valueOf(1.10))); assertEquals("1.10", instance.toString(BigDecimal.valueOf(1.10)));
assertEquals("100.12", instance.toString(BigDecimal.valueOf(100.12))); assertEquals("100.12", instance.toString(BigDecimal.valueOf(100.12)));
@ -49,7 +49,7 @@ class AbstractReportCollectorTest extends AbstractReportCollector {
@Test @Test
void testToString4() { void testToString4() {
AbstractReportCollectorTest instance = new AbstractReportCollectorTest(); AbstractReportCollectorTest instance = new AbstractReportCollectorTest();
assertEquals(null, instance.toString((Double) null)); assertEquals("", instance.toString((Double) null));
assertEquals("0.00", instance.toString(0.0)); assertEquals("0.00", instance.toString(0.0));
assertEquals("1.10", instance.toString(1.10)); assertEquals("1.10", instance.toString(1.10));
assertEquals("100.12", instance.toString(100.12)); assertEquals("100.12", instance.toString(100.12));

View file

@ -10,7 +10,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
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.cud.reports.ReportWithPeriodRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.schedule.LauncherCommandRequest; import ru.spcex.clearing.platform.messaging.domain.cud.schedule.LauncherCommandRequest;
import ru.spcex.platform.enumeration.Task; import ru.spcex.platform.enumeration.Task;
import ru.spcex.platform.imdg.api.ImdgId; import ru.spcex.platform.imdg.api.ImdgId;
@ -33,16 +32,10 @@ public class LauncherSender {
protected BaseRequest<Object> makeCmdRequest(Task byTask, Long userId) { protected BaseRequest<Object> makeCmdRequest(Task byTask, Long userId) {
Object toRequest; Object toRequest;
if (Task.createReport_GREP.equals(byTask)) { // см. ru.spcex.clearing.backendapi.controller.request.cud.schedule.LauncherNew#toRequest LauncherCommandRequest taskRunnerCommandRequest = new LauncherCommandRequest();
ReportWithPeriodRequest reportCommand = new ReportWithPeriodRequest(); taskRunnerCommandRequest.setTaskName(byTask.getKey());
reportCommand.setReportId(byTask.getKey()); taskRunnerCommandRequest.setUserId(userId);
toRequest = reportCommand; toRequest = taskRunnerCommandRequest;
} else {
LauncherCommandRequest taskRunnerCommandRequest = new LauncherCommandRequest();
taskRunnerCommandRequest.setTaskName(byTask.getKey());
taskRunnerCommandRequest.setUserId(userId);
toRequest = taskRunnerCommandRequest;
}
BaseRequest<Object> request = new BaseRequest<>(); BaseRequest<Object> request = new BaseRequest<>();
request.setId(idGenerator.nextId()); request.setId(idGenerator.nextId());
request.setActionType(ActionType.NEW); request.setActionType(ActionType.NEW);

View file

@ -58,7 +58,7 @@ public class LauncherService extends QueueConsumer implements InitializingBean {
launcher.setUpdated(created); launcher.setUpdated(created);
launcherMap.insert(launcher); launcherMap.insert(launcher);
log.debug("successfully processed, new id {}", launcher.getId()); log.debug("successfully processed, new id {}", launcher.getId());
kafkaProducer.send(new ProducerRecord<>("launcher-" + launcher.getTask(), req)); kafkaProducer.send(new ProducerRecord<>("launcher-" + launcher.getTask(), userRequest));
} }
} }

View file

@ -57,6 +57,7 @@ public interface Consts {
String REGISTRY_COVERED_DEAL_REGISTER_NEW = "registry-covered-deal-register-new"; String REGISTRY_COVERED_DEAL_REGISTER_NEW = "registry-covered-deal-register-new";
String REGISTRY_ADMITTED_DEAL_REGISTER_NEW = "registry-admitted-deal-register-new"; String REGISTRY_ADMITTED_DEAL_REGISTER_NEW = "registry-admitted-deal-register-new";
String REGISTRY_DEAL_REGISTER_NEW = "registry-deal-register-new";
String REGISTRY_ORDER_REGISTER_NEW = "registry-order-register-new"; String REGISTRY_ORDER_REGISTER_NEW = "registry-order-register-new";
String REGISTRY_CONTRACT_REGISTER_NEW = "registry-contract-register-new"; String REGISTRY_CONTRACT_REGISTER_NEW = "registry-contract-register-new";

View file

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