diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/controller/permission/UserController.java b/Pinnacle/src/main/java/com/cfive/pinnacle/controller/permission/UserController.java index 971d0af..e09f11d 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/controller/permission/UserController.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/controller/permission/UserController.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.cfive.pinnacle.entity.permission.User; import com.cfive.pinnacle.entity.common.ResponseCode; import com.cfive.pinnacle.entity.common.ResponseResult; +import com.cfive.pinnacle.exception.DataValidationFailedException; import com.cfive.pinnacle.service.permission.IUserService; import com.cfive.pinnacle.utils.WebUtil; import io.swagger.v3.oas.annotations.Operation; @@ -41,6 +42,23 @@ public class UserController { return ResponseResult.databaseSelectSuccess(userService.getInfo()); } + @PutMapping("/passwd") + @Operation(summary = "修改密码") + public ResponseResult modifyPasswd(String password) { + if (password == null) { + throw new DataValidationFailedException(); + } + password = password.trim(); + if (password.isBlank() || password.length() < 8 || password.length() > 64) { + throw new DataValidationFailedException(); + } + if (userService.modifyPasswd(password)) { + return ResponseResult.databaseUpdateSuccess(null); + } else { + return ResponseResult.build(ResponseCode.DATABASE_UPDATE_ERROR, "error", null); + } + } + @GetMapping("/affair") @PreAuthorize("hasAnyAuthority('affair:self:add')") @Operation(summary = "获取拥有审批权限的用户") diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/service/permission/IUserService.java b/Pinnacle/src/main/java/com/cfive/pinnacle/service/permission/IUserService.java index a0c8f64..a3022c7 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/service/permission/IUserService.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/service/permission/IUserService.java @@ -18,6 +18,8 @@ public interface IUserService extends IService { User getInfo(); + boolean modifyPasswd(String passwd); + List getAffairUser(); List getDepartmentUser(); diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/service/permission/impl/UserServiceImpl.java b/Pinnacle/src/main/java/com/cfive/pinnacle/service/permission/impl/UserServiceImpl.java index f550a81..a3ccc49 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/service/permission/impl/UserServiceImpl.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/service/permission/impl/UserServiceImpl.java @@ -75,6 +75,13 @@ public class UserServiceImpl extends ServiceImpl implements IU return WebUtil.getLoginUser().getUser(); } + @Override + public boolean modifyPasswd(String passwd) { + String encryptedPassword = passwordEncoder.encode(passwd); + User user = new User().setId(WebUtil.getLoginUser().getUser().getId()).setPasswd(encryptedPassword); + return userMapper.updateById(user) == 1; + } + @Override public List getAffairUser() { return userMapper.getAllAffairUser();