java.lang.Object
es.kukenan.smartfi.microservice.transfer.service.validation.TransferValidations

@Component public class TransferValidations extends Object
transfers validation request.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private static final String
    alphanumeric valid format.
    private static final int
    Maximum length for BIC.
    private static final int
    Minimum length for BIC.
    private static final int
    CCC length.
    private static final String
    date valid format.
    private static final String
    email valid format.
    private static final es.kukenan.smartfi.logger.WalletLogger
    kukenan logger.
    private static final String
    numeric valid format.
    private final TransferOperation
    Transfer Operations TransferOperation.
    static final String
    uuid valid format.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    createException(String exceptionCode)
    Returns a new transferInvalidCallException.
    static void
    exchangeValidations(es.kukenan.smartfi.microservice.transfer.api.exchange.ExchangeTransferRequestDto body)
    request body validations.
    private static void
    generateException(String exceptionCode)
     
    private static boolean
    isTransferScheduled(es.kukenan.smartfi.microservice.transfer.api.transfer.common.ScheduledDto scheduled, LocalDate date)
    Check if is a scheduled transfer.
    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.
    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.
    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.
    static void
    transferFavoriteValidations(String alias, Integer transferMode, es.kukenan.smartfi.microservice.transfer.api.transfer.TransfersDataCatalogDto dataModes)
    params validations.
    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.
    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.
    private static void
    validateAlias(Boolean favorite, String alias)
    alias validations.
    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.
    private static void
    validateBeneficiary(es.kukenan.smartfi.microservice.transfer.api.transfer.BeneficiaryRequestDto beneficiary, Integer transferMode, String originIban, AccountType accType)
    beneficiary validations.
    private static void
    BIC validations.
    static boolean
    validateCcc(String numberCcc)
    Validate CCC.
    private static void
    validateCode(es.kukenan.smartfi.microservice.transfer.api.exchange.ExchangeTransferRequestDto exchangeCodeRequestDto)
    code validations.
    void
    validateCorreosCashDeposit(String sessionId, String userId, String userJwtToken, es.kukenan.smartfi.microservice.transfer.api.transfer.correoscash.CorreosCashDepositRequestDto correosCashDepositRequestDto)
    Correos Cash deposit request validations.
    private static void
    date validations.
    private static void
    validateDestination(es.kukenan.smartfi.microservice.transfer.api.products.ProductOriginDto origin)
    origin validations.
    private static void
    email validations.
    private static void
    favorite validations.
    private static void
    validateOrigin(es.kukenan.smartfi.microservice.transfer.api.products.ProductOriginDto origin)
    origin validations.
    private static void
    reason validations.
    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.
    private static void
    validateTransferMode(Integer transferMode, es.kukenan.smartfi.microservice.transfer.api.transfer.TransfersDataCatalogDto modes)
    Modes transfer validations.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • 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

      private static void validateEmail(String email)
      email validations.
      Parameters:
      email - request body.
    • validateReason

      private static void validateReason(String reason)
      reason validations.
      Parameters:
      reason - request body.
    • validateDate

      private static void validateDate(LocalDate date)
      date validations.
      Parameters:
      date - request body.
    • validateFavorite

      private static void validateFavorite(Boolean favorite)
      favorite validations.
      Parameters:
      favorite - request body.
    • validateAlias

      private static void validateAlias(Boolean favorite, String alias)
      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 body
      date - 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 account
      accType - beneficiary account type.
    • validateBic

      private static void validateBic(String iban, String bic)
      BIC validations.
      Parameters:
      iban - IBAN
      bic - BIC
    • validateCcc

      public static boolean validateCcc(String numberCcc)
      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

      private static void generateException(String exceptionCode)
    • createException

      private static TransferInvalidCallException createException(String exceptionCode)
      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 validate CorreosCashDepositRequestDto.
    • 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.