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";