java.lang.Object
es.kukenan.smartfi.microservice.smartficore.service.events.OnboardingService

@Service public class OnboardingService extends Object
Service that handled onboarding events. It extract required information from the events, maps it to the proper classes and delegates the management operations on the UserService.
  • Field Details

    • CREDIT_PRODUCT

      private static final String CREDIT_PRODUCT
      Credit constant.
      See Also:
    • ADVANCE_PRODUCT

      private static final String ADVANCE_PRODUCT
      Advance constant.
      See Also:
    • userInsert

      @Value("${spring.application.name}") private String userInsert
      Service Name.
    • userService

      @Autowired private UserService userService
      Users service.
    • accountBankService

      @Autowired private AccountBankService accountBankService
      Bank account service.
    • companyRepository

      @Autowired private CompanyRepository companyRepository
      Company repository.
    • userCompanyRepository

      @Autowired private UserCompanyRepository userCompanyRepository
      User Company repository.
  • Constructor Details

    • OnboardingService

      public OnboardingService()
  • Method Details

    • handleOnboardingCreatedUserEvent

      public void handleOnboardingCreatedUserEvent(es.kukenan.smartfi.microservice.onboarding.events.modified.initiated.OnboardingInitiatedEvent event)
      Handle the event caused by a new onboarding process that have been initiated.
      Parameters:
      event - OnboardingInitiatedEvent.
    • handleOnboardingUpdatedUserEvent

      public void handleOnboardingUpdatedUserEvent(es.kukenan.smartfi.microservice.onboarding.events.modified.updated.OnboardingUpdatedEvent event)
      Handle the event caused by an onboarding process that have been updated.
      Parameters:
      event - OnboardingUpdatedEvent.
    • getCurrentUser

      private User getCurrentUser(String userId, String companyId, String onboardingId)
      Find the given user affected by the given onboarding process.
      Parameters:
      userId - user identifier.
      companyId - user company identifier.
      onboardingId - onboarding process identifier.
      Returns:
      the user found. If the user is not found an UnexpectedException is thrown.
    • userFromOnboardingEvent

      private User userFromOnboardingEvent(es.kukenan.smartfi.microservice.onboarding.events.AbstractOnboardingEvent<es.kukenan.smartfi.microservice.onboarding.events.modified.OnboardingModifiedEventBody> event, User currentUser)
      Create a user entity object with the information present in the given onboarding event.
      Parameters:
      event - onboarding event.
      currentUser - current user information if there is a user to update. When inserting (null), some default values must be specified.
      Returns:
      a user entity object with the information present in the given onboarding event.
    • saveCompanyToUser

      public UserCompany saveCompanyToUser(User user, es.kukenan.smartfi.microservice.onboarding.events.common.CompanyDto companyDto)
      Save the given company to user.
      Parameters:
      user - user entity
      companyDto - company information
      Returns:
      User Company entity created.
    • findCompany

      public Company findCompany(es.kukenan.smartfi.microservice.onboarding.events.common.CompanyDto companyDto)
      Find company if exist or create it if not.
      Parameters:
      companyDto - company data.
      Returns:
      Company entity.
    • saveBankAccount

      private void saveBankAccount(es.kukenan.smartfi.microservice.onboarding.events.modified.OnboardingModifiedEventBody onboarding, User user)
      Save bank account for user if needed.
      Parameters:
      onboarding - Event body data.
      user - User.