---
ExecutionRegisterServiceTest fix up related to new technical requirement
This commit is contained in:
aalehin 2023-10-12 13:19:35 +03:00
parent 846a364164
commit e4c362db00
2 changed files with 83 additions and 83 deletions

View file

@ -15,7 +15,6 @@ import ru.clearing.classes.statics.data.execution.ExecutionFond;
import ru.clearing.classes.statics.data.register.ExecutionRegister; import ru.clearing.classes.statics.data.register.ExecutionRegister;
import ru.clearing.classes.statics.data.registry.TradingClearingRegistry; import ru.clearing.classes.statics.data.registry.TradingClearingRegistry;
import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.registry.ExecutionRegisterOnSaveRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.schedule.LauncherCommandRequest; import ru.spcex.clearing.platform.messaging.domain.cud.schedule.LauncherCommandRequest;
import ru.spcex.clearing.platform.messaging.service.QueueConsumer; import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
import ru.spcex.clearing.registry.util.PreClearMap; import ru.spcex.clearing.registry.util.PreClearMap;
@ -249,79 +248,79 @@ public class ExecutionRegisterService extends QueueConsumer implements Initializ
// TODO возможно deprecated // TODO возможно deprecated
public void executionRegisterOnSavingOfTrade(BaseRequest<ExecutionRegisterOnSaveRequest> userRequest) { //public void executionRegisterOnSavingOfTrade(BaseRequest<ExecutionRegisterOnSaveRequest> userRequest) {
ExecutionRegisterOnSaveRequest request = userRequest.getRequestPayload(); // ExecutionRegisterOnSaveRequest request = userRequest.getRequestPayload();
ExecutionCommon common = setUpExecutionCommon(request); // ExecutionCommon common = setUpExecutionCommon(request);
boolean isFond = request.isExecutionFond(); // boolean isFond = request.isExecutionFond();
Optional<ExecutionRegister> optionalDuplicate = isDuplicateInMap(common); // Optional<ExecutionRegister> optionalDuplicate = isDuplicateInMap(common);
if (optionalDuplicate.isEmpty()) { // if (optionalDuplicate.isEmpty()) {
insertExecutionRegister(isFond, common); // insertExecutionRegister(isFond, common);
} else { // } else {
updateExecutionRegister(isFond, common, optionalDuplicate.get()); // updateExecutionRegister(isFond, common, optionalDuplicate.get());
} // }
} //}
// TODO возможно deprecated // TODO возможно deprecated
private void updateExecutionRegister(boolean isFond, ExecutionCommon common, ExecutionRegister registerToUpdate) { //private void updateExecutionRegister(boolean isFond, ExecutionCommon common, ExecutionRegister registerToUpdate) {
log.trace("Started updating ExecutionRegister entity..."); // log.trace("Started updating ExecutionRegister entity...");
registerToUpdate.setSecurityId(common.getSecurityId()); // registerToUpdate.setSecurityId(common.getSecurityId());
registerToUpdate.setExchangeExecutionTime(common.getExchangeExecutionTime()); // registerToUpdate.setExchangeExecutionTime(common.getExchangeExecutionTime());
registerToUpdate.setAmount(isFond ? ((ExecutionFond) common).getSettlementAmount() : ((ExecutionDeposit) common).getFirstLegAmount()); // registerToUpdate.setAmount(isFond ? ((ExecutionFond) common).getSettlementAmount() : ((ExecutionDeposit) common).getFirstLegAmount());
registerToUpdate.setQuantity(isFond ? common.getQuantity() : null); // registerToUpdate.setQuantity(isFond ? common.getQuantity() : null);
registerToUpdate.setUpdated(Instant.now()); // registerToUpdate.setUpdated(Instant.now());
executionRegisterMap.update(registerToUpdate); // executionRegisterMap.update(registerToUpdate);
log.debug("Updated successfully ExecutionRegister entity with id: {}", registerToUpdate.getId()); // log.debug("Updated successfully ExecutionRegister entity with id: {}", registerToUpdate.getId());
} //}
// todo возможно deprecated // todo возможно deprecated
private ExecutionCommon setUpExecutionCommon(ExecutionRegisterOnSaveRequest request) { //private ExecutionCommon setUpExecutionCommon(ExecutionRegisterOnSaveRequest request) {
ExecutionFond fond = null; // ExecutionFond fond = null;
ExecutionDeposit deposit = null; // ExecutionDeposit deposit = null;
if (request.isExecutionFond()) { // if (request.isExecutionFond()) {
fond = new ExecutionFond(); // fond = new ExecutionFond();
fond.setExchangeOrderId(request.getExchangeOrderId()); // fond.setExchangeOrderId(request.getExchangeOrderId());
fond.setSettlementAmount(request.getSettlementAmount()); // fond.setSettlementAmount(request.getSettlementAmount());
fond.setComment(request.getComment()); // fond.setComment(request.getComment());
fond.setClientCodeId(request.getClientCodeId()); // fond.setClientCodeId(request.getClientCodeId());
fond.setSettlementCode(request.getSettlementCode()); // fond.setSettlementCode(request.getSettlementCode());
fond.setSettlementDate(request.getSettlementDate()); // fond.setSettlementDate(request.getSettlementDate());
fond.setExchangeExecutionMicroseconds(request.getExchangeExecutionMicroseconds()); // fond.setExchangeExecutionMicroseconds(request.getExchangeExecutionMicroseconds());
} else { // } else {
deposit = new ExecutionDeposit(); // deposit = new ExecutionDeposit();
deposit.setFirstLegAmount(request.getFirstLegAmount()); // deposit.setFirstLegAmount(request.getFirstLegAmount());
deposit.setSecondLegAmount(request.getSecondLegAmount()); // deposit.setSecondLegAmount(request.getSecondLegAmount());
deposit.setFirstLegSettlementDate(request.getFirstLegSettlementDate()); // deposit.setFirstLegSettlementDate(request.getFirstLegSettlementDate());
deposit.setSecondLegSettlementDate(request.getSecondLegSettlementDate()); // deposit.setSecondLegSettlementDate(request.getSecondLegSettlementDate());
deposit.setFirstLegSettlementCode(request.getFirstLegSettlementCode()); // deposit.setFirstLegSettlementCode(request.getFirstLegSettlementCode());
deposit.setSecondLegSettlementCode(request.getSecondLegSettlementCode()); // deposit.setSecondLegSettlementCode(request.getSecondLegSettlementCode());
deposit.setContract(request.getContract()); // deposit.setContract(request.getContract());
deposit.setSecurityCode(request.getSecurityCode()); // deposit.setSecurityCode(request.getSecurityCode());
} // }
boolean isFond = fond != null; // boolean isFond = fond != null;
ExecutionCommon common = isFond ? fond : deposit; // ExecutionCommon common = isFond ? fond : deposit;
common.setExchangeExecutionId(request.getExchangeExecutionId()); // common.setExchangeExecutionId(request.getExchangeExecutionId());
common.setExchangeExecutionTime(request.getExchangeExecutionTime()); // common.setExchangeExecutionTime(request.getExchangeExecutionTime());
common.setTradingDate(request.getTradingDate()); // common.setTradingDate(request.getTradingDate());
common.setTradingClearingRegistryId(request.getTradingClearingRegistryId()); // common.setTradingClearingRegistryId(request.getTradingClearingRegistryId());
common.setMarket(request.getMarket()); // common.setMarket(request.getMarket());
common.setPrice(request.getPrice()); // common.setPrice(request.getPrice());
common.setLots(request.getLots()); // common.setLots(request.getLots());
common.setQuantity(request.getQuantity()); // common.setQuantity(request.getQuantity());
common.setInterestAmount(request.getInterestAmount()); // common.setInterestAmount(request.getInterestAmount());
common.setSide(request.getSide()); // common.setSide(request.getSide());
common.setSettlementCurrency(request.getSettlementCurrency()); // common.setSettlementCurrency(request.getSettlementCurrency());
common.setCompanyId(request.getCompanyId()); // common.setCompanyId(request.getCompanyId());
common.setDuration(request.getDuration()); // common.setDuration(request.getDuration());
common.setSecurityFullName(request.getSecurityFullName()); // common.setSecurityFullName(request.getSecurityFullName());
common.setSecuritySymbol(request.getSecuritySymbol()); // common.setSecuritySymbol(request.getSecuritySymbol());
common.setSecurityId(request.getSecurityId()); // common.setSecurityId(request.getSecurityId());
common.setCounterPartyId(request.getCounterPartyId()); // common.setCounterPartyId(request.getCounterPartyId());
common.setCoverageStatus(request.getCoverageStatus()); // common.setCoverageStatus(request.getCoverageStatus());
common.setSessionId(request.getSessionId()); // common.setSessionId(request.getSessionId());
common.setClearingDate(request.getClearingDate()); // common.setClearingDate(request.getClearingDate());
return common; // return common;
} //}
@Deprecated @Deprecated
@Override @Override

View file

@ -24,6 +24,7 @@ import ru.spcex.clearing.test.TestUtils;
import ru.spcex.clearing.test.config.ImdgTestConfig; import ru.spcex.clearing.test.config.ImdgTestConfig;
import ru.spcex.clearing.test.config.KafkaTestConfig; import ru.spcex.clearing.test.config.KafkaTestConfig;
import ru.spcex.platform.enumeration.CompanySymbol; import ru.spcex.platform.enumeration.CompanySymbol;
import ru.spcex.platform.enumeration.MoneyFlowSide;
import ru.spcex.platform.enumeration.Side; import ru.spcex.platform.enumeration.Side;
import ru.spcex.platform.enumeration.Task; import ru.spcex.platform.enumeration.Task;
import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.Imdg;
@ -147,7 +148,7 @@ class ExecutionRegisterServiceTest {
} }
@Test @Test
@Order(1) @Order(2)
void executionRegisterNewForClearingDate() { void executionRegisterNewForClearingDate() {
ExecutionFond executionFond = new ExecutionFond(); ExecutionFond executionFond = new ExecutionFond();
@ -162,7 +163,7 @@ class ExecutionRegisterServiceTest {
executionFond.setTradingClearingRegistryId(TKR_FOR_TKR_ID); executionFond.setTradingClearingRegistryId(TKR_FOR_TKR_ID);
executionFond.setCompanyId(COMPANY_ID); executionFond.setCompanyId(COMPANY_ID);
executionFond.setCounterPartyId(COUNTER_PARTY_ID); executionFond.setCounterPartyId(COUNTER_PARTY_ID);
executionFond.setSide(Side.BUY.getKey()); executionFond.setSide(Side.SELL.getKey());
executionFond.setCounterPartyTradingClearingRegistry(COUNTER_PARTY_TKR); executionFond.setCounterPartyTradingClearingRegistry(COUNTER_PARTY_TKR);
executionFond.setPartyTradingClearingRegistry(PARTY_TKR); executionFond.setPartyTradingClearingRegistry(PARTY_TKR);
executionFondImdg.insert(executionFond); executionFondImdg.insert(executionFond);
@ -185,16 +186,16 @@ class ExecutionRegisterServiceTest {
assertEquals(executionRegister.getExchangeExecutionId(), EXCHANGE_EXECUTION_ID); assertEquals(executionRegister.getExchangeExecutionId(), EXCHANGE_EXECUTION_ID);
assertEquals(executionRegister.getExchangeExecutionTime(), EXCHANGE_EXECUTION_TIME); assertEquals(executionRegister.getExchangeExecutionTime(), EXCHANGE_EXECUTION_TIME);
assertEquals(executionRegister.getSecurityId(), SECURITY_ID); assertEquals(executionRegister.getSecurityId(), SECURITY_ID);
assertEquals(executionRegister.getSellerId(), COUNTER_PARTY_ID); assertEquals(executionRegister.getSellerId(), COMPANY_ID);
assertEquals(executionRegister.getSellerClearingCode(), COMPANY_SYMBOL_VALUE_FOR_COUNTER_PARTY_ID); assertEquals(executionRegister.getSellerClearingCode(), COMPANY_SYMBOL_VALUE_FOR_COMPANY_ID);
assertEquals(executionRegister.getSellerTradingClearingRegister(), COUNTER_PARTY_TKR); assertEquals(executionRegister.getSellerTradingClearingRegister(), PARTY_TKR);
assertEquals(executionRegister.getSellerMoneyAccount(), MONEY_ACCOUNT_FOR_COUNTER_PARTY_TKR); assertEquals(executionRegister.getSellerMoneyAccount(), MONEY_ACCOUNT_FOR_TKR);
assertEquals(executionRegister.getSellerDepoAccount(), DEPO_ACCOUNT_FOR_COUNTER_PARTY_TKR); assertEquals(executionRegister.getSellerDepoAccount(), DEPO_ACCOUNT_FOR_TKR);
assertEquals(executionRegister.getBuyerId(), COMPANY_ID); assertEquals(executionRegister.getBuyerId(), COUNTER_PARTY_ID);
assertEquals(executionRegister.getBuyerClearingCode(), COMPANY_SYMBOL_VALUE_FOR_COMPANY_ID); assertEquals(executionRegister.getBuyerClearingCode(), COMPANY_SYMBOL_VALUE_FOR_COUNTER_PARTY_ID);
assertEquals(executionRegister.getBuyerTradingClearingRegister(), PARTY_TKR); assertEquals(executionRegister.getBuyerTradingClearingRegister(), COUNTER_PARTY_TKR);
assertEquals(executionRegister.getBuyerMoneyAccount(), MONEY_ACCOUNT_FOR_TKR); assertEquals(executionRegister.getBuyerMoneyAccount(), MONEY_ACCOUNT_FOR_COUNTER_PARTY_TKR);
assertEquals(executionRegister.getBuyerDepoAccount(), DEPO_ACCOUNT_FOR_TKR); assertEquals(executionRegister.getBuyerDepoAccount(), DEPO_ACCOUNT_FOR_COUNTER_PARTY_TKR);
assertEquals(executionRegister.getAmount(), SETTLEMENT_AMOUNT); assertEquals(executionRegister.getAmount(), SETTLEMENT_AMOUNT);
assertEquals(executionRegister.getQuantity(), QUANTITY); assertEquals(executionRegister.getQuantity(), QUANTITY);
assertEquals(executionRegister.getClearingDate(), LocalDate.now()); assertEquals(executionRegister.getClearingDate(), LocalDate.now());
@ -203,7 +204,7 @@ class ExecutionRegisterServiceTest {
} }
@Test @Test
@Order(2) @Order(1)
void executionRegisterNewFromRequest() { void executionRegisterNewFromRequest() {
ExecutionDeposit executionDeposit = new ExecutionDeposit(); ExecutionDeposit executionDeposit = new ExecutionDeposit();
executionDeposit.setClearingDate(LocalDate.now()); executionDeposit.setClearingDate(LocalDate.now());
@ -217,7 +218,7 @@ class ExecutionRegisterServiceTest {
executionDeposit.setTradingClearingRegistryId(TKR_FOR_TKR_ID); executionDeposit.setTradingClearingRegistryId(TKR_FOR_TKR_ID);
executionDeposit.setCompanyId(COMPANY_ID); executionDeposit.setCompanyId(COMPANY_ID);
executionDeposit.setCounterPartyId(COUNTER_PARTY_ID); executionDeposit.setCounterPartyId(COUNTER_PARTY_ID);
executionDeposit.setSide(Side.SELL.getKey()); executionDeposit.setSide(MoneyFlowSide.SELL.getKey());
executionDeposit.setCounterPartyTradingClearingRegistry(COUNTER_PARTY_TKR); executionDeposit.setCounterPartyTradingClearingRegistry(COUNTER_PARTY_TKR);
executionDeposit.setPartyTradingClearingRegistry(PARTY_TKR); executionDeposit.setPartyTradingClearingRegistry(PARTY_TKR);
executionDepositImdg.insert(executionDeposit); executionDepositImdg.insert(executionDeposit);