refactor(user): 优化用户创建和更新逻辑
- 修改 UserCreateDto 和 UserUpdateDto 中的 roleIds 类型从 Set 改为 List - 更新 UserCreateDto 和 UserUpdateDto 中的 roleId 字段注释 - 调整 UserServiceImpl 中的 create 和 addUserRole 方法,以适应新的 List 类型 - 为 UserCreateDto 和 UserUpdateDto 中的 roleIds 添加 NotEmpty 注解
This commit is contained in:
parent
b4da8c3bf0
commit
ee8d7d16d0
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
|
||||
}
|
||||
|
@ -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();
|
||||
|
Loading…
Reference in New Issue
Block a user