--- ExecutionRegisterServiceTest fix up related to new technical requirement
This commit is contained in:
parent
846a364164
commit
e4c362db00
2 changed files with 83 additions and 83 deletions
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue