Class BackofficeMonitorUserUpdatedService

java.lang.Object
es.kukenan.smartfi.microservice.clients.service.events.backoffice.BackofficeMonitorUserUpdatedService

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

    • RESET_FULL_DATE

      private static final String RESET_FULL_DATE
      Reset value in full date.
      See Also:
    • RESET_DATE

      private static final String RESET_DATE
      Reset value in date.
      See Also:
    • saltCore

      @Value("${salt.core}") private String saltCore
      Key used for generate hashing for Core cipher.
    • userRepository

      @Autowired public UserRepository userRepository
      UserDevice repository.
    • userBackofficeRepository

      @Autowired public UserBackofficeRepository userBackofficeRepository
      UserDevice repository.
    • userTypeRepository

      @Autowired public UserTypeRepository userTypeRepository
      user state repository.
    • userStateRepository

      @Autowired public UserStateRepository userStateRepository
      user state repository.
    • backofficeRepository

      @Autowired public BackofficeRepository backofficeRepository
      backoffice repository.
    • userService

      @Autowired private UserService userService
      userService userService.
    • backofficeMonitorLanguageValidator

      @Autowired private BackofficeMonitorLanguageValidator backofficeMonitorLanguageValidator
      language validator.
    • backofficeMonitorGenderValidator

      @Autowired private BackofficeMonitorGenderValidator backofficeMonitorGenderValidator
      language validator.
    • backofficeMonitorCivilStatusValidator

      @Autowired private BackofficeMonitorCivilStatusValidator backofficeMonitorCivilStatusValidator
      language validator.
    • temporalUpdateUserRepository

      @Autowired public TemporalUpdateUserRepository temporalUpdateUserRepository
      temporal update user repository.
    • temporalUserUpdatedEventMapper

      @Autowired private TemporalUserUpdatedEventMapper temporalUserUpdatedEventMapper
      Object mapper.
  • Constructor Details

    • BackofficeMonitorUserUpdatedService

      public BackofficeMonitorUserUpdatedService()
  • Method Details

    • handleBackofficeMonitorEvent

      @Transactional public void handleBackofficeMonitorEvent(es.kukenan.smartfi.microservice.backoffice.events.update.BackOfficeUserUpdatedEvent backOfficeUserUpdatedEvent)
      Handles the users updates from backoffice core.
      Parameters:
      backOfficeUserUpdatedEvent - object holding users load.
    • updateUserInformation

      private void updateUserInformation(es.kukenan.smartfi.microservice.backoffice.events.update.BackofficeMonitorEventUpdateBody person, int typeDoc, String docNumber, User userRetrieved, String version)
      Save data in user table.
      Parameters:
      person - info from event.
      typeDoc - document type.
      docNumber - document number.
      userRetrieved - user Retrieved.
      version - Event version
    • merge

      private <T, Q> T merge(T original, Q remote)
      merge user info Method.
      Type Parameters:
      T - user original.
      Q - user from event.
      Parameters:
      original - user from event.
      remote - user from event.
      Returns:
      object merged.
    • mergeV2

      private <T, Q> T mergeV2(T original, Q remote)
      merge user info Method.
      Type Parameters:
      T - user original.
      Q - user from event.
      Parameters:
      original - user from event.
      remote - user from event.
      Returns:
      object merged.
    • invokeSetter

      private Object invokeSetter(Object object, String setMethodName, Object argument, String getMethodName)
      Helper util to invoke a method capturing, controlling and logging any exception thrown.
      Parameters:
      object - the object which method will be invoked.
      setMethodName - the name of the method to invoke.
      argument - the setter argument.
      getMethodName - the setter argument.
      Returns:
      the method invocation result or null if any exception is captured.
    • invokeGetter

      private Object invokeGetter(Object object, Method method)
      Helper util to invoke a method capturing, controlling and logging any exception thrown.
      Parameters:
      object - the object which method will be invoked.
      method - the method.
      Returns:
      the method invocation result or null if any exception is captured.
    • gettingUserFromEventData

      private User gettingUserFromEventData(es.kukenan.smartfi.microservice.backoffice.events.update.BackofficeMonitorEventUpdateBody person, int typeDoc, String docNumber, Optional<Backoffice> backoffice, String version, User existingUser)
      Save data in user table.
      Parameters:
      person - info from event.
      typeDoc - document type.
      docNumber - document number.
      backoffice - backoffice.
      version - event version
      existingUser - previous user if exist
      Returns:
      user user modified from event data
    • calculateUserState

      private UserState calculateUserState(es.kukenan.smartfi.microservice.backoffice.events.update.BackofficeMonitorEventUpdateBody person, User existingUser)
    • calculateUserStateV2

      private void calculateUserStateV2(es.kukenan.smartfi.microservice.backoffice.events.update.BackofficeMonitorEventUpdateBody person, User existingUser, User userResponse)