修改“修改密码”功能
This commit is contained in:
parent
456db7f1ef
commit
c389f40848
|
|
@ -106,7 +106,7 @@ public class UserController {
|
||||||
@PutMapping("/changePassword")
|
@PutMapping("/changePassword")
|
||||||
@UserOperation(value="修改了用户密码", modelName = UserOperationModuleEnum.USER)
|
@UserOperation(value="修改了用户密码", modelName = UserOperationModuleEnum.USER)
|
||||||
public ElectromagneticResult<?> changePassword(@RequestBody ChangePasswordRequest request) {
|
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)
|
@RequiredRole(AdminTypeEnum.SECURITY)
|
||||||
|
|
@ -126,4 +126,9 @@ public class UserController {
|
||||||
return ElectromagneticResultUtil.success(adminType);
|
return ElectromagneticResultUtil.success(adminType);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@PostMapping("/validateOldPassword")
|
||||||
|
@UserOperation(value = "校验了原始密码", modelName = UserOperationModuleEnum.USER)
|
||||||
|
public ElectromagneticResult<?> validateOldPassword(@RequestBody ValidateOldPasswordRequest request) {
|
||||||
|
return userService.validateOldPassword(request.getUserId(), request.getOldPassword());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -2,7 +2,7 @@ package com.electromagnetic.industry.software.manage.pojo.req;
|
||||||
|
|
||||||
public class ChangePasswordRequest {
|
public class ChangePasswordRequest {
|
||||||
private String userId;
|
private String userId;
|
||||||
private String oldPassword;
|
|
||||||
private String newPassword;
|
private String newPassword;
|
||||||
|
|
||||||
// Getters and Setters
|
// Getters and Setters
|
||||||
|
|
@ -14,13 +14,6 @@ public class ChangePasswordRequest {
|
||||||
this.userId = userId;
|
this.userId = userId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getOldPassword() {
|
|
||||||
return oldPassword;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setOldPassword(String oldPassword) {
|
|
||||||
this.oldPassword = oldPassword;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getNewPassword() {
|
public String getNewPassword() {
|
||||||
return newPassword;
|
return newPassword;
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -95,9 +95,17 @@ public interface UserService {
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param userId 用户ID
|
* @param userId 用户ID
|
||||||
* @param oldPassword
|
|
||||||
* @param newPassword
|
* @param newPassword
|
||||||
* @return
|
* @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);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -289,22 +289,18 @@ public class UserServiceImpl implements UserService {
|
||||||
* 修改用户密码
|
* 修改用户密码
|
||||||
*
|
*
|
||||||
* @param userId 用户ID
|
* @param userId 用户ID
|
||||||
* @param oldPassword 旧密码
|
|
||||||
* @param newPassword 新密码
|
* @param newPassword 新密码
|
||||||
* @return 修改结果
|
* @return 修改结果
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public ElectromagneticResult<?> changePassword(String userId, String oldPassword, String newPassword) {
|
public ElectromagneticResult<?> changePassword(String userId, String newPassword) {
|
||||||
User user = userMapper.getSingleUser(userId);
|
User user = userMapper.getSingleUser(userId);
|
||||||
if (user == null) {
|
if (user == null) {
|
||||||
return ElectromagneticResultUtil.fail("53106", "USER_NOT_FOUND");
|
return ElectromagneticResultUtil.fail("53106", "USER_NOT_FOUND");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!matchPassword(user, oldPassword)) {
|
String decodeNewPwd = AESUtils.decrypt(newPassword, UserConstants.SECRET_KEY);
|
||||||
return ElectromagneticResultUtil.fail("53107", "OLD_PASSWORD_INCORRECT");
|
user.setUserPwd(SignUtils.MD5(decodeNewPwd + user.getSalt()));
|
||||||
}
|
|
||||||
|
|
||||||
user.setUserPwd(SignUtils.MD5(newPassword + user.getSalt()));
|
|
||||||
user.setModifier(UserThreadLocal.getUserId());
|
user.setModifier(UserThreadLocal.getUserId());
|
||||||
user.setModifierName(UserThreadLocal.getUsername());
|
user.setModifierName(UserThreadLocal.getUsername());
|
||||||
return ElectromagneticResultUtil.success(userMapper.modify(user) > 0);
|
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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue