http://jira.mfd.msk:8088/browse/CLS-275 DDL (3) часть 3 правки тестов и кода TODO
This commit is contained in:
parent
07e4e946de
commit
7720f41699
6 changed files with 36 additions and 32 deletions
|
|
@ -26,7 +26,10 @@ class ExecutionDepositControllerTest extends AbstractControllerTest {
|
||||||
executionDeposit.setExchangeExecutionId(currentId.get());
|
executionDeposit.setExchangeExecutionId(currentId.get());
|
||||||
executionDeposit.setExchangeExecutionTime(Instant.now());
|
executionDeposit.setExchangeExecutionTime(Instant.now());
|
||||||
executionDeposit.setTradingDate(LocalDate.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.setMarket("mark");
|
||||||
executionDeposit.setPrice(new BigDecimal(0));
|
executionDeposit.setPrice(new BigDecimal(0));
|
||||||
executionDeposit.setLots(new BigDecimal(0));
|
executionDeposit.setLots(new BigDecimal(0));
|
||||||
|
|
|
||||||
|
|
@ -175,7 +175,7 @@ public class Clearing {
|
||||||
//send request to kafka, wait for a reply
|
//send request to kafka, wait for a reply
|
||||||
synchronized (this) {
|
synchronized (this) {
|
||||||
AccountBalanceClearingRequest request = new AccountBalanceClearingRequest();
|
AccountBalanceClearingRequest request = new AccountBalanceClearingRequest();
|
||||||
request.setAccountId(execDeposit.getAccountId());
|
// todo CLS-275 request.setAccountId(execDeposit.getAccountId());
|
||||||
request.setCompanyId(execDeposit.getCompanyId());
|
request.setCompanyId(execDeposit.getCompanyId());
|
||||||
request.setFirstLegAmount(execDeposit.getFirstLegAmount());
|
request.setFirstLegAmount(execDeposit.getFirstLegAmount());
|
||||||
Long sentRequestId = kafka.sendRequestToQueue(Consts.BALANCE_ACCOUNT_UPDATE, request);
|
Long sentRequestId = kafka.sendRequestToQueue(Consts.BALANCE_ACCOUNT_UPDATE, request);
|
||||||
|
|
@ -199,7 +199,7 @@ public class Clearing {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Optional<LiabilitiesClaimsAssets> lcaFirstLegFound = lbltsClmsAssetsCreator.searchLCA(
|
Optional<LiabilitiesClaimsAssets> lcaFirstLegFound = lbltsClmsAssetsCreator.searchLCA(
|
||||||
execDeposit.getAccountId(), execDeposit.getCompanyId(),
|
/* null execDeposit.getAccountId() todo CLS-275 */ null, execDeposit.getCompanyId(),
|
||||||
execDeposit.getSecurityId(), execDeposit.getFirstLegSettlementDate());
|
execDeposit.getSecurityId(), execDeposit.getFirstLegSettlementDate());
|
||||||
LiabilitiesClaimsAssets lcaFirstLeg = orElse(lcaFirstLegFound).ifPresentOrElse(lca -> {
|
LiabilitiesClaimsAssets lcaFirstLeg = orElse(lcaFirstLegFound).ifPresentOrElse(lca -> {
|
||||||
log.trace("LiabilitiesClaimsAssets first leg {} was found", lca.getId());
|
log.trace("LiabilitiesClaimsAssets first leg {} was found", lca.getId());
|
||||||
|
|
@ -213,7 +213,7 @@ public class Clearing {
|
||||||
return lca;
|
return lca;
|
||||||
});
|
});
|
||||||
Optional<LiabilitiesClaimsAssets> lcaSecondLegFound = lbltsClmsAssetsCreator.searchLCA(
|
Optional<LiabilitiesClaimsAssets> lcaSecondLegFound = lbltsClmsAssetsCreator.searchLCA(
|
||||||
execDeposit.getAccountId(), execDeposit.getCompanyId(),
|
/*todo CLS-275 execDeposit.getAccountId()*/ null, execDeposit.getCompanyId(),
|
||||||
execDeposit.getSecurityId(), execDeposit.getSecondLegSettlementDate());
|
execDeposit.getSecurityId(), execDeposit.getSecondLegSettlementDate());
|
||||||
LiabilitiesClaimsAssets lcaSecondLeg = orElse(lcaSecondLegFound).ifPresentOrElse(lca -> {
|
LiabilitiesClaimsAssets lcaSecondLeg = orElse(lcaSecondLegFound).ifPresentOrElse(lca -> {
|
||||||
log.trace("LiabilitiesClaimsAssets second leg {} was found", lca.getId());
|
log.trace("LiabilitiesClaimsAssets second leg {} was found", lca.getId());
|
||||||
|
|
|
||||||
|
|
@ -240,7 +240,7 @@ public class ExecutionDepositComponent {
|
||||||
|
|
||||||
protected ExecutionDeposit createExecutionDeposit(STrades sTrades,
|
protected ExecutionDeposit createExecutionDeposit(STrades sTrades,
|
||||||
Allowed coverageStatus, Long sessionId) throws ClearingException {
|
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()));
|
Security security = securityImdg.getSingleObjectByFieldValues(Map.of("securitySymbol", sTrades.getSecCode()));
|
||||||
if (security == null) {
|
if (security == null) {
|
||||||
log.warn("security securitySymbol=\"{}\" not found", sTrades.getSecCode());
|
log.warn("security securitySymbol=\"{}\" not found", sTrades.getSecCode());
|
||||||
|
|
@ -272,7 +272,7 @@ public class ExecutionDepositComponent {
|
||||||
eDeposit.setExchangeExecutionId(sTrades.getTradeNum());
|
eDeposit.setExchangeExecutionId(sTrades.getTradeNum());
|
||||||
eDeposit.setExchangeExecutionTime(sTrades.getTradeDateTime());
|
eDeposit.setExchangeExecutionTime(sTrades.getTradeDateTime());
|
||||||
if (account != null) {
|
if (account != null) {
|
||||||
eDeposit.setAccountId(account.getId());
|
// todo CLS-275 eDeposit.setAccountId(account.getId());
|
||||||
}
|
}
|
||||||
eDeposit.setMarket(Market.mkrs.getKey());
|
eDeposit.setMarket(Market.mkrs.getKey());
|
||||||
eDeposit.setPrice(sTrades.getPrice());
|
eDeposit.setPrice(sTrades.getPrice());
|
||||||
|
|
@ -294,7 +294,7 @@ public class ExecutionDepositComponent {
|
||||||
eDeposit.setSide(operation);
|
eDeposit.setSide(operation);
|
||||||
eDeposit.setSettlementCurrency("RUB"); // (справочник currencyCode)
|
eDeposit.setSettlementCurrency("RUB"); // (справочник currencyCode)
|
||||||
eDeposit.setCompanyId(company.getId());
|
eDeposit.setCompanyId(company.getId());
|
||||||
eDeposit.setDuration(sTrades.getDaysToMatDate());
|
// todo CLS-275 eDeposit.setDuration(sTrades.getDaysToMatDate());
|
||||||
eDeposit.setFirstLegSettlementDate(nowDay);
|
eDeposit.setFirstLegSettlementDate(nowDay);
|
||||||
eDeposit.setSecondLegSettlementDate(sTrades.getSettleDate());
|
eDeposit.setSecondLegSettlementDate(sTrades.getSettleDate());
|
||||||
//eDeposit.setFirstLegSettlementCode(null);
|
//eDeposit.setFirstLegSettlementCode(null);
|
||||||
|
|
|
||||||
|
|
@ -61,7 +61,7 @@ public class LiabilitiesClaimsAssetsCreator {
|
||||||
|
|
||||||
|
|
||||||
public LiabilitiesClaimsAssets createFirstLegLCA(ClearingCategory category, ExecutionDeposit executionDeposit) {
|
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);
|
LiabilitiesClaimsAssets lca = createLCA(executionDeposit, account);
|
||||||
lca.setSettlementDate(executionDeposit.getFirstLegSettlementDate());
|
lca.setSettlementDate(executionDeposit.getFirstLegSettlementDate());
|
||||||
AccountType accType = IEnumKey.getEnumByKey(AccountType.class, account.getAccountType());
|
AccountType accType = IEnumKey.getEnumByKey(AccountType.class, account.getAccountType());
|
||||||
|
|
@ -79,7 +79,7 @@ public class LiabilitiesClaimsAssetsCreator {
|
||||||
}
|
}
|
||||||
|
|
||||||
public LiabilitiesClaimsAssets createSecondLegLCA(ClearingCategory category, ExecutionDeposit executionDeposit) {
|
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);
|
LiabilitiesClaimsAssets lca = createLCA(executionDeposit, account);
|
||||||
lca.setSettlementDate(executionDeposit.getSecondLegSettlementDate());
|
lca.setSettlementDate(executionDeposit.getSecondLegSettlementDate());
|
||||||
AccountType accType = IEnumKey.getEnumByKey(AccountType.class, account.getAccountType());
|
AccountType accType = IEnumKey.getEnumByKey(AccountType.class, account.getAccountType());
|
||||||
|
|
@ -115,7 +115,7 @@ public class LiabilitiesClaimsAssetsCreator {
|
||||||
|
|
||||||
|
|
||||||
public void updateSecondLegLca(LiabilitiesClaimsAssets lca, ExecutionDeposit executionDeposit, ClearingCategory category) {
|
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());
|
AccountType accType = IEnumKey.getEnumByKey(AccountType.class, account.getAccountType());
|
||||||
boolean iClrn = ClearingCategory.I.equals(category) && AccountType.Clrn.equals(accType);
|
boolean iClrn = ClearingCategory.I.equals(category) && AccountType.Clrn.equals(accType);
|
||||||
boolean vInfo = ClearingCategory.V.equals(category) && AccountType.Info.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) {
|
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());
|
AccountType accType = IEnumKey.getEnumByKey(AccountType.class, account.getAccountType());
|
||||||
boolean iClrn = ClearingCategory.I.equals(category) && AccountType.Clrn.equals(accType);
|
boolean iClrn = ClearingCategory.I.equals(category) && AccountType.Clrn.equals(accType);
|
||||||
boolean vInfo = ClearingCategory.V.equals(category) && AccountType.Info.equals(accType);
|
boolean vInfo = ClearingCategory.V.equals(category) && AccountType.Info.equals(accType);
|
||||||
|
|
|
||||||
|
|
@ -37,17 +37,17 @@ public enum ExecutionDepositValidationRule implements IValidationRule<ImdgValida
|
||||||
@Override
|
@Override
|
||||||
public Optional<EnumMessage> validate(ImdgValidationContext<ExecutionDeposit> context) {
|
public Optional<EnumMessage> validate(ImdgValidationContext<ExecutionDeposit> context) {
|
||||||
ExecutionDeposit validatedObject = context.getValidatedObject();
|
ExecutionDeposit validatedObject = context.getValidatedObject();
|
||||||
if (validatedObject.getAccountId() == null) {
|
// todo CLS-275 if (validatedObject.getAccountId() == null) {
|
||||||
return of(ClearingErrorInternal.AccountNotActive);
|
return of(ClearingErrorInternal.AccountNotActive);
|
||||||
}
|
// }
|
||||||
Imdg<Account> accountImdg = context.obtainMap(IMDGDistributedNames.Map_Account, Account.class);
|
// Imdg<Account> accountImdg = context.obtainMap(IMDGDistributedNames.Map_Account, Account.class);
|
||||||
Relation relation = context.getStoredObject(ClrngValidationStored.relation);
|
// Relation relation = context.getStoredObject(ClrngValidationStored.relation);
|
||||||
Account account = accountImdg.getSingleObjectByFieldValues(
|
// Account account = accountImdg.getSingleObjectByFieldValues(
|
||||||
Map.of("id", validatedObject.getAccountId(), "relationId", relation.getId()));
|
// Map.of("id", validatedObject.getAccountId(), "relationId", relation.getId()));
|
||||||
if (account == null || !AccountStatus.ACTIVE.equalsByKey(account.getStatus())) {
|
// if (account == null || !AccountStatus.ACTIVE.equalsByKey(account.getStatus())) {
|
||||||
return of(ClearingErrorInternal.AccountNotActive);
|
// return of(ClearingErrorInternal.AccountNotActive);
|
||||||
}
|
// }
|
||||||
return empty();
|
// return empty();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
CompanyIsNotBlocked() {
|
CompanyIsNotBlocked() {
|
||||||
|
|
@ -70,18 +70,18 @@ public enum ExecutionDepositValidationRule implements IValidationRule<ImdgValida
|
||||||
return Optional.empty();
|
return Optional.empty();
|
||||||
}
|
}
|
||||||
ExecutionDeposit validatedObject = context.getValidatedObject();
|
ExecutionDeposit validatedObject = context.getValidatedObject();
|
||||||
Imdg<AccountBalance> accountBalanceImdg = context.obtainMap(IMDGDistributedNames.Map_AccountBalance, AccountBalance.class);
|
// Imdg<AccountBalance> accountBalanceImdg = context.obtainMap(IMDGDistributedNames.Map_AccountBalance, AccountBalance.class);
|
||||||
AccountBalance accountBalance = accountBalanceImdg.getSingleObjectByFieldValues(
|
// todo CLS-275 AccountBalance accountBalance = accountBalanceImdg.getSingleObjectByFieldValues(
|
||||||
Map.of("accountId", validatedObject.getAccountId(),
|
// Map.of("accountId", validatedObject.getAccountId(),
|
||||||
"companyId", validatedObject.getCompanyId()));
|
// "companyId", validatedObject.getCompanyId()));
|
||||||
if (accountBalance == null) {
|
// if (accountBalance == null) {
|
||||||
return of(ClearingErrorInternal.FinancialObligationNotSatisfied);
|
return of(ClearingErrorInternal.FinancialObligationNotSatisfied);
|
||||||
}
|
// }
|
||||||
//todo ABS
|
//todo ABS
|
||||||
if (validatedObject.getFirstLegAmount().compareTo(accountBalance.getFreeBalanceAmount()) > 0) {
|
// todo CLS-275 if (validatedObject.getFirstLegAmount().compareTo(accountBalance.getFreeBalanceAmount()) > 0) {
|
||||||
return of(ClearingErrorInternal.FinancialObligationNotSatisfied);
|
// return of(ClearingErrorInternal.FinancialObligationNotSatisfied);
|
||||||
}
|
// }
|
||||||
return empty();
|
// return empty();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -378,7 +378,7 @@ class ClearingServiceTest extends AbstractClearingTest {
|
||||||
executionDeposit.setExchangeExecutionId(5L);
|
executionDeposit.setExchangeExecutionId(5L);
|
||||||
executionDeposit.setExchangeExecutionTime(Instant.now());
|
executionDeposit.setExchangeExecutionTime(Instant.now());
|
||||||
executionDeposit.setTradingDate(LocalDate.now());
|
executionDeposit.setTradingDate(LocalDate.now());
|
||||||
executionDeposit.setAccountId(accountId);
|
executionDeposit.setTradingClearingRegistryId(accountId); //todo CLS-275 executionDeposit.setAccountId(accountId);
|
||||||
executionDeposit.setMarket("market");
|
executionDeposit.setMarket("market");
|
||||||
executionDeposit.setPrice(new BigDecimal(9));
|
executionDeposit.setPrice(new BigDecimal(9));
|
||||||
executionDeposit.setLots(new BigDecimal(0));
|
executionDeposit.setLots(new BigDecimal(0));
|
||||||
|
|
@ -394,6 +394,7 @@ class ClearingServiceTest extends AbstractClearingTest {
|
||||||
executionDeposit.setSecondLegSettlementDate(dtS);
|
executionDeposit.setSecondLegSettlementDate(dtS);
|
||||||
executionDeposit.setFirstLegSettlementCode("leg1c");
|
executionDeposit.setFirstLegSettlementCode("leg1c");
|
||||||
executionDeposit.setSecondLegSettlementCode("legcc");
|
executionDeposit.setSecondLegSettlementCode("legcc");
|
||||||
|
executionDeposit.setContract("contract");
|
||||||
executionDeposit.setSecurityFullName("full");
|
executionDeposit.setSecurityFullName("full");
|
||||||
executionDeposit.setSecuritySymbol("symbol");
|
executionDeposit.setSecuritySymbol("symbol");
|
||||||
executionDeposit.setSecurityId(securityId);
|
executionDeposit.setSecurityId(securityId);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue