Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
ialbert 2023-05-26 18:57:48 +03:00
commit 3af4b9e525
3 changed files with 19 additions and 6 deletions

View file

@ -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.service.sender.KafkaSender;
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.ImdgProvider;
import ru.spcex.platform.utils.enumeration.*;
@ -47,6 +50,7 @@ public class ExecutionFondComponent {
private final Imdg<ExecutionFond> executionFondImdg;
private final Imdg<Listing> listingImdg;
private final Imdg<ClientCode> clientCodeImdg;
private final Imdg<ru.clearing.classes.statics.data.misc.Market> marketImdg;
//fixme ждать ТЗ
Long tradeNum;
@ -64,6 +68,7 @@ public class ExecutionFondComponent {
this.executionFondImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ExecutionFond, ExecutionFond.class);
this.listingImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Listing, Listing.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.kafkaSender = kafkaSender;
@ -173,7 +178,11 @@ public class ExecutionFondComponent {
eFond.setExchangeExecutionId(sTrades.getTradeNum());
eFond.setExchangeExecutionTime(sTrades.getTradeDateTime());
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.setLots(sTrades.getQty());
eFond.setQuantity(sTrades.getQtyPcs());

View file

@ -99,7 +99,7 @@ public class PrimaryAuctionB0Session extends AbstractSession implements Initiali
{
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);

View file

@ -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.task.*;
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.SessionStatus;
import ru.spcex.platform.enumeration.SessionType;
@ -42,6 +41,11 @@ public class PrimaryAuctionBnSession extends AbstractSession implements Initiali
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(
ImdgProvider imdgProvider,
BalanceRevise balanceRevise,
@ -72,8 +76,8 @@ public class PrimaryAuctionBnSession extends AbstractSession implements Initiali
public void afterPropertiesSet() throws Exception {
dealsPrepare.searchForExecutions(ExecutionType.ExecutionFond);
ImdgPredicateBuilder execFondPb = executionFondImdg.predicateBuilder();
dealsPrepare.addExecutionFondCondition(execFondPb.regex("settlementCode", "^B[^0]\\d*$"));
dealsPrepare.addExecutionFondCondition(execFondPb.equals("marketType", MarketType.PRMR.getKey()));
dealsPrepare.addExecutionFondCondition(execFondPb.regex("settlementCode", "^B\\d{2}$"));
dealsPrepare.addExecutionFondCondition(execFondPb.in("market", marketCodes.toArray(new String[0])));
}
public void runSession(BaseRequest<?> req) {