设置密码添加邮箱

This commit is contained in:
wuchunlei
2023-12-26 11:18:11 +08:00
parent 6c6887c629
commit e85ad408a6

View File

@@ -222,12 +222,12 @@ public class MyUserController {
@RequestMapping("/getMailCaptcha") @RequestMapping("/getMailCaptcha")
public R getMailCaptcha(String email) throws Exception { public R getMailCaptcha(String email) throws Exception {
//验证一分钟内是否已经发过 //验证一分钟内是否已经发过
String redisCode = redisTemplate.opsForValue().get("RegistEMail" + email); String redisCode = redisTemplate.opsForValue().get("RegistCode" + email);
if (!StringUtils.isEmpty(redisCode)) { if (!StringUtils.isEmpty(redisCode)) {
long l = Long.parseLong(redisCode.split("_")[1]); long l = Long.parseLong(redisCode.split("_")[1]);
if (System.currentTimeMillis() - l < 60000) { if (System.currentTimeMillis() - l < 60000) {
//60s 内不能再发 //60s 内不能再发
return R.error(500,"邮箱验证码频率过高,请稍后再试!"); return R.error(500,"验证码频率过高,请稍后再试!");
} }
} }
//生成随机五位数 //生成随机五位数
@@ -235,7 +235,7 @@ public class MyUserController {
String code = random.nextInt(99999) + ""; String code = random.nextInt(99999) + "";
String timeCode = code + "_"+System.currentTimeMillis(); String timeCode = code + "_"+System.currentTimeMillis();
//redis 缓存验证码 //redis 缓存验证码
redisTemplate.opsForValue().set("RegistEMail"+email,timeCode,5, TimeUnit.MINUTES); redisTemplate.opsForValue().set("RegistCode"+email,timeCode,5, TimeUnit.MINUTES);
//发送 //发送
return MailUtil.sendMail("疯子读书邮箱验证码",code,email); return MailUtil.sendMail("疯子读书邮箱验证码",code,email);
} }
@@ -279,11 +279,11 @@ public class MyUserController {
String redisCode = redisTemplate.opsForValue().get("RegistCode" + tel); String redisCode = redisTemplate.opsForValue().get("RegistCode" + tel);
System.out.println(redisCode); System.out.println(redisCode);
if (StringUtils.isEmpty(redisCode)){ if (StringUtils.isEmpty(redisCode)){
return R.error(500,"短信验证码已过期,请重试"); return R.error(500,"验证码已过期,请重试");
} }
String lcode = redisCode.split("_")[0]; String lcode = redisCode.split("_")[0];
if (!lcode.equals(code)) { if (!lcode.equals(code)) {
return R.error(500,"短信验证码不符!"); return R.error(500,"验证码不符!");
} }
//查询是否存在当前用户手机号 //查询是否存在当前用户手机号
LambdaQueryWrapper<MyUserEntity> wrapper = new LambdaQueryWrapper(); LambdaQueryWrapper<MyUserEntity> wrapper = new LambdaQueryWrapper();
@@ -334,6 +334,7 @@ public class MyUserController {
for (MyUserEntity user : userList) { for (MyUserEntity user : userList) {
if (user.getPassword() == null) { if (user.getPassword() == null) {
flag++; flag++;
continue;
} }
if (MD5Utils.getSaltverifyMD5(password,user.getPassword())){ if (MD5Utils.getSaltverifyMD5(password,user.getPassword())){
R r = sysUserTokenService.createToken(user.getId()); R r = sysUserTokenService.createToken(user.getId());
@@ -354,34 +355,29 @@ public class MyUserController {
public R setPassword(@RequestParam("phone") String phone, public R setPassword(@RequestParam("phone") String phone,
@RequestParam("password") String password, @RequestParam("password") String password,
@RequestParam("code") String code) { @RequestParam("code") String code) {
String redisCode = redisTemplate.opsForValue().get("RegistCode" + phone); String redisCode = redisTemplate.opsForValue().get("RegistCode" + phone);
System.out.println(redisCode); System.out.println(redisCode);
if (StringUtils.isEmpty(redisCode)){ if (StringUtils.isEmpty(redisCode)){
return R.error(500,"短信验证码已过期,请重试"); return R.error(500,"验证码已过期,请重试");
} }
String lcode = redisCode.split("_")[0]; String lcode = redisCode.split("_")[0];
if (!lcode.equals(code)) { if (!lcode.equals(code)) {
return R.error(500,"短信验证码不符!"); return R.error(500,"验证码不符!");
} }
//查询是否存在当前用户手机号 //查询是否存在当前用户手机号
MyUserEntity userEntity = userService.getBaseMapper().selectOne(new QueryWrapper<MyUserEntity>().eq("tel", phone)); LambdaQueryWrapper<MyUserEntity> wrapper = new LambdaQueryWrapper<>();
if (userEntity == null) { if (phone.contains("@")){
// 用户不存在则创建用户 注册成功 wrapper.eq(MyUserEntity::getEmail, phone);
return R.error(500,"当前用户手机号不存在!"); }else {
wrapper.eq(MyUserEntity::getTel, phone);
}
MyUserEntity userEntity = userService.getBaseMapper().selectOne(wrapper);
if (userEntity == null) {
return R.error(500,"当前用户不存在!");
} }
String saltMD5 = MD5Utils.getSaltMD5(password); String saltMD5 = MD5Utils.getSaltMD5(password);
userEntity.setPassword(saltMD5); userEntity.setPassword(saltMD5);
userService.updateById(userEntity); userService.updateById(userEntity);
return R.ok("成功"); return R.ok("成功");
} }