From 509d17e9885c46af9331666a43eb8766ec72c295 Mon Sep 17 00:00:00 2001 From: jack <jack.su@pollex.com.tw> Date: 星期二, 19 九月 2023 12:11:57 +0800 Subject: [PATCH] Merge branch '滲透' of ssh://dev.pollex.com.tw:29418/pcalife/PAM into 滲透 --- pamapi/src/main/java/com/pollex/pam/service/CustomerService.java | 36 ++++++++++++++++++++++++++---------- 1 files changed, 26 insertions(+), 10 deletions(-) diff --git a/pamapi/src/main/java/com/pollex/pam/service/CustomerService.java b/pamapi/src/main/java/com/pollex/pam/service/CustomerService.java index 3f1b6c4..77f2f75 100644 --- a/pamapi/src/main/java/com/pollex/pam/service/CustomerService.java +++ b/pamapi/src/main/java/com/pollex/pam/service/CustomerService.java @@ -7,6 +7,9 @@ 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; @@ -14,6 +17,7 @@ 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; @@ -23,6 +27,9 @@ @Service @Transactional public class CustomerService { + + private static final Logger log = LoggerFactory.getLogger(CustomerService.class); + @Autowired CustomerRepository customerRepository; @@ -44,6 +51,7 @@ } public Customer registerCustomer(CustomerRegisterDTO registDTO) { + boolean isCustomerExist = checkCustomerExist(registDTO); if(isCustomerExist) { throw new UsernameAlreadyUsedException(); @@ -52,15 +60,23 @@ String account = getCustomerAccount(registDTO); OtpTmp otpTmp = otpTmpService.findByAccountAndIndexKey(account, registDTO.getIndexKey()); - if(otpTmp.getStatus() == OtpTmpStatusEnum.VERRIFIED) { - Customer customer = customerDTOMapper.toCustomer(registDTO); - save(customer); - return customer; - }else { - throw new IllegalArgumentException("Invalid indexKey state error. IndexKey: " - + registDTO.getIndexKey() - + " => status: " + otpTmp.getStatus()); - } + + if(otpTmp!=null) { + if(otpTmp.getStatus() == OtpTmpStatusEnum.VERRIFIED) { + Customer customer = customerDTOMapper.toCustomer(registDTO); + customer.setDataFrom(DataFromEnum.PAM); + save(customer); + return customer; + }else { + throw new IllegalArgumentException("Invalid indexKey state error. IndexKey: " + + registDTO.getIndexKey() + + " => status: " + otpTmp.getStatus()); + } + }else { + throw new IllegalArgumentException("otp tmp not exist"); + } + + } } @@ -90,7 +106,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(); } } -- Gitblit v1.8.0