From 3da32d9f417c06baf684d95e3f3a82af474bd336 Mon Sep 17 00:00:00 2001 From: etreschenkov Date: Thu, 10 Jul 2025 16:44:36 +0300 Subject: [PATCH] remove endStageNotification stage --- .../CurrencySessionStateMachineConfig.java | 15 +-- .../FinalSessionStateMachineConfig.java | 15 +-- ...ermediateMkrSessionStateMachineConfig.java | 17 +-- .../PaymSessionStateMachineConfig.java | 15 +-- ...aryAuctionB0SessionStateMachineConfig.java | 14 +- ...aryAuctionBnSessionStateMachineConfig.java | 15 +-- ...aryAuctionT0SessionStateMachineConfig.java | 15 +-- ...eturnDepositSessionStateMachineConfig.java | 19 +-- ...aryAuctionT0SessionStateMachineConfig.java | 15 +-- .../UnitedSessionStateMachineConfig.java | 3 +- .../action/EndStageNotificationAction.java | 122 ------------------ 11 files changed, 33 insertions(+), 232 deletions(-) delete mode 100644 clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/state/action/EndStageNotificationAction.java 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 67acec878..6fee17354 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 @@ -24,7 +24,6 @@ import ru.spcex.clearing.session.state.action.AgainReviseStage3Action; import ru.spcex.clearing.session.state.action.CreateSessionAction; import ru.spcex.clearing.session.state.action.DealsPrepareAction; import ru.spcex.clearing.session.state.action.DiscardRegistriesAction; -import ru.spcex.clearing.session.state.action.EndStageNotificationAction; import ru.spcex.clearing.session.state.action.FinishingSessionAction; import ru.spcex.clearing.session.state.action.FormingPaymentInstructionAssetsAction; import ru.spcex.clearing.session.state.action.InclusionToPoolAction; @@ -66,7 +65,6 @@ public class CurrencySessionStateMachineConfig extends EnumStateMachineConfigure private final FormingPaymentInstructionAssetsAction formingPaymentInstructionAssetsAction; private final AgainReviseStage3Action againRevise; private final FinishingSessionAction finishingSessionAction; - private final EndStageNotificationAction endStageNotificationAction; private final SaveRegistriesAndContinueAction obligationAdmissionContinueAction; private final DiscardRegistriesAction discardOblAdmStash = new DiscardRegistriesAction(DataEnum.obligationAdmissionStashedRgs); @@ -92,7 +90,6 @@ public class CurrencySessionStateMachineConfig extends EnumStateMachineConfigure FormingPaymentInstructionAssetsAction formingPaymentInstructionAssets, AgainReviseStage3Action againReviseStage3Action, FinishingSessionAction finishingSession, - EndStageNotificationAction endStageNotification, @Qualifier("marketCodesForCurr") Supplier> marketCodes, SaveRegistriesAndContinueAction obligationAdmissionContinueAction, @@ -111,7 +108,6 @@ public class CurrencySessionStateMachineConfig extends EnumStateMachineConfigure this.formingPaymentInstructionAssetsAction = formingPaymentInstructionAssets; this.againRevise = againReviseStage3Action; this.finishingSessionAction = finishingSession; - this.endStageNotificationAction = endStageNotification; this.obligationAdmissionContinueAction = obligationAdmissionContinueAction; this.pauseWsAction = pauseWsAction; this.activeWsAction = activeWsAction; @@ -143,12 +139,11 @@ public class CurrencySessionStateMachineConfig extends EnumStateMachineConfigure TaskType.FormingPaymentInstruction, TaskType.FinishingSession, TaskType.AgainRevise, - TaskType.EndStageNotification, TaskType.PSEUDO_waitSdfAfterPaymentInstructions, TaskType.PSEUDO_waitAfterObligationAdmissionError, TaskType.PSEUDO_waitSdfAfterAgainRevise ))) - .end(TaskType.EndStageNotification); + .end(TaskType.FinishingSession); } @Override @@ -183,12 +178,8 @@ public class CurrencySessionStateMachineConfig extends EnumStateMachineConfigure .source(TaskType.PSEUDO_waitSdfAfterAgainRevise) .target(TaskType.AgainRevise) .guard(new SdfGuard(SdfGuardExtractorAfterAgainRevise.instance)) - .action(againRevise) - .and() - .withExternal() - .source(TaskType.FinishingSession) - .target(TaskType.EndStageNotification) - .action(endStageNotificationAction); + .action(againRevise); + sourceObligationAdmission(transitions); sourcePseudoAfterOAError(transitions); sourceFormingPaymentInstruction(transitions); 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 40a8f9255..0da8c741a 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 @@ -22,7 +22,6 @@ import ru.spcex.clearing.session.state.SsnEvent; import ru.spcex.clearing.session.state.action.CreateSessionAction; import ru.spcex.clearing.session.state.action.DealsPrepareAction; import ru.spcex.clearing.session.state.action.DiscardRegistriesAction; -import ru.spcex.clearing.session.state.action.EndStageNotificationAction; import ru.spcex.clearing.session.state.action.FinishingSessionAction; import ru.spcex.clearing.session.state.action.FormingPaymentInstructionAssetsAction; import ru.spcex.clearing.session.state.action.FormingPaymentInstructionReturnMkrAction; @@ -69,7 +68,6 @@ public class FinalSessionStateMachineConfig private final FormingPaymentInstructionReturnMkrAction formingPaymentInstructionReturnMkrAction; private final FormingPaymentInstructionAssetsAction formingPaymentInstructionAssetsAction; private final FinishingSessionAction finishingSessionAction; - private final EndStageNotificationAction endStageNotificationAction; private final SaveRegistriesAndContinueAction obligationAdmissionContinueAction; private final DiscardRegistriesAction discardOblAdmStash = new DiscardRegistriesAction(DataEnum.obligationAdmissionStashedRgs); @@ -97,7 +95,6 @@ public class FinalSessionStateMachineConfig FormingPaymentInstructionReturnMkrAction formingPaymentInstructionReturnMkrAction, FormingPaymentInstructionAssetsAction formingPaymentInstructionAssetsAction, FinishingSessionAction finishingSessionAction, - EndStageNotificationAction endStageNotificationAction, SaveRegistriesAndContinueAction obligationAdmissionContinueAction, @Qualifier("pauseWorkflowStatusAction") UpdateWorkflowStatusAction pauseWsAction, @Qualifier("activeWorkflowStatusAction") UpdateWorkflowStatusAction activeWsAction @@ -118,7 +115,6 @@ public class FinalSessionStateMachineConfig this.formingPaymentInstructionReturnMkrAction = formingPaymentInstructionReturnMkrAction; this.formingPaymentInstructionAssetsAction = formingPaymentInstructionAssetsAction; this.finishingSessionAction = finishingSessionAction; - this.endStageNotificationAction = endStageNotificationAction; this.finishingSessionAction.setPr("3"); //stages settings: @@ -154,11 +150,10 @@ public class FinalSessionStateMachineConfig TaskType.FormingRegistersOnOS, TaskType.FormingPaymentInstruction, TaskType.FinishingSession, - TaskType.EndStageNotification, TaskType.PSEUDO_waitSdfAfterPaymentInstructions, TaskType.PSEUDO_waitAfterObligationAdmissionError ))) - .end(TaskType.EndStageNotification); + .end(TaskType.FinishingSession); } @@ -190,12 +185,8 @@ public class FinalSessionStateMachineConfig .withExternal() .source(TaskType.InspectionObligations).target(TaskType.FormingPaymentInstruction) .action(formingPaymentInstructionReturnMkrAction) - .action(formingPaymentInstructionAssetsAction) - .and() - .withExternal() - .source(TaskType.FinishingSession) - .target(TaskType.EndStageNotification) - .action(endStageNotificationAction); + .action(formingPaymentInstructionAssetsAction); + sourceObligationAdmission(transitions); sourcePseudoAfterOAError(transitions); sourceFormingPaymentInstruction(transitions); 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 723129c57..19e02f9a3 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 @@ -24,7 +24,6 @@ import ru.spcex.clearing.session.state.action.AgainReviseStage3Action; import ru.spcex.clearing.session.state.action.CreateSessionAction; import ru.spcex.clearing.session.state.action.DealsPrepareAction; import ru.spcex.clearing.session.state.action.DiscardRegistriesAction; -import ru.spcex.clearing.session.state.action.EndStageNotificationAction; import ru.spcex.clearing.session.state.action.FinishingSessionAction; import ru.spcex.clearing.session.state.action.FormingPaymentInstructionAssetsAction; import ru.spcex.clearing.session.state.action.InclusionToPoolAction; @@ -69,7 +68,6 @@ public class IntermediateMkrSessionStateMachineConfig private final FormingPaymentInstructionAssetsAction formingPaymentInstructionAssetsAction; private final AgainReviseStage3Action againRevise; private final FinishingSessionAction finishingSessionAction; - private final EndStageNotificationAction endStageNotificationAction; private final SaveRegistriesAndContinueAction obligationAdmissionContinueAction; private final DiscardRegistriesAction discardOblAdmStash = new DiscardRegistriesAction(DataEnum.obligationAdmissionStashedRgs); @@ -95,7 +93,8 @@ public class IntermediateMkrSessionStateMachineConfig InclusionToPoolAction inclusionToPoolAction, InspectionObligationsV2Action inspectionObligationsV2Action, FormingPaymentInstructionAssetsAction formingPaymentInstructionAssetsAction, AgainReviseStage3Action againRevise, - FinishingSessionAction finishingSessionAction, EndStageNotificationAction endStageNotificationAction, SaveRegistriesAndContinueAction obligationAdmissionContinueAction, + FinishingSessionAction finishingSessionAction, + SaveRegistriesAndContinueAction obligationAdmissionContinueAction, @Qualifier("pauseWorkflowStatusAction") UpdateWorkflowStatusAction pauseWsAction, @Qualifier("activeWorkflowStatusAction") @@ -116,7 +115,6 @@ public class IntermediateMkrSessionStateMachineConfig this.inspectionObligationsV2Action = inspectionObligationsV2Action; this.formingPaymentInstructionAssetsAction = formingPaymentInstructionAssetsAction; this.finishingSessionAction = finishingSessionAction; - this.endStageNotificationAction = endStageNotificationAction; this.finishingSessionAction.setPr("4"); //stages settings: @@ -153,12 +151,11 @@ public class IntermediateMkrSessionStateMachineConfig TaskType.FormingPaymentInstruction, TaskType.AgainRevise, TaskType.FinishingSession, - TaskType.EndStageNotification, TaskType.PSEUDO_waitSdfAfterPaymentInstructions, TaskType.PSEUDO_waitAfterObligationAdmissionError, TaskType.PSEUDO_waitSdfAfterAgainRevise ))) - .end(TaskType.EndStageNotification); + .end(TaskType.FinishingSession); } @@ -194,12 +191,8 @@ public class IntermediateMkrSessionStateMachineConfig .source(TaskType.PSEUDO_waitSdfAfterAgainRevise) .target(TaskType.AgainRevise) .guard(new SdfGuard(SdfGuardExtractorAfterAgainRevise.instance)) - .action(againRevise) - .and() - .withExternal() - .source(TaskType.FinishingSession) - .target(TaskType.EndStageNotification) - .action(endStageNotificationAction); + .action(againRevise); + sourceObligationAdmission(transitions); sourcePseudoWaitAfterObligationAdmissionError(transitions); sourceFormingPaymentInstructions(transitions); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/state_machine_2/specific/PaymSessionStateMachineConfig.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/state_machine_2/specific/PaymSessionStateMachineConfig.java index 5f0be5f05..c9ffa609d 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/state_machine_2/specific/PaymSessionStateMachineConfig.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/state_machine_2/specific/PaymSessionStateMachineConfig.java @@ -23,7 +23,6 @@ import ru.spcex.clearing.session.state.action.AgainReviseStage3Action; import ru.spcex.clearing.session.state.action.CreateSessionAction; import ru.spcex.clearing.session.state.action.DealsPrepareAction; import ru.spcex.clearing.session.state.action.DiscardRegistriesAction; -import ru.spcex.clearing.session.state.action.EndStageNotificationAction; import ru.spcex.clearing.session.state.action.FinishingSessionAction; import ru.spcex.clearing.session.state.action.FormingPaymentInstructionAssetsAction; import ru.spcex.clearing.session.state.action.InclusionToPoolAction; @@ -56,7 +55,6 @@ public class PaymSessionStateMachineConfig extends EnumStateMachineConfigurerAda private final FormingPaymentInstructionAssetsAction formingPaymentInstructionAssetsAction; private final AgainReviseStage3Action againRevise; private final FinishingSessionAction finishingSessionAction; - private final EndStageNotificationAction endStageNotificationAction; private final SaveRegistriesAndContinueAction obligationAdmissionContinueAction; private final DiscardRegistriesAction discardOblAdmStash = new DiscardRegistriesAction(DataEnum.obligationAdmissionStashedRgs); @@ -80,7 +78,6 @@ public class PaymSessionStateMachineConfig extends EnumStateMachineConfigurerAda FormingPaymentInstructionAssetsAction formingPaymentInstructionAssets, AgainReviseStage3Action againReviseStage3Action, FinishingSessionAction finishingSession, - EndStageNotificationAction endStageNotification, @Qualifier("marketCodesForCurr") Supplier> marketCodes, SaveRegistriesAndContinueAction obligationAdmissionContinueAction, @@ -101,7 +98,6 @@ public class PaymSessionStateMachineConfig extends EnumStateMachineConfigurerAda this.formingPaymentInstructionAssetsAction = formingPaymentInstructionAssets; this.againRevise = againReviseStage3Action; this.finishingSessionAction = finishingSession; - this.endStageNotificationAction = endStageNotification; this.obligationAdmissionContinueAction = obligationAdmissionContinueAction; this.finishingSessionAction.setPr("1"); @@ -127,11 +123,10 @@ public class PaymSessionStateMachineConfig extends EnumStateMachineConfigurerAda TaskType.InspectionObligations, TaskType.FormingPaymentInstruction, TaskType.FinishingSession, - TaskType.EndStageNotification, TaskType.PSEUDO_waitAfterObligationAdmissionError, TaskType.AgainRevise ))) - .end(TaskType.EndStageNotification); + .end(TaskType.FinishingSession); } @Override @@ -170,12 +165,8 @@ public class PaymSessionStateMachineConfig extends EnumStateMachineConfigurerAda .source(TaskType.AgainRevise) .target(TaskType.FinishingSession) .action(finishingSessionAction) - .guard(reviseSuccessGuard) - .and() - .withExternal() - .source(TaskType.FinishingSession) - .target(TaskType.EndStageNotification) - .action(endStageNotificationAction); + .guard(reviseSuccessGuard); + sourceObligationAdmission(transitions); sourcePseudoAfterOAError(transitions); } 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 6ae79d1e5..9a1bafe8d 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 @@ -25,7 +25,6 @@ import ru.spcex.clearing.session.state.action.AgainReviseStage3Action; import ru.spcex.clearing.session.state.action.CreateSessionAction; import ru.spcex.clearing.session.state.action.DealsPrepareAction; import ru.spcex.clearing.session.state.action.DiscardRegistriesAction; -import ru.spcex.clearing.session.state.action.EndStageNotificationAction; import ru.spcex.clearing.session.state.action.FinishingSessionAction; import ru.spcex.clearing.session.state.action.FormingPaymentInstructionSecuritiesAction; import ru.spcex.clearing.session.state.action.InclusionToPoolAction; @@ -69,7 +68,6 @@ public class PrimaryAuctionB0SessionStateMachineConfig private final FormingPaymentInstructionSecuritiesAction formingPaymentInstructionSecuritiesAction; private final AgainReviseStage3Action againRevise; private final FinishingSessionAction finishingSessionAction; - private final EndStageNotificationAction endStageNotificationAction; private final SaveRegistriesAndContinueAction obligationAdmissionContinueAction; private final DiscardRegistriesAction discardOblAdmStash = new DiscardRegistriesAction(DataEnum.obligationAdmissionStashedRgs); @@ -98,7 +96,6 @@ public class PrimaryAuctionB0SessionStateMachineConfig FormingPaymentInstructionSecuritiesAction formingPaymentInstructionSecuritiesAction, AgainReviseStage3Action againRevise, FinishingSessionAction finishingSessionAction, - EndStageNotificationAction endStageNotificationAction, SaveRegistriesAndContinueAction obligationAdmissionContinueAction, @Qualifier("marketCodesForBn") Supplier> marketCodes, @Qualifier("pauseWorkflowStatusAction") @@ -121,7 +118,6 @@ public class PrimaryAuctionB0SessionStateMachineConfig this.inspectionObligationsV2Action = inspectionObligationsV2Action; this.formingPaymentInstructionSecuritiesAction = formingPaymentInstructionSecuritiesAction; this.finishingSessionAction = finishingSessionAction; - this.endStageNotificationAction = endStageNotificationAction; this.finishingSessionAction.setPr("0"); //stages settings: @@ -151,12 +147,11 @@ public class PrimaryAuctionB0SessionStateMachineConfig TaskType.FormingPaymentInstruction, TaskType.AgainRevise, TaskType.FinishingSession, - TaskType.EndStageNotification, TaskType.PSEUDO_waitSdfAfterPaymentInstructions, TaskType.PSEUDO_waitAfterObligationAdmissionError, TaskType.PSEUDO_waitSdfAfterAgainRevise ))) - .end(TaskType.EndStageNotification); + .end(TaskType.FinishingSession); } @@ -192,12 +187,7 @@ public class PrimaryAuctionB0SessionStateMachineConfig .source(TaskType.PSEUDO_waitSdfAfterAgainRevise) .target(TaskType.AgainRevise) .guard(new SdfGuard(SdfGuardExtractorAfterAgainRevise.instance)) - .action(againRevise) - .and() - .withExternal() - .source(TaskType.FinishingSession) - .target(TaskType.EndStageNotification) - .action(endStageNotificationAction); + .action(againRevise); sourceObligationAdmission(transitions); sourcePseudoAfterOAError(transitions); sourceFormingPaymentInstruction(transitions); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/state_machine_2/specific/PrimaryAuctionBnSessionStateMachineConfig.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/state_machine_2/specific/PrimaryAuctionBnSessionStateMachineConfig.java index 083a0bc54..fcdabc406 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/state_machine_2/specific/PrimaryAuctionBnSessionStateMachineConfig.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/state_machine_2/specific/PrimaryAuctionBnSessionStateMachineConfig.java @@ -24,7 +24,6 @@ import ru.spcex.clearing.session.state.SsnEvent; import ru.spcex.clearing.session.state.action.CreateSessionAction; import ru.spcex.clearing.session.state.action.DealsPrepareAction; import ru.spcex.clearing.session.state.action.DiscardRegistriesAction; -import ru.spcex.clearing.session.state.action.EndStageNotificationAction; import ru.spcex.clearing.session.state.action.FinishingSessionAction; import ru.spcex.clearing.session.state.action.FormingPaymentInstructionSecuritiesAction; import ru.spcex.clearing.session.state.action.InclusionToPoolAction; @@ -65,7 +64,6 @@ public class PrimaryAuctionBnSessionStateMachineConfig private final InspectionObligationsV2Action inspectionObligationsV2Action; private final FormingPaymentInstructionSecuritiesAction formingPaymentInstructionSecuritiesAction; private final FinishingSessionAction finishingSessionAction; - private final EndStageNotificationAction endStageNotificationAction; private final SaveRegistriesAndContinueAction obligationAdmissionContinueAction; private final DiscardRegistriesAction discardOblAdmStash = new DiscardRegistriesAction(DataEnum.obligationAdmissionStashedRgs); @@ -93,7 +91,6 @@ public class PrimaryAuctionBnSessionStateMachineConfig InspectionObligationsV2Action inspectionObligationsV2Action, FormingPaymentInstructionSecuritiesAction formingPaymentInstructionSecuritiesAction, FinishingSessionAction finishingSessionAction, - EndStageNotificationAction endStageNotificationAction, SaveRegistriesAndContinueAction obligationAdmissionContinueAction, @Qualifier("marketCodesForBn") Supplier> marketCodes, @@ -116,7 +113,6 @@ public class PrimaryAuctionBnSessionStateMachineConfig this.inspectionObligationsV2Action = inspectionObligationsV2Action; this.formingPaymentInstructionSecuritiesAction = formingPaymentInstructionSecuritiesAction; this.finishingSessionAction = finishingSessionAction; - this.endStageNotificationAction = endStageNotificationAction; this.finishingSessionAction.setPr("0"); //stages settings: @@ -145,11 +141,10 @@ public class PrimaryAuctionBnSessionStateMachineConfig TaskType.FormingRegistersOnOS, TaskType.FormingPaymentInstruction, TaskType.FinishingSession, - TaskType.EndStageNotification, TaskType.PSEUDO_waitSdfAfterPaymentInstructions, TaskType.PSEUDO_waitAfterObligationAdmissionError ))) - .end(TaskType.EndStageNotification); + .end(TaskType.FinishingSession); } @@ -179,12 +174,8 @@ public class PrimaryAuctionBnSessionStateMachineConfig .and() .withExternal() .source(TaskType.InspectionObligations).target(TaskType.FormingPaymentInstruction) - .action(formingPaymentInstructionSecuritiesAction) - .and() - .withExternal() - .source(TaskType.FinishingSession) - .target(TaskType.EndStageNotification) - .action(endStageNotificationAction); + .action(formingPaymentInstructionSecuritiesAction); + sourceObligationAdmission(transitions); sourcePseudoAfterOAError(transitions); sourceFormingPaymentInstruction(transitions); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/state_machine_2/specific/PrimaryAuctionT0SessionStateMachineConfig.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/state_machine_2/specific/PrimaryAuctionT0SessionStateMachineConfig.java index 9a4df3ca0..792a81943 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/state_machine_2/specific/PrimaryAuctionT0SessionStateMachineConfig.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/state_machine_2/specific/PrimaryAuctionT0SessionStateMachineConfig.java @@ -25,7 +25,6 @@ import ru.spcex.clearing.session.state.action.AgainReviseStage3Action; import ru.spcex.clearing.session.state.action.CreateSessionAction; import ru.spcex.clearing.session.state.action.DealsPrepareAction; import ru.spcex.clearing.session.state.action.DiscardRegistriesAction; -import ru.spcex.clearing.session.state.action.EndStageNotificationAction; import ru.spcex.clearing.session.state.action.FinishingSessionAction; import ru.spcex.clearing.session.state.action.FormingPaymentInstructionSecuritiesAction; import ru.spcex.clearing.session.state.action.InclusionToPoolAction; @@ -69,7 +68,6 @@ public class PrimaryAuctionT0SessionStateMachineConfig private final FormingPaymentInstructionSecuritiesAction formingPaymentInstructionSecuritiesAction; private final AgainReviseStage3Action againRevise; private final FinishingSessionAction finishingSessionAction; - private final EndStageNotificationAction endStageNotificationAction; private final SaveRegistriesAndContinueAction obligationAdmissionContinueAction; private final DiscardRegistriesAction discardOblAdmStash = new DiscardRegistriesAction(DataEnum.obligationAdmissionStashedRgs); @@ -98,7 +96,6 @@ public class PrimaryAuctionT0SessionStateMachineConfig FormingPaymentInstructionSecuritiesAction formingPaymentInstructionSecuritiesAction, AgainReviseStage3Action againRevise, FinishingSessionAction finishingSessionAction, - EndStageNotificationAction endStageNotificationAction, SaveRegistriesAndContinueAction obligationAdmissionContinueAction, @Qualifier("marketCodesForT0Primary") Supplier> marketCodes, @@ -122,7 +119,6 @@ public class PrimaryAuctionT0SessionStateMachineConfig this.inspectionObligationsV2Action = inspectionObligationsV2Action; this.formingPaymentInstructionSecuritiesAction = formingPaymentInstructionSecuritiesAction; this.finishingSessionAction = finishingSessionAction; - this.endStageNotificationAction = endStageNotificationAction; this.finishingSessionAction.setPr("0"); //stages settings: @@ -152,12 +148,11 @@ public class PrimaryAuctionT0SessionStateMachineConfig TaskType.FormingPaymentInstruction, TaskType.AgainRevise, TaskType.FinishingSession, - TaskType.EndStageNotification, TaskType.PSEUDO_waitSdfAfterPaymentInstructions, TaskType.PSEUDO_waitAfterObligationAdmissionError, TaskType.PSEUDO_waitSdfAfterAgainRevise ))) - .end(TaskType.EndStageNotification); + .end(TaskType.FinishingSession); } @@ -193,12 +188,8 @@ public class PrimaryAuctionT0SessionStateMachineConfig .source(TaskType.PSEUDO_waitSdfAfterAgainRevise) .target(TaskType.AgainRevise) .guard(new SdfGuard(SdfGuardExtractorAfterAgainRevise.instance)) - .action(againRevise) - .and() - .withExternal() - .source(TaskType.FinishingSession) - .target(TaskType.EndStageNotification) - .action(endStageNotificationAction); + .action(againRevise); + sourceObligationAdmission(transitions); sourcePseudoAfterOAError(transitions); sourceFormingPaymentInstruction(transitions); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/state_machine_2/specific/ReturnDepositSessionStateMachineConfig.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/state_machine_2/specific/ReturnDepositSessionStateMachineConfig.java index fca3e4ada..512770d83 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/state_machine_2/specific/ReturnDepositSessionStateMachineConfig.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/state_machine_2/specific/ReturnDepositSessionStateMachineConfig.java @@ -21,7 +21,6 @@ import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.session.stage.TaskType; import ru.spcex.clearing.session.state.SsnEvent; import ru.spcex.clearing.session.state.action.CreateSessionAction; -import ru.spcex.clearing.session.state.action.EndStageNotificationAction; import ru.spcex.clearing.session.state.action.FinishingSessionAction; import ru.spcex.clearing.session.state.action.FormingPaymentInstructionDepositReturnAction; import ru.spcex.clearing.session.state.action.InclusionToPoolAction; @@ -54,7 +53,6 @@ public class ReturnDepositSessionStateMachineConfig private final InspectionObligationsDepositReturnAction inspectionObligationsDepositReturnAction; private final FormingPaymentInstructionDepositReturnAction formingPaymentInstructionDepositReturnAction; private final FinishingSessionAction finishingSessionAction; - private final EndStageNotificationAction endStageNotificationAction; private final SessionType SESSION_TYPE = SessionType.XDEP; private final Section SECTION = Section.MKR; @@ -64,7 +62,10 @@ public class ReturnDepositSessionStateMachineConfig Sdf56Action sendSdf56Action, ReviseStage1Action reviseStage1Action, InclusionToPoolAction inclusionToPoolAction, - FinishingSessionAction finishingSessionAction, EndStageNotificationAction endStageNotificationAction, @Qualifier("marketCodesForBn") Supplier> marketCodes, InspectionObligationsDepositReturnAction inspectionObligationsDepositReturnAction, FormingPaymentInstructionDepositReturnAction formingPaymentInstructionDepositReturnAction + FinishingSessionAction finishingSessionAction, + @Qualifier("marketCodesForBn") Supplier> marketCodes, + InspectionObligationsDepositReturnAction inspectionObligationsDepositReturnAction, + FormingPaymentInstructionDepositReturnAction formingPaymentInstructionDepositReturnAction ) { this.sendSdf56Action = sendSdf56Action; this.sessionImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Session, Session.class); @@ -73,7 +74,6 @@ public class ReturnDepositSessionStateMachineConfig this.inspectionObligationsDepositReturnAction = inspectionObligationsDepositReturnAction; this.formingPaymentInstructionDepositReturnAction = formingPaymentInstructionDepositReturnAction; this.finishingSessionAction = finishingSessionAction; - this.endStageNotificationAction = endStageNotificationAction; this.finishingSessionAction.setPr("4"); Imdg rgsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Registry, Registry.class); @@ -106,10 +106,9 @@ public class ReturnDepositSessionStateMachineConfig TaskType.FormingRegistersOnOS, TaskType.FormingPaymentInstruction, TaskType.FinishingSession, - TaskType.EndStageNotification, TaskType.PSEUDO_waitSdfAfterPaymentInstructions ))) - .end(TaskType.EndStageNotification); + .end(TaskType.FinishingSession); } @Override @@ -130,12 +129,8 @@ public class ReturnDepositSessionStateMachineConfig .and() .withExternal() .source(TaskType.InspectionObligations).target(TaskType.FormingPaymentInstruction) - .action(formingPaymentInstructionDepositReturnAction) - .and() - .withExternal() - .source(TaskType.FinishingSession) - .target(TaskType.EndStageNotification) - .action(endStageNotificationAction); + .action(formingPaymentInstructionDepositReturnAction); + sourceFormingPaymentInstruction(transitions); sourcePseudoWaitSdfAfterPaymentInstructions(transitions); } diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/state_machine_2/specific/SecondaryAuctionT0SessionStateMachineConfig.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/state_machine_2/specific/SecondaryAuctionT0SessionStateMachineConfig.java index 32178c03c..68b24e06b 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/state_machine_2/specific/SecondaryAuctionT0SessionStateMachineConfig.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/state_machine_2/specific/SecondaryAuctionT0SessionStateMachineConfig.java @@ -25,7 +25,6 @@ import ru.spcex.clearing.session.state.action.AgainReviseStage3Action; import ru.spcex.clearing.session.state.action.CreateSessionAction; import ru.spcex.clearing.session.state.action.DealsPrepareAction; import ru.spcex.clearing.session.state.action.DiscardRegistriesAction; -import ru.spcex.clearing.session.state.action.EndStageNotificationAction; import ru.spcex.clearing.session.state.action.FinishingSessionAction; import ru.spcex.clearing.session.state.action.FormingPaymentInstructionAssetsAction; import ru.spcex.clearing.session.state.action.InclusionToPoolAction; @@ -69,7 +68,6 @@ public class SecondaryAuctionT0SessionStateMachineConfig private final FormingPaymentInstructionAssetsAction formingPaymentInstructionAssetsAction; private final AgainReviseStage3Action againRevise; private final FinishingSessionAction finishingSessionAction; - private final EndStageNotificationAction endStageNotificationAction; private final SaveRegistriesAndContinueAction obligationAdmissionContinueAction; private final DiscardRegistriesAction discardOblAdmStash = new DiscardRegistriesAction(DataEnum.obligationAdmissionStashedRgs); @@ -98,7 +96,6 @@ public class SecondaryAuctionT0SessionStateMachineConfig FormingPaymentInstructionAssetsAction formingPaymentInstructionAssetsAction, AgainReviseStage3Action againRevise, FinishingSessionAction finishingSessionAction, - EndStageNotificationAction endStageNotificationAction, SaveRegistriesAndContinueAction obligationAdmissionContinueAction, @Qualifier("marketCodesForT0") Supplier> marketCodes, @@ -122,7 +119,6 @@ public class SecondaryAuctionT0SessionStateMachineConfig this.inspectionObligationsV2Action = inspectionObligationsV2Action; this.formingPaymentInstructionAssetsAction = formingPaymentInstructionAssetsAction; this.finishingSessionAction = finishingSessionAction; - this.endStageNotificationAction = endStageNotificationAction; this.finishingSessionAction.setPr("1"); //stages settings: @@ -152,12 +148,11 @@ public class SecondaryAuctionT0SessionStateMachineConfig TaskType.FormingPaymentInstruction, TaskType.AgainRevise, TaskType.FinishingSession, - TaskType.EndStageNotification, TaskType.PSEUDO_waitSdfAfterPaymentInstructions, TaskType.PSEUDO_waitAfterObligationAdmissionError, TaskType.PSEUDO_waitSdfAfterAgainRevise ))) - .end(TaskType.EndStageNotification); + .end(TaskType.FinishingSession); } @@ -193,12 +188,8 @@ public class SecondaryAuctionT0SessionStateMachineConfig .source(TaskType.PSEUDO_waitSdfAfterAgainRevise) .target(TaskType.AgainRevise) .guard(new SdfGuard(SdfGuardExtractorAfterAgainRevise.instance)) - .action(againRevise) - .and() - .withExternal() - .source(TaskType.FinishingSession) - .target(TaskType.EndStageNotification) - .action(endStageNotificationAction); + .action(againRevise); + sourceObligationAdmission(transitions); sourcePseudoAfterOAError(transitions); sourceFormingPaymentInstruction(transitions); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/state_machine_2/specific/UnitedSessionStateMachineConfig.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/state_machine_2/specific/UnitedSessionStateMachineConfig.java index 65434c775..c7be92521 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/state_machine_2/specific/UnitedSessionStateMachineConfig.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/state_machine_2/specific/UnitedSessionStateMachineConfig.java @@ -156,13 +156,12 @@ public class UnitedSessionStateMachineConfig TaskType.InspectionObligations, TaskType.FormingPaymentInstruction, TaskType.FinishingSession, - TaskType.EndStageNotification, TaskType.PSEUDO_waitSdfAfterPaymentInstructions, TaskType.PSEUDO_waitAfterObligationAdmissionError, TaskType.AgainRevise, TaskType.PSEUDO_waitSdfAfterAgainRevise ))) - .end(TaskType.EndStageNotification); + .end(TaskType.FinishingSession); } @Override diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/state/action/EndStageNotificationAction.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/state/action/EndStageNotificationAction.java deleted file mode 100644 index 8656bb58a..000000000 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/state/action/EndStageNotificationAction.java +++ /dev/null @@ -1,122 +0,0 @@ -package ru.spcex.clearing.session.state.action; - -import java.time.Instant; -import java.util.Collection; -import java.util.Optional; -import java.util.stream.Collectors; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.config.ConfigurableBeanFactory; -import org.springframework.context.annotation.Scope; -import org.springframework.statemachine.StateContext; -import org.springframework.stereotype.Service; -import ru.clearing.classes.statics.data.misc.Session; -import ru.clearing.classes.statics.data.registry.Registry; -import ru.spcex.clearing.component.GroupRgsKey; -import static ru.spcex.clearing.error.ClearingErrorInternal.SessionGeneralError; -import ru.spcex.clearing.imdg.IMDGDistributedNames; -import ru.spcex.clearing.platform.messaging.domain.Consts; -import ru.spcex.clearing.platform.messaging.domain.cud.clearing.SdfClearingRequest; -import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender; -import ru.spcex.clearing.session.stage.TaskType; -import ru.spcex.clearing.session.state.DataEnum; -import ru.spcex.clearing.session.state.SsnEvent; -import ru.spcex.platform.enumeration.RegistryStatus; -import ru.spcex.platform.enumeration.Section; -import ru.spcex.platform.enumeration.SessionStatus; -import ru.spcex.platform.imdg.api.Imdg; -import ru.spcex.platform.imdg.api.ImdgProvider; -import ru.spcex.platform.utils.enumeration.EnumMessage; -import ru.spcex.platform.utils.enumeration.IMessageResolver; - -@Service -@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) -public class EndStageNotificationAction extends AbstractSessionActionForOkErrorHandling { - private final Logger log = LoggerFactory.getLogger(getClass()); - - private final Imdg registryImdg; - private final Imdg sessionImdg; - private final KafkaSender kafkaSender; - private final IMessageResolver msgResolver; - - - - - @Autowired - public EndStageNotificationAction(ImdgProvider imdgProvider, KafkaSender kafkaSender, IMessageResolver msgResolver) { - this.registryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Registry, Registry.class); - this.sessionImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Session, Session.class); - this.kafkaSender = kafkaSender; - this.msgResolver = msgResolver; - } - - - @Override - protected void actualExecute(StateContext ctx) { - Long sessionId = ctx.getExtendedState().get(DataEnum.sessionId, Long.class); - Section section = ctx.getExtendedState().get(DataEnum.section, Section.class); - // 1. Изменить статус - Session theSession = sessionImdg.getSingleObjectByID(sessionId); - if (theSession == null) { - log.warn("Session {} not found", sessionId); - } else { - log.info("Finish status for session {}", sessionId); - theSession.setUpdated(Instant.now()); - theSession.setSessionStatus(SessionStatus.CLOS.getKey()); - sessionImdg.update(theSession); - log.trace("Session {} was updated", theSession.getId()); - } - - Collection forRegistries = selectRegistry(); - Collection groups = forRegistries.stream() - .map(registry -> new GroupRgsKey(registry.getGroupId(), registry.getMarket())) - .distinct().collect(Collectors.toList()); - log.debug("Sending notifications for {} groups ({} registers) on section {}", - groups, forRegistries.size(), section); - for (GroupRgsKey groupKey : groups) { - log.trace("For registry group/market {}/{} send notification", - groupKey.groupId(), groupKey.market()); - Optional sResult; - if (Section.FOND.equals(section)) { - sResult = notificationDF14(groupKey.groupId()); - } else if (Section.MKR.equals(section)) { - sResult = notificationDF05(groupKey.groupId()); - } else { - throw new IllegalArgumentException("Unsupported section " + section); - } - sResult.ifPresent(enumMessage -> - log.error("When sending groupId={} has error: {}", groupKey.groupId(), msgResolver.resolve(enumMessage))); - } - } - - protected Collection selectRegistry() { - String registrySQL = "registryStatus='" + RegistryStatus.OK.getKey() + "'"; - Collection result = registryImdg.getCollectionObjectsBySQL(registrySQL); - log.trace("Selected {} registry's by sql: {}", result.size(), registrySQL); - return result; - } - - protected Optional notificationDF14(Long groupId) { - SdfClearingRequest sdf14Request = new SdfClearingRequest(); - sdf14Request.setGroupId(groupId); - Long msgKey = kafkaSender.sendRequestToQueue(Consts.SDF14_PROCESS, sdf14Request); - if (msgKey == null) { - log.error("failed to put SDF14 request to kafka queue"); - return Optional.of(new EnumMessage(SessionGeneralError)); - } - return Optional.empty(); - } - - protected Optional notificationDF05(Long groupId) { - SdfClearingRequest sdf05Request = new SdfClearingRequest(); - sdf05Request.setGroupId(groupId); - Long msgKey = kafkaSender.sendRequestToQueue(Consts.SDF05_PROCESS, sdf05Request); - if (msgKey == null) { - log.error("failed to put SDF05 request to kafka queue"); - return Optional.of(new EnumMessage(SessionGeneralError)); - } - return Optional.empty(); - } - -}