Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
3af4b9e525
3 changed files with 19 additions and 6 deletions
|
|
@ -23,7 +23,10 @@ import ru.spcex.clearing.platform.messaging.domain.cud.registry.DealRegisterNewR
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.registry.ExecutionType;
|
import ru.spcex.clearing.platform.messaging.domain.cud.registry.ExecutionType;
|
||||||
import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender;
|
import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender;
|
||||||
import ru.spcex.clearing.service.validation.ValidationStored;
|
import ru.spcex.clearing.service.validation.ValidationStored;
|
||||||
import ru.spcex.platform.enumeration.*;
|
import ru.spcex.platform.enumeration.CurrencyCode;
|
||||||
|
import ru.spcex.platform.enumeration.MoneyFlowSide;
|
||||||
|
import ru.spcex.platform.enumeration.Section;
|
||||||
|
import ru.spcex.platform.enumeration.Side;
|
||||||
import ru.spcex.platform.imdg.api.Imdg;
|
import ru.spcex.platform.imdg.api.Imdg;
|
||||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||||
import ru.spcex.platform.utils.enumeration.*;
|
import ru.spcex.platform.utils.enumeration.*;
|
||||||
|
|
@ -47,6 +50,7 @@ public class ExecutionFondComponent {
|
||||||
private final Imdg<ExecutionFond> executionFondImdg;
|
private final Imdg<ExecutionFond> executionFondImdg;
|
||||||
private final Imdg<Listing> listingImdg;
|
private final Imdg<Listing> listingImdg;
|
||||||
private final Imdg<ClientCode> clientCodeImdg;
|
private final Imdg<ClientCode> clientCodeImdg;
|
||||||
|
private final Imdg<ru.clearing.classes.statics.data.misc.Market> marketImdg;
|
||||||
|
|
||||||
//fixme ждать ТЗ
|
//fixme ждать ТЗ
|
||||||
Long tradeNum;
|
Long tradeNum;
|
||||||
|
|
@ -64,6 +68,7 @@ public class ExecutionFondComponent {
|
||||||
this.executionFondImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ExecutionFond, ExecutionFond.class);
|
this.executionFondImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ExecutionFond, ExecutionFond.class);
|
||||||
this.listingImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Listing, Listing.class);
|
this.listingImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Listing, Listing.class);
|
||||||
this.clientCodeImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ClientCode, ClientCode.class);
|
this.clientCodeImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ClientCode, ClientCode.class);
|
||||||
|
this.marketImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Market, ru.clearing.classes.statics.data.misc.Market.class);
|
||||||
this.stradesValidator = stradesValidator;
|
this.stradesValidator = stradesValidator;
|
||||||
this.kafkaSender = kafkaSender;
|
this.kafkaSender = kafkaSender;
|
||||||
|
|
||||||
|
|
@ -173,7 +178,11 @@ public class ExecutionFondComponent {
|
||||||
eFond.setExchangeExecutionId(sTrades.getTradeNum());
|
eFond.setExchangeExecutionId(sTrades.getTradeNum());
|
||||||
eFond.setExchangeExecutionTime(sTrades.getTradeDateTime());
|
eFond.setExchangeExecutionTime(sTrades.getTradeDateTime());
|
||||||
eFond.setTradingClearingRegistryId(rgstr.getId());
|
eFond.setTradingClearingRegistryId(rgstr.getId());
|
||||||
eFond.setMarket(Market.fond.getKey());
|
|
||||||
|
//todo можем ли просто переложить sTrades.getClassCode() или все такие искать, одно и тоже же
|
||||||
|
ru.clearing.classes.statics.data.misc.Market market = marketImdg.getSingleObjectBySQL("code = '%s'".formatted(sTrades.getClassCode()));
|
||||||
|
eFond.setMarket(sTrades.getClassCode());
|
||||||
|
|
||||||
eFond.setPrice(sTrades.getPrice());
|
eFond.setPrice(sTrades.getPrice());
|
||||||
eFond.setLots(sTrades.getQty());
|
eFond.setLots(sTrades.getQty());
|
||||||
eFond.setQuantity(sTrades.getQtyPcs());
|
eFond.setQuantity(sTrades.getQtyPcs());
|
||||||
|
|
|
||||||
|
|
@ -99,7 +99,7 @@ public class PrimaryAuctionB0Session extends AbstractSession implements Initiali
|
||||||
{
|
{
|
||||||
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);
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,6 @@ import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||||
import ru.spcex.clearing.session.stage.impl.*;
|
import ru.spcex.clearing.session.stage.impl.*;
|
||||||
import ru.spcex.clearing.session.stage.task.*;
|
import ru.spcex.clearing.session.stage.task.*;
|
||||||
import ru.spcex.platform.classes.base.interfaces.ExecutionType;
|
import ru.spcex.platform.classes.base.interfaces.ExecutionType;
|
||||||
import ru.spcex.platform.enumeration.MarketType;
|
|
||||||
import ru.spcex.platform.enumeration.Section;
|
import ru.spcex.platform.enumeration.Section;
|
||||||
import ru.spcex.platform.enumeration.SessionStatus;
|
import ru.spcex.platform.enumeration.SessionStatus;
|
||||||
import ru.spcex.platform.enumeration.SessionType;
|
import ru.spcex.platform.enumeration.SessionType;
|
||||||
|
|
@ -42,6 +41,11 @@ public class PrimaryAuctionBnSession extends AbstractSession implements Initiali
|
||||||
|
|
||||||
private final Imdg<ExecutionFond> executionFondImdg;
|
private final Imdg<ExecutionFond> executionFondImdg;
|
||||||
|
|
||||||
|
private List<String> marketCodes = List.of("BMFC", "SMMC", "AEPC", "WBIC", "KBVC", "WBFC", "BMVC", "ABIC",
|
||||||
|
"AESC", "ABFC", "KBIC", "WBMC", "BMMC", "ABEC", "SMIC", "ABMC", "SMVC", "KBFC", "SKVC", "ABVC", "WEPC",
|
||||||
|
"KBMC", "SMFC", "BKVC", "WBVC", "BMIC", "WESC");
|
||||||
|
|
||||||
|
|
||||||
public PrimaryAuctionBnSession(
|
public PrimaryAuctionBnSession(
|
||||||
ImdgProvider imdgProvider,
|
ImdgProvider imdgProvider,
|
||||||
BalanceRevise balanceRevise,
|
BalanceRevise balanceRevise,
|
||||||
|
|
@ -72,8 +76,8 @@ public class PrimaryAuctionBnSession extends AbstractSession implements Initiali
|
||||||
public void afterPropertiesSet() throws Exception {
|
public void afterPropertiesSet() throws Exception {
|
||||||
dealsPrepare.searchForExecutions(ExecutionType.ExecutionFond);
|
dealsPrepare.searchForExecutions(ExecutionType.ExecutionFond);
|
||||||
ImdgPredicateBuilder execFondPb = executionFondImdg.predicateBuilder();
|
ImdgPredicateBuilder execFondPb = executionFondImdg.predicateBuilder();
|
||||||
dealsPrepare.addExecutionFondCondition(execFondPb.regex("settlementCode", "^B[^0]\\d*$"));
|
dealsPrepare.addExecutionFondCondition(execFondPb.regex("settlementCode", "^B\\d{2}$"));
|
||||||
dealsPrepare.addExecutionFondCondition(execFondPb.equals("marketType", MarketType.PRMR.getKey()));
|
dealsPrepare.addExecutionFondCondition(execFondPb.in("market", marketCodes.toArray(new String[0])));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void runSession(BaseRequest<?> req) {
|
public void runSession(BaseRequest<?> req) {
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue