From 0632b21db7576e4a223eb4f6ca09b650616222f2 Mon Sep 17 00:00:00 2001 From: Tomas <tomasysh@gmail.com> Date: 星期三, 17 一月 2024 09:54:09 +0800 Subject: [PATCH] Fixed: 移除 lodash, @type/lodash 導致的 side-effect --- pamapi/src/main/java/com/pollex/pam/service/OtpWebService.java | 66 +++++++++++++++++--------------- 1 files changed, 35 insertions(+), 31 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 144e202..d3f1874 100644 --- a/pamapi/src/main/java/com/pollex/pam/service/OtpWebService.java +++ b/pamapi/src/main/java/com/pollex/pam/service/OtpWebService.java @@ -1,16 +1,16 @@ package com.pollex.pam.service; import com.pollex.pam.config.ApplicationProperties; -import com.pollex.pam.service.dto.OtpResponseDTO; +import com.pollex.pam.business.service.dto.OtpResponseDTO; import org.slf4j.Logger; 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,43 +20,47 @@ @Autowired ApplicationProperties applicationProperty; - public OtpResponseDTO sendByPhone(String phone) throws ServiceException, RemoteException { - OtpWebServicePortBindingStub stub = getOtpWebServicePortBindingStub(); - log.info("call OtpService sendOtpBySMS, url = {}, systemType = {}, service password = {}, phone = {}", - applicationProperty.getOtpWebServiceUrl(), applicationProperty.getOtpWebServiceSystemType(), applicationProperty.getOtpWebServicePassword(), phone); + 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(); - log.info("call OtpService sendByEmail, url = {}, systemType = {}, service password = {}, email = {}", - applicationProperty.getOtpWebServiceUrl(), applicationProperty.getOtpWebServiceSystemType(), applicationProperty.getOtpWebServicePassword(), email); + 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); - return new OtpResponseDTO(result); + return new OtpResponseDTO(result.getItem()); } - public OtpResponseDTO verifyOTP(String indexKey, String otpCode) throws ServiceException, RemoteException { - OtpWebServicePortBindingStub stub = getOtpWebServicePortBindingStub(); - log.info("call OtpService verifyOTP, url = {}, systemType = {}, service password = {}, indexKey = {}, otpCode = {}", - applicationProperty.getOtpWebServiceUrl(), applicationProperty.getOtpWebServiceSystemType(), applicationProperty.getOtpWebServicePassword(), indexKey, otpCode); + 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); - String[] result = - stub.verifyOtp(applicationProperty.getOtpWebServicePassword(), applicationProperty.getOtpWebServiceSystemType(), indexKey, otpCode); + StringArray result = + otpWS.verifyOtp(applicationProperty.getOtpWebServicePassword(), applicationProperty.getOtpWebServiceSystemType(), indexKey, otpCode); - return new OtpResponseDTO(result); + return new OtpResponseDTO(result.getItem()); } - public OtpWebServicePortBindingStub getOtpWebServicePortBindingStub() throws ServiceException { - OtpWebServiceLocator locator = new OtpWebServiceLocator(); - locator.setOtpWebServicePortEndpointAddress(applicationProperty.getOtpWebServiceUrl()); - - return (OtpWebServicePortBindingStub) locator.getOtpWebServicePort(); + 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); + } } } -- Gitblit v1.8.0