From b0cac5f13a8af64e9c50f2e0d73a6626bec92252 Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期五, 21 七月 2023 14:15:25 +0800
Subject: [PATCH] 增加app一键报警业务 优化全局报警包名

---
 ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java |   40 ++++++++++++++++++++++++++++++++++++++--
 1 files changed, 38 insertions(+), 2 deletions(-)

diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
index ffdf51c..cd67a89 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
@@ -95,7 +95,43 @@
         getRongCloudToken(loginUser);
         return token;
     }
-
+    public String login(String username, String password, String code, String uuid,Boolean isApp) {
+        boolean captchaEnabled = configService.selectCaptchaEnabled();
+        // 楠岃瘉鐮佸紑鍏�
+        if (captchaEnabled) {
+            validateCaptcha(username, code, uuid);
+        }
+        // 鐢ㄦ埛楠岃瘉
+        Authentication authentication = null;
+        try {
+            UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(username, password);
+            AuthenticationContextHolder.setContext(authenticationToken);
+            // 璇ユ柟娉曚細鍘昏皟鐢║serDetailsServiceImpl.loadUserByUsername
+            authentication = authenticationManager.authenticate(authenticationToken);
+        } catch (Exception e) {
+            if (e instanceof BadCredentialsException) {
+                AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.password.not.match")));
+                throw new UserPasswordNotMatchException();
+            } else {
+                AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, e.getMessage()));
+                throw new ServiceException(e.getMessage());
+            }
+        } finally {
+            AuthenticationContextHolder.clearContext();
+        }
+        AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success")));
+        LoginUser loginUser = (LoginUser) authentication.getPrincipal();
+        recordLoginInfo(loginUser.getUserId());
+        // 鐢熸垚token
+        if(StringUtils.isNotNull(isApp))
+        {
+            loginUser.setIsApp(isApp);
+        }
+        String token = tokenService.createToken(loginUser);
+        //鑾峰彇铻嶄簯token
+        getRongCloudToken(loginUser);
+        return token;
+    }
     /**
      * 鏍¢獙楠岃瘉鐮�
      *
@@ -143,7 +179,7 @@
             SysUser sysUser = new SysUser();
             sysUser.setUserId(userId);
             sysUser.setRongCloudToken(token);
-            userService.updateUser(sysUser);
+            userService.updateUserProfile(sysUser);
         } catch (Exception ex) {
             throw ex;
         }

--
Gitblit v1.9.3