From 3e1d9a15ec902447f566e7b0dea9d0503230288c Mon Sep 17 00:00:00 2001 From: wayne <wayne8692wayne8692@gmail.com> Date: 星期三, 01 十二月 2021 16:48:42 +0800 Subject: [PATCH] [ADD]【todo 131457, 131458】預約單瀏覽與查看時間紀錄API --- pamapi/src/main/java/com/pollex/pam/service/OtpUtilService.java | 30 +++++++++++++++++------------- 1 files changed, 17 insertions(+), 13 deletions(-) diff --git a/pamapi/src/main/java/com/pollex/pam/service/OtpUtilService.java b/pamapi/src/main/java/com/pollex/pam/service/OtpUtilService.java index c9a949f..69673b4 100644 --- a/pamapi/src/main/java/com/pollex/pam/service/OtpUtilService.java +++ b/pamapi/src/main/java/com/pollex/pam/service/OtpUtilService.java @@ -2,6 +2,7 @@ import com.pollex.pam.domain.OtpTmp; import com.pollex.pam.enums.OtpTmpStatusEnum; +import com.pollex.pam.web.rest.errors.OtpLoginFailException; import com.pollex.pam.web.rest.vm.VerifyOtpVM; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -10,7 +11,6 @@ import org.springframework.stereotype.Service; import com.pollex.pam.config.ApplicationProperties; -import com.pollex.pam.security.provider.OtpAuthenticationProvider; import com.pollex.pam.service.dto.OtpResponseDTO; import org.springframework.transaction.annotation.Transactional; @@ -28,6 +28,9 @@ @Autowired OtpTmpService otpTmpService; + @Autowired + LoginRecordService loginRecordService; + @Transactional public void verifyOtp(VerifyOtpVM verifyOtpParam) { verifyOtp(verifyOtpParam.getAccount(), verifyOtpParam.getIndexKey(), verifyOtpParam.getOtpCode()); @@ -35,20 +38,21 @@ @Transactional public void verifyOtp(String account, String indexKey, String otpCode) { - try { - if(applicationProperty.isMockLogin()){ - log.debug("Do MockLogin"); - } else { // otp logon - OtpResponseDTO otpResponseDTO = otpWebService.verifyOTP(indexKey, otpCode); - if (!otpResponseDTO.isSuccess()) { - throw new AuthenticationCredentialsNotFoundException(""); - } + if (applicationProperty.isMockLogin()) { + log.debug("Do MockLogin"); + } else { // otp logon + OtpResponseDTO otpResponseDTO = otpWebService.verifyOTP(indexKey, otpCode); + if (otpResponseDTO.isSuccess()) { + log.info("otp login success!, account = {}", account); } - setVerrifiedOtpTmp(account, indexKey); - } catch (Exception e) { - log.error("Exception: ", e); - throw new AuthenticationCredentialsNotFoundException(""); + else { + log.info("otp login fail... , account = {}, error code = {}, failReason = {}", account, otpResponseDTO.getFailCode(), otpResponseDTO.getFailReason()); + loginRecordService.saveOTPLoginFailRecord(account, otpResponseDTO.getFailReason()); + throw new OtpLoginFailException(otpResponseDTO.getFailReason()); + } } + loginRecordService.saveOTPLoginSuccessRecord(account); + setVerrifiedOtpTmp(account, indexKey); } private void setVerrifiedOtpTmp(String account, String indexKey) { -- Gitblit v1.8.0