瀏覽代碼

重置密码

黄远 5 年之前
父節點
當前提交
fce956521c

+ 12 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/user/controller/LoginController.java

@@ -157,4 +157,16 @@ public class LoginController {
         return RestResponse.error(ApiConstants.RESULT_ERROR, "短信验证码校验失败");
     }
 
+    /**
+     * @description 找回密码
+     * @date 2019-12-10
+     * @param userRequest
+     * @return
+     */
+    @PostMapping("/resetPassword")
+    @ResponseBody
+    public RestResponse resetPassword(@RequestBody UserRequest userRequest){
+        return loginService.resetPassword(userRequest);
+    }
+
 }

+ 8 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/user/service/ILoginService.java

@@ -23,4 +23,12 @@ public interface ILoginService {
      * @return
      */
     RestResponse login(HttpServletRequest request, UserRequest userRequest);
+
+    /**
+     * @description 重置密码
+     * @date 2019-12-10
+     * @param userRequest 请求对象
+     * @return
+     */
+    RestResponse resetPassword(UserRequest userRequest);
 }

+ 15 - 4
lift-system-service/src/main/java/cn/com/ty/lift/system/user/service/impl/LoginService.java

@@ -55,10 +55,7 @@ public class LoginService implements ILoginService {
         //保存用户信息,并返回用户账户信息
         UserAccount userAccount = userService.saveUserInfo(userRequest);
         if(userAccount != null){
-            UserResponse userResponse = userService.getLoginUserInfo(userAccount.getUserId());
-            //将用户登录的信息放入redis中,作为缓存处理
-            redisTemplate.opsForValue().set(userResponse.getToken(), userAccount);
-            return RestResponse.ok(userResponse, ApiConstants.RESULT_SUCCESS, "注册成功");
+            return RestResponse.ok(null, ApiConstants.RESULT_SUCCESS, "注册成功");
         }
         return RestResponse.error(ApiConstants.RESULT_ERROR, "注册失败");
     }
@@ -93,4 +90,18 @@ public class LoginService implements ILoginService {
         userLoginService.save(userLogin);
         return RestResponse.ok(userResponse,ApiConstants.RESULT_SUCCESS, "登录成功");
     }
+
+    @Override
+    public RestResponse resetPassword(UserRequest userRequest) {
+        UserAccount userAccount = userAccountService.getByMobile(userRequest.getMobile());
+        if(userAccount == null) {
+            return RestResponse.error(ApiConstants.RESULT_ERROR, "手机号尚未注册");
+        }
+        String salt = userAccount.getSalt();
+        //新密码加密
+        String newPassword = PasswordUtils.generatePassword(userRequest.getPassword(), salt);
+        userAccount.setPassword(newPassword);
+        userAccountService.updateById(userAccount);
+        return RestResponse.ok(null, ApiConstants.RESULT_SUCCESS, "重置密码成功");
+    }
 }