Class TransferValidations
java.lang.Object
es.kukenan.smartfi.microservice.transfer.service.validation.TransferValidations
transfers validation request.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final Stringalphanumeric valid format.private static final intMaximum length for BIC.private static final intMinimum length for BIC.private static final intCCC length.private static final Stringdate valid format.private static final Stringemail valid format.private static final es.kukenan.smartfi.logger.WalletLoggerkukenan logger.private static final Stringnumeric valid format.private final TransferOperationTransfer OperationsTransferOperation.static final Stringuuid valid format. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static TransferInvalidCallExceptioncreateException(String exceptionCode) Returns a new transferInvalidCallException.static voidexchangeValidations(es.kukenan.smartfi.microservice.transfer.api.exchange.ExchangeTransferRequestDto body) request body validations.private static voidgenerateException(String exceptionCode) private static booleanisTransferScheduled(es.kukenan.smartfi.microservice.transfer.api.transfer.common.ScheduledDto scheduled, LocalDate date) Check if is a scheduled transfer.private voidlogPersonRsiCorreosCashDepositError(String corePersonId, String validationErrorMessage) Logs the specific error if the person does not have the necessary data for the Correos Cash deposit.static voidtotalAmountSimulateTransferPostValidations(es.kukenan.smartfi.microservice.transfer.api.transfer.TransferRequestDto body, es.kukenan.smartfi.microservice.transfer.api.products.ProductOriginDto productOriginDto, Double totalAmountSimulate) Total Amount Simulate Transfer PostValidations.static voidtransferFavoritesValidations(es.kukenan.smartfi.microservice.transfer.api.transfer.favorite.TransferFavoriteRequestDto body, es.kukenan.smartfi.microservice.transfer.api.products.ProductOriginDto origin, List<es.kukenan.smartfi.microservice.transfer.api.products.ProductOriginDto> productOriginDtoList, es.kukenan.smartfi.microservice.transfer.api.transfer.limits.LimitsDto limits, String entityCode, es.kukenan.smartfi.microservice.transfer.api.transfer.TransfersDataCatalogDto dataModes, AccountType accType) request body validations.static voidtransferFavoriteValidations(String alias, Integer transferMode, es.kukenan.smartfi.microservice.transfer.api.transfer.TransfersDataCatalogDto dataModes) params validations.static voidtransferModificationScheduledValidations(es.kukenan.smartfi.microservice.transfer.api.transfer.TransferRequestDto body, es.kukenan.smartfi.microservice.transfer.api.products.ProductOriginDto origin, List<es.kukenan.smartfi.microservice.transfer.api.products.ProductOriginDto> productOriginDtoList, es.kukenan.smartfi.microservice.transfer.api.transfer.limits.LimitsDto limits, String entityCode, es.kukenan.smartfi.microservice.transfer.api.transfer.TransfersDataCatalogDto dataModes, es.kukenan.smartfi.microservice.transfer.api.transfer.TransfersDataCatalogDto dataFrequencyTypes, AccountType accType) request scheduled modification body validations.static voidtransferValidations(es.kukenan.smartfi.microservice.transfer.api.transfer.TransferRequestDto body, es.kukenan.smartfi.microservice.transfer.api.products.ProductOriginDto origin, List<es.kukenan.smartfi.microservice.transfer.api.products.ProductOriginDto> productOriginDtoList, es.kukenan.smartfi.microservice.transfer.api.transfer.limits.LimitsDto limits, String entityCode, es.kukenan.smartfi.microservice.transfer.api.transfer.TransfersDataCatalogDto dataModes, es.kukenan.smartfi.microservice.transfer.api.transfer.TransfersDataCatalogDto dataFrequencyTypes, AccountType accountType) request body validations.private static voidvalidateAlias(Boolean favorite, String alias) alias validations.private static voidvalidateAmount(es.kukenan.smartfi.microservice.transfer.api.common.AmountDto amount, es.kukenan.smartfi.microservice.transfer.api.products.ProductOriginDto origin, String accountBeneficiary, List<es.kukenan.smartfi.microservice.transfer.api.products.ProductOriginDto> productOriginDtoList, es.kukenan.smartfi.microservice.transfer.api.transfer.limits.LimitsDto limits, String entityCode, Boolean isScheduled) amount validations.private static voidvalidateBeneficiary(es.kukenan.smartfi.microservice.transfer.api.transfer.BeneficiaryRequestDto beneficiary, Integer transferMode, String originIban, AccountType accType) beneficiary validations.private static voidvalidateBic(String iban, String bic) BIC validations.static booleanvalidateCcc(String numberCcc) Validate CCC.private static voidvalidateCode(es.kukenan.smartfi.microservice.transfer.api.exchange.ExchangeTransferRequestDto exchangeCodeRequestDto) code validations.voidvalidateCorreosCashDeposit(String sessionId, String userId, String userJwtToken, es.kukenan.smartfi.microservice.transfer.api.transfer.correoscash.CorreosCashDepositRequestDto correosCashDepositRequestDto) Correos Cash deposit request validations.private static voidvalidateDate(LocalDate date) date validations.private static voidvalidateDestination(es.kukenan.smartfi.microservice.transfer.api.products.ProductOriginDto origin) origin validations.private static voidvalidateEmail(String email) email validations.private static voidvalidateFavorite(Boolean favorite) favorite validations.private static voidvalidateOrigin(es.kukenan.smartfi.microservice.transfer.api.products.ProductOriginDto origin) origin validations.private static voidvalidateReason(String reason) reason validations.private static voidvalidateScheduled(es.kukenan.smartfi.microservice.transfer.api.transfer.common.ScheduledDto scheduled, es.kukenan.smartfi.microservice.transfer.api.transfer.TransfersDataCatalogDto listScheduled) Scheduled transfer validations.private static voidvalidateTransferMode(Integer transferMode, es.kukenan.smartfi.microservice.transfer.api.transfer.TransfersDataCatalogDto modes) Modes transfer validations.
-
Field Details
-
UUID_PATTERN
uuid valid format.- See Also:
-
EMAIL_PATTERN
email valid format.- See Also:
-
ALPHANUMERIC_PATTERN
alphanumeric valid format.- See Also:
-
NUMERIC_PATTERN
numeric valid format.- See Also:
-
DATE_PATTERN
date valid format.- See Also:
-
BIC_MIN_LENGTH
private static final int BIC_MIN_LENGTHMinimum length for BIC.- See Also:
-
BIC_MAX_LENGTH
private static final int BIC_MAX_LENGTHMaximum length for BIC.- See Also:
-
CCC_LENGTH
private static final int CCC_LENGTHCCC length.- See Also:
-
log
private static final es.kukenan.smartfi.logger.WalletLogger logkukenan logger. -
transferOperation
Transfer OperationsTransferOperation.
-
-
Constructor Details
-
TransferValidations
public TransferValidations()
-
-
Method Details
-
transferValidations
public static void transferValidations(es.kukenan.smartfi.microservice.transfer.api.transfer.TransferRequestDto body, es.kukenan.smartfi.microservice.transfer.api.products.ProductOriginDto origin, List<es.kukenan.smartfi.microservice.transfer.api.products.ProductOriginDto> productOriginDtoList, es.kukenan.smartfi.microservice.transfer.api.transfer.limits.LimitsDto limits, String entityCode, es.kukenan.smartfi.microservice.transfer.api.transfer.TransfersDataCatalogDto dataModes, es.kukenan.smartfi.microservice.transfer.api.transfer.TransfersDataCatalogDto dataFrequencyTypes, AccountType accountType) request body validations.- Parameters:
body- request body.origin- request origin account.productOriginDtoList- origin data.limits- limits data.entityCode- entityCode data.dataModes- dataModes info.dataFrequencyTypes- frecuency info.accountType- beneficiary account type.
-
exchangeValidations
public static void exchangeValidations(es.kukenan.smartfi.microservice.transfer.api.exchange.ExchangeTransferRequestDto body) request body validations.- Parameters:
body- request body.
-
transferFavoriteValidations
public static void transferFavoriteValidations(String alias, Integer transferMode, es.kukenan.smartfi.microservice.transfer.api.transfer.TransfersDataCatalogDto dataModes) params validations.- Parameters:
alias- param value.transferMode- param value.dataModes- dataModes info.
-
transferModificationScheduledValidations
public static void transferModificationScheduledValidations(es.kukenan.smartfi.microservice.transfer.api.transfer.TransferRequestDto body, es.kukenan.smartfi.microservice.transfer.api.products.ProductOriginDto origin, List<es.kukenan.smartfi.microservice.transfer.api.products.ProductOriginDto> productOriginDtoList, es.kukenan.smartfi.microservice.transfer.api.transfer.limits.LimitsDto limits, String entityCode, es.kukenan.smartfi.microservice.transfer.api.transfer.TransfersDataCatalogDto dataModes, es.kukenan.smartfi.microservice.transfer.api.transfer.TransfersDataCatalogDto dataFrequencyTypes, AccountType accType) request scheduled modification body validations.- Parameters:
body- request body.origin- request origin account.productOriginDtoList- origin data.limits- limits data.entityCode- entityCode data.dataModes- dataModes info.dataFrequencyTypes- frecuency info.accType- beneficiary account type.
-
transferFavoritesValidations
public static void transferFavoritesValidations(es.kukenan.smartfi.microservice.transfer.api.transfer.favorite.TransferFavoriteRequestDto body, es.kukenan.smartfi.microservice.transfer.api.products.ProductOriginDto origin, List<es.kukenan.smartfi.microservice.transfer.api.products.ProductOriginDto> productOriginDtoList, es.kukenan.smartfi.microservice.transfer.api.transfer.limits.LimitsDto limits, String entityCode, es.kukenan.smartfi.microservice.transfer.api.transfer.TransfersDataCatalogDto dataModes, AccountType accType) request body validations.- Parameters:
body- request body.origin- request origin account.productOriginDtoList- origin data.limits- limits data.entityCode- entityCode data.dataModes- dataModes info.accType- beneficiary account type.
-
validateDestination
private static void validateDestination(es.kukenan.smartfi.microservice.transfer.api.products.ProductOriginDto origin) origin validations.- Parameters:
origin- request body.
-
validateOrigin
private static void validateOrigin(es.kukenan.smartfi.microservice.transfer.api.products.ProductOriginDto origin) origin validations.- Parameters:
origin- request body.
-
validateCode
private static void validateCode(es.kukenan.smartfi.microservice.transfer.api.exchange.ExchangeTransferRequestDto exchangeCodeRequestDto) code validations.- Parameters:
exchangeCodeRequestDto- request body.
-
validateEmail
email validations.- Parameters:
email- request body.
-
validateReason
reason validations.- Parameters:
reason- request body.
-
validateDate
date validations.- Parameters:
date- request body.
-
validateFavorite
favorite validations.- Parameters:
favorite- request body.
-
validateAlias
alias validations.- Parameters:
favorite- request body.alias- request body.
-
validateAmount
private static void validateAmount(es.kukenan.smartfi.microservice.transfer.api.common.AmountDto amount, es.kukenan.smartfi.microservice.transfer.api.products.ProductOriginDto origin, String accountBeneficiary, List<es.kukenan.smartfi.microservice.transfer.api.products.ProductOriginDto> productOriginDtoList, es.kukenan.smartfi.microservice.transfer.api.transfer.limits.LimitsDto limits, String entityCode, Boolean isScheduled) amount validations.- Parameters:
amount- for request body.origin- ProductOriginDto of the request body origin uuid.accountBeneficiary- for request body.productOriginDtoList- list origin.limits- limits information.entityCode- entity Code.isScheduled- is a scheduled trasnfer.
-
isTransferScheduled
private static boolean isTransferScheduled(es.kukenan.smartfi.microservice.transfer.api.transfer.common.ScheduledDto scheduled, LocalDate date) Check if is a scheduled transfer.- Parameters:
scheduled- for request bodydate- for request body- Returns:
- boolean
-
validateTransferMode
private static void validateTransferMode(Integer transferMode, es.kukenan.smartfi.microservice.transfer.api.transfer.TransfersDataCatalogDto modes) Modes transfer validations.- Parameters:
transferMode- request body.modes- list modes transfer defined.
-
validateScheduled
private static void validateScheduled(es.kukenan.smartfi.microservice.transfer.api.transfer.common.ScheduledDto scheduled, es.kukenan.smartfi.microservice.transfer.api.transfer.TransfersDataCatalogDto listScheduled) Scheduled transfer validations.- Parameters:
scheduled- request body.listScheduled- list scheduled transfer defined.
-
validateBeneficiary
private static void validateBeneficiary(es.kukenan.smartfi.microservice.transfer.api.transfer.BeneficiaryRequestDto beneficiary, Integer transferMode, String originIban, AccountType accType) beneficiary validations.- Parameters:
beneficiary- request body.transferMode- transfer mode.originIban- IBAN of origin accountaccType- beneficiary account type.
-
validateBic
BIC validations.- Parameters:
iban- IBANbic- BIC
-
validateCcc
Validate CCC.- Parameters:
numberCcc- CCC- Returns:
- boolean
-
totalAmountSimulateTransferPostValidations
public static void totalAmountSimulateTransferPostValidations(es.kukenan.smartfi.microservice.transfer.api.transfer.TransferRequestDto body, es.kukenan.smartfi.microservice.transfer.api.products.ProductOriginDto productOriginDto, Double totalAmountSimulate) Total Amount Simulate Transfer PostValidations.- Parameters:
body- transfer request body.productOriginDto- product origin dto.totalAmountSimulate- total amount transfer simulate.
-
generateException
-
createException
Returns a new transferInvalidCallException.- Parameters:
exceptionCode- exception code.- Returns:
- transferInvalidCallException.
-
validateCorreosCashDeposit
public void validateCorreosCashDeposit(String sessionId, String userId, String userJwtToken, es.kukenan.smartfi.microservice.transfer.api.transfer.correoscash.CorreosCashDepositRequestDto correosCashDepositRequestDto) Correos Cash deposit request validations.- Parameters:
sessionId- session id.userId- user id.userJwtToken- user token.correosCashDepositRequestDto- Correos Cash deposit request data to validateCorreosCashDepositRequestDto.
-
logPersonRsiCorreosCashDepositError
private void logPersonRsiCorreosCashDepositError(String corePersonId, String validationErrorMessage) Logs the specific error if the person does not have the necessary data for the Correos Cash deposit.- Parameters:
corePersonId- Core person id.validationErrorMessage- specific validation error message.
-