refactor(user): 优化用户创建和更新逻辑

- 修改 UserCreateDto 和 UserUpdateDto 中的 roleIds 类型从 Set 改为 List
- 更新 UserCreateDto 和 UserUpdateDto 中的 roleId 字段注释
- 调整 UserServiceImpl 中的 create 和 addUserRole 方法,以适应新的 List 类型
- 为 UserCreateDto 和 UserUpdateDto 中的 roleIds 添加 NotEmpty 注解
This commit is contained in:
zhuangtianxiang 2025-02-11 20:57:54 +08:00
parent b4da8c3bf0
commit ee8d7d16d0
3 changed files with 8 additions and 5 deletions

View File

@ -6,6 +6,7 @@ import lombok.NoArgsConstructor;
import jakarta.validation.constraints.*;
import java.util.List;
import java.util.Set;
/**
@ -57,7 +58,6 @@ public class UserCreateDto {
/**
* 用户当前身份
*/
@NotEmpty(message = "角色不能为空")
public Long roleId;
/**
* 昵称
@ -84,5 +84,6 @@ public class UserCreateDto {
/**
* 用户角色id集合
*/
public Set<Long> roleIds;
@NotEmpty(message = "角色集合不能为空")
public List<Long> roleIds;
}

View File

@ -64,11 +64,11 @@ public class UserUpdateDto {
/**
* 用户身份
*/
@NotEmpty(message = "角色不能为空")
public Long roleId;
public String remark;
public Set<Long> roleIds;
@NotEmpty(message = "角色集合不能为空")
public List<Long> roleIds;
}

View File

@ -52,6 +52,7 @@ public class UserServiceImpl extends ServiceImpl<UserRepository, User> implement
@Override
public Boolean create(UserCreateDto dto) {
User user = new User();
dto.setRoleId(dto.getRoleIds().get(0));
userMapper.convert(dto, user);
boolean saveSuccess = save(user);
if (!saveSuccess) {
@ -76,6 +77,7 @@ public class UserServiceImpl extends ServiceImpl<UserRepository, User> implement
}
if (dto.getRoleIds() != null && !dto.getRoleIds().isEmpty()) {
userRolesRepository.delete(new LambdaQueryWrapper<UserRole>().eq(UserRole::getUserId, id));
dto.setRoleId(dto.getRoleIds().get(0));
addUserRole(dto.getRoleIds(), user.getId());
}
BeanUtils.copyProperties(dto, user);
@ -155,7 +157,7 @@ public class UserServiceImpl extends ServiceImpl<UserRepository, User> implement
return userDetails;
}
public Boolean addUserRole(Set<Long> roleIds, Long userId) {
public Boolean addUserRole(List<Long> roleIds, Long userId) {
List<UserRole> userRoles = roleIds.stream()
.map(roleId -> {
UserRole userRole = new UserRole();