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