From f0f00e9ba8a755e4317e029d73b69a92ad9f9df1 Mon Sep 17 00:00:00 2001
From: kongzy <kongzy>
Date: 星期六, 14 九月 2024 17:02:41 +0800
Subject: [PATCH] update

---
 exam-framework/src/main/java/com/gkhy/exam/framework/web/service/SysLoginService.java |   23 ++++++++++++++++-------
 1 files changed, 16 insertions(+), 7 deletions(-)

diff --git a/exam-framework/src/main/java/com/gkhy/exam/framework/web/service/SysLoginService.java b/exam-framework/src/main/java/com/gkhy/exam/framework/web/service/SysLoginService.java
index a9bbf57..bcde6f7 100644
--- a/exam-framework/src/main/java/com/gkhy/exam/framework/web/service/SysLoginService.java
+++ b/exam-framework/src/main/java/com/gkhy/exam/framework/web/service/SysLoginService.java
@@ -25,6 +25,7 @@
 import org.springframework.stereotype.Component;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
 import java.time.LocalDateTime;
 
 @Component
@@ -39,6 +40,8 @@
     private TokenService tokenService;
     @Autowired
     private ExStudentService studentService;
+    @Autowired
+    private HttpServletRequest request;
 
 
 
@@ -87,18 +90,18 @@
             authentication = authenticationManager.authenticate(authenticationToken);
             LoginUserDetails loginUserDetails= (LoginUserDetails) authentication.getPrincipal();
             passwordService.validate(loginUserDetails.getUser(),password);
-            AsyncManager.me().execute(AsyncFactory.recordLoginInfo(username, Constant.LOGIN_SUCCESS, "登录成功"));
+        //    AsyncManager.me().execute(AsyncFactory.recordLoginInfo(username, Constant.LOGIN_SUCCESS, "登录成功"));
             recordLoginInfo(loginUserDetails.getUser().getId(),LoginUserTagEnum.ADMIN_USER);
             return createLoginUser(loginUserDetails,LoginUserTagEnum.ADMIN_USER);
         }catch (Exception e){
             if (e instanceof BadCredentialsException)
             {
-                AsyncManager.me().execute(AsyncFactory.recordLoginInfo(username, Constant.LOGIN_FAIL, "用户密码不匹配"));
+             //   AsyncManager.me().execute(AsyncFactory.recordLoginInfo(username, Constant.LOGIN_FAIL, "用户密码不匹配"));
                 throw new ApiException("用户密码不匹配");
             }
             else
             {
-                AsyncManager.me().execute(AsyncFactory.recordLoginInfo(username, Constant.LOGIN_FAIL, e.getMessage()));
+              //  AsyncManager.me().execute(AsyncFactory.recordLoginInfo(username, Constant.LOGIN_FAIL, e.getMessage()));
                 throw new ApiException(e.getMessage());
             }
         }finally {
@@ -125,18 +128,18 @@
             authentication = authenticationManager.authenticate(authenticationToken);
             LoginUserDetails loginUserDetails= (LoginUserDetails) authentication.getPrincipal();
             passwordService.validate(loginUserDetails.getUser(),password);
-            AsyncManager.me().execute(AsyncFactory.recordLoginInfo(username, Constant.LOGIN_SUCCESS, "登录成功"));
+        //    AsyncManager.me().execute(AsyncFactory.recordLoginInfo(username, Constant.LOGIN_SUCCESS, "登录成功"));
             recordLoginInfo(loginUserDetails.getUser().getId(),LoginUserTagEnum.STUDENT_USER);
             return createLoginUser(loginUserDetails,LoginUserTagEnum.STUDENT_USER);
         }catch (Exception e){
             if (e instanceof BadCredentialsException)
             {
-                AsyncManager.me().execute(AsyncFactory.recordLoginInfo(username, Constant.LOGIN_FAIL, "用户密码不匹配"));
+               // AsyncManager.me().execute(AsyncFactory.recordLoginInfo(username, Constant.LOGIN_FAIL, "用户密码不匹配"));
                 throw new ApiException("用户密码不匹配");
             }
             else
             {
-                AsyncManager.me().execute(AsyncFactory.recordLoginInfo(username, Constant.LOGIN_FAIL, e.getMessage()));
+               // AsyncManager.me().execute(AsyncFactory.recordLoginInfo(username, Constant.LOGIN_FAIL, e.getMessage()));
                 throw new ApiException(e.getMessage());
             }
         }finally {
@@ -148,7 +151,8 @@
     private LoginUser createLoginUser(LoginUserDetails loginUserDetails,LoginUserTagEnum loginUserTagEnum){
         LoginUser loginUser= new LoginUser()
                 .setId(loginUserDetails.getUser().getId())
-                .setUsername(loginUserDetails.getUsername());
+                .setUsername(loginUserDetails.getUsername())
+                .setCompanyId(loginUserDetails.getUser().getCompanyId());
         loginUser.setToken(tokenService.createToken(loginUserDetails.getUsername()+loginUserTagEnum.getCode()));
         tokenService.cacheUserToken(loginUserDetails.getUsername(),loginUser.getToken());
         return loginUser;
@@ -192,6 +196,11 @@
     }
 
 
+    public void logout(){
+        tokenService.delTokenCache(request);
+    }
+
+
 
 
 }

--
Gitblit v1.9.2