From 58b396c849afdb5a433c5d22459fda491966e4a0 Mon Sep 17 00:00:00 2001 From: etreshenkov Date: Thu, 25 May 2023 17:11:53 +0300 Subject: [PATCH] http://jira.mfd.msk:8088/browse/CLS-290 --- .../spcex/clearing/service/EventsReceiver.java | 7 +++++-- .../service/executors/Sdf57Executor.java | 2 +- .../session/stage/PrimaryAuctionBnSession.java | 17 +++++++++++------ .../platform/messaging/domain/Consts.java | 3 ++- 4 files changed, 19 insertions(+), 10 deletions(-) diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/EventsReceiver.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/EventsReceiver.java index dbe362fe4..0fcbdca38 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/EventsReceiver.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/EventsReceiver.java @@ -62,8 +62,11 @@ public class EventsReceiver extends QueueConsumer implements InitializingBean { .setConsumer(primaryAuctionBnSession::runSession) .forDestination(Task.startOfClearing.topic(), callbacks::put); callback(Object.class) - .setConsumer(primaryAuctionBnSession::continueSession) - .forDestination(Consts.CONTINUE_SESSION_BN, callbacks::put); + .setConsumer(primaryAuctionBnSession::continueSessionFirstPart) + .forDestination(Consts.CONTINUE_SESSION_BN_FIRST_PART, callbacks::put); + callback(Object.class) + .setConsumer(primaryAuctionBnSession::continueSessionSecondPart) + .forDestination(Consts.CONTINUE_SESSION_BN_SECOND_PART, callbacks::put); callback(Object.class) .setConsumer(event -> clearingService.executeSTrade()) diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf57Executor.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf57Executor.java index 60edb6f6f..436d49273 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf57Executor.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf57Executor.java @@ -103,7 +103,7 @@ public class Sdf57Executor extends AbstractExecutor { public void sendCommand(KafkaSender kafkaSender, Result result) { ContinueSessionBnRequest continueSessionBn = new ContinueSessionBnRequest(); continueSessionBn.setGenerationId(result.getGenerationId()); - kafkaSender.sendRequestToQueue(Consts.CONTINUE_SESSION_BN, continueSessionBn); + kafkaSender.sendRequestToQueue(Consts.CONTINUE_SESSION_BN_FIRST_PART, continueSessionBn); } //V - Изменение statement по sDf57 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 135e58125..dd081532c 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 @@ -89,7 +89,7 @@ public class PrimaryAuctionBnSession extends AbstractSession implements Initiali } } - public void continueSession(BaseRequest req) { + public void continueSessionFirstPart(BaseRequest req) { try { if (!checkStage(TaskType.StartRevise)) { log.error("cannot continue session, current stage is {}", currStage.get()); @@ -124,11 +124,16 @@ public class PrimaryAuctionBnSession extends AbstractSession implements Initiali runStage(TaskType.FormingRegistersOnOS, formingRegistersOnOS); //returns Collection //stage 7 runStage(TaskType.FormingPaymentInstruction, formingPaymentInstruction); - //stage 8 - { - UnlockResourcesPayload unlockResourcesPayload = new UnlockResourcesPayload(); - //todo set arguments - runStage(TaskType.UnlockResources, unlockResourcesPayload, unlockResources); //returns Collection + } catch (StageException e) { + //already logged + } + } + + public void continueSessionSecondPart(BaseRequest req) { + try { + if (!checkStage(TaskType.FormingPaymentInstruction)) { + log.error("cannot continue session, current stage is {}", currStage.get()); + throw new StageException(); } //stage 9 { diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java index a897be3b6..2c8a7c4aa 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/Consts.java @@ -121,7 +121,8 @@ public interface Consts { String SDF53_PROCESS = "sdf53-process"; String SDF54_PROCESS = "sdf54-process"; String SDF56_PROCESS = "sdf56-process"; - String CONTINUE_SESSION_BN = "sdf57-process"; + String CONTINUE_SESSION_BN_FIRST_PART = "sdf57-process"; + String CONTINUE_SESSION_BN_SECOND_PART = "sdf13-process"; String REVISE_PROCESS = "revise-process"; String EXPORT_PROCESS = "export-process"; String EXPORT_COMPLETED = "export_completed";