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