Class OnboardingService
java.lang.Object
es.kukenan.smartfi.microservice.smartficore.service.events.OnboardingService
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 Summary
FieldsModifier and TypeFieldDescriptionprivate AccountBankServiceBank account service.private static final StringAdvance constant.private CompanyRepositoryCompany repository.private static final StringCredit constant.private UserCompanyRepositoryUser Company repository.private StringService Name.private UserServiceUsers service. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfindCompany(es.kukenan.smartfi.microservice.onboarding.events.common.CompanyDto companyDto) Find company if exist or create it if not.private UsergetCurrentUser(String userId, String companyId, String onboardingId) Find the given user affected by the given onboarding process.voidhandleOnboardingCreatedUserEvent(es.kukenan.smartfi.microservice.onboarding.events.modified.initiated.OnboardingInitiatedEvent event) Handle the event caused by a new onboarding process that have been initiated.voidhandleOnboardingUpdatedUserEvent(es.kukenan.smartfi.microservice.onboarding.events.modified.updated.OnboardingUpdatedEvent event) Handle the event caused by an onboarding process that have been updated.private voidsaveBankAccount(es.kukenan.smartfi.microservice.onboarding.events.modified.OnboardingModifiedEventBody onboarding, User user) Save bank account for user if needed.saveCompanyToUser(User user, es.kukenan.smartfi.microservice.onboarding.events.common.CompanyDto companyDto) Save the given company to user.private UseruserFromOnboardingEvent(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.
-
Field Details
-
CREDIT_PRODUCT
Credit constant.- See Also:
-
ADVANCE_PRODUCT
Advance constant.- See Also:
-
userInsert
Service Name. -
userService
Users service. -
accountBankService
Bank account service. -
companyRepository
Company repository. -
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
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
UnexpectedExceptionis 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 entitycompanyDto- 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.
-