新增修改密码方法

This commit is contained in:
wanggeng 2021-11-01 11:26:42 +08:00
parent f4aca5806a
commit 835fae4578
2 changed files with 25 additions and 4 deletions

View File

@ -153,7 +153,7 @@ public interface IUserService extends IUserBaseService, IUserCheckService {
void updatePassword(String token, UpdatePasswordVO updatePasswordVO) throws ReflectUtil.ReflectException;
/**
* 修改面膜
* 修改密码
*
* @param userId 用户ID
* @param updatePasswordVO 修改的密码
@ -161,6 +161,15 @@ public interface IUserService extends IUserBaseService, IUserCheckService {
*/
void updatePasswordByUserId(String userId, UpdatePasswordVO updatePasswordVO);
/**
* 修改密码
*
* @param userId 用户ID
* @param updatePasswordVO 修改的密码
* @param isPasswordMd5 密码是否已用MD5加密
*/
void updatePasswordByUserId(String userId, UpdatePasswordVO updatePasswordVO, boolean isPasswordMd5);
/**
* 更新过期时间
*

View File

@ -215,13 +215,25 @@ public class UserServiceImpl extends DefaultBaseService implements IUserService
@Override
public void updatePassword(String token, UpdatePasswordVO updatePasswordVO) throws ReflectUtil.ReflectException {
AppTokenUser appTokenUser = securityComponent.getAppTokenUser(token);
updatePasswordByUserId(appTokenUser.getId(), updatePasswordVO);
updatePasswordByUserId(appTokenUser.getId(), updatePasswordVO, true);
}
@Override
public void updatePasswordByUserId(String userId, UpdatePasswordVO updatePasswordVO) {
String oldPassword = DigestUtils.md5Hex(DigestUtils.md5Hex(DigestUtils.md5Hex(updatePasswordVO.getOldPassword())));
String newPassword = DigestUtils.md5Hex(DigestUtils.md5Hex(DigestUtils.md5Hex(updatePasswordVO.getNewPassword())));
updatePasswordByUserId(userId, updatePasswordVO, false);
}
@Override
public void updatePasswordByUserId(String userId, UpdatePasswordVO updatePasswordVO, boolean isPasswordMd5) {
String oldPassword;
String newPassword;
if (isPasswordMd5) {
oldPassword = updatePasswordVO.getOldPassword();
newPassword = updatePasswordVO.getNewPassword();
} else {
oldPassword = DigestUtils.md5Hex(DigestUtils.md5Hex(DigestUtils.md5Hex(updatePasswordVO.getOldPassword())));
newPassword = DigestUtils.md5Hex(DigestUtils.md5Hex(DigestUtils.md5Hex(updatePasswordVO.getNewPassword())));
}
UserPO userPO = getPO(userId);
if (!passwordEncoder.matches(oldPassword, userPO.getUserPassword())) {
throw new UpdateException("旧密码错误");