From b832880e1fcf3307387d53106078498f68a95853 Mon Sep 17 00:00:00 2001
From: jack <jack.su@pollex.com.tw>
Date: 星期二, 05 三月 2024 16:59:02 +0800
Subject: [PATCH] 移除TestLoginResource

---
 pamapi/src/main/java/com/pollex/pam/service/CustomerService.java |   62 ++++++++++++++++++++-----------
 1 files changed, 40 insertions(+), 22 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 c944a44..77f2f75 100644
--- a/pamapi/src/main/java/com/pollex/pam/service/CustomerService.java
+++ b/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();
@@ -50,21 +60,29 @@
 			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");
+			}
+			
+			
 		}
 
 	}
 
     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 +93,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 +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