account-service http://jira.mfd.msk:8088/browse/CLS-509 поправил опечатки в валидаторе
This commit is contained in:
parent
9a97006dcb
commit
195d6ac55b
6 changed files with 24 additions and 21 deletions
|
|
@ -61,7 +61,7 @@ public class AccountValidationConfig {
|
||||||
CorrespondentAccountNewRequest::getAccount,
|
CorrespondentAccountNewRequest::getAccount,
|
||||||
AccountError.RequiredFieldEmpty,
|
AccountError.RequiredFieldEmpty,
|
||||||
accountValue -> {
|
accountValue -> {
|
||||||
if (accountValue.isEmpty())
|
if (accountValue.isBlank())
|
||||||
return new EnumMessage(AccountError.RequiredFieldEmpty, "account");
|
return new EnumMessage(AccountError.RequiredFieldEmpty, "account");
|
||||||
Imdg<Account> accountImdg = context.obtainMap(
|
Imdg<Account> accountImdg = context.obtainMap(
|
||||||
IMDGDistributedNames.Map_Account, Account.class
|
IMDGDistributedNames.Map_Account, Account.class
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@ import ru.spcex.clearing.platform.messaging.domain.cud.account.BankAccountNewReq
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.account.BankAccountUpdateRequest;
|
import ru.spcex.clearing.platform.messaging.domain.cud.account.BankAccountUpdateRequest;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonIdRequest;
|
import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonIdRequest;
|
||||||
import ru.spcex.clearing.validation.common.rules.DictionaryPresentRule;
|
import ru.spcex.clearing.validation.common.rules.DictionaryPresentRule;
|
||||||
|
import ru.spcex.clearing.validation.common.rules.FieldNotBlankRequiredRule;
|
||||||
import ru.spcex.clearing.validation.common.rules.FieldRequiredRule;
|
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.clearing.validation.common.rules.specific.FieldRequiredSpecificRule;
|
import ru.spcex.clearing.validation.common.rules.specific.FieldRequiredSpecificRule;
|
||||||
|
|
@ -55,7 +56,7 @@ public class BankAccountValidationConfig {
|
||||||
AccountError.RequiredFieldEmpty,
|
AccountError.RequiredFieldEmpty,
|
||||||
AccountError.CompanyNotFound,
|
AccountError.CompanyNotFound,
|
||||||
false),
|
false),
|
||||||
FieldRequiredSpecificRule.instance("account",
|
FieldNotBlankRequiredRule.instance("account",
|
||||||
BankAccountNewRequest::getAccount,
|
BankAccountNewRequest::getAccount,
|
||||||
AccountError.RequiredFieldEmpty
|
AccountError.RequiredFieldEmpty
|
||||||
),
|
),
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.account.ClearingAccountNewRequest;
|
import ru.spcex.clearing.platform.messaging.domain.cud.account.ClearingAccountNewRequest;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.account.ClearingAccountUpdateRequest;
|
import ru.spcex.clearing.platform.messaging.domain.cud.account.ClearingAccountUpdateRequest;
|
||||||
import ru.spcex.clearing.validation.common.rules.DictionaryPresentRule;
|
import ru.spcex.clearing.validation.common.rules.DictionaryPresentRule;
|
||||||
|
import ru.spcex.clearing.validation.common.rules.FieldNotBlankRequiredRule;
|
||||||
import ru.spcex.clearing.validation.common.rules.FieldRequiredRule;
|
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.clearing.validation.common.rules.specific.FieldRequiredSpecificRule;
|
import ru.spcex.clearing.validation.common.rules.specific.FieldRequiredSpecificRule;
|
||||||
|
|
@ -54,7 +55,7 @@ public class ClearingAccountValidationConfig {
|
||||||
AccountError.CompanyNotFound
|
AccountError.CompanyNotFound
|
||||||
// company -> !WorkflowStatus.Active.equalsByKey(company.getWorkflowStatus()) ? AccountError.CompanyNotActive : null
|
// company -> !WorkflowStatus.Active.equalsByKey(company.getWorkflowStatus()) ? AccountError.CompanyNotActive : null
|
||||||
),
|
),
|
||||||
FieldRequiredSpecificRule.instance("account",
|
FieldNotBlankRequiredRule.instance("account",
|
||||||
ClearingAccountNewRequest::getAccount,
|
ClearingAccountNewRequest::getAccount,
|
||||||
AccountError.RequiredFieldEmpty),
|
AccountError.RequiredFieldEmpty),
|
||||||
new SameAccountValidationRule<>(AccountType.Clrn, ClearingAccountNewRequest::getAccount),
|
new SameAccountValidationRule<>(AccountType.Clrn, ClearingAccountNewRequest::getAccount),
|
||||||
|
|
@ -93,6 +94,8 @@ public class ClearingAccountValidationConfig {
|
||||||
ClearingAccountUpdateRequest::getAccount,
|
ClearingAccountUpdateRequest::getAccount,
|
||||||
AccountError.RequiredFieldEmpty,
|
AccountError.RequiredFieldEmpty,
|
||||||
accountValue -> {
|
accountValue -> {
|
||||||
|
if (accountValue.isBlank())
|
||||||
|
return AccountError.RequiredFieldEmpty;
|
||||||
Imdg<Account> accountImdg = context.obtainMap(
|
Imdg<Account> accountImdg = context.obtainMap(
|
||||||
IMDGDistributedNames.Map_Account, Account.class
|
IMDGDistributedNames.Map_Account, Account.class
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ import ru.spcex.clearing.account.errors.AccountError;
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.account.DepoAccountNewRequest;
|
import ru.spcex.clearing.platform.messaging.domain.cud.account.DepoAccountNewRequest;
|
||||||
import ru.spcex.clearing.validation.common.rules.DictionaryPresentRule;
|
import ru.spcex.clearing.validation.common.rules.DictionaryPresentRule;
|
||||||
|
import ru.spcex.clearing.validation.common.rules.FieldNotBlankRequiredRule;
|
||||||
import ru.spcex.clearing.validation.common.rules.FieldRequiredRule;
|
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.clearing.validation.common.rules.specific.FieldRequiredSpecificRule;
|
import ru.spcex.clearing.validation.common.rules.specific.FieldRequiredSpecificRule;
|
||||||
|
|
@ -48,7 +49,7 @@ public class DepoAccountValidationConfig {
|
||||||
AccountError.CompanyNotFound
|
AccountError.CompanyNotFound
|
||||||
// company -> !WorkflowStatus.Active.equalsByKey(company.getWorkflowStatus()) ? AccountError.CompanyNotActive : null
|
// company -> !WorkflowStatus.Active.equalsByKey(company.getWorkflowStatus()) ? AccountError.CompanyNotActive : null
|
||||||
),
|
),
|
||||||
FieldRequiredSpecificRule.instance("account",
|
FieldNotBlankRequiredRule.instance("account",
|
||||||
DepoAccountNewRequest::getAccount,
|
DepoAccountNewRequest::getAccount,
|
||||||
AccountError.RequiredFieldEmpty),
|
AccountError.RequiredFieldEmpty),
|
||||||
new SameAccountValidationRule<>(AccountType.Depo, DepoAccountNewRequest::getAccount),
|
new SameAccountValidationRule<>(AccountType.Depo, DepoAccountNewRequest::getAccount),
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,6 @@ package ru.spcex.clearing.account.config.validation;
|
||||||
|
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import ru.clearing.classes.statics.data.account.Account;
|
|
||||||
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.platform.dictionary.AccountTypeDictionary;
|
import ru.clearing.platform.dictionary.AccountTypeDictionary;
|
||||||
import ru.clearing.platform.dictionary.ServiceStatusDictionary;
|
import ru.clearing.platform.dictionary.ServiceStatusDictionary;
|
||||||
|
|
@ -11,7 +9,7 @@ import ru.spcex.clearing.account.errors.AccountError;
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.cud.account.InformationAccountNewRequest;
|
import ru.spcex.clearing.platform.messaging.domain.cud.account.InformationAccountNewRequest;
|
||||||
import ru.spcex.clearing.validation.common.rules.DictionaryPresentRule;
|
import ru.spcex.clearing.validation.common.rules.DictionaryPresentRule;
|
||||||
import ru.spcex.clearing.validation.common.rules.FieldNotEmptyRequiredRule;
|
import ru.spcex.clearing.validation.common.rules.FieldNotBlankRequiredRule;
|
||||||
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;
|
||||||
|
|
@ -53,7 +51,7 @@ public class InformationAccountValidationConfig {
|
||||||
return AccountError.CompanyNotActive;
|
return AccountError.CompanyNotActive;
|
||||||
return null;
|
return null;
|
||||||
}),
|
}),
|
||||||
FieldNotEmptyRequiredRule.instance("account", InformationAccountNewRequest::getStatus,
|
FieldNotBlankRequiredRule.instance("account", InformationAccountNewRequest::getAccount,
|
||||||
AccountError.RequiredFieldEmpty),
|
AccountError.RequiredFieldEmpty),
|
||||||
DictionaryPresentRule.instance("status", InformationAccountNewRequest::getStatus,
|
DictionaryPresentRule.instance("status", InformationAccountNewRequest::getStatus,
|
||||||
IMDGDistributedNames.Map_ServiceStatusDictionary, ServiceStatusDictionary.class,
|
IMDGDistributedNames.Map_ServiceStatusDictionary, ServiceStatusDictionary.class,
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ import java.util.function.Function;
|
||||||
* @param required Флаг обязательности поля
|
* @param required Флаг обязательности поля
|
||||||
* @param <R> Класс проверяемого объекта
|
* @param <R> Класс проверяемого объекта
|
||||||
*/
|
*/
|
||||||
public record FieldNotEmptyRequiredRule<R>(
|
public record FieldNotBlankRequiredRule<R>(
|
||||||
String fieldName,
|
String fieldName,
|
||||||
Function<R, String> getter,
|
Function<R, String> getter,
|
||||||
IErrorEnumId errorEmptyRequiredValue,
|
IErrorEnumId errorEmptyRequiredValue,
|
||||||
|
|
@ -37,13 +37,13 @@ public record FieldNotEmptyRequiredRule<R>(
|
||||||
* @param <R> Класс проверяемого объекта
|
* @param <R> Класс проверяемого объекта
|
||||||
*/
|
*/
|
||||||
@SafeVarargs
|
@SafeVarargs
|
||||||
public static <R> FieldNotEmptyRequiredRule<R> instance(String fieldName,
|
public static <R> FieldNotBlankRequiredRule<R> instance(String fieldName,
|
||||||
Function<R, String> getter,
|
Function<R, String> getter,
|
||||||
IErrorEnumId errorEmptyRequiredValue,
|
IErrorEnumId errorEmptyRequiredValue,
|
||||||
boolean required,
|
boolean required,
|
||||||
Function<String, IErrorEnumId>... additionalChecks) {
|
Function<String, IErrorEnumId>... additionalChecks) {
|
||||||
if (required && errorEmptyRequiredValue == null) throw new IllegalArgumentException("Empty errorEmptyRequiredValue");
|
if (required && errorEmptyRequiredValue == null) throw new IllegalArgumentException("Empty errorEmptyRequiredValue");
|
||||||
return new FieldNotEmptyRequiredRule<>(fieldName, getter, errorEmptyRequiredValue, required, additionalChecks);
|
return new FieldNotBlankRequiredRule<>(fieldName, getter, errorEmptyRequiredValue, required, additionalChecks);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -54,19 +54,19 @@ public record FieldNotEmptyRequiredRule<R>(
|
||||||
* @param <R> Класс проверяемого объекта
|
* @param <R> Класс проверяемого объекта
|
||||||
*/
|
*/
|
||||||
@SafeVarargs
|
@SafeVarargs
|
||||||
public static <R> FieldNotEmptyRequiredRule<R> instance(String fieldName,
|
public static <R> FieldNotBlankRequiredRule<R> instance(String fieldName,
|
||||||
Function<R, String> getter,
|
Function<R, String> getter,
|
||||||
IErrorEnumId errorEmptyRequiredValue,
|
IErrorEnumId errorEmptyRequiredValue,
|
||||||
Function<String, IErrorEnumId>... additionalChecks) {
|
Function<String, IErrorEnumId>... additionalChecks) {
|
||||||
if (errorEmptyRequiredValue == null) throw new IllegalArgumentException("Empty errorEmptyRequiredValue");
|
if (errorEmptyRequiredValue == null) throw new IllegalArgumentException("Empty errorEmptyRequiredValue");
|
||||||
return new FieldNotEmptyRequiredRule<>(fieldName, getter, errorEmptyRequiredValue, true, additionalChecks);
|
return new FieldNotBlankRequiredRule<>(fieldName, getter, errorEmptyRequiredValue, true, additionalChecks);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Optional<EnumMessage> validate(ImdgValidationContext<R> context) {
|
public Optional<EnumMessage> validate(ImdgValidationContext<R> context) {
|
||||||
R validatedObject = context.getValidatedObject();
|
R validatedObject = context.getValidatedObject();
|
||||||
String value = getter.apply(validatedObject);
|
String value = getter.apply(validatedObject);
|
||||||
if (required && (StringUtils.isEmpty(value))) return of(errorEmptyRequiredValue, fieldName);
|
if (required && (StringUtils.isBlank(value))) return of(errorEmptyRequiredValue, fieldName);
|
||||||
for (Function<String, IErrorEnumId> additionalCheck : additionalChecks) {
|
for (Function<String, IErrorEnumId> additionalCheck : additionalChecks) {
|
||||||
IErrorEnumId validationError = additionalCheck.apply(value);
|
IErrorEnumId validationError = additionalCheck.apply(value);
|
||||||
if (validationError != null) return of(validationError, value);
|
if (validationError != null) return of(validationError, value);
|
||||||
Loading…
Add table
Reference in a new issue