Class CoreBackofficeClientAdapter

java.lang.Object
es.kukenan.smartfi.microservice.transfer.service.backoffice.core.CoreBackofficeClientAdapter
All Implemented Interfaces:
BackofficeClient

@Component public class CoreBackofficeClientAdapter extends Object implements BackofficeClient
Core client to BackofficeClient adapter.
  • Field Details

    • transferLimitsEndpoint

      @Autowired private TransferLimitsEndpoint transferLimitsEndpoint
      Transfer limits endpoint.
    • transferFrequencyTypesEndpoint

      @Autowired private TransferFrequencyTypesEndpoint transferFrequencyTypesEndpoint
      Transfer frequency types endpoint.
    • transferBicFromIbanEndpoint

      @Autowired private TransferBicFromIbanEndpoint transferBicFromIbanEndpoint
      Transfer dataCatalogs BicFromIban endpoint.
    • transferModesEndpoint

      @Autowired private TransferModesEndpoint transferModesEndpoint
      Transfer modes endpoint.
    • transferSimulationEndpoint

      @Autowired private TransferSimulationEndpoint transferSimulationEndpoint
      Transfer simulation endpoint.
    • transferEndpoint

      @Autowired private TransferEndpoint transferEndpoint
      Transfer endpoint.
    • transfersFavoritesEndpoint

      @Autowired private TransfersFavoritesEndpoint transfersFavoritesEndpoint
      Transfer favorites endpoint.
    • transferScheduledEndpoint

      @Autowired private TransferScheduledEndpoint transferScheduledEndpoint
      Transfer endpoint.
    • transfersScheduledEndpoint

      @Autowired private TransfersScheduledEndpoint transfersScheduledEndpoint
      Transfers endpoint.
    • transferFavoriteEndpoint

      @Autowired private TransferFavoriteEndpoint transferFavoriteEndpoint
      Transfer favorite endpoint.
    • transfersEndpoint

      @Autowired private TransfersEndpoint transfersEndpoint
      Transfers endpoint.
    • threadPoolTaskExecutor

      @Autowired private org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor threadPoolTaskExecutor
      Thread pool task executor.
  • Constructor Details

    • CoreBackofficeClientAdapter

      public CoreBackofficeClientAdapter()
  • Method Details

    • getBackofficeId

      public Integer getBackofficeId()
      Description copied from interface: BackofficeClient
      The back office internal identifier.
      Specified by:
      getBackofficeId in interface BackofficeClient
      Returns:
      back office internal identifier.
    • getTransferLimits

      public es.kukenan.smartfi.microservice.transfer.api.transfer.limits.LimitsDto getTransferLimits(String userId)
      Description copied from interface: BackofficeClient
      Get transfer limits for a user.
      Specified by:
      getTransferLimits in interface BackofficeClient
      Parameters:
      userId - core user identifier.
      Returns:
      the transfer limits.
    • getTransferFrequencyTypes

      public es.kukenan.smartfi.microservice.transfer.api.transfer.TransfersDataCatalogDto getTransferFrequencyTypes()
      Description copied from interface: BackofficeClient
      Get transfer frequency types.
      Specified by:
      getTransferFrequencyTypes in interface BackofficeClient
      Returns:
      the transfer frequency types
    • getBicFromIban

      public String getBicFromIban(String userId, String iban)
      Description copied from interface: BackofficeClient
      Get bic associated to an iban.
      Specified by:
      getBicFromIban in interface BackofficeClient
      Parameters:
      userId - core user identifier
      iban - user iban
      Returns:
      the bic associated
    • getTransferModes

      public es.kukenan.smartfi.microservice.transfer.api.transfer.TransfersDataCatalogDto getTransferModes()
      Description copied from interface: BackofficeClient
      Get transfer modes.
      Specified by:
      getTransferModes in interface BackofficeClient
      Returns:
      the transfer modes
    • getTransferModes

      public es.kukenan.smartfi.microservice.transfer.api.transfer.TransfersDataCatalogDto getTransferModes(String userId, String bic)
      Description copied from interface: BackofficeClient
      Get transfer modes for a bic.
      Specified by:
      getTransferModes in interface BackofficeClient
      Parameters:
      userId - core user identifier.
      bic - bic associated to an iban.
      Returns:
      the transfer mode
    • simulateTransfer

      public es.kukenan.smartfi.microservice.transfer.api.transfer.TransferSimulationResponseDto simulateTransfer(es.kukenan.smartfi.microservice.transfer.api.products.ProductOriginDto origin, es.kukenan.smartfi.microservice.transfer.api.transfer.TransferRequestDto transferRequestDto, UserBackoffice userBackoffice, String userIP, String userAgent, String tokenJwt)
      Description copied from interface: BackofficeClient
      Simulate transfer operation.
      Specified by:
      simulateTransfer in interface BackofficeClient
      Parameters:
      origin - origin account
      transferRequestDto - transfer request DTO
      userBackoffice - core user
      userIP - user real ip
      userAgent - user-agent header
      tokenJwt - token jwt.
      Returns:
      transfer simulation response DTO
    • initializeTransfer

      public int initializeTransfer(String userId, es.kukenan.smartfi.microservice.transfer.api.transfer.TransferRequestDto transferRequestDto, es.kukenan.smartfi.common.security.WalletAuthentication auth)
      Description copied from interface: BackofficeClient
      Initialize Transfer.
      Specified by:
      initializeTransfer in interface BackofficeClient
      Parameters:
      userId - userId.
      transferRequestDto - transferRequestDto.
      auth - auth.
      Returns:
      operation ID.
    • doTransfer

      public es.kukenan.smartfi.microservice.transfer.api.transfer.TransferResponseDto doTransfer(es.kukenan.smartfi.microservice.transfer.api.products.ProductOriginDto origin, es.kukenan.smartfi.microservice.transfer.api.transfer.TransferRequestDto transferRequestDto, UserBackoffice userBackoffice, String userIP, String userAgent, String idOperacion, String tokenJwt)
      Description copied from interface: BackofficeClient
      Do transfer operation.
      Specified by:
      doTransfer in interface BackofficeClient
      Parameters:
      origin - origin account
      transferRequestDto - transfer request DTO
      userBackoffice - userBackoffice
      userIP - user real ip
      userAgent - user-agent header
      idOperacion - idOperacion.
      tokenJwt - auth info.
      Returns:
      transfer simulation response DTO
    • doExchangeCode

      public es.kukenan.smartfi.microservice.transfer.api.transfer.TransferResponseDto doExchangeCode(es.kukenan.smartfi.microservice.transfer.api.exchange.ExchangeTransferRequestDto codeRequestDto, UserBackoffice userBackoffice, String userIP, String userAgent, String idOperacion, String tokenJwt)
      Description copied from interface: BackofficeClient
      Do exchange code operation.
      Specified by:
      doExchangeCode in interface BackofficeClient
      Parameters:
      codeRequestDto - transfer request DTO
      userBackoffice - userBackoffice
      userIP - user real ip
      userAgent - user-agent header
      idOperacion - idOperacion.
      tokenJwt - auth info.
      Returns:
      transfer simulation response DTO
    • doExchangeCreditCard

      public es.kukenan.smartfi.microservice.transfer.api.transfer.TransferResponseDto doExchangeCreditCard(es.kukenan.smartfi.microservice.transfer.api.exchange.ExchangeTransferRequestDto codeRequestDto, UserBackoffice userBackoffice, String userIP, String userAgent, String idOperacion, String tokenJwt)
      Description copied from interface: BackofficeClient
      Do exchange credit card operation.
      Specified by:
      doExchangeCreditCard in interface BackofficeClient
      Parameters:
      codeRequestDto - transfer request DTO
      userBackoffice - userBackoffice
      userIP - user real ip
      userAgent - user-agent header
      idOperacion - idOperacion.
      tokenJwt - auth info.
      Returns:
      transfer simulation response DTO
    • getFavorites

      public List<es.kukenan.smartfi.microservice.transfer.api.transfer.favorite.TransferFavoriteDto> getFavorites(String jwtToken, String coreUserId, String userId, String contractId)
      Description copied from interface: BackofficeClient
      Get transfer favorites for a user.
      Specified by:
      getFavorites in interface BackofficeClient
      Parameters:
      jwtToken - jwt token.
      coreUserId - core user identifier.
      userId - user identifier.
      contractId - contract identifier.
      Returns:
      the transfer favorites
    • getFavourites

      public es.kukenan.smartfi.microservice.transfer.api.transfer.favorite.TransferFavoritesResponseDto getFavourites(UserBackoffice userBackoffice, es.kukenan.smartfi.microservice.transfer.api.products.ProductDto productDto, Optional<String> paginationKey)
      Description copied from interface: BackofficeClient
      Retrieves Product Favourite Transfers for a user.
      Specified by:
      getFavourites in interface BackofficeClient
      Parameters:
      userBackoffice - user Backoffice UserBackoffice.
      productDto - product ProductDto.
      paginationKey - pagination key used to request next result page.
      Returns:
      Product Favourite Transfers TransferFavoritesResponseDto.
    • createFavorite

      public es.kukenan.smartfi.microservice.transfer.api.transfer.TransferResponseDto createFavorite(es.kukenan.smartfi.microservice.transfer.api.products.ProductOriginDto origin, es.kukenan.smartfi.microservice.transfer.api.transfer.TransferRequestDto transferRequestDto, String coreUserId, String userIP, String userAgent, String userId, String contractId)
      Description copied from interface: BackofficeClient
      Create new favorite operation.
      Specified by:
      createFavorite in interface BackofficeClient
      Parameters:
      origin - origin account
      transferRequestDto - transfer request DTO
      coreUserId - core user identifier
      userIP - user real ip
      userAgent - user-agent header
      userId - user identifier.
      contractId - contract identifier.
      Returns:
      transfer favorite response DTO
    • modifyScheduledTransfer

      public es.kukenan.smartfi.microservice.transfer.api.transfer.TransferResponseDto modifyScheduledTransfer(es.kukenan.smartfi.microservice.transfer.api.products.ProductOriginDto origin, es.kukenan.smartfi.microservice.transfer.api.transfer.TransferRequestDto transferRequestDto, String userId, UserBackoffice userBackoffice, String userIP, String userAgent, String transferId, String operationId, es.kukenan.smartfi.common.security.WalletAuthentication userToken)
      Description copied from interface: BackofficeClient
      Modify transfer by ID operation.
      Specified by:
      modifyScheduledTransfer in interface BackofficeClient
      Parameters:
      origin - origin account.
      transferRequestDto - transfer request DTO.
      userId - core user identifier.
      userBackoffice - user backoffice.
      userIP - user real ip.
      userAgent - user-agent header.
      transferId - transfer Id.
      operationId - operation identifier.
      userToken - auth info.
      Returns:
      modify scheduled transfer Dto.
    • initializeModifyScheduled

      public int initializeModifyScheduled(String transferID, es.kukenan.smartfi.common.security.WalletAuthentication auth, es.kukenan.smartfi.microservice.transfer.api.transfer.TransferRequestDto request)
      Description copied from interface: BackofficeClient
      Intialize modify of scheduled transfer.
      Specified by:
      initializeModifyScheduled in interface BackofficeClient
      Parameters:
      transferID - transfer identifier
      auth - auth info.
      request - rquest data.
      Returns:
      transfer scheduled response DTO
    • getTransfersScheduledList

      public List<es.kukenan.smartfi.microservice.transfer.api.transfer.scheduled.TransferScheduledDto> getTransfersScheduledList(String userId, es.kukenan.smartfi.microservice.transfer.api.products.ProductOriginDto origin, String userToken)
      Description copied from interface: BackofficeClient
      Get transfers scheduled list for a user.
      Specified by:
      getTransfersScheduledList in interface BackofficeClient
      Parameters:
      userId - core user identifier.
      origin - Core product.
      userToken - auth info.
      Returns:
      the transfers scheduled list
    • deleteScheduled

      public es.kukenan.smartfi.microservice.transfer.api.transfer.TransferResponseDto deleteScheduled(String transferID, String userId, String userIP, String userAgent, String userToken, String operationId)
      Description copied from interface: BackofficeClient
      Delete a scheduled transfer.
      Specified by:
      deleteScheduled in interface BackofficeClient
      Parameters:
      transferID - transfer identifier
      userId - core user identifier
      userIP - user real ip
      userAgent - user-agent header
      userToken - auth info.
      operationId - operation identifier.
      Returns:
      transfer scheduled response DTO
    • initializeDeleteScheduled

      public int initializeDeleteScheduled(String transferID, es.kukenan.smartfi.common.security.WalletAuthentication auth)
      Description copied from interface: BackofficeClient
      Intialize delete of scheduled transfer.
      Specified by:
      initializeDeleteScheduled in interface BackofficeClient
      Parameters:
      transferID - transfer identifier
      auth - auth info.
      Returns:
      transfer scheduled response DTO
    • getTransfers

      public TransferDomain getTransfers(String userId, String type, Optional<String> mode, String dateFrom, String dateTo, String productId, String paginationKey, String jwtToken, User user, Supplier<es.kukenan.smartfi.microservice.transfer.api.transfer.TransfersDataCatalogDto> transferModesSupplier)
      Description copied from interface: BackofficeClient
      Get transfers for a user.
      Specified by:
      getTransfers in interface BackofficeClient
      Parameters:
      userId - user identifier
      type - transfer type
      mode - transfer mode
      dateFrom - date from interval
      dateTo - date to interval
      productId - product uuid
      paginationKey - pagination key used to request next result page.
      jwtToken - jwt token.
      user - user.
      transferModesSupplier - Get Transfer Modes supplier TransfersDataCatalogDto.
      Returns:
      the transfers
    • getTransfers

      public TransferDomain getTransfers(String userJwtToken, UserBackoffice userBackoffice, es.kukenan.smartfi.microservice.transfer.api.products.ProductDto productDto, String type, Optional<String> mode, String dateFrom, String dateTo, Optional<String> paginationKey, Supplier<es.kukenan.smartfi.microservice.transfer.api.transfer.TransfersDataCatalogDto> transferModesSupplier)
      Description copied from interface: BackofficeClient
      Retrieves Product Transfers for a user.
      Specified by:
      getTransfers in interface BackofficeClient
      Parameters:
      userJwtToken - user token.
      userBackoffice - user Backoffice UserBackoffice.
      productDto - product ProductDto.
      type - transfer type.
      mode - transfer mode.
      dateFrom - date from interval.
      dateTo - date to interval.
      paginationKey - pagination key used to request next result page.
      transferModesSupplier - Get Transfer Modes supplier TransfersDataCatalogDto.
      Returns:
      Product Transfers TransferDomain.
    • getDetailTransfers

      public TransferDomain getDetailTransfers(String userId, String type, String mode, String dateFrom, String dateTo, String productId, String paginationKey, String jwtToken, User user, String transferId)
      Description copied from interface: BackofficeClient
      Get detail transfers for a user.
      Specified by:
      getDetailTransfers in interface BackofficeClient
      Parameters:
      userId - user identifier
      type - transfer type
      mode - transfer mode
      dateFrom - date from interval
      dateTo - date to interval
      productId - product uuid
      paginationKey - pagination key used to request next result page.
      jwtToken - jwt token.
      user - user.
      transferId - transfer id.
      Returns:
      the transfers
    • deleteFavorite

      public es.kukenan.smartfi.microservice.transfer.api.transfer.TransferResponseDto deleteFavorite(String transferID, String userId, String userIP, String userAgent)
      Description copied from interface: BackofficeClient
      Delete a favorite transfer.
      Specified by:
      deleteFavorite in interface BackofficeClient
      Parameters:
      transferID - transfer identifier
      userId - core user identifier
      userIP - user real ip
      userAgent - user-agent header
      Returns:
      transfer favorite response DTO
    • deleteTransfer

      public es.kukenan.smartfi.microservice.transfer.api.transfer.TransferResponseDto deleteTransfer(String transferID, String userId, String userIP, String userAgent)
      Description copied from interface: BackofficeClient
      Delete transfer.
      Specified by:
      deleteTransfer in interface BackofficeClient
      Parameters:
      transferID - transfer identifier
      userId - core user identifier
      userIP - user real ip
      userAgent - user-agent header
      Returns:
      transfer favorite response DTO
    • validateFavoriteTransfer

      public es.kukenan.smartfi.microservice.transfer.api.transfer.TransferResponseDto validateFavoriteTransfer(String alias, Integer transferMode, String userId, String userIP, String userAgent)
      Description copied from interface: BackofficeClient
      validate favorite transfer.
      Specified by:
      validateFavoriteTransfer in interface BackofficeClient
      Parameters:
      alias - param
      transferMode - param
      userId - core user identifier
      userIP - user real ip
      userAgent - user-agent header
      Returns:
      transfer simulation response DTO
    • getTransfer

      public Optional<es.kukenan.smartfi.microservice.transfer.api.transfer.TransferDto> getTransfer(String userId, String type, String mode, String reference, String token, User user)
      Description copied from interface: BackofficeClient
      Get transfer detail.
      Specified by:
      getTransfer in interface BackofficeClient
      Parameters:
      userId - user identifier
      type - transfer type
      mode - transfer mode
      reference - Skyline transfer reference
      token - jwtToken.
      user - user.
      Returns:
      The transfer if found
    • getScheduledTransfer

      public Optional<es.kukenan.smartfi.microservice.transfer.api.transfer.scheduled.TransferScheduledDto> getScheduledTransfer(String userId, String transferId, String productsId, String token)
      Description copied from interface: BackofficeClient
      Get scheduled transfer detail.
      Specified by:
      getScheduledTransfer in interface BackofficeClient
      Parameters:
      userId - user identifier
      transferId - scheduled transfer identifier
      productsId - product id
      token - jwt token
      Returns:
      The transfer if found
    • retrieveTransfers

      private List<es.kukenan.smartfi.microservice.transfer.api.transfer.TransferDto> retrieveTransfers(String userCoreId, String type, Optional<String> mode, String dateFrom, String dateTo, String productNumber, String paginationKey, Supplier<es.kukenan.smartfi.microservice.transfer.api.transfer.TransfersDataCatalogDto> transferModesSupplier)
      Retrieves Transfers for a user.
      Parameters:
      userCoreId - Core user identifier.
      type - transfer type.
      mode - transfer mode.
      dateFrom - date from interval.
      dateTo - date to interval.
      productNumber - product number.
      paginationKey - pagination key used to request next result page.
      transferModesSupplier - Get Transfer Modes supplier TransfersDataCatalogDto.
      Returns:
      Transfers TransferDto.
    • getTransferForAllModes

      private List<es.kukenan.smartfi.microservice.transfer.api.transfer.TransferDto> getTransferForAllModes(String userCoreId, String type, String dateFrom, String dateTo, String productNumber, String paginationKey, Supplier<es.kukenan.smartfi.microservice.transfer.api.transfer.TransfersDataCatalogDto> transferModesSupplier)
      Retrieves Transfers for a user, for all modes.
      Parameters:
      userCoreId - Core user identifier.
      type - transfer type.
      dateFrom - date from interval.
      dateTo - date to interval.
      productNumber - product number.
      paginationKey - pagination key used to request next result page.
      transferModesSupplier - Get Transfer Modes supplier TransfersDataCatalogDto.
      Returns:
      Transfers TransferDto.