From b4da8c3bf002030f1e837d4a590103d217acaa13 Mon Sep 17 00:00:00 2001 From: zhuangtianxiang <2913129173@qq.com> Date: Thu, 6 Feb 2025 20:38:05 +0800 Subject: [PATCH] =?UTF-8?q?refactor(system):=20=E4=BC=98=E5=8C=96=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E7=AE=A1=E7=90=86=E7=9B=B8=E5=85=B3=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 调整代码格式和缩进,提高可读性 - 重构用户角色关联逻辑,提取为独立方法- 更新用户更新 DTO,支持多角色选择 --- .../modules/system/dto/UserUpdateDto.java | 7 ++++- .../system/service/impl/UserServiceImpl.java | 26 ++++++++++++------- 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/zsc/edu/gateway/modules/system/dto/UserUpdateDto.java b/src/main/java/com/zsc/edu/gateway/modules/system/dto/UserUpdateDto.java index b8eb847..c3f0978 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/system/dto/UserUpdateDto.java +++ b/src/main/java/com/zsc/edu/gateway/modules/system/dto/UserUpdateDto.java @@ -12,6 +12,9 @@ import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.Pattern; +import java.util.List; +import java.util.Set; + /** * 用户更新Dto * @@ -59,11 +62,13 @@ public class UserUpdateDto { public String address; /** - * 用户身份集合 + * 用户身份 */ @NotEmpty(message = "角色不能为空") public Long roleId; public String remark; + public Set roleIds; + } diff --git a/src/main/java/com/zsc/edu/gateway/modules/system/service/impl/UserServiceImpl.java b/src/main/java/com/zsc/edu/gateway/modules/system/service/impl/UserServiceImpl.java index 1c7ccd6..684b616 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/system/service/impl/UserServiceImpl.java +++ b/src/main/java/com/zsc/edu/gateway/modules/system/service/impl/UserServiceImpl.java @@ -58,15 +58,7 @@ public class UserServiceImpl extends ServiceImpl implement return false; } if (dto.getRoleIds() != null && !dto.getRoleIds().isEmpty()) { - List userRoles = dto.getRoleIds().stream() - .map(roleId -> { - UserRole userRole = new UserRole(); - userRole.setUserId(user.getId()); - userRole.setRoleId(roleId); - return userRole; - }) - .collect(Collectors.toList()); - userRolesRepository.insert(userRoles); + addUserRole(dto.getRoleIds(), user.getId()); } return true; } @@ -82,6 +74,10 @@ public class UserServiceImpl extends ServiceImpl implement if (user.getEmail().equals(dto.getEmail()) && existsByEmail) { throw new ConstraintException("email", dto.email, "邮箱地址已存在"); } + if (dto.getRoleIds() != null && !dto.getRoleIds().isEmpty()) { + userRolesRepository.delete(new LambdaQueryWrapper().eq(UserRole::getUserId, id)); + addUserRole(dto.getRoleIds(), user.getId()); + } BeanUtils.copyProperties(dto, user); return updateById(user); } @@ -159,4 +155,16 @@ public class UserServiceImpl extends ServiceImpl implement return userDetails; } + public Boolean addUserRole(Set roleIds, Long userId) { + List userRoles = roleIds.stream() + .map(roleId -> { + UserRole userRole = new UserRole(); + userRole.setUserId(userId); + userRole.setRoleId(roleId); + return userRole; + }) + .collect(Collectors.toList()); + userRolesRepository.insert(userRoles); + return true; + } }