account-service http://jira.mfd.msk:8088/browse/CLS-509 поправил опечатки в валидаторе

This commit is contained in:
AKurakin 2023-09-18 18:20:14 +03:00
parent 9a97006dcb
commit 195d6ac55b
6 changed files with 24 additions and 21 deletions

View file

@ -61,7 +61,7 @@ public class AccountValidationConfig {
CorrespondentAccountNewRequest::getAccount,
AccountError.RequiredFieldEmpty,
accountValue -> {
if (accountValue.isEmpty())
if (accountValue.isBlank())
return new EnumMessage(AccountError.RequiredFieldEmpty, "account");
Imdg<Account> accountImdg = context.obtainMap(
IMDGDistributedNames.Map_Account, Account.class

View file

@ -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.common.CommonIdRequest;
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.IdPresentRule;
import ru.spcex.clearing.validation.common.rules.specific.FieldRequiredSpecificRule;
@ -55,7 +56,7 @@ public class BankAccountValidationConfig {
AccountError.RequiredFieldEmpty,
AccountError.CompanyNotFound,
false),
FieldRequiredSpecificRule.instance("account",
FieldNotBlankRequiredRule.instance("account",
BankAccountNewRequest::getAccount,
AccountError.RequiredFieldEmpty
),

View file

@ -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.ClearingAccountUpdateRequest;
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.IdPresentRule;
import ru.spcex.clearing.validation.common.rules.specific.FieldRequiredSpecificRule;
@ -54,7 +55,7 @@ public class ClearingAccountValidationConfig {
AccountError.CompanyNotFound
// company -> !WorkflowStatus.Active.equalsByKey(company.getWorkflowStatus()) ? AccountError.CompanyNotActive : null
),
FieldRequiredSpecificRule.instance("account",
FieldNotBlankRequiredRule.instance("account",
ClearingAccountNewRequest::getAccount,
AccountError.RequiredFieldEmpty),
new SameAccountValidationRule<>(AccountType.Clrn, ClearingAccountNewRequest::getAccount),
@ -93,6 +94,8 @@ public class ClearingAccountValidationConfig {
ClearingAccountUpdateRequest::getAccount,
AccountError.RequiredFieldEmpty,
accountValue -> {
if (accountValue.isBlank())
return AccountError.RequiredFieldEmpty;
Imdg<Account> accountImdg = context.obtainMap(
IMDGDistributedNames.Map_Account, Account.class
);

View file

@ -9,6 +9,7 @@ import ru.spcex.clearing.account.errors.AccountError;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
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.FieldNotBlankRequiredRule;
import ru.spcex.clearing.validation.common.rules.FieldRequiredRule;
import ru.spcex.clearing.validation.common.rules.IdPresentRule;
import ru.spcex.clearing.validation.common.rules.specific.FieldRequiredSpecificRule;
@ -48,7 +49,7 @@ public class DepoAccountValidationConfig {
AccountError.CompanyNotFound
// company -> !WorkflowStatus.Active.equalsByKey(company.getWorkflowStatus()) ? AccountError.CompanyNotActive : null
),
FieldRequiredSpecificRule.instance("account",
FieldNotBlankRequiredRule.instance("account",
DepoAccountNewRequest::getAccount,
AccountError.RequiredFieldEmpty),
new SameAccountValidationRule<>(AccountType.Depo, DepoAccountNewRequest::getAccount),

View file

@ -2,8 +2,6 @@ package ru.spcex.clearing.account.config.validation;
import org.springframework.context.annotation.Bean;
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.platform.dictionary.AccountTypeDictionary;
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.platform.messaging.domain.cud.account.InformationAccountNewRequest;
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.platform.classes.base.SpcexObjectBase;
import ru.spcex.platform.enumeration.AccountType;
@ -53,7 +51,7 @@ public class InformationAccountValidationConfig {
return AccountError.CompanyNotActive;
return null;
}),
FieldNotEmptyRequiredRule.instance("account", InformationAccountNewRequest::getStatus,
FieldNotBlankRequiredRule.instance("account", InformationAccountNewRequest::getAccount,
AccountError.RequiredFieldEmpty),
DictionaryPresentRule.instance("status", InformationAccountNewRequest::getStatus,
IMDGDistributedNames.Map_ServiceStatusDictionary, ServiceStatusDictionary.class,

View file

@ -20,7 +20,7 @@ import java.util.function.Function;
* @param required Флаг обязательности поля
* @param <R> Класс проверяемого объекта
*/
public record FieldNotEmptyRequiredRule<R>(
public record FieldNotBlankRequiredRule<R>(
String fieldName,
Function<R, String> getter,
IErrorEnumId errorEmptyRequiredValue,
@ -37,13 +37,13 @@ public record FieldNotEmptyRequiredRule<R>(
* @param <R> Класс проверяемого объекта
*/
@SafeVarargs
public static <R> FieldNotEmptyRequiredRule<R> instance(String fieldName,
Function<R, String> getter,
IErrorEnumId errorEmptyRequiredValue,
boolean required,
Function<String, IErrorEnumId>... additionalChecks) {
public static <R> FieldNotBlankRequiredRule<R> instance(String fieldName,
Function<R, String> getter,
IErrorEnumId errorEmptyRequiredValue,
boolean required,
Function<String, IErrorEnumId>... additionalChecks) {
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> Класс проверяемого объекта
*/
@SafeVarargs
public static <R> FieldNotEmptyRequiredRule<R> instance(String fieldName,
Function<R, String> getter,
IErrorEnumId errorEmptyRequiredValue,
Function<String, IErrorEnumId>... additionalChecks) {
public static <R> FieldNotBlankRequiredRule<R> instance(String fieldName,
Function<R, String> getter,
IErrorEnumId errorEmptyRequiredValue,
Function<String, IErrorEnumId>... additionalChecks) {
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
public Optional<EnumMessage> validate(ImdgValidationContext<R> context) {
R validatedObject = context.getValidatedObject();
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) {
IErrorEnumId validationError = additionalCheck.apply(value);
if (validationError != null) return of(validationError, value);