From e28415e8f6d76ddcf0c936027669c22ed2b2e05d Mon Sep 17 00:00:00 2001 From: wayne <wayne8692wayne8692@gmail.com> Date: 星期四, 25 十一月 2021 13:48:37 +0800 Subject: [PATCH] [update] 嚴選配對、快速搜尋的滿意度調整為equal --- pamapi/src/main/java/com/pollex/pam/service/OtpWebService.java | 75 +++++++++++++++++++------------------ 1 files changed, 39 insertions(+), 36 deletions(-) diff --git a/pamapi/src/main/java/com/pollex/pam/service/OtpWebService.java b/pamapi/src/main/java/com/pollex/pam/service/OtpWebService.java index 35c9a63..b61ef34 100644 --- a/pamapi/src/main/java/com/pollex/pam/service/OtpWebService.java +++ b/pamapi/src/main/java/com/pollex/pam/service/OtpWebService.java @@ -6,11 +6,11 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import tw.com.softleader.otp.ws.OtpWebServiceLocator; -import tw.com.softleader.otp.ws.OtpWebServicePortBindingStub; +import tw.com.softleader.otp.ws.OtpWeb; +import tw.com.softleader.otp.ws.StringArray; -import javax.xml.rpc.ServiceException; -import java.rmi.RemoteException; +import java.net.MalformedURLException; +import java.net.URL; @Service public class OtpWebService { @@ -20,44 +20,47 @@ @Autowired ApplicationProperties applicationProperty; - public OtpResponseDTO sendByPhone(String phone) throws ServiceException, RemoteException { - OtpWebServicePortBindingStub stub = getOtpWebServicePortBindingStub(); - log.info("call OtpService snedOtpBySMS, "); + public OtpResponseDTO sendByPhone(String phone) { + OtpWeb otpWS = getOtpWebService(); + log.debug("call OtpService sendOtpBySMS, url = {}, systemType = {}, service password = {}, phone = {}", + applicationProperty.getOtpWebServiceUrl(), applicationProperty.getOtpWebServiceSystemType(), applicationProperty.getOtpWebServicePassword(), phone); - String[] result = - stub.sendOtpBySMS(applicationProperty.getOtpWebServicePassword(), applicationProperty.getOtpWebServiceSystemType(), phone); + StringArray result = + otpWS.sendOtpBySMS(applicationProperty.getOtpWebServicePassword(), applicationProperty.getOtpWebServiceSystemType(), phone); - return new OtpResponseDTO(result); + return new OtpResponseDTO(result.getItem()); } - public OtpResponseDTO sendByEmail(String email) throws ServiceException, RemoteException { - OtpWebServicePortBindingStub stub = getOtpWebServicePortBindingStub(); + public OtpResponseDTO sendByEmail(String email) { + OtpWeb otpWS = getOtpWebService(); + log.debug("call OtpService sendByEmail, url = {}, systemType = {}, service password = {}, email = {}", + applicationProperty.getOtpWebServiceUrl(), applicationProperty.getOtpWebServiceSystemType(), applicationProperty.getOtpWebServicePassword(), email); - String[] result = - stub.sendOtpByEmail(applicationProperty.getOtpWebServicePassword(), applicationProperty.getOtpWebServiceSystemType(), email); + StringArray result = + otpWS.sendOtpByEmail(applicationProperty.getOtpWebServicePassword(), applicationProperty.getOtpWebServiceSystemType(), email); - final OtpResponseDTO otpResponseDTO = new OtpResponseDTO(result); - if(otpResponseDTO.isSuccess()) { - return otpResponseDTO; + return new OtpResponseDTO(result.getItem()); + } + + public OtpResponseDTO verifyOTP(String indexKey, String otpCode) { + OtpWeb otpWS = getOtpWebService(); + log.debug("call OtpService verifyOTP, url = {}, systemType = {}, service password = {}, indexKey = {}, otpCode = {}", + applicationProperty.getOtpWebServiceUrl(), applicationProperty.getOtpWebServiceSystemType(), applicationProperty.getOtpWebServicePassword(), indexKey, otpCode); + + StringArray result = + otpWS.verifyOtp(applicationProperty.getOtpWebServicePassword(), applicationProperty.getOtpWebServiceSystemType(), indexKey, otpCode); + + return new OtpResponseDTO(result.getItem()); + } + + public OtpWeb getOtpWebService() { + final String wsUrl = applicationProperty.getOtpWebServiceUrl(); + try { + tw.com.softleader.otp.ws.OtpWebService locator + = new tw.com.softleader.otp.ws.OtpWebService(new URL(wsUrl)); + return locator.getOtpWebPort(); + } catch (MalformedURLException e) { + throw new IllegalArgumentException("Invalid url: " + wsUrl, e); } - else { - throw new RuntimeException("error code = " + otpResponseDTO.getFailCode() + ", error reason = " + otpResponseDTO.getFailReason()); - } - } - - public OtpResponseDTO verifyOTP(String indexKey, String otpCode) throws ServiceException, RemoteException { - OtpWebServicePortBindingStub stub = getOtpWebServicePortBindingStub(); - - String[] result = - stub.verifyOtp(applicationProperty.getOtpWebServicePassword(), applicationProperty.getOtpWebServiceSystemType(), indexKey, otpCode); - - return new OtpResponseDTO(result); - } - - private OtpWebServicePortBindingStub getOtpWebServicePortBindingStub() throws ServiceException { - OtpWebServiceLocator locator = new OtpWebServiceLocator(); - locator.setOtpWebServicePortEndpointAddress(applicationProperty.getOtpWebServiceUrl()); - - return (OtpWebServicePortBindingStub) locator.getOtpWebServicePort(); } } -- Gitblit v1.8.0