新增修改密码方法

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; void updatePassword(String token, UpdatePasswordVO updatePasswordVO) throws ReflectUtil.ReflectException;
/** /**
* 修改面膜 * 修改密码
* *
* @param userId 用户ID * @param userId 用户ID
* @param updatePasswordVO 修改的密码 * @param updatePasswordVO 修改的密码
@ -161,6 +161,15 @@ public interface IUserService extends IUserBaseService, IUserCheckService {
*/ */
void updatePasswordByUserId(String userId, UpdatePasswordVO updatePasswordVO); 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 @Override
public void updatePassword(String token, UpdatePasswordVO updatePasswordVO) throws ReflectUtil.ReflectException { public void updatePassword(String token, UpdatePasswordVO updatePasswordVO) throws ReflectUtil.ReflectException {
AppTokenUser appTokenUser = securityComponent.getAppTokenUser(token); AppTokenUser appTokenUser = securityComponent.getAppTokenUser(token);
updatePasswordByUserId(appTokenUser.getId(), updatePasswordVO); updatePasswordByUserId(appTokenUser.getId(), updatePasswordVO, true);
} }
@Override @Override
public void updatePasswordByUserId(String userId, UpdatePasswordVO updatePasswordVO) { public void updatePasswordByUserId(String userId, UpdatePasswordVO updatePasswordVO) {
String oldPassword = DigestUtils.md5Hex(DigestUtils.md5Hex(DigestUtils.md5Hex(updatePasswordVO.getOldPassword()))); updatePasswordByUserId(userId, updatePasswordVO, false);
String newPassword = DigestUtils.md5Hex(DigestUtils.md5Hex(DigestUtils.md5Hex(updatePasswordVO.getNewPassword()))); }
@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); UserPO userPO = getPO(userId);
if (!passwordEncoder.matches(oldPassword, userPO.getUserPassword())) { if (!passwordEncoder.matches(oldPassword, userPO.getUserPassword())) {
throw new UpdateException("旧密码错误"); throw new UpdateException("旧密码错误");