From dac9c80c6f27a219ab7e77de52dfe372b8723d3d Mon Sep 17 00:00:00 2001 From: aalehin Date: Wed, 26 Jul 2023 15:42:07 +0300 Subject: [PATCH] =?UTF-8?q?http://jira.mfd.msk:8088/browse/CLS-280=20---?= =?UTF-8?q?=20=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B8=20=D0=BF=D0=BE=20=D1=80?= =?UTF-8?q?=D0=B5=D0=B2=D1=8C=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AdmittedLiabilitiesRegisterService.java | 7 ++--- .../CoveredLiabilitiesRegisterService.java | 7 ++--- .../ExcludeLiabilitiesRegisterService.java | 2 +- .../service/ExecutionRegisterService.java | 28 ++++++++----------- .../registry/service/ICheckDuplicate.java | 8 ++++-- .../service/LiabilitiesRegisterService.java | 4 +-- .../services/ReportServiceTest_KS.java | 4 +-- .../platform/enumeration/RegistryCode.java | 19 ------------- 8 files changed, 25 insertions(+), 54 deletions(-) delete mode 100644 platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/RegistryCode.java diff --git a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/AdmittedLiabilitiesRegisterService.java b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/AdmittedLiabilitiesRegisterService.java index 138b9bf91..6f749af1d 100644 --- a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/AdmittedLiabilitiesRegisterService.java +++ b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/AdmittedLiabilitiesRegisterService.java @@ -17,10 +17,7 @@ import ru.spcex.clearing.platform.messaging.domain.Consts; import ru.spcex.clearing.platform.messaging.domain.cud.registry.AdmittedLiabilitiesRegisterNewRequest; import ru.spcex.clearing.platform.messaging.domain.cud.schedule.LauncherCommandRequest; import ru.spcex.clearing.platform.messaging.service.QueueConsumer; -import ru.spcex.platform.enumeration.RegistryCode; -import ru.spcex.platform.enumeration.RegistryDesignation; -import ru.spcex.platform.enumeration.RegistryInstrumentType; -import ru.spcex.platform.enumeration.RegistryStatus; +import ru.spcex.platform.enumeration.*; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.ImdgProvider; @@ -113,7 +110,7 @@ public class AdmittedLiabilitiesRegisterService extends QueueConsumer implements RegistryDesignation.O.getKey(), RegistryInstrumentType.S.getKey(), RegistryInstrumentType.M.getKey(), - RegistryCode.T.getKey(), + RegistryUnit.T.getKey(), RegistryStatus.OK.getKey(), RegistryStatus.NACK.getKey(), RegistryStatus.UNCV.getKey(), diff --git a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/CoveredLiabilitiesRegisterService.java b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/CoveredLiabilitiesRegisterService.java index 6509c52ad..d22c9ae8f 100644 --- a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/CoveredLiabilitiesRegisterService.java +++ b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/CoveredLiabilitiesRegisterService.java @@ -17,10 +17,7 @@ import ru.spcex.clearing.platform.messaging.domain.Consts; import ru.spcex.clearing.platform.messaging.domain.cud.registry.CoveredLiabilitiesRegisterNewRequest; import ru.spcex.clearing.platform.messaging.domain.cud.schedule.LauncherCommandRequest; import ru.spcex.clearing.platform.messaging.service.QueueConsumer; -import ru.spcex.platform.enumeration.RegistryCode; -import ru.spcex.platform.enumeration.RegistryDesignation; -import ru.spcex.platform.enumeration.RegistryInstrumentType; -import ru.spcex.platform.enumeration.RegistryStatus; +import ru.spcex.platform.enumeration.*; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.ImdgProvider; @@ -113,7 +110,7 @@ public class CoveredLiabilitiesRegisterService extends QueueConsumer implements RegistryDesignation.O.getKey(), RegistryInstrumentType.S.getKey(), RegistryInstrumentType.M.getKey(), - RegistryCode.T.getKey(), + RegistryUnit.T.getKey(), RegistryStatus.OK.getKey()); } } diff --git a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ExcludeLiabilitiesRegisterService.java b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ExcludeLiabilitiesRegisterService.java index 908793af9..2390578c5 100644 --- a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ExcludeLiabilitiesRegisterService.java +++ b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ExcludeLiabilitiesRegisterService.java @@ -119,7 +119,7 @@ public class ExcludeLiabilitiesRegisterService extends QueueConsumer implements RegistryDesignation.O.getKey(), RegistryInstrumentType.S.getKey(), RegistryInstrumentType.M.getKey(), - RegistryCode.T.getKey(), + RegistryUnit.T.getKey(), RegistryStatus.FAIL.getKey()); } } diff --git a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ExecutionRegisterService.java b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ExecutionRegisterService.java index ffbe1d220..64485ba54 100644 --- a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ExecutionRegisterService.java +++ b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ExecutionRegisterService.java @@ -33,7 +33,7 @@ import static ru.spcex.clearing.imdg.IMDGDistributedNames.*; import static ru.spcex.platform.enumeration.Task.createRegistry_ECNR; @Service -public class ExecutionRegisterService extends QueueConsumer implements InitializingBean, ICheckDuplicate { +public class ExecutionRegisterService extends QueueConsumer implements InitializingBean, ICheckDuplicate { private final Logger log = LoggerFactory.getLogger(getClass()); private final Imdg executionRegisterMap; @@ -72,12 +72,12 @@ public class ExecutionRegisterService extends QueueConsumer implements Initializ Collection collectionFond = executionFondMap.getCollectionObjectsByFieldValues(Map.of("clearingDate", localDateNow)); Collection collectionDeposit = executionDepositMap.getCollectionObjectsByFieldValues(Map.of("clearingDate", localDateNow)); collectionFond.forEach(x -> { - if (!isDuplicateInMap(x)) { + if (isDuplicateInMap(x).isEmpty()) { insertExecutionRegister(true, x); } }); collectionDeposit.forEach(x -> { - if (!isDuplicateInMap(x)) { + if (isDuplicateInMap(x).isPresent()) { insertExecutionRegister(false, x); } }); @@ -88,16 +88,16 @@ public class ExecutionRegisterService extends QueueConsumer implements Initializ ExecutionRegisterOnSaveRequest request = userRequest.getRequestPayload(); ExecutionCommon common = setUpExecutionCommon(request); boolean isFond = request.isExecutionFond(); - if (!isDuplicateInMap(common)) { + Optional optionalDuplicate = isDuplicateInMap(common); + if (optionalDuplicate.isEmpty()) { insertExecutionRegister(isFond, common); } else { - updateExecutionRegister(isFond, common); + updateExecutionRegister(isFond, common, optionalDuplicate.get()); } } - private void updateExecutionRegister(boolean isFond, ExecutionCommon common) { + private void updateExecutionRegister(boolean isFond, ExecutionCommon common, ExecutionRegister registerToUpdate) { log.trace("Started updating ExecutionRegister entity..."); - ExecutionRegister registerToUpdate = getDuplicate(common); registerToUpdate.setSecurityId(common.getSecurityId()); registerToUpdate.setExchangeExecutionTime(common.getExchangeExecutionTime()); registerToUpdate.setAmount(isFond ? ((ExecutionFond) common).getSettlementAmount() : ((ExecutionDeposit) common).getFirstLegAmount()); @@ -113,8 +113,8 @@ public class ExecutionRegisterService extends QueueConsumer implements Initializ String sellerTradingClearingRegister = null; String sellerMoneyAccount = null; String sellerDepoAccount = null; - Long buyerId = common.getSide().equalsIgnoreCase("BUY") ? common.getCompanyId() : common.getCounterPartyId(); - Long sellerId = common.getSide().equalsIgnoreCase("BUY") ? common.getCounterPartyId() : common.getCompanyId(); + Long buyerId = common.getSide().equalsIgnoreCase(MoneyFlowSide.BUY.getKey()) ? common.getCompanyId() : common.getCounterPartyId(); + Long sellerId = common.getSide().equalsIgnoreCase(MoneyFlowSide.BUY.getKey()) ? common.getCounterPartyId() : common.getCompanyId(); String buyerClearingCode = null; String buyerTradingClearingRegister = null; String buyerMoneyAccount = null; @@ -276,16 +276,10 @@ public class ExecutionRegisterService extends QueueConsumer implements Initializ } @Override - public boolean isDuplicateInMap(ExecutionCommon entity) { + public Optional isDuplicateInMap(ExecutionCommon entity) { Map> map = Map.of("exchangeExecutionId", entity.getExchangeExecutionId(), "tradingDate", LocalDate.now()); //clarify timezone - return !executionRegisterMap.getCollectionObjectsByFieldValues(map).isEmpty(); + return Optional.ofNullable(executionRegisterMap.getSingleObjectByFieldValues(map)); } - - public ExecutionRegister getDuplicate(ExecutionCommon entity) { - Map> map = Map.of("exchangeExecutionId", entity.getExchangeExecutionId(), - "tradingDate", LocalDate.now()); //clarify timezone - return executionRegisterMap.getSingleObjectByFieldValues(map); - } } \ No newline at end of file diff --git a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ICheckDuplicate.java b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ICheckDuplicate.java index b59ae53a9..d8f45e389 100644 --- a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ICheckDuplicate.java +++ b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/ICheckDuplicate.java @@ -1,8 +1,10 @@ package ru.spcex.clearing.registry.service; -public interface ICheckDuplicate { +import java.util.Optional; + +public interface ICheckDuplicate { /** - * @return true - если есть дубликат в реестре, false - если дубликатов нет + * @return возвращает optinal с дубликатом * */ - boolean isDuplicateInMap(T entity); + Optional isDuplicateInMap(T entity); } diff --git a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/LiabilitiesRegisterService.java b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/LiabilitiesRegisterService.java index 5261e5832..24f45b754 100644 --- a/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/LiabilitiesRegisterService.java +++ b/clearing-parent/registry-service/src/main/java/ru/spcex/clearing/registry/service/LiabilitiesRegisterService.java @@ -18,9 +18,9 @@ import ru.spcex.clearing.platform.messaging.domain.Consts; import ru.spcex.clearing.platform.messaging.domain.cud.registry.LiabilitiesRegisterNewRequest; import ru.spcex.clearing.platform.messaging.domain.cud.schedule.LauncherCommandRequest; import ru.spcex.clearing.platform.messaging.service.QueueConsumer; -import ru.spcex.platform.enumeration.RegistryCode; import ru.spcex.platform.enumeration.RegistryDesignation; import ru.spcex.platform.enumeration.RegistryInstrumentType; +import ru.spcex.platform.enumeration.RegistryUnit; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.utils.time.TimeUtil; @@ -140,6 +140,6 @@ public class LiabilitiesRegisterService extends QueueConsumer implements Initial RegistryDesignation.L.getKey(), RegistryInstrumentType.S.getKey(), RegistryInstrumentType.M.getKey(), - RegistryCode.T.getKey()); + RegistryUnit.T.getKey()); } } diff --git a/clearing-parent/reports-service/src/test/java/ru/spcex/clearing/reports/services/ReportServiceTest_KS.java b/clearing-parent/reports-service/src/test/java/ru/spcex/clearing/reports/services/ReportServiceTest_KS.java index 710614482..5d835fb0c 100644 --- a/clearing-parent/reports-service/src/test/java/ru/spcex/clearing/reports/services/ReportServiceTest_KS.java +++ b/clearing-parent/reports-service/src/test/java/ru/spcex/clearing/reports/services/ReportServiceTest_KS.java @@ -167,7 +167,7 @@ public class ReportServiceTest_KS { registry_1.setCompanyId(COMPANY_ID); registry_1.setAccount("ACCOUNT"); registry_1.setAccountType(AccountType.Clrn.getKey()); - registry_1.setRegistryCode(RegistryCode.T.getKey()); + registry_1.setRegistryCode(RegistryUnit.T.getKey()); registryImdg.insert(registry_1); Statement statement_1 = new Statement(); @@ -259,7 +259,7 @@ public class ReportServiceTest_KS { registry_1.setCompanyId(COMPANY_ID); registry_1.setAccount("ACCOUNT"); registry_1.setAccountType(AccountType.Depo.getKey()); - registry_1.setRegistryCode(RegistryCode.T.getKey()); + registry_1.setRegistryCode(RegistryUnit.T.getKey()); registryImdg.insert(registry_1); EquitySecurity equitySecurity = new EquitySecurity(); diff --git a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/RegistryCode.java b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/RegistryCode.java deleted file mode 100644 index c4ab43cd4..000000000 --- a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/RegistryCode.java +++ /dev/null @@ -1,19 +0,0 @@ -package ru.spcex.platform.enumeration; - -import ru.spcex.platform.utils.enumeration.IEnumKey; - -public enum RegistryCode implements IEnumKey { - T("T"); - //TODO где взять дополнительные значения для registry code? - - private final String key; - - RegistryCode(String key) { - this.key = key; - } - - @Override - public String getKey() { - return key; - } -}