account-service http://jira.mfd.msk:8088/browse/CLS-361 валидация 3.5 для ТКР нового
This commit is contained in:
parent
0c1a02ba7f
commit
563e7f47c4
3 changed files with 17 additions and 1 deletions
|
|
@ -7,6 +7,7 @@ import ru.clearing.classes.statics.data.account.ClearingAccount;
|
||||||
import ru.clearing.classes.statics.data.account.DepoAccount;
|
import ru.clearing.classes.statics.data.account.DepoAccount;
|
||||||
import ru.clearing.classes.statics.data.account.InformationAccount;
|
import ru.clearing.classes.statics.data.account.InformationAccount;
|
||||||
import ru.clearing.classes.statics.data.company.Company;
|
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.classes.statics.data.registry.TradingClearingRegistry;
|
||||||
import ru.clearing.platform.dictionary.ServiceStatusDictionary;
|
import ru.clearing.platform.dictionary.ServiceStatusDictionary;
|
||||||
import ru.spcex.clearing.account.errors.AccountError;
|
import ru.spcex.clearing.account.errors.AccountError;
|
||||||
|
|
@ -19,6 +20,7 @@ import ru.spcex.clearing.validation.common.rules.FieldRequiredRule;
|
||||||
import ru.spcex.clearing.validation.common.rules.IdPresentRule;
|
import ru.spcex.clearing.validation.common.rules.IdPresentRule;
|
||||||
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
||||||
import ru.spcex.platform.enumeration.AccountType;
|
import ru.spcex.platform.enumeration.AccountType;
|
||||||
|
import ru.spcex.platform.enumeration.CompanySymbol;
|
||||||
import ru.spcex.platform.enumeration.ServiceStatus;
|
import ru.spcex.platform.enumeration.ServiceStatus;
|
||||||
import ru.spcex.platform.imdg.api.Imdg;
|
import ru.spcex.platform.imdg.api.Imdg;
|
||||||
import ru.spcex.platform.imdg.validation.ImdgValidationContext;
|
import ru.spcex.platform.imdg.validation.ImdgValidationContext;
|
||||||
|
|
@ -41,6 +43,7 @@ public class TradingClearingRegistryValidationConfig {
|
||||||
context.setValidatedObject(tradingClearingRegistryNewRequest);
|
context.setValidatedObject(tradingClearingRegistryNewRequest);
|
||||||
Consumer<String> addImdg = (s) -> context.addImdg(s, imdgForValidation.get(s));
|
Consumer<String> addImdg = (s) -> context.addImdg(s, imdgForValidation.get(s));
|
||||||
addImdg.accept(IMDGDistributedNames.Map_Company);
|
addImdg.accept(IMDGDistributedNames.Map_Company);
|
||||||
|
addImdg.accept(IMDGDistributedNames.Map_CompanySymbols);
|
||||||
addImdg.accept(IMDGDistributedNames.Map_Account);
|
addImdg.accept(IMDGDistributedNames.Map_Account);
|
||||||
addImdg.accept(IMDGDistributedNames.Map_ClearingAccount);
|
addImdg.accept(IMDGDistributedNames.Map_ClearingAccount);
|
||||||
addImdg.accept(IMDGDistributedNames.Map_DepoAccount);
|
addImdg.accept(IMDGDistributedNames.Map_DepoAccount);
|
||||||
|
|
@ -52,7 +55,17 @@ public class TradingClearingRegistryValidationConfig {
|
||||||
IMDGDistributedNames.Map_Company,
|
IMDGDistributedNames.Map_Company,
|
||||||
Company.class,
|
Company.class,
|
||||||
AccountError.RequiredFieldEmpty,
|
AccountError.RequiredFieldEmpty,
|
||||||
AccountError.CompanyNotFound),
|
AccountError.CompanyNotFound,
|
||||||
|
true,
|
||||||
|
company -> {
|
||||||
|
Imdg<CompanySymbols> companySymbolsImdg = context.obtainMap(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class);
|
||||||
|
CompanySymbols symbol = companySymbolsImdg.getSingleObjectByFieldValues(Map.of(
|
||||||
|
"companyId", company.getId(),
|
||||||
|
"companySymbol", CompanySymbol.CLRC.getKey()
|
||||||
|
));
|
||||||
|
if (symbol == null) return AccountError.ClearingCompanySymbolNotFound;
|
||||||
|
return null;
|
||||||
|
}),
|
||||||
FieldRequiredRule.instance("moneyAccountId",
|
FieldRequiredRule.instance("moneyAccountId",
|
||||||
TradingClearingRegistryNewRequest::getMoneyAccountId,
|
TradingClearingRegistryNewRequest::getMoneyAccountId,
|
||||||
AccountError.RequiredFieldEmpty,
|
AccountError.RequiredFieldEmpty,
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ import org.springframework.context.annotation.Configuration;
|
||||||
import ru.clearing.classes.statics.data.account.*;
|
import ru.clearing.classes.statics.data.account.*;
|
||||||
import ru.clearing.classes.statics.data.company.ClearingMemberCategory;
|
import ru.clearing.classes.statics.data.company.ClearingMemberCategory;
|
||||||
import ru.clearing.classes.statics.data.company.Company;
|
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.classes.statics.data.registry.TradingClearingRegistry;
|
||||||
import ru.clearing.platform.dictionary.*;
|
import ru.clearing.platform.dictionary.*;
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
|
|
@ -28,6 +29,7 @@ public class ValidationConfig {
|
||||||
BiConsumer<String, Class<? extends SpcexObjectBase>> addImdg = (s, aClass) -> imdg.put(s, imdgProvider.getImdg(s, aClass));
|
BiConsumer<String, Class<? extends SpcexObjectBase>> addImdg = (s, aClass) -> imdg.put(s, imdgProvider.getImdg(s, aClass));
|
||||||
|
|
||||||
addImdg.accept(IMDGDistributedNames.Map_Company, Company.class);
|
addImdg.accept(IMDGDistributedNames.Map_Company, Company.class);
|
||||||
|
addImdg.accept(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class);
|
||||||
addImdg.accept(IMDGDistributedNames.Map_ClearingMemberCategory, ClearingMemberCategory.class);
|
addImdg.accept(IMDGDistributedNames.Map_ClearingMemberCategory, ClearingMemberCategory.class);
|
||||||
addImdg.accept(IMDGDistributedNames.Map_ClearingAccountTypeDictionary, ClearingAccountTypeDictionary.class);
|
addImdg.accept(IMDGDistributedNames.Map_ClearingAccountTypeDictionary, ClearingAccountTypeDictionary.class);
|
||||||
addImdg.accept(IMDGDistributedNames.Map_Account, Account.class);
|
addImdg.accept(IMDGDistributedNames.Map_Account, Account.class);
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,7 @@ public enum AccountError implements IErrorEnumId {
|
||||||
DepoAccountNotFound(5017L),
|
DepoAccountNotFound(5017L),
|
||||||
MoneyAccountNotFound(5018L),
|
MoneyAccountNotFound(5018L),
|
||||||
ClearingCategoryNotFound(5019L),
|
ClearingCategoryNotFound(5019L),
|
||||||
|
ClearingCompanySymbolNotFound(5022L), // Для компании %s отсутствует клиринговый код».
|
||||||
TradingClearingRegistryNotFound(3022L),
|
TradingClearingRegistryNotFound(3022L),
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue