From e85ad408a6caac25ae1fd1ed2a20cfcc764c3311 Mon Sep 17 00:00:00 2001 From: wuchunlei Date: Tue, 26 Dec 2023 11:18:11 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E5=AF=86=E7=A0=81=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E9=82=AE=E7=AE=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../book/controller/MyUserController.java | 38 +++++++++---------- 1 file changed, 17 insertions(+), 21 deletions(-) diff --git a/src/main/java/com/peanut/modules/book/controller/MyUserController.java b/src/main/java/com/peanut/modules/book/controller/MyUserController.java index d6728f9b..7fc84c89 100644 --- a/src/main/java/com/peanut/modules/book/controller/MyUserController.java +++ b/src/main/java/com/peanut/modules/book/controller/MyUserController.java @@ -222,12 +222,12 @@ public class MyUserController { @RequestMapping("/getMailCaptcha") 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)) { long l = Long.parseLong(redisCode.split("_")[1]); if (System.currentTimeMillis() - l < 60000) { //60s 内不能再发 - return R.error(500,"邮箱验证码频率过高,请稍后再试!"); + return R.error(500,"验证码频率过高,请稍后再试!"); } } //生成随机五位数 @@ -235,7 +235,7 @@ public class MyUserController { String code = random.nextInt(99999) + ""; String timeCode = code + "_"+System.currentTimeMillis(); //redis 缓存验证码 - redisTemplate.opsForValue().set("RegistEMail"+email,timeCode,5, TimeUnit.MINUTES); + redisTemplate.opsForValue().set("RegistCode"+email,timeCode,5, TimeUnit.MINUTES); //发送 return MailUtil.sendMail("疯子读书邮箱验证码",code,email); } @@ -279,11 +279,11 @@ public class MyUserController { String redisCode = redisTemplate.opsForValue().get("RegistCode" + tel); System.out.println(redisCode); if (StringUtils.isEmpty(redisCode)){ - return R.error(500,"短信验证码已过期,请重试"); + return R.error(500,"验证码已过期,请重试"); } String lcode = redisCode.split("_")[0]; if (!lcode.equals(code)) { - return R.error(500,"短信验证码不符!"); + return R.error(500,"验证码不符!"); } //查询是否存在当前用户手机号 LambdaQueryWrapper wrapper = new LambdaQueryWrapper(); @@ -334,6 +334,7 @@ public class MyUserController { for (MyUserEntity user : userList) { if (user.getPassword() == null) { flag++; + continue; } if (MD5Utils.getSaltverifyMD5(password,user.getPassword())){ R r = sysUserTokenService.createToken(user.getId()); @@ -354,34 +355,29 @@ public class MyUserController { public R setPassword(@RequestParam("phone") String phone, @RequestParam("password") String password, @RequestParam("code") String code) { - String redisCode = redisTemplate.opsForValue().get("RegistCode" + phone); - System.out.println(redisCode); - if (StringUtils.isEmpty(redisCode)){ - return R.error(500,"短信验证码已过期,请重试"); + return R.error(500,"验证码已过期,请重试"); } - String lcode = redisCode.split("_")[0]; - if (!lcode.equals(code)) { - return R.error(500,"短信验证码不符!"); + return R.error(500,"验证码不符!"); } - //查询是否存在当前用户手机号 - MyUserEntity userEntity = userService.getBaseMapper().selectOne(new QueryWrapper().eq("tel", phone)); - if (userEntity == null) { - // 用户不存在则创建用户 注册成功 - return R.error(500,"当前用户手机号不存在!"); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if (phone.contains("@")){ + wrapper.eq(MyUserEntity::getEmail, phone); + }else { + wrapper.eq(MyUserEntity::getTel, phone); + } + MyUserEntity userEntity = userService.getBaseMapper().selectOne(wrapper); + if (userEntity == null) { + return R.error(500,"当前用户不存在!"); } - String saltMD5 = MD5Utils.getSaltMD5(password); - userEntity.setPassword(saltMD5); - userService.updateById(userEntity); - return R.ok("成功"); }