From f0cd944c645f2a0bde68663b564ae69c4219bd64 Mon Sep 17 00:00:00 2001 From: AKurakin Date: Wed, 29 May 2024 19:53:14 +0300 Subject: [PATCH] account-service http://jira.mfd.msk:8088/browse/CLS-678 --- .../ru/spcex/clearing/account/errors/AccountError.java | 1 + .../clearing/account/service/ClearingAccountService.java | 8 ++++++++ .../backend-api/src/main/resources/meta/data.xml | 1 + clearing-parent/db-scripts/src/main/resources/db/DATA.sql | 4 +++- 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/errors/AccountError.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/errors/AccountError.java index 0b379cd29..7290cb93a 100644 --- a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/errors/AccountError.java +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/errors/AccountError.java @@ -24,6 +24,7 @@ public enum AccountError implements IErrorEnumId { AccountFieldNotSet(5024L), AccountDepoTypeRequired(5025L), AccountIsNotACurrency(5026L), // Счет %S не валютный + CompanyHasNotClearingMemberCategory(5027L), TradingClearingRegistryNotFound(3022L), CurrencyNotFound(1016L), ; diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/ClearingAccountService.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/ClearingAccountService.java index 9a5f102d9..efe7eae66 100644 --- a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/ClearingAccountService.java +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/ClearingAccountService.java @@ -395,6 +395,14 @@ public class ClearingAccountService extends QueueConsumer implements Initializin log.warn(errMsg); return null; } + + ClearingMemberCategory companyAnyCMC = clearingMemberCategoryImdg.getFirstObjectByFieldValues(Map.of( + "companyId", companyId + )); + if (companyAnyCMC == null) { + String errMsg = messageResolver.resolve(new EnumMessage(AccountError.CompanyHasNotClearingMemberCategory, companyId)); + log.warn(errMsg); + } } Instant now = Instant.now(); diff --git a/clearing-parent/backend-api/src/main/resources/meta/data.xml b/clearing-parent/backend-api/src/main/resources/meta/data.xml index 2ebffe166..544ca31bd 100644 --- a/clearing-parent/backend-api/src/main/resources/meta/data.xml +++ b/clearing-parent/backend-api/src/main/resources/meta/data.xml @@ -453,6 +453,7 @@ + diff --git a/clearing-parent/db-scripts/src/main/resources/db/DATA.sql b/clearing-parent/db-scripts/src/main/resources/db/DATA.sql index ab95215cc..d750a9ae0 100644 --- a/clearing-parent/db-scripts/src/main/resources/db/DATA.sql +++ b/clearing-parent/db-scripts/src/main/resources/db/DATA.sql @@ -1,4 +1,4 @@ --- DB version: 3.11.0.88 +-- DB version: 3.11.0.89 -- DATA version: 3.11.0.78 @@ -882,6 +882,8 @@ INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5025, 'ACNT', 'Нео INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5026, 'ACNT', 'Счет %S не валютный.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; +INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5027, 'ACNT', 'У компании %s отсутствует категория.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5200, 'BLNC', 'Общая ошибка модуля balance-service.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5210, 'BLNC', 'Клиринговая сессия неактивна.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;