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);