From 252ff34bc546fab3adf1ca1ee7ea890618609811 Mon Sep 17 00:00:00 2001 From: TinyAnts Date: Mon, 5 Sep 2022 17:50:31 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=BF=98=E8=AE=B0=E5=AF=86?= =?UTF-8?q?=E7=A0=81=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mdd/front/controller/LoginController.java | 14 ++++++- .../front/service/impl/LoginServiceImpl.java | 38 ++++++++++++++++++- 2 files changed, 50 insertions(+), 2 deletions(-) diff --git a/server/like-front/src/main/java/com/mdd/front/controller/LoginController.java b/server/like-front/src/main/java/com/mdd/front/controller/LoginController.java index d9f04932..3fe485db 100644 --- a/server/like-front/src/main/java/com/mdd/front/controller/LoginController.java +++ b/server/like-front/src/main/java/com/mdd/front/controller/LoginController.java @@ -2,7 +2,6 @@ package com.mdd.front.controller; import com.baomidou.mybatisplus.core.toolkit.Assert; import com.mdd.common.core.AjaxResult; -import com.mdd.common.enums.ClientEnum; import com.mdd.front.service.ILoginService; import com.mdd.front.validate.RegisterParam; import org.springframework.validation.annotation.Validated; @@ -60,4 +59,17 @@ public class LoginController { return AjaxResult.success(map); } + /** + * 忘记密码 + * + * @author fzr + * @param params 参数 + * @return Object + */ + @PostMapping("/forgotPassword") + public Object forgotPassword(@RequestBody Map params) { + iLoginService.forgotPassword(params); + return AjaxResult.success(); + } + } diff --git a/server/like-front/src/main/java/com/mdd/front/service/impl/LoginServiceImpl.java b/server/like-front/src/main/java/com/mdd/front/service/impl/LoginServiceImpl.java index 8612b0e9..63388edd 100644 --- a/server/like-front/src/main/java/com/mdd/front/service/impl/LoginServiceImpl.java +++ b/server/like-front/src/main/java/com/mdd/front/service/impl/LoginServiceImpl.java @@ -193,7 +193,7 @@ public class LoginServiceImpl implements ILoginService { } // 删除验证码 - RedisUtil.del(FrontConfig.frontendSmsCode+code); + RedisUtil.del(FrontConfig.frontendSmsCode+mobile); // 查询手机号 User user = userMapper.selectOne(new QueryWrapper() @@ -248,9 +248,45 @@ public class LoginServiceImpl implements ILoginService { return response; } + /** + * 忘记密码 + * + * @author fzr + * @param params 参数 + */ @Override public void forgotPassword(Map params) { + Assert.notNull(params.get("mobile"), "mobile参数缺失!"); + Assert.notNull(params.get("code"), "code参数缺失!"); + Assert.notNull(params.get("password"), "password参数缺失!"); + String mobile = params.get("mobile"); + String code = params.get("code"); + String password = params.get("password"); + // 校验验证码 + Object smsCode = RedisUtil.get(FrontConfig.frontendSmsCode+mobile); + if (StringUtil.isNull(smsCode) || !smsCode.toString().equals(code)) { + throw new OperateException("验证码错误!"); + } + + // 删除验证码 + RedisUtil.del(FrontConfig.frontendSmsCode+mobile); + + // 查询手机号 + User user = userMapper.selectOne(new QueryWrapper() + .select("id,username,mobile,is_disable") + .eq("is_delete", 0) + .eq("mobile", mobile) + .last("limit 1")); + + // 验证账号 + Assert.notNull(user, "账号不存在!"); + String pwd = ToolsUtil.makeMd5(password+user.getSalt()); + + // 更新密码 + user.setPassword(pwd); + user.setUpdateTime(System.currentTimeMillis() / 1000); + userMapper.updateById(user); } /**