From e0d55568fd76149cc9734ff220ff27671307843f Mon Sep 17 00:00:00 2001 From: AKurakin Date: Tue, 6 Aug 2024 15:24:54 +0300 Subject: [PATCH] account-service http://jira.mfd.msk:8088/browse/CLS-722 --- .../TradingClearingRegistryValidationConfig.java | 9 +++++++++ .../account/config/validation/ValidationConfig.java | 6 ++---- .../service/TradingClearingRegistryService.java | 12 ++++++++---- 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/TradingClearingRegistryValidationConfig.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/TradingClearingRegistryValidationConfig.java index fe1e099db..2f0cb7d39 100644 --- a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/TradingClearingRegistryValidationConfig.java +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/TradingClearingRegistryValidationConfig.java @@ -8,6 +8,7 @@ import ru.clearing.classes.statics.data.company.Company; import ru.clearing.classes.statics.data.company.CompanySymbols; import ru.clearing.classes.statics.data.registry.TradingClearingRegistry; import ru.clearing.platform.dictionary.ServiceStatusDictionary; +import ru.clearing.platform.dictionary.TradingClearingRegistryTypeDictionary; import ru.spcex.clearing.account.errors.AccountError; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonIdRequest; @@ -54,6 +55,7 @@ public class TradingClearingRegistryValidationConfig { addImdg.accept(IMDGDistributedNames.Map_DepoAccount); addImdg.accept(IMDGDistributedNames.Map_InformationAccount); addImdg.accept(IMDGDistributedNames.Map_ServiceStatusDictionary); + addImdg.accept(IMDGDistributedNames.Map_TradingClearingRegistryTypeDictionary); addImdg.accept(IMDGDistributedNames.Map_TradingClearingRegistry); return new ValidatorImpl<>(context, IdPresentSpecificRule.instance("companyId", @@ -127,6 +129,13 @@ public class TradingClearingRegistryValidationConfig { AccountError.RequiredFieldEmpty, AccountError.DictionaryNotFound, false), + DictionaryPresentRule.instance("tradingClearingRegistryType", + TradingClearingRegistryNewRequest::getTradingClearingRegistryType, + IMDGDistributedNames.Map_TradingClearingRegistryTypeDictionary, + TradingClearingRegistryTypeDictionary.class, + AccountError.RequiredFieldEmpty, + AccountError.DictionaryNotFound, + false), new newTCRDuplicateCheck() ); }; diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/ValidationConfig.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/ValidationConfig.java index 61465871d..e72ce5699 100644 --- a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/ValidationConfig.java +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/ValidationConfig.java @@ -19,10 +19,7 @@ import ru.clearing.classes.statics.data.company.CompanySymbols; import ru.clearing.classes.statics.data.misc.Currency; import ru.clearing.classes.statics.data.registry.TradingClearingRegistry; import ru.clearing.classes.statics.data.registry.TradingClearingRegistryList; -import ru.clearing.platform.dictionary.AccountTypeDictionary; -import ru.clearing.platform.dictionary.ClearingAccountTypeDictionary; -import ru.clearing.platform.dictionary.CurrencyCodeDictionary; -import ru.clearing.platform.dictionary.ServiceStatusDictionary; +import ru.clearing.platform.dictionary.*; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.validation.common.ValidationHelper; import ru.spcex.platform.classes.base.SpcexObjectBase; @@ -54,6 +51,7 @@ public class ValidationConfig { addImdg.accept(IMDGDistributedNames.Map_AccountSymbols, AccountSymbols.class); addImdg.accept(IMDGDistributedNames.Map_TradingClearingRegistryList, TradingClearingRegistryList.class); addImdg.accept(IMDGDistributedNames.Map_Currency, Currency.class); + addImdg.accept(IMDGDistributedNames.Map_TradingClearingRegistryTypeDictionary, TradingClearingRegistryTypeDictionary.class); //for ClientCodeValidationConfig addImdg.accept(IMDGDistributedNames.Map_ClientCode, ClientCode.class); diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/TradingClearingRegistryService.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/TradingClearingRegistryService.java index f8e9a82b9..236093a02 100644 --- a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/TradingClearingRegistryService.java +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/TradingClearingRegistryService.java @@ -277,11 +277,15 @@ public class TradingClearingRegistryService extends QueueConsumer implements Ini tradingClearingRegistry.setStatus(status); String tradingRegistryType; - if (depoAccount != null) { - tradingRegistryType = depoAccount.getDepoAccountType(); + if (req.getTradingClearingRegistryType() != null) { + tradingRegistryType = req.getTradingClearingRegistryType(); } else { - if (clearingAccount != null) tradingRegistryType = clearingAccount.getClearingAccountType(); - else tradingRegistryType = TradingClearingRegistryType.Owner_A.getKey(); + if (depoAccount != null) { + tradingRegistryType = depoAccount.getDepoAccountType(); + } else { + if (clearingAccount != null) tradingRegistryType = clearingAccount.getClearingAccountType(); + else tradingRegistryType = TradingClearingRegistryType.Owner_A.getKey(); + } } tradingClearingRegistry.setTradingClearingRegistryType(tradingRegistryType);