From c9ef0ae75f94a325cc5f28e894d344bc2d83f723 Mon Sep 17 00:00:00 2001 From: etreschenkov Date: Wed, 18 Mar 2026 10:19:47 +0300 Subject: [PATCH] http://jira.mfd.msk:8088/browse/CLS-939 --- .../CurrencyPairSecurityRequestAdapter.java | 2 +- .../processor/ListingCurrMassiveProcessor.java | 14 ++++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/adapter/CurrencyPairSecurityRequestAdapter.java b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/adapter/CurrencyPairSecurityRequestAdapter.java index 4c1bde555..8a6ec9516 100644 --- a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/adapter/CurrencyPairSecurityRequestAdapter.java +++ b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/adapter/CurrencyPairSecurityRequestAdapter.java @@ -3,8 +3,8 @@ package ru.spcex.clearing.gatewayapi.service.adapter; import org.springframework.stereotype.Service; import ru.spcex.clearing.gatewayapi.controller.inbound.request.listing.curr.mkr.CurrencyInstrument; import ru.spcex.clearing.gatewayapi.controller.inbound.request.listing.curr.mkr.TradingMode; -import ru.spcex.clearing.platform.messaging.domain.cud.security.CurrencyPairSecurityNewRequest; import ru.spcex.clearing.platform.messaging.domain.cud.security.CurrencyPairSecurityNewGatewayRequest; +import ru.spcex.clearing.platform.messaging.domain.cud.security.CurrencyPairSecurityNewRequest; import ru.spcex.platform.enumeration.InstrumentType; @Service diff --git a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/processor/ListingCurrMassiveProcessor.java b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/processor/ListingCurrMassiveProcessor.java index 794d2e056..97a004b55 100644 --- a/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/processor/ListingCurrMassiveProcessor.java +++ b/clearing-parent/gateway-api/src/main/java/ru/spcex/clearing/gatewayapi/service/processor/ListingCurrMassiveProcessor.java @@ -1,7 +1,7 @@ package ru.spcex.clearing.gatewayapi.service.processor; +import java.util.Collection; import java.util.List; -import java.util.Optional; import java.util.UUID; import java.util.stream.Collectors; import org.apache.commons.lang3.StringUtils; @@ -57,9 +57,9 @@ public class ListingCurrMassiveProcessor { currencyInstrumentId = currencyInstrument.getId(); log.debug("Process currencyInstrumentId : {}", currencyInstrumentId); UUID finalCurrencyInstrumentId = currencyInstrumentId; - Optional tradingMode = request.getTradingModeList().stream() + Collection tradingMode = request.getTradingModeList().stream() .filter(tm -> tm.getCurrencySpecId().equals(finalCurrencyInstrumentId)) - .findFirst(); + .collect(Collectors.toSet()); if (tradingMode.isEmpty()) { log.warn("Trading mode not found for instrument {}", finalCurrencyInstrumentId); continue; @@ -68,9 +68,11 @@ public class ListingCurrMassiveProcessor { // log.warn("Incorrect code : {}, skip record", currencyInstrument.getCode()); // continue; // } - CurrencyPairSecurityNewGatewayRequest currencySecurityNewRequest = currencyPairSecurityRequestAdapter - .toCurrencySecurityNewRequest(currencyInstrument, tradingMode.get()); - kafkaSender.sendRequestToQueue(Consts.DESTINATION_GATEWAY_CURRENCY_PAIR_SECURITY, currencySecurityNewRequest); + for (TradingMode tm : tradingMode) { + CurrencyPairSecurityNewGatewayRequest currencySecurityNewRequest = currencyPairSecurityRequestAdapter + .toCurrencySecurityNewRequest(currencyInstrument, tm); + kafkaSender.sendRequestToQueue(Consts.DESTINATION_GATEWAY_CURRENCY_PAIR_SECURITY, currencySecurityNewRequest); + } } catch (Throwable e) { log.error("currencyInstrumentId={}: {}", currencyInstrumentId, ExceptionUtils.getStackTrace(e)); }