注册生成随机nickname,忘记密码和修改密码一个接口

This commit is contained in:
sunyuehai 2024-09-18 23:12:18 +08:00
parent b9ab1c0d4a
commit 2ed504b389
3 changed files with 20 additions and 5 deletions

View File

@ -173,9 +173,10 @@ public class EqUserController extends BaseController {
validateEmailCode(bo.getTenantId(), bo.getUsername(), bo.getCode());
SysUserVo user = userService.selectUserById(LoginHelper.getUserId());
String password = user.getPassword();
// if (!BCrypt.checkpw(bo.getOldPassword(), password)) {
// return R.fail("修改密码失败,旧密码错误");
// }
//bo.getOldPassword()不为空
if (StringUtils.isNotEmpty(bo.getOldPassword())&&!BCrypt.checkpw(bo.getOldPassword(), password)) {
return R.fail("修改密码失败,旧密码错误");
}
if (BCrypt.checkpw(bo.getNewPassword(), password)) {
return R.fail("新密码不能与旧密码相同");
}

View File

@ -9,7 +9,7 @@ import static org.dromara.common.core.constant.UserConstants.USERNAME_MAX_LENGTH
import static org.dromara.common.core.constant.UserConstants.USERNAME_MIN_LENGTH;
@Data
public class EqSysUserPasswordBo {
public class EqSysUserPasswordBo extends SysUserPasswordBo {
/**
* 用户名
*/
@ -30,5 +30,9 @@ public class EqSysUserPasswordBo {
*/
@NotBlank(message = "新密码不能为空")
private String newPassword;
/**
* 旧密码
*/
private String oldPassword;
}

View File

@ -24,6 +24,8 @@ import org.dromara.system.mapper.SysUserMapper;
import org.dromara.system.service.ISysUserService;
import org.springframework.stereotype.Service;
import java.util.Random;
/**
* 注册校验方法
*
@ -54,7 +56,7 @@ public class SysRegisterService {
}
SysUserBo sysUser = new SysUserBo();
sysUser.setUserName(username);
sysUser.setNickName(username);
sysUser.setNickName("mock_"+createNonceStr());
sysUser.setPassword(BCrypt.hashpw(password));
sysUser.setUserType(userType);
@ -71,6 +73,14 @@ public class SysRegisterService {
}
recordLogininfor(tenantId, username, Constants.REGISTER, MessageUtils.message("user.register.success"));
}
public static String createNonceStr(){
String sl = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
StringBuilder sb = new StringBuilder();
for(int i = 0 ; i < 10 ; i ++){
sb.append(sl.charAt(new Random().nextInt(sl.length())));
}
return sb.toString();
}
/**
* 校验验证码