clearing-service http://jira.mfd.msk:8088/browse/CLS-307 SPLT улучшил валидацию
This commit is contained in:
parent
a448a78415
commit
38916cdeb1
2 changed files with 15 additions and 1 deletions
|
|
@ -359,6 +359,7 @@ public class ValidationConfig {
|
||||||
DictionaryPresentRule.instance("direction", RegistrySplitDepositActionRequest::getDirection,
|
DictionaryPresentRule.instance("direction", RegistrySplitDepositActionRequest::getDirection,
|
||||||
IMDGDistributedNames.Map_InOutDirectionDictionary, InOutDirectionDictionary.class,
|
IMDGDistributedNames.Map_InOutDirectionDictionary, InOutDirectionDictionary.class,
|
||||||
ClearingError.RequiredFieldEmpty, ClearingError.DictionaryNotFound, false),
|
ClearingError.RequiredFieldEmpty, ClearingError.DictionaryNotFound, false),
|
||||||
|
SplitDepositRequestValidationRule.PositiveAmount,
|
||||||
SplitDepositRequestValidationRule.CrossvalidateByRegistry
|
SplitDepositRequestValidationRule.CrossvalidateByRegistry
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,19 @@ import java.util.Optional;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
public enum SplitDepositRequestValidationRule implements IValidationRule<ImdgValidationContext<RegistrySplitDepositActionRequest>> {
|
public enum SplitDepositRequestValidationRule implements IValidationRule<ImdgValidationContext<RegistrySplitDepositActionRequest>> {
|
||||||
|
PositiveAmount() {
|
||||||
|
@Override
|
||||||
|
public Optional<EnumMessage> validate(ImdgValidationContext<RegistrySplitDepositActionRequest> context) {
|
||||||
|
RegistrySplitDepositActionRequest request = context.getValidatedObject();
|
||||||
|
if (request.getOutboundAmount() == null) {
|
||||||
|
return of(ClearingError.RequiredFieldEmpty, "outboundAmount");
|
||||||
|
}
|
||||||
|
if (request.getOutboundAmount().compareTo(BigDecimal.ZERO) <= 0) {
|
||||||
|
return of(ClearingError.WrongFieldValue, "outboundAmount");
|
||||||
|
}
|
||||||
|
return empty();
|
||||||
|
}
|
||||||
|
},
|
||||||
CrossvalidateByRegistry() {
|
CrossvalidateByRegistry() {
|
||||||
@Override
|
@Override
|
||||||
public Optional<EnumMessage> validate(ImdgValidationContext<RegistrySplitDepositActionRequest> context) {
|
public Optional<EnumMessage> validate(ImdgValidationContext<RegistrySplitDepositActionRequest> context) {
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue