本文最后更新于 2026年5月15日 下午
获取角色表单数据接口的实现
获取角色表单数据接口的需求
根据角色id查询表单数据
注意还要查该角色所有的部门id列表
这涉及到角色部门关联表
代码实现
创建 RoleFormDetailVo
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| @Data @AllArgsConstructor @NoArgsConstructor @ApiModel(description = "后台角色表单详情响应对象") public class RoleFormDetailVo { @ApiModelProperty(value = "角色ID", example = "1") private Long id;
@ApiModelProperty(value = "角色名称", example = "系统管理员") private String name;
@ApiModelProperty(value = "角色编码", example = "admin") private String roleCode;
@ApiModelProperty(value = "状态(0-正常,1-禁用)", example = "0") private String status;
@ApiModelProperty(value = "排序", example = "1") private Integer sort;
@ApiModelProperty(value = "排序", example = "1") private Integer dataScope;
@ApiModelProperty(value = "部门id列表", example = "1, 2, 3") private List<Long> deptIds;
@ApiModelProperty(value = "备注", example = "系统管理员,拥有所有权限") private String remark; }
|
生成角色部门关联表服务和接口
在 SystemConstants 中添加常量,以后可能用上
1 2 3 4
|
public static final Integer CUSTOM_DEPT_DATA_SCOPE = 5;
|
在 SysMenuServiceImpl 中实现功能
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| @Override public ResponseResult<RoleFormDetailVo> getRoleFormDetail(Long id) { SysRole sysRole = sysRoleService.getById(id); if (sysRole == null) { return ResponseResult.errorResult(AppHttpCodeEnum.SYSTEM_ERROR, "该角色不存在!"); }
RoleFormDetailVo roleFormDetailVo = BeanCopyUtils.copyBean(sysRole, RoleFormDetailVo.class); LambdaQueryWrapper<SysRoleDept> wrapper = new LambdaQueryWrapper<>(); wrapper.eq(SysRoleDept::getRoleId, id) .select(SysRoleDept::getDeptId); List<SysRoleDept> roleDeptList = sysRoleDeptService.list(wrapper); List<Long> deptIds = roleDeptList.stream() .map(SysRoleDept::getDeptId) .toList(); roleFormDetailVo.setDeptIds(deptIds);
return ResponseResult.okResult(roleFormDetailVo); }
|
PS:该系列只做为作者学习开发项目做的笔记用
不一定符合读者来学习,仅供参考
预告
后续会记录博客的开发过程
每次学习会做一份笔记来进行发表
“一花一世界,一叶一菩提”
版权所有 © 2026 云梦泽
欢迎访问我的个人网站:https://hgt12.github.io/