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)
|
.setConsumer(primaryAuctionBnSession::runSession)
|
||||||
.forDestination(Task.startOfClearing.topic(), callbacks::put);
|
.forDestination(Task.startOfClearing.topic(), callbacks::put);
|
||||||
callback(Object.class)
|
callback(Object.class)
|
||||||
.setConsumer(primaryAuctionBnSession::continueSessionFirstPart)
|
.setConsumer(primaryAuctionBnSession::continueSession)
|
||||||
.forDestination(Consts.CONTINUE_SESSION_BN_FIRST_PART, callbacks::put);
|
.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)
|
callback(Object.class)
|
||||||
.setConsumer(event -> clearingService.executeSTrade())
|
.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 {
|
try {
|
||||||
if (!checkStage(TaskType.StartRevise)) {
|
if (!checkStage(TaskType.StartRevise)) {
|
||||||
log.error("cannot continue session, current stage is {}", currStage.get());
|
log.error("cannot continue session, current stage is {}", currStage.get());
|
||||||
throw new StageException();
|
throw new StageException();
|
||||||
}
|
}
|
||||||
// //stage 0
|
if (checkStage(TaskType.StartRevise)) {
|
||||||
// runStage(TaskType.ContinueRevise, balanceRevise);
|
firstPart(req);
|
||||||
|
} else if (checkStage(TaskType.FormingPaymentInstruction)) {
|
||||||
|
finishPart(req);
|
||||||
|
}
|
||||||
|
} catch (StageException e) {
|
||||||
|
//already logged
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void firstPart(BaseRequest<?> req) {
|
||||||
|
try {
|
||||||
//stage 1
|
//stage 1
|
||||||
StageResult<List<ExecutionCommon>> dealsPreparationResult;
|
StageResult<List<ExecutionCommon>> dealsPreparationResult;
|
||||||
{
|
{
|
||||||
DealsPreparePayload payload = new DealsPreparePayload();
|
DealsPreparePayload payload = new DealsPreparePayload();
|
||||||
payload.setSessionId(currSession.getId());
|
payload.setSessionId(currSession.getId());
|
||||||
dealsPreparationResult = runStage(TaskType.DealsPrepare , payload, dealsPrepare);
|
dealsPreparationResult = runStage(TaskType.DealsPrepare, payload, dealsPrepare);
|
||||||
}
|
}
|
||||||
//stage 2
|
//stage 2
|
||||||
runStage(TaskType.RequirementsAndObligationsCreate, dealsPreparationResult.getStageResult(), requirementsAndObligationCreation);
|
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 {
|
try {
|
||||||
if (!checkStage(TaskType.FormingPaymentInstruction)) {
|
if (!checkStage(TaskType.FormingPaymentInstruction)) {
|
||||||
log.error("cannot continue session, current stage is {}", currStage.get());
|
log.error("cannot continue session, current stage is {}", currStage.get());
|
||||||
throw new StageException();
|
throw new StageException();
|
||||||
}
|
}
|
||||||
//stage 9
|
//stage 10
|
||||||
{
|
{
|
||||||
FinishingSessionPayload payload = new FinishingSessionPayload();
|
FinishingSessionPayload payload = new FinishingSessionPayload();
|
||||||
payload.setSessionId(currSession.getId());
|
payload.setSessionId(currSession.getId());
|
||||||
runStage(TaskType.FinishingSession, payload, finishingSession);
|
runStage(TaskType.FinishingSession, payload, finishingSession);
|
||||||
}
|
}
|
||||||
|
//stage 11
|
||||||
{
|
{
|
||||||
EndStageNotificationPayload payload = new EndStageNotificationPayload();
|
EndStageNotificationPayload payload = new EndStageNotificationPayload();
|
||||||
payload.setSection(currSession.getSection());
|
payload.setSection(currSession.getSection());
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue