Class BackofficeService

java.lang.Object
es.kukenan.smartfi.microservice.onboarding.service.BackofficeService

@Service public class BackofficeService extends Object
Backoffice management service.
  • 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:
    • APPROVED_PAYMENT_PENDING_NAME

      private static final String APPROVED_PAYMENT_PENDING_NAME
      Document state approved payment pending name.
      See Also:
    • COMPANY_AFFILIATION_NAME

      private static final String COMPANY_AFFILIATION_NAME
      Document state company affiliation name.
      See Also:
    • log

      private final es.kukenan.smartfi.logger.WalletLogger log
      Wallet logger.
    • SORT_ERROR

      private static final String SORT_ERROR
      Error message for ian invalid sorting criteria specification.
      See Also:
    • exampleMatcher

      private final org.springframework.data.domain.ExampleMatcher exampleMatcher
      Example matcher configuration.
    • defaultPageSize

      @Value("${query.pagination.pageSize.default}") private int defaultPageSize
      Default page size in paginated request where page size is not specified.
    • userEntityMapper

      @Autowired private UserEntityMapper userEntityMapper
      User entity mapper.
    • userRepository

      @Autowired private UserRepository userRepository
      Users repository.
    • workerTypeRepository

      @Autowired private WorkerTypeRepository workerTypeRepository
      Worker Type repository.
    • sourceFundsRepository

      @Autowired private SourceFundsRepository sourceFundsRepository
      Source Funds repository.
    • documentTypeRepository

      @Autowired private DocumentTypeRepository documentTypeRepository
      Document Type repository.
    • userBackofficeRepository

      @Autowired private UserBackofficeRepository userBackofficeRepository
      User Backoffice repository.
    • kafkaController

      @Autowired private KafkaController kafkaController
      Kafka Controller.
    • onboardingInitiatedEventMapper

      @Autowired private OnboardingInitiatedEventMapper onboardingInitiatedEventMapper
      User created Event mapper.
    • onboardingUpdateEventMapper

      @Autowired OnboardingUpdateEventMapper onboardingUpdateEventMapper
      User updated Event mapper.
    • onboardingService

      @Autowired private OnboardingService onboardingService
      Onboarding service.
    • otpService

      @Autowired private OtpService otpService
      Otp service.
    • internalProductsApiClient

      @Autowired private InternalProductsApiClient internalProductsApiClient
      Core api client.
  • Constructor Details

    • BackofficeService

      public BackofficeService()
  • Method Details

    • getUser

      public org.springframework.http.ResponseEntity<es.kukenan.smartfi.dto.ResponseDTO<es.kukenan.smartfi.dto.backoffice.UserDetailBackofficeDTO>> getUser(es.kukenan.smartfi.dto.backoffice.UserBackofficeRequestDTO userBackofficeRequest)
      Search if user exist.
      Parameters:
      userBackofficeRequest - filtered request fields
      Returns:
      user dto.
    • getUsers

      public org.springframework.http.ResponseEntity<Object> getUsers(es.kukenan.smartfi.dto.backoffice.UserBackofficeRequestDTO userBackofficeRequest, Integer pageNumber, Integer pageSize, String sortedBy)
      getting all users.
      Parameters:
      userBackofficeRequest - filtered request fields
      pageNumber - page number for search
      pageSize - size of each page
      sortedBy - parameter to be sorted
      Returns:
      user dto.
    • sortedBy

      private org.springframework.data.domain.Sort sortedBy(String sortedByClause)
      Create a Sort instance from the given sorting specification.
      Parameters:
      sortedByClause - the sorting specification.
      Returns:
      the Sort instance from the given sorting specification.
    • page

      private org.springframework.data.domain.PageRequest page(Integer pageNumber, Integer pageSize, org.springframework.data.domain.Sort sort)
      Create a Pageable instance from the given paging specification.
      Parameters:
      pageNumber - page number, optional default 0.
      pageSize - page size, optional default defaultPageSize.
      sort - sorting, optional.
      Returns:
      the page request for the given paging specification.
    • saveUserFromPromotor

      public org.springframework.http.ResponseEntity<es.kukenan.smartfi.dto.ResponseDTO<es.kukenan.smartfi.microservice.backoffice.dtos.core.contract.Contract>> saveUserFromPromotor(User newUser, Job job, Address address, es.kukenan.smartfi.microservice.onboarding.events.common.CompanyDto company, String product, es.kukenan.smartfi.dto.onboarding.OtpRequestDto otpRequestDto, Boolean createRequest, es.kukenan.smartfi.microservice.onboarding.events.common.BankAccountDto bankAccount, Boolean firstDataCheck, String userIp, String userAgent)
      Save User from backoffice.
      Parameters:
      newUser - User entity.
      job - Job entity.
      address - Address entity.
      company - Company Dto
      product - Product Type.
      otpRequestDto - Otp Request Dto with Credit/Advance data.
      createRequest - flag for create or not a request.
      bankAccount - user bank account details.
      firstDataCheck - flag to check data on first login.
      userIp - user real ip
      userAgent - user-agent header
      Returns:
      User created.
    • buildApplicationRequest

      public es.kukenan.smartfi.microservice.backoffice.dtos.core.contract.NewApplicationRequestDto buildApplicationRequest(User user, es.kukenan.smartfi.dto.onboarding.OtpRequestDto otpRequestDto, String product, Boolean isOnboarding)
      Create new application request.
      Parameters:
      user - user entity.
      otpRequestDto - product data.
      product - product type.
      isOnboarding - flag for change request initial status.
      Returns:
      new application request object.