From ec012740cbe4a98de3ef13ec1109f0cbaa9dd80d Mon Sep 17 00:00:00 2001 From: etreschenkov Date: Wed, 2 Jul 2025 19:16:10 +0300 Subject: [PATCH] get section and sessionType from machine context --- .../CurrencySessionStateMachineConfig.java | 9 +-------- .../FinalSessionStateMachineConfig.java | 9 +-------- ...termediateMkrSessionStateMachineConfig.java | 8 +------- ...maryAuctionB0SessionStateMachineConfig.java | 9 +-------- .../state/action/CreateSessionAction.java | 16 +++++----------- .../state/action/FinishingSessionAction.java | 18 ++---------------- ...spectionObligationsDepositReturnAction.java | 5 +---- .../action/InspectionObligationsV2Action.java | 15 +-------------- 8 files changed, 13 insertions(+), 76 deletions(-) diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/state_machine_2/specific/CurrencySessionStateMachineConfig.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/state_machine_2/specific/CurrencySessionStateMachineConfig.java index a3780ebf1..fb2d8b06e 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/state_machine_2/specific/CurrencySessionStateMachineConfig.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/state_machine_2/specific/CurrencySessionStateMachineConfig.java @@ -75,7 +75,6 @@ public class CurrencySessionStateMachineConfig extends EnumStateMachineConfigure ); private final Guard reviseSuccessGuard = guardCheckCtxForFlag(DataEnum.againReviseSuccess); private final SessionType SESSION_TYPE = SessionType.MEDM; - private final Section SECTION = Section.MKR; public CurrencySessionStateMachineConfig(ImdgProvider imdgProvider, Sdf56Action sendSdf56Action, @@ -107,16 +106,12 @@ public class CurrencySessionStateMachineConfig extends EnumStateMachineConfigure this.finishingSessionAction = finishingSession; this.endStageNotificationAction = endStageNotification; this.obligationAdmissionContinueAction = obligationAdmissionContinueAction; - - this.finishingSessionAction.setSessionType(SESSION_TYPE); - this.finishingSessionAction.setSection(SECTION); this.finishingSessionAction.setPr("1"); dealsPrepareAction.searchForExecutions(ExecutionType.ExecutionCurrency); ImdgPredicateBuilder execFondPb = executionCurrencyImdg.predicateBuilder(); dealsPrepareAction.addExecutionCurrencyCondition(execFondPb.regex("settlementCode", "^T0.*$")); dealsPrepareAction.addExecutionCurrencyCondition(execFondPb.in("market", marketCodes.get().toArray(new String[0]))); - this.inspectionObligationsV2Action.setSessionType(SESSION_TYPE); this.obligationAdmissionContinueAction.setDataEnum(DataEnum.obligationAdmissionStashedRgs); } @@ -125,9 +120,7 @@ public class CurrencySessionStateMachineConfig extends EnumStateMachineConfigure states .withStates() .initial(TaskType.StartRevise, chain( - new CreateSessionAction(sessionImdg) - .sessionType(SESSION_TYPE) - .section(SECTION), + new CreateSessionAction(sessionImdg, SessionType.MEDM, Section.MKR), sendSdf56Action)) .states(new HashSet<>(Arrays.asList( TaskType.StartRevise, diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/state_machine_2/specific/FinalSessionStateMachineConfig.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/state_machine_2/specific/FinalSessionStateMachineConfig.java index 04e647421..fce14237e 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/state_machine_2/specific/FinalSessionStateMachineConfig.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/state_machine_2/specific/FinalSessionStateMachineConfig.java @@ -78,7 +78,6 @@ public class FinalSessionStateMachineConfig ); private final SessionType SESSION_TYPE = SessionType.FINL; - private final Section SECTION = Section.MKR; @Autowired @@ -112,8 +111,6 @@ public class FinalSessionStateMachineConfig this.formingPaymentInstructionAssetsAction = formingPaymentInstructionAssetsAction; this.finishingSessionAction = finishingSessionAction; this.endStageNotificationAction = endStageNotificationAction; - this.finishingSessionAction.setSessionType(SESSION_TYPE); - this.finishingSessionAction.setSection(SECTION); this.finishingSessionAction.setPr("3"); //stages settings: @@ -128,8 +125,6 @@ public class FinalSessionStateMachineConfig rgsPrctBuilder.lessEqual("valueDate", LocalDate.now()) ) ); - this.inspOblDepositReturnAction.setSessionType(SESSION_TYPE); - this.inspectionObligationsV2Action.setSessionType(SESSION_TYPE); this.obligationAdmissionContinueAction.setDataEnum(DataEnum.obligationAdmissionStashedRgs); } @@ -138,9 +133,7 @@ public class FinalSessionStateMachineConfig states .withStates() .initial(TaskType.StartRevise, chain( - new CreateSessionAction(sessionImdg) - .sessionType(SESSION_TYPE) - .section(SECTION), + new CreateSessionAction(sessionImdg, SessionType.FINL, Section.MKR), sendSdf56Action)) .states(new HashSet<>(Arrays.asList( TaskType.StartRevise, diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/state_machine_2/specific/IntermediateMkrSessionStateMachineConfig.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/state_machine_2/specific/IntermediateMkrSessionStateMachineConfig.java index 9720c4ab5..99359630e 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/state_machine_2/specific/IntermediateMkrSessionStateMachineConfig.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/state_machine_2/specific/IntermediateMkrSessionStateMachineConfig.java @@ -78,7 +78,6 @@ public class IntermediateMkrSessionStateMachineConfig private final Guard reviseSuccessGuard = guardCheckCtxForFlag(DataEnum.againReviseSuccess); private final SessionType SESSION_TYPE = SessionType.MEDM; - private final Section SECTION = Section.MKR; @Autowired @@ -109,8 +108,6 @@ public class IntermediateMkrSessionStateMachineConfig this.formingPaymentInstructionAssetsAction = formingPaymentInstructionAssetsAction; this.finishingSessionAction = finishingSessionAction; this.endStageNotificationAction = endStageNotificationAction; - this.finishingSessionAction.setSessionType(SESSION_TYPE); - this.finishingSessionAction.setSection(SECTION); this.finishingSessionAction.setPr("4"); //stages settings: @@ -125,7 +122,6 @@ public class IntermediateMkrSessionStateMachineConfig rgsPrctBuilder.equals("valueDate", LocalDate.now()) ) ); - this.inspectionObligationsV2Action.setSessionType(SESSION_TYPE); this.obligationAdmissionContinueAction.setDataEnum(DataEnum.obligationAdmissionStashedRgs); } @@ -134,9 +130,7 @@ public class IntermediateMkrSessionStateMachineConfig states .withStates() .initial(TaskType.StartRevise, chain( - new CreateSessionAction(sessionImdg) - .sessionType(SESSION_TYPE) - .section(SECTION), + new CreateSessionAction(sessionImdg, SessionType.MEDM, Section.MKR), sendSdf56Action)) .states(new HashSet<>(Arrays.asList( TaskType.StartRevise, diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/state_machine_2/specific/PrimaryAuctionB0SessionStateMachineConfig.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/state_machine_2/specific/PrimaryAuctionB0SessionStateMachineConfig.java index ee10da6cf..b4c827fb2 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/state_machine_2/specific/PrimaryAuctionB0SessionStateMachineConfig.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/state_machine_2/specific/PrimaryAuctionB0SessionStateMachineConfig.java @@ -78,7 +78,6 @@ public class PrimaryAuctionB0SessionStateMachineConfig private final Guard reviseSuccessGuard = guardCheckCtxForFlag(DataEnum.againReviseSuccess); private final SessionType SESSION_TYPE = SessionType.IPO0; - private final Section SECTION = Section.FOND; @Autowired @@ -110,8 +109,6 @@ public class PrimaryAuctionB0SessionStateMachineConfig this.formingPaymentInstructionSecuritiesAction = formingPaymentInstructionSecuritiesAction; this.finishingSessionAction = finishingSessionAction; this.endStageNotificationAction = endStageNotificationAction; - this.finishingSessionAction.setSessionType(SESSION_TYPE); - this.finishingSessionAction.setSection(SECTION); this.finishingSessionAction.setPr("0"); //stages settings: @@ -119,8 +116,6 @@ public class PrimaryAuctionB0SessionStateMachineConfig ImdgPredicateBuilder execFondPb = executionFondImdg.predicateBuilder(); dealsPrepareAction.addExecutionFondCondition(execFondPb.equals("settlementCode", "B0")); dealsPrepareAction.addExecutionFondCondition(execFondPb.in("market", marketCodes.get().toArray(new String[0]))); - - this.inspectionObligationsV2Action.setSessionType(SESSION_TYPE); this.obligationAdmissionContinueAction.setDataEnum(DataEnum.obligationAdmissionStashedRgs); } @@ -129,9 +124,7 @@ public class PrimaryAuctionB0SessionStateMachineConfig states .withStates() .initial(TaskType.StartRevise, chain( - new CreateSessionAction(sessionImdg) - .sessionType(SESSION_TYPE) - .section(SECTION), + new CreateSessionAction(sessionImdg, SessionType.IPO0, Section.FOND), sendSdf56Action)) .states(new HashSet<>(Arrays.asList( TaskType.StartRevise, diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/state/action/CreateSessionAction.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/state/action/CreateSessionAction.java index 104691dc3..7f182a45c 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/state/action/CreateSessionAction.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/state/action/CreateSessionAction.java @@ -17,21 +17,15 @@ import ru.spcex.platform.imdg.api.Imdg; public class CreateSessionAction extends AbstractSessionActionForOkErrorHandling { private final Imdg sessionImdg; private final Logger log = LoggerFactory.getLogger(CreateSessionAction.class); - private SessionType sessionType; - private Section section; + private final SessionType sessionType; + private final Section section; - public CreateSessionAction(Imdg sessionImdg) { + public CreateSessionAction(Imdg sessionImdg, + SessionType sessionType, + Section section) { this.sessionImdg = sessionImdg; - } - - public CreateSessionAction sessionType(SessionType sessionType) { this.sessionType = sessionType; - return this; - } - - public CreateSessionAction section(Section section) { this.section = section; - return this; } @Override diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/state/action/FinishingSessionAction.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/state/action/FinishingSessionAction.java index 7ee0b57f1..e2f69888d 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/state/action/FinishingSessionAction.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/state/action/FinishingSessionAction.java @@ -25,7 +25,6 @@ import ru.clearing.classes.statics.data.execution.ExecutionDeposit; import ru.clearing.classes.statics.data.execution.ExecutionFond; import ru.clearing.classes.statics.data.misc.Session; import ru.clearing.classes.statics.data.registry.Registry; -import ru.clearing.classes.statics.data.sdf.SDf05; import ru.spcex.clearing.component.GroupRgsKey; import static ru.spcex.clearing.error.ClearingErrorInternal.SessionGeneralError; import ru.spcex.clearing.imdg.IMDGDistributedNames; @@ -61,57 +60,44 @@ import ru.spcex.platform.utils.enumeration.IMessageResolver; public class FinishingSessionAction extends AbstractSessionActionForOkErrorHandling { private final Logger log = LoggerFactory.getLogger(getClass()); - private final ImdgProvider imdgProvider; private final Imdg registryImdg; private final Imdg executionFondImdg; private final Imdg executionDepositImdg; private final Imdg executionCurrencyImdg; private final Imdg sessionImdg; - private final Imdg sDf05Imdg; private final KafkaSender kafkaSender; private final IMessageResolver msgResolver; private final Sdf05Sender sdf05Sender; private final Sdf14Sender sdf14Sender; private SessionType sessionType; - private Section section; private String pr; - @Autowired public FinishingSessionAction(ImdgProvider imdgProvider, KafkaSender kafkaSender, IMessageResolver msgResolver, Sdf05Sender sdf05Sender, Sdf14Sender sdf14Sender) { - this.imdgProvider = imdgProvider; this.sessionImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Session, Session.class); this.registryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Registry, Registry.class); this.executionFondImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ExecutionFond, ExecutionFond.class); this.executionDepositImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ExecutionDeposit, ExecutionDeposit.class); this.executionCurrencyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ExecutionCurrency, ExecutionCurrency.class); - this.sDf05Imdg = imdgProvider.getImdg(IMDGDistributedNames.Map_SDf05, SDf05.class); this.kafkaSender = kafkaSender; this.msgResolver = msgResolver; this.sdf05Sender = sdf05Sender; this.sdf14Sender = sdf14Sender; } - public void setSection(Section section) { - this.section = section; - } - public void setPr(String pr) { this.pr = pr; } - public void setSessionType(SessionType sessionType) { - this.sessionType = sessionType; - } - - @Override protected void actualExecute(StateContext ctx) { Long sessionId = ctx.getExtendedState().get(DataEnum.sessionId, Long.class); + this.sessionType = ctx.getExtendedState().get(DataEnum.sessionType, SessionType.class); + Section section = ctx.getExtendedState().get(DataEnum.section, Section.class); if (pr == null) { throw new IllegalStateException("'pr' not set up"); } diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/state/action/InspectionObligationsDepositReturnAction.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/state/action/InspectionObligationsDepositReturnAction.java index d32f84c1f..9e90f1633 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/state/action/InspectionObligationsDepositReturnAction.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/state/action/InspectionObligationsDepositReturnAction.java @@ -75,6 +75,7 @@ public class InspectionObligationsDepositReturnAction extends AbstractSessionAct @Override protected void actualExecute(StateContext ctx) { Long sessionId = ctx.getExtendedState().get(DataEnum.sessionId, Long.class); + this.sessionType = ctx.getExtendedState().get(DataEnum.sessionType, SessionType.class); String sqlCondition = String.format("(%s) and registryStatus = '%s'", RegistryCodeSqlBuilder.getInstance(OS_T, OM_T, TS_T, TM_T).build(), RegistryStatus.POOL.getKey()); @@ -300,8 +301,4 @@ public class InspectionObligationsDepositReturnAction extends AbstractSessionAct .formatted(omtRgs.getCounterPartyId(), ClearingCategory.V.getKey())); return ctgr != null; } - - public void setSessionType(SessionType sessionType) { - this.sessionType = sessionType; - } } diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/state/action/InspectionObligationsV2Action.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/state/action/InspectionObligationsV2Action.java index 8b4d39875..46b797c6b 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/state/action/InspectionObligationsV2Action.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/state/action/InspectionObligationsV2Action.java @@ -30,7 +30,6 @@ import ru.spcex.clearing.service.cash.impl.RegistryCashA__F; import ru.spcex.clearing.service.cash.impl.RegistryCashAssetCash; import ru.spcex.clearing.service.cash.impl.RegistryCashD___; import ru.spcex.clearing.service.integration.GatewayRequestCreator; -import ru.spcex.clearing.service.registry.AssetTBFProcessing; import ru.spcex.clearing.service.registry.AssetTBFProcessingCashing; import ru.spcex.clearing.service.registry.RegistryManager; import ru.spcex.clearing.service.schedule.TradingTimeService; @@ -66,11 +65,8 @@ public class InspectionObligationsV2Action extends AbstractSessionActionForOkErr private final Logger log = LoggerFactory.getLogger(getClass()); private final Imdg registryImdg; private final ImdgId idGen; - private final RegistryManager registryManager; private final IMessageResolver msgResolver = new SimpleMessageResolver(); private SessionType sessionType; - private Section section; - private final AssetTBFProcessing assets; private final AssetTBFProcessingCashing assetsCashing; private final GatewayRequester gateway; private final TradingTimeService tradingTimeService; @@ -78,21 +74,16 @@ public class InspectionObligationsV2Action extends AbstractSessionActionForOkErr @Autowired public InspectionObligationsV2Action(ImdgProvider imdgProvider, - RegistryManager registryManager, - AssetTBFProcessing assets, GatewayRequester gateway, PlanBalanceCalc planBalanceCalc ) { this.registryImdg = imdgProvider.getCashingImdg(IMDGDistributedNames.Map_Registry, Registry.class, null); this.idGen = imdgProvider.getImdgIdGenerator(); - this.registryManager = registryManager; - this.assets = assets; this.gateway = gateway; this.planBalanceCalc = planBalanceCalc; this.gateway.setName("InspectionObligations|OM*T"); this.tradingTimeService = new TradingTimeService(imdgProvider); this.assetsCashing = new AssetTBFProcessingCashing(imdgProvider, d___Cash); - } private final RegistryCashAssetCash a___Cash = new RegistryCashAssetCash("[all assets]"); @@ -100,15 +91,11 @@ public class InspectionObligationsV2Action extends AbstractSessionActionForOkErr private final RegistryCashD___ d___Cash = new RegistryCashD___("[D__I/V]"); - public void setSessionType(SessionType sessionType) { - this.sessionType = sessionType; - } - - @Override protected void actualExecute(StateContext ctx) { try { Long sessionId = ctx.getExtendedState().get(DataEnum.sessionId, Long.class); + this.sessionType = ctx.getExtendedState().get(DataEnum.sessionType, SessionType.class); inspectionObligations(sessionId); } finally { a___Cash.clear();