обновляем sessionId регистров при включении в сессионный пул

This commit is contained in:
ialbert 2023-06-28 11:41:26 +03:00
parent cd35d5ba9c
commit b8cffb8f6a
10 changed files with 21 additions and 2 deletions

View file

@ -98,7 +98,9 @@ public class StateBnConfig extends EnumStateMachineConfigurerAdapter<TaskType, S
inclusionToPoolAction.setPayloadForStageGetter((extendedState) -> {
InclusionToPoolPayload payload = new InclusionToPoolPayload();
Session session = extendedState.get(StageDataEnum.session.name(), Session.class);
Long sessionId = extendedState.get(StageDataEnum.sessionId.name(), Long.class);
payload.setSessionType(session.getSessionType());
payload.setSessionId(sessionId);
return payload;
});

View file

@ -163,6 +163,7 @@ public class FinalMkrSession extends AbstractSession implements InitializingBean
{
InclusionToPoolPayload inclusionToPoolPayload = new InclusionToPoolPayload();
inclusionToPoolPayload.setSessionType(currSession.getSessionType());
inclusionToPoolPayload.setSessionId(currSession.getId());
runStage(TaskType.InclusionToPool, inclusionToPoolPayload, inclusionObligations);
}
//stage 5

View file

@ -148,6 +148,7 @@ public class IntermediateMkrSession extends AbstractSession implements Initializ
{
InclusionToPoolPayload inclusionToPoolPayload = new InclusionToPoolPayload();
inclusionToPoolPayload.setSessionType(currSession.getSessionType());
inclusionToPoolPayload.setSessionId(currSession.getId());
runStage(TaskType.InclusionToPool, inclusionToPoolPayload, inclusionObligations);
}
//stage 5

View file

@ -136,6 +136,7 @@ public class PrimaryAuctionB0Session extends AbstractSession implements Initiali
{
InclusionToPoolPayload inclusionToPoolPayload = new InclusionToPoolPayload();
inclusionToPoolPayload.setSessionType(currSession.getSessionType());
inclusionToPoolPayload.setSessionId(currSession.getId());
runStage(TaskType.InclusionToPool, inclusionToPoolPayload, inclusionObligations);
}
//stage 5

View file

@ -136,6 +136,7 @@ public class PrimaryAuctionBnSession extends AbstractSession implements Initiali
{
InclusionToPoolPayload inclusionToPoolPayload = new InclusionToPoolPayload();
inclusionToPoolPayload.setSessionType(currSession.getSessionType());
inclusionToPoolPayload.setSessionId(currSession.getId());
runStage(TaskType.InclusionToPool, inclusionToPoolPayload, inclusionObligations);
}
//stage 5

View file

@ -135,6 +135,7 @@ public class PrimaryAuctionT0Session extends AbstractSession implements Initiali
{
InclusionToPoolPayload inclusionToPoolPayload = new InclusionToPoolPayload();
inclusionToPoolPayload.setSessionType(currSession.getSessionType());
inclusionToPoolPayload.setSessionId(currSession.getId());
runStage(TaskType.InclusionToPool, inclusionToPoolPayload, inclusionObligations);
}
//stage 5

View file

@ -123,6 +123,7 @@ public class ReturnDepositSession extends AbstractSession implements Initializin
//stage 4
{
InclusionToPoolPayload inclusionToPoolPayload = new InclusionToPoolPayload();
inclusionToPoolPayload.setSessionId(currSession.getId());
runStage(TaskType.InclusionToPool, inclusionToPoolPayload, inclusionObligations);
}
//stage 5

View file

@ -136,6 +136,7 @@ public class SecondaryAuctionT0Session extends AbstractSession implements Initia
{
InclusionToPoolPayload inclusionToPoolPayload = new InclusionToPoolPayload();
inclusionToPoolPayload.setSessionType(currSession.getSessionType());
inclusionToPoolPayload.setSessionId(currSession.getId());
runStage(TaskType.InclusionToPool, inclusionToPoolPayload, inclusionObligations);
}
//stage 5

View file

@ -65,7 +65,7 @@ public class InclusionObligations implements ISessionStage {
InclusionToPoolPayload payload = (InclusionToPoolPayload) task.getData();
switch (task.getTaskType()) {
case InclusionToPool -> {
return inclusionToPool(payload.getSessionType(), payload.getCounterPartyId());
return inclusionToPool(payload.getSessionId(), payload.getSessionType(), payload.getCounterPartyId());
}
default -> {
throw new IllegalStateException("Unknown task type: " + task.getTaskType());
@ -74,7 +74,7 @@ public class InclusionObligations implements ISessionStage {
}
private StageResult inclusionToPool(String sessionType, Long counterPartyId) {
private StageResult inclusionToPool(Long sessionId, String sessionType, Long counterPartyId) {
String sqlCondition = String.format("registryDesignation in ('%s', '%s') and " +
"registryInstrumentType in ('%s', '%s') and " +
"registryUnit = '%s'",
@ -109,6 +109,7 @@ public class InclusionObligations implements ISessionStage {
log.debug("Processing set of registry with groupId: {}", entrySet.getKey());
for (Registry registry : entrySet.getValue()) {
registry.setRegistryStatus("POOL");
registry.setSessionId(sessionId);
registryImdg.update(registry);
}
}

View file

@ -3,6 +3,7 @@ package ru.spcex.clearing.session.stage.task;
public class InclusionToPoolPayload {
private String sessionType;
private Long counterPartyId;
private Long sessionId;
public String getSessionType() {
return sessionType;
@ -19,4 +20,12 @@ public class InclusionToPoolPayload {
public void setCounterPartyId(Long counterPartyId) {
this.counterPartyId = counterPartyId;
}
public Long getSessionId() {
return sessionId;
}
public void setSessionId(Long sessionId) {
this.sessionId = sessionId;
}
}