Browse Source

重置密码

huangqizheng/feature-20250717200321-优化导出
sunjiabei 1 month ago
parent
commit
5dbc73aaee
  1. 13
      src/main/java/com/example/demo/controller/AdminController.java
  2. 2
      src/main/java/com/example/demo/service/AdminService.java
  3. 26
      src/main/java/com/example/demo/serviceImpl/AdminServiceImpl.java
  4. 8
      src/main/java/com/example/demo/serviceImpl/PermissionServiceImpl.java

13
src/main/java/com/example/demo/controller/AdminController.java

@ -87,4 +87,17 @@ public class AdminController {
}
//更新用户密码
@PostMapping("/reset")
public Result resetPassword(@RequestBody Password password){
try {
return adminService.resetPassword(password);
} catch (Exception e) {
return Result.error("重置失败");
}
}
}

2
src/main/java/com/example/demo/service/AdminService.java

@ -22,5 +22,5 @@ public interface AdminService {
Result updatePassword(Password password);
//重置密码
Integer resetPassword(Password password);
Result resetPassword(Password password);
}

26
src/main/java/com/example/demo/serviceImpl/AdminServiceImpl.java

@ -96,10 +96,6 @@ public class AdminServiceImpl implements AdminService {
if(oldPassword == null || newPassword == null || againPassword == null ||password.getAccount() == null) {
return Result.error("输入不能为空");
}
// 校验新密码是否与旧密码相同不允许相同
if (oldPassword.equals(newPassword)) {
return Result.error("新密码不能与旧密码相同");
}
// 检查两次输入的新密码是否一致
if (!newPassword.equals(againPassword)) {
return Result.error("两次输入的新密码不一致");
@ -112,6 +108,10 @@ public class AdminServiceImpl implements AdminService {
{
return Result.error("用户不存在");
}
// 校验新密码是否与旧密码相同不允许相同
if (oldPassword.equals(newPassword)) {
return Result.error("新密码与历史密码重复");
}
try {
// 创建认证令牌并验证旧密码
UsernamePasswordAuthenticationToken token =
@ -144,20 +144,16 @@ public class AdminServiceImpl implements AdminService {
//重置密码
@Override
public Integer resetPassword(Password password) {
public Result resetPassword(Password password) {
String newPassword = password.getNewPassword();
if(newPassword == null ||password.getAccount() == null) {
return 0;
String newPassword = "123456";
if(password.getAccount() == null) {
return Result.error("账户未输入");
}
// 检查新密码是否符合复杂度要求
if (!PASSWORD_PATTERN.matcher(newPassword).matches()) {
return 0;
}
if(adminMapper.getAdmin(password.getAccount())==null)
{
return 0;
return Result.error("账户查找不到");
}
try {
// 获取认证后的用户信息
@ -172,10 +168,10 @@ public class AdminServiceImpl implements AdminService {
admin.setUpdateTime(new Date()); // 更新修改时间
adminMapper.updatePassword(admin);
return 1;
return Result.success("密码重置成功");
}
catch (Exception e) {
return 0;
return Result.error("其他错误");
}
}
}

8
src/main/java/com/example/demo/serviceImpl/PermissionServiceImpl.java

@ -161,14 +161,6 @@ public class PermissionServiceImpl implements PermissionService {
}
admin.setRemark(adminVo.getRemark());
permissionMapper.updateAdmin(admin);
// 处理密码重置创建密码对象设置账号和新密码
Password password = new Password();
password.setAccount(adminVo.getAccount());
password.setNewPassword(adminVo.getPassword());
if (adminService.resetPassword(password) == 0) {
return Result.error("密码更改失败");
}
;
return Result.success("成功");
}
}

Loading…
Cancel
Save