From 49f54f4b393ff76d17dfce0bd1ae08a7cbdcbb5f Mon Sep 17 00:00:00 2001 From: etreschenkov Date: Tue, 2 Jul 2024 11:23:31 +0300 Subject: [PATCH] send error msg to gateway [4] --- .../service/TradingClearingRegistryService.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/TradingClearingRegistryService.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/TradingClearingRegistryService.java index 7770a225c..578325918 100644 --- a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/TradingClearingRegistryService.java +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/TradingClearingRegistryService.java @@ -27,6 +27,7 @@ import ru.clearing.classes.statics.data.company.relation.Relation; import ru.clearing.classes.statics.data.registry.TradingClearingRegistry; import ru.clearing.classes.statics.data.registry.TradingClearingRegistryList; import ru.spcex.clearing.account.errors.AccountError; +import ru.spcex.clearing.account.service.v2.GatewayRequestCreator; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.clearing.platform.messaging.domain.Consts; @@ -91,6 +92,7 @@ public class TradingClearingRegistryService extends QueueConsumer implements Ini private final IMessageResolver messageResolver; private final Producer kafkaProducer; private final KafkaSender kafkaSender; + private final GatewayRequestCreator gatewayRequestCreator; public TradingClearingRegistryService(Consumer kafkaQueue, Producer kafkaProducer, @@ -105,7 +107,7 @@ public class TradingClearingRegistryService extends QueueConsumer implements Ini @Qualifier("tradingClearingRegistryUpdateRequest") Function tradingClearingRegistryUpdateRequestValidator, @Qualifier("tradingClearingRegistryBlockRequest") - Function tradingClearingRegistryBlockRequestValidator) { + Function tradingClearingRegistryBlockRequestValidator, GatewayRequestCreator gatewayRequestCreator) { super(kafkaQueue, kafkaProducer); this.kafkaProducer = kafkaProducer; this.kafkaSender = kafkaSender; @@ -128,6 +130,7 @@ public class TradingClearingRegistryService extends QueueConsumer implements Ini this.tradingClearingRegistryUpdateRequestValidator = tradingClearingRegistryUpdateRequestValidator; this.tradingClearingRegistryBlockRequestValidator = tradingClearingRegistryBlockRequestValidator; this.messageResolver = messageResolver; + this.gatewayRequestCreator = gatewayRequestCreator; } @Override @@ -519,12 +522,18 @@ public class TradingClearingRegistryService extends QueueConsumer implements Ini Map.of("code", accountForCheck.getTkrCode()) ); Optional tkr = createRequestToGateway(tradingClearingRegistry); + SendTkrRequest sendTkrRequest = new SendTkrRequest(); if (tkr.isPresent()) { - SendTkrRequest sendTkrRequest = new SendTkrRequest(); sendTkrRequest.getTkrs().add(tkr.get()); sendTkrRequest.setRequestId(req.getRequestId()); - kafkaSender.sendRequestToQueue(Consts.ACCOUNTS_TO_GATEWAY, sendTkrRequest); + } else { + Optional errorMsg = Optional.of( + messageResolver.resolve(AccountError.TradingClearingRegistryNotFound, accountForCheck.getTkrCode())); + Tkr errorTkr = gatewayRequestCreator.crateErrorTkrToGateway(accountForCheck, errorMsg); + sendTkrRequest.getTkrs().add(errorTkr); + sendTkrRequest.setRequestId(req.getRequestId()); } + kafkaSender.sendRequestToQueue(Consts.ACCOUNTS_TO_GATEWAY, sendTkrRequest); } return null; }