diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/execution/ExecutionDepositControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/execution/ExecutionDepositControllerTest.java index 7f68c608b..c6786f993 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/execution/ExecutionDepositControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/execution/ExecutionDepositControllerTest.java @@ -26,7 +26,10 @@ class ExecutionDepositControllerTest extends AbstractControllerTest { executionDeposit.setExchangeExecutionId(currentId.get()); executionDeposit.setExchangeExecutionTime(Instant.now()); executionDeposit.setTradingDate(LocalDate.now()); - executionDeposit.setAccountId(currentId.get()); + executionDeposit.setTradingClearingRegistryId(currentId.get()); + executionDeposit.setFirstLegSettlementCode("lcde1"); + executionDeposit.setSecondLegSettlementCode("lcde2"); + executionDeposit.setContract("contract12"); executionDeposit.setMarket("mark"); executionDeposit.setPrice(new BigDecimal(0)); executionDeposit.setLots(new BigDecimal(0)); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/Clearing.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/Clearing.java index 3e97acbb6..44a4f8a2a 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/Clearing.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/Clearing.java @@ -175,7 +175,7 @@ public class Clearing { //send request to kafka, wait for a reply synchronized (this) { AccountBalanceClearingRequest request = new AccountBalanceClearingRequest(); - request.setAccountId(execDeposit.getAccountId()); + // todo CLS-275 request.setAccountId(execDeposit.getAccountId()); request.setCompanyId(execDeposit.getCompanyId()); request.setFirstLegAmount(execDeposit.getFirstLegAmount()); Long sentRequestId = kafka.sendRequestToQueue(Consts.BALANCE_ACCOUNT_UPDATE, request); @@ -199,7 +199,7 @@ public class Clearing { } } Optional lcaFirstLegFound = lbltsClmsAssetsCreator.searchLCA( - execDeposit.getAccountId(), execDeposit.getCompanyId(), + /* null execDeposit.getAccountId() todo CLS-275 */ null, execDeposit.getCompanyId(), execDeposit.getSecurityId(), execDeposit.getFirstLegSettlementDate()); LiabilitiesClaimsAssets lcaFirstLeg = orElse(lcaFirstLegFound).ifPresentOrElse(lca -> { log.trace("LiabilitiesClaimsAssets first leg {} was found", lca.getId()); @@ -213,7 +213,7 @@ public class Clearing { return lca; }); Optional lcaSecondLegFound = lbltsClmsAssetsCreator.searchLCA( - execDeposit.getAccountId(), execDeposit.getCompanyId(), + /*todo CLS-275 execDeposit.getAccountId()*/ null, execDeposit.getCompanyId(), execDeposit.getSecurityId(), execDeposit.getSecondLegSettlementDate()); LiabilitiesClaimsAssets lcaSecondLeg = orElse(lcaSecondLegFound).ifPresentOrElse(lca -> { log.trace("LiabilitiesClaimsAssets second leg {} was found", lca.getId()); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/ExecutionDepositComponent.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/ExecutionDepositComponent.java index bdf069087..7cb432dcd 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/ExecutionDepositComponent.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/ExecutionDepositComponent.java @@ -240,7 +240,7 @@ public class ExecutionDepositComponent { protected ExecutionDeposit createExecutionDeposit(STrades sTrades, Allowed coverageStatus, Long sessionId) throws ClearingException { - Account account = accountImdg.getSingleObjectByFieldValues(Map.of("account", sTrades.getMoneyAccount())); + Account account = null; // todo CLS-275 accountImdg.getSingleObjectByFieldValues(Map.of("account", sTrades.getMoneyAccount())); Security security = securityImdg.getSingleObjectByFieldValues(Map.of("securitySymbol", sTrades.getSecCode())); if (security == null) { log.warn("security securitySymbol=\"{}\" not found", sTrades.getSecCode()); @@ -272,7 +272,7 @@ public class ExecutionDepositComponent { eDeposit.setExchangeExecutionId(sTrades.getTradeNum()); eDeposit.setExchangeExecutionTime(sTrades.getTradeDateTime()); if (account != null) { - eDeposit.setAccountId(account.getId()); + // todo CLS-275 eDeposit.setAccountId(account.getId()); } eDeposit.setMarket(Market.mkrs.getKey()); eDeposit.setPrice(sTrades.getPrice()); @@ -294,7 +294,7 @@ public class ExecutionDepositComponent { eDeposit.setSide(operation); eDeposit.setSettlementCurrency("RUB"); // (справочник currencyCode) eDeposit.setCompanyId(company.getId()); - eDeposit.setDuration(sTrades.getDaysToMatDate()); + // todo CLS-275 eDeposit.setDuration(sTrades.getDaysToMatDate()); eDeposit.setFirstLegSettlementDate(nowDay); eDeposit.setSecondLegSettlementDate(sTrades.getSettleDate()); //eDeposit.setFirstLegSettlementCode(null); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/LiabilitiesClaimsAssetsCreator.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/LiabilitiesClaimsAssetsCreator.java index e548572eb..149fd948a 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/LiabilitiesClaimsAssetsCreator.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/LiabilitiesClaimsAssetsCreator.java @@ -61,7 +61,7 @@ public class LiabilitiesClaimsAssetsCreator { public LiabilitiesClaimsAssets createFirstLegLCA(ClearingCategory category, ExecutionDeposit executionDeposit) { - Account account = accountImdg.getSingleObjectByID(executionDeposit.getAccountId()); + Account account = null; // todo CLS-275 accountImdg.getSingleObjectByID(executionDeposit.getAccountId()); LiabilitiesClaimsAssets lca = createLCA(executionDeposit, account); lca.setSettlementDate(executionDeposit.getFirstLegSettlementDate()); AccountType accType = IEnumKey.getEnumByKey(AccountType.class, account.getAccountType()); @@ -79,7 +79,7 @@ public class LiabilitiesClaimsAssetsCreator { } public LiabilitiesClaimsAssets createSecondLegLCA(ClearingCategory category, ExecutionDeposit executionDeposit) { - Account account = accountImdg.getSingleObjectByID(executionDeposit.getAccountId()); + Account account = null;// todo CLS-275 accountImdg.getSingleObjectByID(executionDeposit.getAccountId()); LiabilitiesClaimsAssets lca = createLCA(executionDeposit, account); lca.setSettlementDate(executionDeposit.getSecondLegSettlementDate()); AccountType accType = IEnumKey.getEnumByKey(AccountType.class, account.getAccountType()); @@ -115,7 +115,7 @@ public class LiabilitiesClaimsAssetsCreator { public void updateSecondLegLca(LiabilitiesClaimsAssets lca, ExecutionDeposit executionDeposit, ClearingCategory category) { - Account account = accountImdg.getSingleObjectByID(executionDeposit.getAccountId()); + Account account = null; // todo CLS-275 accountImdg.getSingleObjectByID(executionDeposit.getAccountId()); AccountType accType = IEnumKey.getEnumByKey(AccountType.class, account.getAccountType()); boolean iClrn = ClearingCategory.I.equals(category) && AccountType.Clrn.equals(accType); boolean vInfo = ClearingCategory.V.equals(category) && AccountType.Info.equals(accType); @@ -135,7 +135,7 @@ public class LiabilitiesClaimsAssetsCreator { } public void updateFirstLegLca(LiabilitiesClaimsAssets lca, ExecutionDeposit executionDeposit, ClearingCategory category) { - Account account = accountImdg.getSingleObjectByID(executionDeposit.getAccountId()); + Account account = null; // todo CLS-275 accountImdg.getSingleObjectByID(executionDeposit.getAccountId()); AccountType accType = IEnumKey.getEnumByKey(AccountType.class, account.getAccountType()); boolean iClrn = ClearingCategory.I.equals(category) && AccountType.Clrn.equals(accType); boolean vInfo = ClearingCategory.V.equals(category) && AccountType.Info.equals(accType); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/validation/ExecutionDepositValidationRule.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/validation/ExecutionDepositValidationRule.java index 449e93754..4a9f8c457 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/validation/ExecutionDepositValidationRule.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/validation/ExecutionDepositValidationRule.java @@ -37,17 +37,17 @@ public enum ExecutionDepositValidationRule implements IValidationRule validate(ImdgValidationContext context) { ExecutionDeposit validatedObject = context.getValidatedObject(); - if (validatedObject.getAccountId() == null) { +// todo CLS-275 if (validatedObject.getAccountId() == null) { return of(ClearingErrorInternal.AccountNotActive); - } - Imdg accountImdg = context.obtainMap(IMDGDistributedNames.Map_Account, Account.class); - Relation relation = context.getStoredObject(ClrngValidationStored.relation); - Account account = accountImdg.getSingleObjectByFieldValues( - Map.of("id", validatedObject.getAccountId(), "relationId", relation.getId())); - if (account == null || !AccountStatus.ACTIVE.equalsByKey(account.getStatus())) { - return of(ClearingErrorInternal.AccountNotActive); - } - return empty(); +// } +// Imdg accountImdg = context.obtainMap(IMDGDistributedNames.Map_Account, Account.class); +// Relation relation = context.getStoredObject(ClrngValidationStored.relation); +// Account account = accountImdg.getSingleObjectByFieldValues( +// Map.of("id", validatedObject.getAccountId(), "relationId", relation.getId())); +// if (account == null || !AccountStatus.ACTIVE.equalsByKey(account.getStatus())) { +// return of(ClearingErrorInternal.AccountNotActive); +// } +// return empty(); } }, CompanyIsNotBlocked() { @@ -70,18 +70,18 @@ public enum ExecutionDepositValidationRule implements IValidationRule accountBalanceImdg = context.obtainMap(IMDGDistributedNames.Map_AccountBalance, AccountBalance.class); - AccountBalance accountBalance = accountBalanceImdg.getSingleObjectByFieldValues( - Map.of("accountId", validatedObject.getAccountId(), - "companyId", validatedObject.getCompanyId())); - if (accountBalance == null) { +// Imdg accountBalanceImdg = context.obtainMap(IMDGDistributedNames.Map_AccountBalance, AccountBalance.class); +// todo CLS-275 AccountBalance accountBalance = accountBalanceImdg.getSingleObjectByFieldValues( +// Map.of("accountId", validatedObject.getAccountId(), +// "companyId", validatedObject.getCompanyId())); +// if (accountBalance == null) { return of(ClearingErrorInternal.FinancialObligationNotSatisfied); - } +// } //todo ABS - if (validatedObject.getFirstLegAmount().compareTo(accountBalance.getFreeBalanceAmount()) > 0) { - return of(ClearingErrorInternal.FinancialObligationNotSatisfied); - } - return empty(); +// todo CLS-275 if (validatedObject.getFirstLegAmount().compareTo(accountBalance.getFreeBalanceAmount()) > 0) { +// return of(ClearingErrorInternal.FinancialObligationNotSatisfied); +// } +// return empty(); } }; diff --git a/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/ClearingServiceTest.java b/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/ClearingServiceTest.java index 972719e60..c7351877f 100644 --- a/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/ClearingServiceTest.java +++ b/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/ClearingServiceTest.java @@ -378,7 +378,7 @@ class ClearingServiceTest extends AbstractClearingTest { executionDeposit.setExchangeExecutionId(5L); executionDeposit.setExchangeExecutionTime(Instant.now()); executionDeposit.setTradingDate(LocalDate.now()); - executionDeposit.setAccountId(accountId); + executionDeposit.setTradingClearingRegistryId(accountId); //todo CLS-275 executionDeposit.setAccountId(accountId); executionDeposit.setMarket("market"); executionDeposit.setPrice(new BigDecimal(9)); executionDeposit.setLots(new BigDecimal(0)); @@ -394,6 +394,7 @@ class ClearingServiceTest extends AbstractClearingTest { executionDeposit.setSecondLegSettlementDate(dtS); executionDeposit.setFirstLegSettlementCode("leg1c"); executionDeposit.setSecondLegSettlementCode("legcc"); + executionDeposit.setContract("contract"); executionDeposit.setSecurityFullName("full"); executionDeposit.setSecuritySymbol("symbol"); executionDeposit.setSecurityId(securityId);