refactor(system): 优化用户管理相关代码
- 调整代码格式和缩进,提高可读性 - 重构用户角色关联逻辑,提取为独立方法- 更新用户更新 DTO,支持多角色选择
This commit is contained in:
parent
e4bf57f3ec
commit
b4da8c3bf0
@ -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<Long> roleIds;
|
||||
|
||||
}
|
||||
|
@ -58,15 +58,7 @@ public class UserServiceImpl extends ServiceImpl<UserRepository, User> implement
|
||||
return false;
|
||||
}
|
||||
if (dto.getRoleIds() != null && !dto.getRoleIds().isEmpty()) {
|
||||
List<UserRole> 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<UserRepository, User> 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<UserRole>().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<UserRepository, User> implement
|
||||
return userDetails;
|
||||
}
|
||||
|
||||
public Boolean addUserRole(Set<Long> roleIds, Long userId) {
|
||||
List<UserRole> 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;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user