diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/CompanyLoginController.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/CompanyLoginController.java index a077ef1d..65ce63d2 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/CompanyLoginController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/CompanyLoginController.java @@ -103,6 +103,11 @@ public class CompanyLoginController { //update-end-author:wangshuai date:20200601 for: 登录代码验证用户是否注销bug,if条件永远为false if (Objects.isNull(contactsManagement)) { throw new JeroBootException("用户名或密码错误"); + }else { + if (StringUtils.isBlank(contactsManagement.getPassword())){ + result.setMessage("updatePassword"); + return result; + } } // 若用户名有效,则查询该账号的登陆失败次数是否符合等保要求 diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java index 468b5546..c94c4967 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java @@ -868,7 +868,6 @@ public class SysUserController { //@RequiresRoles({"admin"}) @RequestMapping(value = "/updatePassword", method = RequestMethod.POST) public Result changePassword(@RequestBody JSONObject json) { - LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); String username = json.getString("username"); String oldPassword = json.getString("oldpassword"); String password = json.getString("password"); diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java index 68fe382d..d8ec55f6 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java @@ -483,6 +483,7 @@ public class SysUserServiceImpl extends ServiceImpl impl public void verificationChangePassword(SysLoginVO loginVO) { fPRuleCheck(loginVO); //前端传入密码解密 + String username = loginVO.getUsername(); String phone = loginVO.getPhone(); String password = loginVO.getPassword(); String verifyPassword = loginVO.getVerifyPassword(); @@ -507,15 +508,18 @@ public class SysUserServiceImpl extends ServiceImpl impl throw new JeroBootException("验证码错误!"); } - if (!password.equals(verifyPassword)) { - throw new JeroBootException("新密码和确认密码不一致,请重新输入"); - } LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(SysUser::getPhone, PasswordUtil.encrypt(phone)); + queryWrapper.eq(SysUser::getUsername, username); SysUser sysUser = this.getOne(queryWrapper); if (ObjectUtils.isEmpty(sysUser)) { throw new JeroBootException("用户不存在"); } + + if (!password.equals(verifyPassword)) { + throw new JeroBootException("新密码和确认密码不一致,请重新输入"); + } + String passwordEncode = PasswordUtil.encrypt(sysUser.getUsername(), password, sysUser.getSalt()); sysUser.setPassword(passwordEncode); userMapper.forgetPassword(sysUser);