refactor: 角色资源获取和保存重构
This commit is contained in:
@@ -25,19 +25,19 @@ import java.util.List;
|
||||
@RequiredArgsConstructor
|
||||
public class SysRoleController {
|
||||
|
||||
private final SysRoleService sysRoleService;
|
||||
private final SysRoleService roleService;
|
||||
|
||||
@ApiOperation(value = "角色分页列表")
|
||||
@GetMapping("/pages")
|
||||
public PageResult<RolePageVO> listRolePages(RolePageQuery queryParams) {
|
||||
Page<RolePageVO> result = sysRoleService.listRolePages(queryParams);
|
||||
Page<RolePageVO> result = roleService.listRolePages(queryParams);
|
||||
return PageResult.success(result);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "角色下拉列表")
|
||||
@GetMapping("/options")
|
||||
public Result<List<Option>> listRoleOptions() {
|
||||
List<Option> list = sysRoleService.listRoleOptions();
|
||||
List<Option> list = roleService.listRoleOptions();
|
||||
return Result.success(list);
|
||||
}
|
||||
|
||||
@@ -46,21 +46,21 @@ public class SysRoleController {
|
||||
public Result getRoleDetail(
|
||||
@ApiParam("角色ID") @PathVariable Long roleId
|
||||
) {
|
||||
SysRole role = sysRoleService.getById(roleId);
|
||||
SysRole role = roleService.getById(roleId);
|
||||
return Result.success(role);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "新增角色")
|
||||
@PostMapping
|
||||
public Result addRole(@Valid @RequestBody RoleForm roleForm) {
|
||||
boolean result = sysRoleService.saveRole(roleForm);
|
||||
boolean result = roleService.saveRole(roleForm);
|
||||
return Result.judge(result);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "修改角色")
|
||||
@PutMapping(value = "/{id}")
|
||||
public Result updateRole(@Valid @RequestBody RoleForm roleForm) {
|
||||
boolean result = sysRoleService.saveRole(roleForm);
|
||||
boolean result = roleService.saveRole(roleForm);
|
||||
return Result.judge(result);
|
||||
}
|
||||
|
||||
@@ -69,7 +69,7 @@ public class SysRoleController {
|
||||
public Result deleteRoles(
|
||||
@ApiParam("删除角色,多个以英文逗号(,)分割") @PathVariable String ids
|
||||
) {
|
||||
boolean result = sysRoleService.deleteRoles(ids);
|
||||
boolean result = roleService.deleteRoles(ids);
|
||||
return Result.judge(result);
|
||||
}
|
||||
|
||||
@@ -77,28 +77,28 @@ public class SysRoleController {
|
||||
@PutMapping(value = "/{roleId}/status")
|
||||
public Result updateRoleStatus(
|
||||
@ApiParam("角色ID") @PathVariable Long roleId,
|
||||
@ApiParam("角色状态:1-正常;0-禁用") @RequestParam Integer status
|
||||
@ApiParam("角色状态:1-启用;0-禁用") @RequestParam Integer status
|
||||
) {
|
||||
boolean result = sysRoleService.updateRoleStatus(roleId, status);
|
||||
boolean result = roleService.updateRoleStatus(roleId, status);
|
||||
return Result.judge(result);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "获取角色的资源ID集合")
|
||||
@GetMapping("/{roleId}/resourceIds")
|
||||
public Result<RoleResourceForm> getRoleResources(
|
||||
@ApiOperation(value = "获取角色的菜单ID集合")
|
||||
@GetMapping("/{roleId}/menuIds")
|
||||
public Result<List<Long>> getRoleMenuIds(
|
||||
@ApiParam("角色ID") @PathVariable Long roleId
|
||||
) {
|
||||
RoleResourceForm resourceIds = sysRoleService.getRoleResources(roleId);
|
||||
List<Long> resourceIds = roleService.getRoleMenuIds(roleId);
|
||||
return Result.success(resourceIds);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "分配角色的资源权限")
|
||||
@PutMapping("/{roleId}/resources")
|
||||
public Result updateRoleResource(
|
||||
@PutMapping("/{roleId}/menus")
|
||||
public Result updateRoleMenus(
|
||||
@PathVariable Long roleId,
|
||||
@RequestBody List<> roleResourceForm
|
||||
@RequestBody List<Long> menuIds
|
||||
) {
|
||||
boolean result = sysRoleService.updateRoleResource(roleId,roleResourceForm);
|
||||
boolean result = roleService.updateRoleMenus(roleId,menuIds);
|
||||
return Result.judge(result);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -67,15 +67,15 @@ public interface SysRoleService extends IService<SysRole> {
|
||||
* @param roleId
|
||||
* @return
|
||||
*/
|
||||
RoleResourceForm getRoleResources(Long roleId);
|
||||
List<Long> getRoleMenuIds(Long roleId);
|
||||
|
||||
|
||||
/**
|
||||
* 修改角色的资源权限
|
||||
*
|
||||
* @param roleId
|
||||
* @param roleResourceForm
|
||||
* @param menuIds
|
||||
* @return
|
||||
*/
|
||||
boolean updateRoleResource(Long roleId, RoleResourceForm roleResourceForm);
|
||||
boolean updateRoleMenus(Long roleId, List<Long> menuIds);
|
||||
}
|
||||
|
||||
@@ -164,30 +164,26 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public RoleResourceForm getRoleResources(Long roleId) {
|
||||
RoleResourceForm roleResources = new RoleResourceForm();
|
||||
|
||||
public List<Long> getRoleMenuIds(Long roleId) {
|
||||
// 获取角色拥有的菜单ID集合
|
||||
List<Long> menuIds = sysRoleMenuService.listMenuIdsByRoleId(roleId);
|
||||
roleResources.setMenuIds(menuIds);
|
||||
return roleResources;
|
||||
return menuIds;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改角色的资源权限
|
||||
*
|
||||
* @param roleId
|
||||
* @param roleResourceForm
|
||||
* @param menuIds
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
@CacheEvict(cacheNames = "system", key = "'routes'")
|
||||
public boolean updateRoleResource(Long roleId, RoleResourceForm roleResourceForm) {
|
||||
public boolean updateRoleMenus(Long roleId, List<Long> menuIds) {
|
||||
// 删除角色菜单
|
||||
sysRoleMenuService.remove(new LambdaQueryWrapper<SysRoleMenu>().eq(SysRoleMenu::getRoleId, roleId));
|
||||
// 新增角色菜单
|
||||
List<Long> menuIds = roleResourceForm.getMenuIds();
|
||||
if (CollectionUtil.isNotEmpty(menuIds)) {
|
||||
List<SysRoleMenu> roleMenus = menuIds.stream()
|
||||
.map(menuId -> new SysRoleMenu(roleId, menuId))
|
||||
|
||||
Reference in New Issue
Block a user