保誠-保戶業務員媒合平台
Tomas
2023-08-01 dae77c6087f0e9c7db8d4ec57242a0226d324552
pamapi/src/main/java/com/pollex/pam/service/CustomerService.java
@@ -2,25 +2,34 @@
import java.util.Optional;
import com.pollex.pam.security.SecurityUtils;
import com.pollex.pam.service.dto.CustomerDTO;
import com.pollex.pam.service.mapper.CustomerMapper;
import com.pollex.pam.business.security.SecurityUtils;
import com.pollex.pam.business.service.OtpTmpService;
import com.pollex.pam.business.service.UsernameAlreadyUsedException;
import com.pollex.pam.business.service.dto.CustomerDTO;
import com.pollex.pam.business.service.mapper.CustomerMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.userdetails.UsernameNotFoundException;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.pollex.pam.domain.Customer;
import com.pollex.pam.domain.OtpTmp;
import com.pollex.pam.enums.OtpLoginTypeEnum;
import com.pollex.pam.enums.OtpTmpStatusEnum;
import com.pollex.pam.repository.CustomerRepository;
import com.pollex.pam.service.dto.CustomerRegisterDTO;
import com.pollex.pam.service.mapper.CustomerDTOMapper;
import com.pollex.pam.business.domain.Customer;
import com.pollex.pam.business.domain.OtpTmp;
import com.pollex.pam.business.enums.DataFromEnum;
import com.pollex.pam.business.enums.OtpLoginTypeEnum;
import com.pollex.pam.business.enums.OtpTmpStatusEnum;
import com.pollex.pam.business.repository.CustomerRepository;
import com.pollex.pam.business.service.dto.CustomerRegisterDTO;
import com.pollex.pam.business.service.mapper.CustomerDTOMapper;
@Service
@Transactional
public class CustomerService {
   private static final Logger log = LoggerFactory.getLogger(CustomerService.class);
   @Autowired
   CustomerRepository customerRepository;
@@ -42,6 +51,7 @@
   }
   public Customer registerCustomer(CustomerRegisterDTO registDTO) {
      boolean isCustomerExist = checkCustomerExist(registDTO);
      if(isCustomerExist) {
         throw new UsernameAlreadyUsedException();
@@ -52,6 +62,7 @@
         OtpTmp otpTmp = otpTmpService.findByAccountAndIndexKey(account, registDTO.getIndexKey());
          if(otpTmp.getStatus() == OtpTmpStatusEnum.VERRIFIED) {
             Customer customer = customerDTOMapper.toCustomer(registDTO);
             customer.setDataFrom(DataFromEnum.PAM);
              save(customer);
              return customer;
          }else {
@@ -64,7 +75,7 @@
   }
    public void updateLoggedCustomer(CustomerDTO customerDTO) {
        Long customerId = SecurityUtils.getCustomerId();
        Long customerId = SecurityUtils.getCustomerDBId();
        Customer customer = customerRepository.findById(customerId)
            .orElseThrow(() -> new UsernameNotFoundException("customerId which is from token is not found in customer db table, customer id = " + customerId));
@@ -75,7 +86,7 @@
    }
    public CustomerDTO getLoggedCustomerDTO() {
        Long customerId = SecurityUtils.getCustomerId();
        Long customerId = SecurityUtils.getCustomerDBId();
        Customer customer = customerRepository.findById(customerId)
            .orElseThrow(() -> new UsernameNotFoundException("customerId which is from token is not found in customer db table, customer id = " + customerId));
@@ -88,7 +99,7 @@
   private boolean checkCustomerExist(CustomerRegisterDTO registDTO) {
      String account = getCustomerAccount(registDTO);
      Optional<Customer> customer = customerRepository.findOneByEmailEqualsOrPhoneEquals(account, account);
      Optional<Customer> customer = customerRepository.findOneByEmailEqualsOrPhoneEquals(account);
      return customer.isPresent();
   }
}