fix bn session
This commit is contained in:
parent
03a8eecf91
commit
b4a330e713
2 changed files with 19 additions and 10 deletions
|
|
@ -62,11 +62,8 @@ public class EventsReceiver extends QueueConsumer implements InitializingBean {
|
|||
.setConsumer(primaryAuctionBnSession::runSession)
|
||||
.forDestination(Task.startOfClearing.topic(), callbacks::put);
|
||||
callback(Object.class)
|
||||
.setConsumer(primaryAuctionBnSession::continueSessionFirstPart)
|
||||
.setConsumer(primaryAuctionBnSession::continueSession)
|
||||
.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())
|
||||
|
|
|
|||
|
|
@ -89,20 +89,30 @@ public class PrimaryAuctionBnSession extends AbstractSession implements Initiali
|
|||
}
|
||||
}
|
||||
|
||||
public void continueSessionFirstPart(BaseRequest<?> req) {
|
||||
public void continueSession(BaseRequest<?> req) {
|
||||
try {
|
||||
if (!checkStage(TaskType.StartRevise)) {
|
||||
log.error("cannot continue session, current stage is {}", currStage.get());
|
||||
throw new StageException();
|
||||
}
|
||||
// //stage 0
|
||||
// runStage(TaskType.ContinueRevise, balanceRevise);
|
||||
if (checkStage(TaskType.StartRevise)) {
|
||||
firstPart(req);
|
||||
} else if (checkStage(TaskType.FormingPaymentInstruction)) {
|
||||
finishPart(req);
|
||||
}
|
||||
} catch (StageException e) {
|
||||
//already logged
|
||||
}
|
||||
}
|
||||
|
||||
private void firstPart(BaseRequest<?> req) {
|
||||
try {
|
||||
//stage 1
|
||||
StageResult<List<ExecutionCommon>> dealsPreparationResult;
|
||||
{
|
||||
DealsPreparePayload payload = new DealsPreparePayload();
|
||||
payload.setSessionId(currSession.getId());
|
||||
dealsPreparationResult = runStage(TaskType.DealsPrepare , payload, dealsPrepare);
|
||||
dealsPreparationResult = runStage(TaskType.DealsPrepare, payload, dealsPrepare);
|
||||
}
|
||||
//stage 2
|
||||
runStage(TaskType.RequirementsAndObligationsCreate, dealsPreparationResult.getStageResult(), requirementsAndObligationCreation);
|
||||
|
|
@ -129,18 +139,20 @@ public class PrimaryAuctionBnSession extends AbstractSession implements Initiali
|
|||
}
|
||||
}
|
||||
|
||||
public void continueSessionSecondPart(BaseRequest<?> req) {
|
||||
|
||||
public void finishPart(BaseRequest<?> req) {
|
||||
try {
|
||||
if (!checkStage(TaskType.FormingPaymentInstruction)) {
|
||||
log.error("cannot continue session, current stage is {}", currStage.get());
|
||||
throw new StageException();
|
||||
}
|
||||
//stage 9
|
||||
//stage 10
|
||||
{
|
||||
FinishingSessionPayload payload = new FinishingSessionPayload();
|
||||
payload.setSessionId(currSession.getId());
|
||||
runStage(TaskType.FinishingSession, payload, finishingSession);
|
||||
}
|
||||
//stage 11
|
||||
{
|
||||
EndStageNotificationPayload payload = new EndStageNotificationPayload();
|
||||
payload.setSection(currSession.getSection());
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue