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 2ca750a2b..99f52bcfd 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 @@ -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 accountImdg = context.obtainMap( IMDGDistributedNames.Map_Account, Account.class 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 65ccc51bc..b88a2b2c0 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 @@ -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 ), 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 809c57bab..47a89f1af 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 @@ -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 accountImdg = context.obtainMap( IMDGDistributedNames.Map_Account, Account.class ); 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 3b3d9b4cd..1dbe6a3c9 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 @@ -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), diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/InformationAccountValidationConfig.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/InformationAccountValidationConfig.java index 0a5e30cfe..11431002d 100644 --- a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/InformationAccountValidationConfig.java +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/InformationAccountValidationConfig.java @@ -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, diff --git a/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/FieldNotEmptyRequiredRule.java b/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/FieldNotBlankRequiredRule.java similarity index 76% rename from clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/FieldNotEmptyRequiredRule.java rename to clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/FieldNotBlankRequiredRule.java index 6279bc88d..f3fea7b35 100644 --- a/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/FieldNotEmptyRequiredRule.java +++ b/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/FieldNotBlankRequiredRule.java @@ -20,7 +20,7 @@ import java.util.function.Function; * @param required Флаг обязательности поля * @param Класс проверяемого объекта */ -public record FieldNotEmptyRequiredRule( +public record FieldNotBlankRequiredRule( String fieldName, Function getter, IErrorEnumId errorEmptyRequiredValue, @@ -37,13 +37,13 @@ public record FieldNotEmptyRequiredRule( * @param Класс проверяемого объекта */ @SafeVarargs - public static FieldNotEmptyRequiredRule instance(String fieldName, - Function getter, - IErrorEnumId errorEmptyRequiredValue, - boolean required, - Function... additionalChecks) { + public static FieldNotBlankRequiredRule instance(String fieldName, + Function getter, + IErrorEnumId errorEmptyRequiredValue, + boolean required, + Function... 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( * @param Класс проверяемого объекта */ @SafeVarargs - public static FieldNotEmptyRequiredRule instance(String fieldName, - Function getter, - IErrorEnumId errorEmptyRequiredValue, - Function... additionalChecks) { + public static FieldNotBlankRequiredRule instance(String fieldName, + Function getter, + IErrorEnumId errorEmptyRequiredValue, + Function... 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 validate(ImdgValidationContext 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 additionalCheck : additionalChecks) { IErrorEnumId validationError = additionalCheck.apply(value); if (validationError != null) return of(validationError, value);