This commit is contained in:
chenxudong 2025-02-26 11:39:18 +08:00
commit 26954302de
6 changed files with 64 additions and 21 deletions

View File

@ -106,7 +106,7 @@ public class UserController {
@PutMapping("/changePassword")
@UserOperation(value="修改了用户密码", modelName = UserOperationModuleEnum.USER)
public ElectromagneticResult<?> changePassword(@RequestBody ChangePasswordRequest request) {
return userService.changePassword(request.getUserId(), request.getOldPassword(), request.getNewPassword());
return userService.changePassword(request.getUserId(), request.getNewPassword());
}
@RequiredRole(AdminTypeEnum.SECURITY)
@ -126,4 +126,9 @@ public class UserController {
return ElectromagneticResultUtil.success(adminType);
}
}
@PostMapping("/validateOldPassword")
@UserOperation(value = "校验了原始密码", modelName = UserOperationModuleEnum.USER)
public ElectromagneticResult<?> validateOldPassword(@RequestBody ValidateOldPasswordRequest request) {
return userService.validateOldPassword(request.getUserId(), request.getOldPassword());
}
}

View File

@ -2,7 +2,7 @@ package com.electromagnetic.industry.software.manage.pojo.req;
public class ChangePasswordRequest {
private String userId;
private String oldPassword;
private String newPassword;
// Getters and Setters
@ -14,13 +14,6 @@ public class ChangePasswordRequest {
this.userId = userId;
}
public String getOldPassword() {
return oldPassword;
}
public void setOldPassword(String oldPassword) {
this.oldPassword = oldPassword;
}
public String getNewPassword() {
return newPassword;

View File

@ -0,0 +1,23 @@
package com.electromagnetic.industry.software.manage.pojo.req;
public class ValidateOldPasswordRequest {
private String userId;
private String oldPassword;
// Getters and Setters
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getOldPassword() {
return oldPassword;
}
public void setOldPassword(String oldPassword) {
this.oldPassword = oldPassword;
}
}

View File

@ -95,9 +95,17 @@ public interface UserService {
/**
*
* @param userId 用户ID
* @param oldPassword
* @param newPassword
* @return
*/
ElectromagneticResult<?> changePassword(String userId, String oldPassword, String newPassword);
ElectromagneticResult<?> changePassword(String userId, String newPassword);
/**
* 校验原始密码是否正确
*
* @param userId 用户ID
* @param oldInputPassword 输入的原始密码
* @return 如果密码正确返回成功结果否则返回失败结果
*/
ElectromagneticResult<?> validateOldPassword(String userId, String oldInputPassword);
}

View File

@ -376,11 +376,10 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements Ro
return edFileInfoMapper.selectList(Wrappers.lambdaQuery(EdFileInfo.class)
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)
.eq(EdFileInfo::getDataType, EleDataTypeEnum.FOLDER.code)
.eq(EdFileInfo::getDataStatus, EleDataStatusEnum.PUBLISHED.code)
.eq(EdFileInfo::getDataOwn, dataOwnCode))
.eq(EdFileInfo::getDataOwn, dataOwnCode)
.and(wrapper -> wrapper.eq(EdFileInfo::getDataStatus, EleDataStatusEnum.PUBLISHED.code)
.or()
.eq(EdFileInfo::getDataStatus, EleDataStatusEnum.DELETED.code));
.eq(EdFileInfo::getDataStatus, EleDataStatusEnum.DELETED.code)));
}
}

View File

@ -289,22 +289,18 @@ public class UserServiceImpl implements UserService {
* 修改用户密码
*
* @param userId 用户ID
* @param oldPassword 旧密码
* @param newPassword 新密码
* @return 修改结果
*/
@Override
public ElectromagneticResult<?> changePassword(String userId, String oldPassword, String newPassword) {
public ElectromagneticResult<?> changePassword(String userId, String newPassword) {
User user = userMapper.getSingleUser(userId);
if (user == null) {
return ElectromagneticResultUtil.fail("53106", "USER_NOT_FOUND");
}
if (!matchPassword(user, oldPassword)) {
return ElectromagneticResultUtil.fail("53107", "OLD_PASSWORD_INCORRECT");
}
user.setUserPwd(SignUtils.MD5(newPassword + user.getSalt()));
String decodeNewPwd = AESUtils.decrypt(newPassword, UserConstants.SECRET_KEY);
user.setUserPwd(SignUtils.MD5(decodeNewPwd + user.getSalt()));
user.setModifier(UserThreadLocal.getUserId());
user.setModifierName(UserThreadLocal.getUsername());
return ElectromagneticResultUtil.success(userMapper.modify(user) > 0);
@ -353,4 +349,23 @@ public class UserServiceImpl implements UserService {
}
}
}
// UserServiceImpl.java 类中实现以下方法
@Override
public ElectromagneticResult<?> validateOldPassword(String userId, String oldInputPassword) {
User user = userMapper.getSingleUser(userId);
if (user == null) {
return ElectromagneticResultUtil.fail("53106", "USER_NOT_FOUND");
}
String decodeOldPwd = AESUtils.decrypt(oldInputPassword, UserConstants.SECRET_KEY);
// if (!user.getUserPwd().equals(SignUtils.MD5(decodeOldPwd + user.getSalt()))) {
// return ElectromagneticResultUtil.fail("53107", "OLD_PASSWORD_INCORRECT");
// }
if (!matchPassword(user,decodeOldPwd)) {
return ElectromagneticResultUtil.fail("53107", "OLD_PASSWORD_INCORRECT");
}
return ElectromagneticResultUtil.success(true);
}
}