From 9a40d06eb976fe54f35828e4c6ba902568f372f5 Mon Sep 17 00:00:00 2001 From: etreschenkov Date: Fri, 26 May 2023 19:28:05 +0300 Subject: [PATCH] define marketcodes for bn session --- .../config/MarketCodesBySessionConfig.java | 28 +++++++++++++++++++ .../stage/PrimaryAuctionBnSession.java | 13 +++++---- 2 files changed, 36 insertions(+), 5 deletions(-) create mode 100644 clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/MarketCodesBySessionConfig.java diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/MarketCodesBySessionConfig.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/MarketCodesBySessionConfig.java new file mode 100644 index 000000000..5e8dd6bce --- /dev/null +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/MarketCodesBySessionConfig.java @@ -0,0 +1,28 @@ +package ru.spcex.clearing.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import ru.clearing.classes.statics.data.misc.Market; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.platform.enumeration.MarketType; +import ru.spcex.platform.enumeration.Section; +import ru.spcex.platform.imdg.api.Imdg; +import ru.spcex.platform.imdg.api.ImdgProvider; + +import java.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Configuration +public class MarketCodesBySessionConfig { + + @Bean(name = "marketCodesForBn") + public List marketCodesForBn(ImdgProvider imdgProvider) { + Imdg marketImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Market, Market.class); + Collection markets = marketImdg.getCollectionObjectsByFieldValues(Map.of( + "section", Section.FOND.getKey(), + "marketType", MarketType.PRMR.getKey())); + return markets.stream().map(Market::getCode).distinct().collect(Collectors.toList()); + } +} diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PrimaryAuctionBnSession.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PrimaryAuctionBnSession.java index 80131da2b..7b69881cd 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PrimaryAuctionBnSession.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PrimaryAuctionBnSession.java @@ -3,6 +3,7 @@ package ru.spcex.clearing.session.stage; 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.execution.ExecutionCommon; import ru.clearing.classes.statics.data.execution.ExecutionFond; @@ -40,10 +41,7 @@ public class PrimaryAuctionBnSession extends AbstractSession implements Initiali private final EndStageNotification endStageNotification; private final Imdg executionFondImdg; - - private List marketCodes = List.of("BMFC", "SMMC", "AEPC", "WBIC", "KBVC", "WBFC", "BMVC", "ABIC", - "AESC", "ABFC", "KBIC", "WBMC", "BMMC", "ABEC", "SMIC", "ABMC", "SMVC", "KBFC", "SKVC", "ABVC", "WEPC", - "KBMC", "SMFC", "BKVC", "WBVC", "BMIC", "WESC"); + private final List marketCodes; public PrimaryAuctionBnSession( @@ -56,7 +54,11 @@ public class PrimaryAuctionBnSession extends AbstractSession implements Initiali FormingRegistersOnOS formingRegistersOnOS, FormingPaymentInstruction formingPaymentInstruction, UnlockResources unlockResources, - FinishingSession finishingSession, EndStageNotification endStageNotification, IMessageResolver messageResolver, InspectionObligations inspectionObligations) { + FinishingSession finishingSession, + EndStageNotification endStageNotification, + IMessageResolver messageResolver, + InspectionObligations inspectionObligations, + @Qualifier("marketCodesForBn") List marketCodes) { super(imdgProvider, messageResolver); this.balanceRevise = balanceRevise; this.dealsPrepare = dealsPrepare; @@ -70,6 +72,7 @@ public class PrimaryAuctionBnSession extends AbstractSession implements Initiali this.endStageNotification = endStageNotification; this.executionFondImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ExecutionFond, ExecutionFond.class); this.inspectionObligations = inspectionObligations; + this.marketCodes = marketCodes; } @Override