From 932c4ec1f40d355dd833eaf070681c0da0840835 Mon Sep 17 00:00:00 2001 From: lbw Date: Sun, 30 Jul 2023 20:01:10 +0800 Subject: [PATCH] =?UTF-8?q?:recycle:=20Refactoring=20code.=20=E3=80=90?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E7=AE=A1=E7=90=86=E3=80=91=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E6=A0=8F=E4=BF=AE=E6=94=B9=E4=B8=BA=20=E6=9C=89=E6=95=88=20?= =?UTF-8?q?=E3=80=90=E7=94=A8=E6=88=B7=E7=AE=A1=E7=90=86=E3=80=91=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E4=BF=AE=E6=94=B9=E6=82=AC=E6=B5=AE=E8=BE=93=E5=85=A5?= =?UTF-8?q?=E6=A1=86=E5=AF=86=E7=A0=81=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/controller/SysUserController.java | 54 +++++++++---------- .../service/impl/SysUserServiceImpl.java | 37 ++++++++----- 2 files changed, 50 insertions(+), 41 deletions(-) diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysUserController.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysUserController.java index e504d16f1..892188b0c 100644 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysUserController.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/controller/SysUserController.java @@ -38,6 +38,7 @@ import com.pig4cloud.pigx.common.security.util.SecurityUtils; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.security.SecurityRequirement; import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.validation.Valid; import lombok.AllArgsConstructor; import org.springdoc.core.annotations.ParameterObject; import org.springframework.http.HttpHeaders; @@ -45,7 +46,6 @@ import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; -import jakarta.validation.Valid; import java.util.List; /** @@ -136,18 +136,6 @@ public class SysUserController { return R.ok(userService.saveUser(userDto)); } - /** - * 更新用户信息 - * @param userDto 用户信息 - * @return R - */ - @SysLog("更新用户信息") - @PutMapping - @PreAuthorize("@pms.hasPermission('sys_user_edit')") - public R updateUser(@Valid @RequestBody UserDTO userDto) { - return R.ok(userService.updateUser(userDto)); - } - /** * 分页查询用户 * @param page 参数集 @@ -160,16 +148,40 @@ public class SysUserController { } /** - * 修改个人信息 + * 管理员更新用户信息 + * @param userDto 用户信息 + * @return R + */ + @SysLog("更新用户信息") + @PutMapping + @PreAuthorize("@pms.hasPermission('sys_user_edit')") + public R updateUser(@Valid @RequestBody UserDTO userDto) { + return R.ok(userService.updateUser(userDto)); + } + + /** + * 修改个人信息 (当前用户) * @param userDto userDto * @return success/false */ @SysLog("修改个人信息") - @PutMapping("/edit") + @PutMapping("/personal/edit") public R updateUserInfo(@Valid @RequestBody UserDTO userDto) { return userService.updateUserInfo(userDto); } + /** + * 修改个人密码 (当前用户) + * @param userDto 用户DTO对象,包含需要修改密码的用户信息 + * @return R 返回结果对象,包含修改密码操作的结果信息 + */ + @PutMapping("/personal/password") + public R updatePassword(@RequestBody UserDTO userDto) { + String username = SecurityUtils.getUser().getUsername(); + userDto.setUsername(username); + return userService.changePassword(userDto); + } + /** * @param username 用户名称 * @return 上级部门用户列表 @@ -214,18 +226,6 @@ public class SysUserController { return userService.lockUser(username); } - /** - * 修改密码接口 - * @param userDto 用户DTO对象,包含需要修改密码的用户信息 - * @return R 返回结果对象,包含修改密码操作的结果信息 - */ - @PutMapping("/password") - public R password(@RequestBody UserDTO userDto) { - String username = SecurityUtils.getUser().getUsername(); - userDto.setUsername(username); - return userService.changePassword(userDto); - } - /** * 解绑定接口 * @param type 需要解绑定的类型 diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysUserServiceImpl.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysUserServiceImpl.java index 192ef4545..c53ae91a7 100644 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysUserServiceImpl.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysUserServiceImpl.java @@ -227,28 +227,37 @@ public class SysUserServiceImpl extends ServiceImpl impl SysUser sysUser = new SysUser(); BeanUtils.copyProperties(userDto, sysUser); sysUser.setUpdateTime(LocalDateTime.now()); + if (StrUtil.isNotBlank(userDto.getPassword())) { sysUser.setPassword(ENCODER.encode(userDto.getPassword())); } + this.updateById(sysUser); // 更新用户角色表 - sysUserRoleMapper.delete(Wrappers.lambdaQuery().eq(SysUserRole::getUserId, userDto.getUserId())); - userDto.getRole().stream().map(roleId -> { - SysUserRole userRole = new SysUserRole(); - userRole.setUserId(sysUser.getUserId()); - userRole.setRoleId(roleId); - return userRole; - }).forEach(SysUserRole::insert); + if (userDto.getRole() != null) { + sysUserRoleMapper + .delete(Wrappers.lambdaQuery().eq(SysUserRole::getUserId, userDto.getUserId())); + userDto.getRole().stream().map(roleId -> { + SysUserRole userRole = new SysUserRole(); + userRole.setUserId(sysUser.getUserId()); + userRole.setRoleId(roleId); + return userRole; + }).forEach(SysUserRole::insert); + } // 更新用户岗位表 - sysUserPostMapper.delete(Wrappers.lambdaQuery().eq(SysUserPost::getUserId, userDto.getUserId())); - userDto.getPost().stream().map(postId -> { - SysUserPost userPost = new SysUserPost(); - userPost.setUserId(sysUser.getUserId()); - userPost.setPostId(postId); - return userPost; - }).forEach(SysUserPost::insert); + if (userDto.getPost() != null) { + sysUserPostMapper + .delete(Wrappers.lambdaQuery().eq(SysUserPost::getUserId, userDto.getUserId())); + userDto.getPost().stream().map(postId -> { + SysUserPost userPost = new SysUserPost(); + userPost.setUserId(sysUser.getUserId()); + userPost.setPostId(postId); + return userPost; + }).forEach(SysUserPost::insert); + } + return Boolean.TRUE; }