From bc0f95e0325a5fcce8f60eb16a4d1cf65b0bb58c Mon Sep 17 00:00:00 2001 From: AKurakin Date: Tue, 30 May 2023 16:07:54 +0300 Subject: [PATCH] =?UTF-8?q?account-service=20=D0=BF=D0=BE=D0=BF=D1=80?= =?UTF-8?q?=D0=B0=D0=B2=D0=B8=D0=BB=20=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B8?= =?UTF-8?q?=20=D0=BF=D0=BE=20=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D1=91=D0=BD?= =?UTF-8?q?=D0=BD=D0=BE=D0=BC=D1=83=20=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B0?= =?UTF-8?q?=D0=BC=D0=B8=20=D0=A2=D0=97.=20=D0=9F=D0=BE=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=B8=D0=BB.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config/validation/AccountValidationConfig.java | 5 +++-- .../validation/BankAccountValidationConfig.java | 2 +- .../validation/ClearingAccountValidationConfig.java | 5 +++-- .../validation/DepoAccountValidationConfig.java | 5 +++-- .../clearing/account/service/AccountService.java | 13 ++++++++----- .../account/service/ClientCodeServiceTest.java | 5 +++-- .../service/TradingClearingRegistryServiceTest.java | 1 + 7 files changed, 22 insertions(+), 14 deletions(-) diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/AccountValidationConfig.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/AccountValidationConfig.java index f5d440c8c..38aa0c86d 100644 --- a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/AccountValidationConfig.java +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/AccountValidationConfig.java @@ -54,8 +54,9 @@ public class AccountValidationConfig { IMDGDistributedNames.Map_Company, Company.class, AccountError.RequiredFieldEmpty, - AccountError.CompanyNotFound, - company -> WorkflowStatus.Active.equalsByKey(company.getWorkflowStatus()) ? null : AccountError.CompanyNotActive), + AccountError.CompanyNotFound +// company -> WorkflowStatus.Active.equalsByKey(company.getWorkflowStatus()) ? null : AccountError.CompanyNotActive + ), FieldRequiredRule.instance("account", CorrespondentAccountNewRequest::getAccount, AccountError.RequiredFieldEmpty, diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/BankAccountValidationConfig.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/BankAccountValidationConfig.java index 9f153e56d..1679e05b3 100644 --- a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/BankAccountValidationConfig.java +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/BankAccountValidationConfig.java @@ -114,7 +114,7 @@ public class BankAccountValidationConfig { ); Account account = accountImdg.getSingleObjectByID(accountId); if (account == null) return AccountError.AccountNotFound; - if (!AccountStatus.ACTIVE.equalsByKey(account.getStatus())) return AccountError.AccountNotActive; +// if (!AccountStatus.ACTIVE.equalsByKey(account.getStatus())) return AccountError.AccountNotActive; return null; }), DictionaryPresentRule.instance("currency", diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/ClearingAccountValidationConfig.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/ClearingAccountValidationConfig.java index 9c9cb0ba6..61c7bc016 100644 --- a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/ClearingAccountValidationConfig.java +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/ClearingAccountValidationConfig.java @@ -49,8 +49,9 @@ public class ClearingAccountValidationConfig { IMDGDistributedNames.Map_Company, Company.class, AccountError.RequiredFieldEmpty, - AccountError.CompanyNotFound, - company -> !WorkflowStatus.Active.equalsByKey(company.getWorkflowStatus()) ? AccountError.CompanyNotActive : null), + AccountError.CompanyNotFound +// company -> !WorkflowStatus.Active.equalsByKey(company.getWorkflowStatus()) ? AccountError.CompanyNotActive : null + ), FieldRequiredRule.instance("account", ClearingAccountNewRequest::getAccount, AccountError.RequiredFieldEmpty, diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/DepoAccountValidationConfig.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/DepoAccountValidationConfig.java index c3bbca5ff..91e417aa7 100644 --- a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/DepoAccountValidationConfig.java +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/DepoAccountValidationConfig.java @@ -45,8 +45,9 @@ public class DepoAccountValidationConfig { IMDGDistributedNames.Map_Company, Company.class, AccountError.RequiredFieldEmpty, - AccountError.CompanyNotFound, - company -> !WorkflowStatus.Active.equalsByKey(company.getWorkflowStatus()) ? AccountError.CompanyNotActive : null), + AccountError.CompanyNotFound +// company -> !WorkflowStatus.Active.equalsByKey(company.getWorkflowStatus()) ? AccountError.CompanyNotActive : null + ), FieldRequiredRule.instance("account", DepoAccountNewRequest::getAccount, AccountError.RequiredFieldEmpty, diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/AccountService.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/AccountService.java index 5a2cefa95..e74c65108 100644 --- a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/AccountService.java +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/AccountService.java @@ -254,7 +254,9 @@ public class AccountService extends QueueConsumer implements InitializingBean { } else if (IEnumKey.contains(clearingCategoryValue, ClearingCategory.F, ClearingCategory.C)) { servicePredicate = relationPredicateBuilder.equals("service", ru.spcex.platform.enumeration.Service.FOND.getKey()); } else { - return makeError(requestId, AccountError.ClearingCategoryNotFound, companyId, clearingCategoryValue + " (case not implemented)"); + log.info("ClearingCategoryNotFound with clearingCategoryValue={} not implemented. Do not search Relation.", clearingCategoryValue); + return null; + //return makeError(requestId, AccountError.ClearingCategoryNotFound, companyId, clearingCategoryValue + " (case not implemented)"); } finalRelationPredicate = relationPredicateBuilder.and(consumerIdPredicate, servicePredicate); relations = relationMap.getCollectionObjectsByPredicate(finalRelationPredicate); @@ -263,14 +265,15 @@ public class AccountService extends QueueConsumer implements InitializingBean { relations = relationMap.getCollectionObjectsByPredicate(finalRelationPredicate); } - if (relations.isEmpty()) return makeError(requestId, AccountError.WrongFieldValue, "companyId", finalRelationPredicate.toString()); + if (relations.isEmpty()) { + //return makeError(requestId, AccountError.WrongFieldValue, "companyId", finalRelationPredicate.toString()); + log.info("Relation not found: {}", finalRelationPredicate.toString()); + return null; + } if (relations.size() > 1) log.warn("Relation for consumerId {} contains multiply elements, use first", companyId); Relation relation = relations.iterator().next(); account.setRelationId(relation.getId()); - if (account.getCompanyId() == null) { - account.setCompanyId(relation.getConsumerId()); - } return null; } diff --git a/clearing-parent/account-service/src/test/java/ru/spcex/clearing/account/service/ClientCodeServiceTest.java b/clearing-parent/account-service/src/test/java/ru/spcex/clearing/account/service/ClientCodeServiceTest.java index 0f052653f..7b9d6a65c 100644 --- a/clearing-parent/account-service/src/test/java/ru/spcex/clearing/account/service/ClientCodeServiceTest.java +++ b/clearing-parent/account-service/src/test/java/ru/spcex/clearing/account/service/ClientCodeServiceTest.java @@ -77,8 +77,9 @@ class ClientCodeServiceTest { private HazelcastService hazelcastServiceTest; @Captor private ArgumentCaptor producerRecord; + @Autowired @Qualifier("mockProducer") - private MockProducer mockProducer; + protected Producer mockProducer; private Imdg clientCodeImdg; @@ -209,7 +210,7 @@ class ClientCodeServiceTest { TestUtils.addRecordToKafka((MockConsumer) clientCodeService.getConsumer(), Consts.DESTINATION_CLIENT_CODE_NEW, PARTITION, 0, jsonString); //ASSERT - waitingSendAndCheckRecord(ID, mockProducer); + waitingSendAndCheckRecord(ID, mockProducer); ClientCode resultNew = clientCodeImdg.getSingleObjectBySQL(String.format("code = '%s'", ccCode)); predictableClientCode.setId(resultNew.getId()); CLIENT_CODE_MATCHER.assertMatch(resultNew, predictableClientCode); diff --git a/clearing-parent/account-service/src/test/java/ru/spcex/clearing/account/service/TradingClearingRegistryServiceTest.java b/clearing-parent/account-service/src/test/java/ru/spcex/clearing/account/service/TradingClearingRegistryServiceTest.java index 9cbab32df..d22e9120c 100644 --- a/clearing-parent/account-service/src/test/java/ru/spcex/clearing/account/service/TradingClearingRegistryServiceTest.java +++ b/clearing-parent/account-service/src/test/java/ru/spcex/clearing/account/service/TradingClearingRegistryServiceTest.java @@ -255,6 +255,7 @@ class TradingClearingRegistryServiceTest { predictableTradingClearingRegistry.setCode(predictableTradingClearingRegistry.getCode() + resultNew.getId()); predictableTradingClearingRegistry.setUpdated(resultNew.getUpdated()); predictableTradingClearingRegistry.setCreated(resultNew.getCreated()); + predictableTradingClearingRegistry.setCompanyId(123L); TRADING_CLEARING_REGISTRY_MATCHER.assertMatch(resultNew, predictableTradingClearingRegistry); tradingClearingRegistryImdg.delete(resultNew);