From bacbf1cecab1a986e7a5836a81090af1574c70e6 Mon Sep 17 00:00:00 2001 From: akulikov Date: Thu, 6 Apr 2023 10:46:50 +0300 Subject: [PATCH] add Consts (FixedIncomeCashFlow) --- .../cud/FixedIncomeCashFlowService.java | 21 ++++++++++++++----- .../platform/messaging/domain/Consts.java | 3 +++ 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/FixedIncomeCashFlowService.java b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/FixedIncomeCashFlowService.java index b8309e587..bf227b425 100644 --- a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/FixedIncomeCashFlowService.java +++ b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/FixedIncomeCashFlowService.java @@ -5,48 +5,59 @@ import org.apache.kafka.clients.producer.Producer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.InitializingBean; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Service; import ru.clearing.classes.statics.data.instrument.issue.FixedIncomeCashFlow; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.platform.messaging.domain.BaseRequest; +import ru.spcex.clearing.platform.messaging.domain.Consts; import ru.spcex.clearing.platform.messaging.domain.cud.securitites.FixedIncomeCashFlowNewRequest; import ru.spcex.clearing.platform.messaging.service.QueueConsumer; import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate; import ru.spcex.clearing.validation.common.ValidationHelper; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.ImdgProvider; +import ru.spcex.platform.utils.validation.IValidator; + +import java.util.function.Function; @Service -public class FixedIncomeCashFlowService extends QueueConsumer implements InitializingBean { +public class FixedIncomeCashFlowService extends QueueConsumer implements InitializingBean { private final Logger log = LoggerFactory.getLogger(getClass()); private final Imdg fixedIncomeCashFlowImdg; private final ImdgProvider imdgProvider; private final ValidationHelper validationHelper; + private final Function fixedIncomeCashFlowNewRequestValidator; + public FixedIncomeCashFlowService(Consumer kafkaQueue, Producer kafkaResponseQueue, ImdgProvider imdgProvider, - ValidationHelper validationHelper) { + ValidationHelper validationHelper, + @Qualifier("fixedIncomeCashFlowNewRequestValidator") Function fixedIncomeCashFlowNewRequestValidator) { super(kafkaQueue, kafkaResponseQueue); this.imdgProvider = imdgProvider; this.validationHelper = validationHelper; + this.fixedIncomeCashFlowNewRequestValidator = fixedIncomeCashFlowNewRequestValidator; this.fixedIncomeCashFlowImdg = imdgProvider.getImdg( IMDGDistributedNames.Map_FixedIncomeCashFlow, FixedIncomeCashFlow.class ); - } @Override public void afterPropertiesSet() throws Exception { log.debug("EquitySecurityNewRequest received"); - + callback(FixedIncomeCashFlowNewRequest.class) + .setConsumer(this::fixedIncomeCashFlowNew) + .forDestination(Consts.DESTINATION_FIXED_INCOME_CASH_FLOW_NEW, callbacks::put); init(); } public RequestInfoUpdate fixedIncomeCashFlowNew(BaseRequest userRequest) { log.debug("FixedIncomeCashFlowNewRequest received {}", userRequest.getId()); - // validation + RequestInfoUpdate requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, fixedIncomeCashFlowNewRequestValidator); + if (requestInfoUpdate != null) return requestInfoUpdate; FixedIncomeCashFlowNewRequest req = userRequest.getRequestPayload(); FixedIncomeCashFlow fixedIncomeCashFlow = new FixedIncomeCashFlow(); diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java index 04e5545d4..2a235f2d0 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java @@ -13,6 +13,9 @@ public interface Consts { String DESTINATION_FIXED_INCOME_SECURITY_UPDATE = "fixed-income-security-update"; String DESTINATION_FIXED_INCOME_SECURITY_DELETE = "fixed-income-security-delete"; + String DESTINATION_FIXED_INCOME_CASH_FLOW_NEW = "fixed-income-cash-flow-new"; + String DESTINATION_FIXED_INCOME_CASH_FLOW_UPDATE = "fixed-income-cash-flow-update"; + String DESTINATION_CURRENCY_NEW = "currency-new"; String DESTINATION_CURRENCY_UPDATE = "currency-update"; String DESTINATION_COUPON_PERIOD_NEW = "coupon_period-new";