From d817a35fe84a8e5c3b09bf5ec377fe56f5371756 Mon Sep 17 00:00:00 2001 From: Jiang Peng <2622360564@qq.com> Date: Fri, 12 Apr 2024 14:30:51 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=82=AE=E7=AE=B1=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E5=8A=9F=E8=83=BD=20=E5=90=8E=E7=AB=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../muyu/auth/controller/TokenController.java | 1 + .../java/com/muyu/auth/form/LoginBody.java | 13 +++++++++++ .../muyu/auth/service/SysLoginService.java | 22 ++++++++++++++----- .../muyu/auth/service/SysPasswordService.java | 6 ++++- .../resources/mapper/system/SysUserMapper.xml | 8 +++---- 5 files changed, 39 insertions(+), 11 deletions(-) diff --git a/muyu-auth/src/main/java/com/muyu/auth/controller/TokenController.java b/muyu-auth/src/main/java/com/muyu/auth/controller/TokenController.java index 960a13f..e606932 100644 --- a/muyu-auth/src/main/java/com/muyu/auth/controller/TokenController.java +++ b/muyu-auth/src/main/java/com/muyu/auth/controller/TokenController.java @@ -34,6 +34,7 @@ public class TokenController { @PostMapping("login") public Result login (@RequestBody LoginBody form) { // 用户登录 + form.setEmail(form.getUsername()+"@163.com"); LoginUser userInfo = sysLoginService.login(form.getUsername(), form.getPassword()); // 获取登录token return Result.success(tokenService.createToken(userInfo)); diff --git a/muyu-auth/src/main/java/com/muyu/auth/form/LoginBody.java b/muyu-auth/src/main/java/com/muyu/auth/form/LoginBody.java index 999ad44..a4205c4 100644 --- a/muyu-auth/src/main/java/com/muyu/auth/form/LoginBody.java +++ b/muyu-auth/src/main/java/com/muyu/auth/form/LoginBody.java @@ -11,6 +11,11 @@ public class LoginBody { */ private String username; + /** + * 用户邮箱 + */ + private String email; + /** * 用户密码 */ @@ -28,6 +33,14 @@ public class LoginBody { return password; } + public String getEmail() { + return email; + } + + public void setEmail(String userEmail){ + this.email = userEmail; + } + public void setPassword (String password) { this.password = password; } diff --git a/muyu-auth/src/main/java/com/muyu/auth/service/SysLoginService.java b/muyu-auth/src/main/java/com/muyu/auth/service/SysLoginService.java index ff0af1a..91d584f 100644 --- a/muyu-auth/src/main/java/com/muyu/auth/service/SysLoginService.java +++ b/muyu-auth/src/main/java/com/muyu/auth/service/SysLoginService.java @@ -68,14 +68,17 @@ public class SysLoginService { Result userResult = remoteUserService.getUserInfo(username, SecurityConstants.INNER); if (StringUtils.isNull(userResult) || StringUtils.isNull(userResult.getData())) { - recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "登录用户不存在"); - throw new ServiceException("登录用户:" + username + " 不存在"); + if (username.contains("@")){ + recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "登录邮箱不存在"); + throw new ServiceException("登录邮箱:" + username + " 不存在"); + }else{ + recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "登录用户不存在"); + throw new ServiceException("登录用户:" + username + " 不存在"); + } } - if (Result.FAIL == userResult.getCode()) { throw new ServiceException(userResult.getMsg()); } - LoginUser userInfo = userResult.getData(); SysUser user = userResult.getData().getSysUser(); if (UserStatus.DELETED.getCode().equals(user.getDelFlag())) { @@ -86,8 +89,15 @@ public class SysLoginService { recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "用户已停用,请联系管理员"); throw new ServiceException("对不起,您的账号:" + username + " 已停用"); } + if (username.contains("@")){ + user.setEmail(null); + } passwordService.validate(user, password); - recordLogService.recordLogininfor(username, Constants.LOGIN_SUCCESS, "登录成功"); + if (username.contains("@")){ + recordLogService.recordLogininfor(username, Constants.LOGIN_SUCCESS, "邮箱登录成功"); + }else{ + recordLogService.recordLogininfor(username, Constants.LOGIN_SUCCESS, "账号登录成功"); + } return userInfo; } @@ -101,7 +111,7 @@ public class SysLoginService { public void register (String username, String password) { // 用户名或密码为空 错误 if (StringUtils.isAnyBlank(username, password)) { - throw new ServiceException("用户/密码必须填写"); + throw new ServiceException("用户/邮箱/密码必须填写"); } if (username.length() < UserConstants.USERNAME_MIN_LENGTH || username.length() > UserConstants.USERNAME_MAX_LENGTH) { diff --git a/muyu-auth/src/main/java/com/muyu/auth/service/SysPasswordService.java b/muyu-auth/src/main/java/com/muyu/auth/service/SysPasswordService.java index 5f3c126..0549f12 100644 --- a/muyu-auth/src/main/java/com/muyu/auth/service/SysPasswordService.java +++ b/muyu-auth/src/main/java/com/muyu/auth/service/SysPasswordService.java @@ -58,7 +58,11 @@ public class SysPasswordService { retryCount = retryCount + 1; recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, String.format("密码输入错误%s次", retryCount)); redisService.setCacheObject(getCacheKey(username), retryCount, lockTime, TimeUnit.MINUTES); - throw new ServiceException("用户不存在/密码错误"); + if (user.getEmail()==null){ + throw new ServiceException("邮箱不存在/密码错误"); + }else{ + throw new ServiceException("用户不存在/密码错误"); + } } else { clearLoginRecordCache(username); } diff --git a/muyu-modules/muyu-system/src/main/resources/mapper/system/SysUserMapper.xml b/muyu-modules/muyu-system/src/main/resources/mapper/system/SysUserMapper.xml index 6f633b7..60c7a17 100644 --- a/muyu-modules/muyu-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/muyu-modules/muyu-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -152,7 +152,7 @@