From 4b1639583efdb417cdf9a999a74d6d17835cc252 Mon Sep 17 00:00:00 2001
From: wayne <wayne8692wayne8692@gmail.com>
Date: 星期一, 29 十一月 2021 16:40:04 +0800
Subject: [PATCH] [add] 客戶、顧問登入紀錄

---
 pamapi/src/main/java/com/pollex/pam/security/provider/EServiceAuthenticationProvider.java |   16 ++++++++++------
 1 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/pamapi/src/main/java/com/pollex/pam/security/provider/EServiceAuthenticationProvider.java b/pamapi/src/main/java/com/pollex/pam/security/provider/EServiceAuthenticationProvider.java
index 0f7db32..a23c399 100644
--- a/pamapi/src/main/java/com/pollex/pam/security/provider/EServiceAuthenticationProvider.java
+++ b/pamapi/src/main/java/com/pollex/pam/security/provider/EServiceAuthenticationProvider.java
@@ -1,14 +1,12 @@
 package com.pollex.pam.security.provider;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
 import com.pollex.pam.config.ApplicationProperties;
 import com.pollex.pam.domain.Consultant;
 import com.pollex.pam.enums.ConsultantDetailEnum;
-import com.pollex.pam.enums.CustomerDetailEnum;
 import com.pollex.pam.repository.ConsultantRepository;
 import com.pollex.pam.security.token.EServiceAuthenticationToken;
-import com.pollex.pam.service.dto.EServiceRequest;
+import com.pollex.pam.service.LoginRecordService;
 import com.pollex.pam.service.dto.EServiceResponse;
 import org.apache.http.conn.ssl.NoopHostnameVerifier;
 import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
@@ -22,7 +20,6 @@
 import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
 import org.springframework.http.converter.HttpMessageConverter;
 import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
-import org.springframework.security.authentication.AuthenticationCredentialsNotFoundException;
 import org.springframework.security.authentication.AuthenticationServiceException;
 import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
 import org.springframework.security.core.Authentication;
@@ -54,11 +51,15 @@
     @Autowired
     ConsultantRepository consultantRepository;
 
+    @Autowired
+    LoginRecordService loginRecordService;
+
     public Authentication authenticate(EServiceAuthenticationToken authenticationToken) throws AuthenticationException {
         String account = authenticationToken.getPrincipal();
         String credentials = authenticationToken.getCredentials();
 
         if(applicationProperty.isMockLogin()){
+            loginRecordService.saveEServiceLoginSuccessRecord(account);
             return getConsultantToken(account, credentials);
         }
 
@@ -68,10 +69,13 @@
                 EServiceResponse eServiceResponse = responseEntity.getBody();
 
                 if(E_SERVICE_LOGIN_SUCCESS_CODE.equals(eServiceResponse.getCode())){
+                    loginRecordService.saveEServiceLoginSuccessRecord(account);
                     return getConsultantToken(account, credentials);
                 }
-
-                throw new RuntimeException("eService login failed, eService response code = " + eServiceResponse.getCode() + ", eService response msg = " + eServiceResponse.getMsg());
+                else {
+                    loginRecordService.saveEServiceLoginFailRecord(account, eServiceResponse.getMsg());
+                    throw new RuntimeException("eService login failed, eService response code = " + eServiceResponse.getCode() + ", eService response msg = " + eServiceResponse.getMsg());
+                }
             }
 
             throw new RuntimeException("eService http error!, response http status code = " + responseEntity.getStatusCode());

--
Gitblit v1.8.0