From 15d3e08bb9f96d498798738d902008518ee3585c Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期五, 17 五月 2024 16:14:27 +0800 Subject: [PATCH] 提交【管理后台】-修改密码接口 --- ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java | 25 +++++++++++++++++++++++-- 1 files changed, 23 insertions(+), 2 deletions(-) diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java index 431c264..7dd4af6 100644 --- a/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java +++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java @@ -1,7 +1,5 @@ package com.ruoyi.auth.service; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; import com.ruoyi.common.core.constant.CacheConstants; import com.ruoyi.common.core.constant.Constants; import com.ruoyi.common.core.constant.SecurityConstants; @@ -17,6 +15,8 @@ import com.ruoyi.system.api.RemoteUserService; import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.api.model.LoginUser; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; /** * 登录校验方法 @@ -140,4 +140,25 @@ } recordLogService.recordLogininfor(username, Constants.REGISTER, "注册成功"); } + + public void changePassword(String username, String password, String verificationCode) { + String verificationCodeCache = Convert.toStr( + redisService.getCacheObject( + CacheConstants.CHANGE_PASSWORD_CAPTCHA_CODE_KEY + username)); + if (StringUtils.isEmpty(verificationCodeCache)) { + throw new ServiceException("验证码已过期,请重新获取!"); + } + if (!verificationCodeCache.equals(verificationCode)) { + throw new ServiceException("验证码错误,请重新输入!"); + } + R<LoginUser> userInfo = remoteUserService.getUserInfo(username, SecurityConstants.INNER); + if (R.FAIL == userInfo.getCode()) { + throw new ServiceException(userInfo.getMsg()); + } + if (!passwordService.matches(userInfo.getData().getSysUser(), password)) { + throw new ServiceException("旧密码错误,请重新输入!"); + } + remoteUserService.changePassword(username, SecurityUtils.encryptPassword(password), + SecurityConstants.INNER); + } } -- Gitblit v1.7.1