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