mirror of https://gitee.com/stylefeng/roses
【7.2.5】【role】更新角色绑定菜单权限
parent
88d744e5ad
commit
c7d439694f
|
@ -51,7 +51,7 @@ public class SysRoleRequest extends BaseRequest {
|
|||
* 主键
|
||||
*/
|
||||
@NotNull(message = "roleId不能为空", groups = {edit.class, delete.class, detail.class, updateStatus.class, grantResource.class, grantResourceV2.class, grantDataScope.class,
|
||||
grantMenuButton.class, grantMenu.class, grantButton.class, grantMenusAndButtons.class, roleBindMenuList.class})
|
||||
grantMenuButton.class, grantMenu.class, grantButton.class, grantMenusAndButtons.class, roleBindMenuList.class, grantRoleMenus.class})
|
||||
@ChineseDescription("主键")
|
||||
private Long roleId;
|
||||
|
||||
|
@ -137,7 +137,7 @@ public class SysRoleRequest extends BaseRequest {
|
|||
/**
|
||||
* 授权菜单
|
||||
*/
|
||||
@NotEmpty(message = "授权菜单Id不能为空", groups = {grantMenuButton.class, grantMenusAndButtons.class})
|
||||
@NotEmpty(message = "授权菜单Id不能为空", groups = {grantMenuButton.class, grantMenusAndButtons.class, grantRoleMenus.class})
|
||||
@ChineseDescription("授权菜单")
|
||||
private List<Long> grantMenuIdList;
|
||||
|
||||
|
@ -178,7 +178,7 @@ public class SysRoleRequest extends BaseRequest {
|
|||
* 绑定标识,true-新增绑定菜单,false-取消绑定菜单
|
||||
*/
|
||||
@ChineseDescription("绑定标识,true-新增绑定菜单,false-取消绑定菜单")
|
||||
@NotNull(message = "绑定标识不能为空", groups = grantMenusAndButtons.class)
|
||||
@NotNull(message = "绑定标识不能为空", groups = {grantMenusAndButtons.class, grantRoleMenus.class})
|
||||
private Boolean selectBindFlag;
|
||||
|
||||
/**
|
||||
|
@ -235,4 +235,11 @@ public class SysRoleRequest extends BaseRequest {
|
|||
*/
|
||||
public @interface roleBindMenuList {
|
||||
}
|
||||
|
||||
/**
|
||||
* 绑定角色菜单
|
||||
*/
|
||||
public @interface grantRoleMenus {
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -252,4 +252,15 @@ public class SysRoleController {
|
|||
return new SuccessResponseData<>(sysRoleService.getRoleSelectList(sysRoleRequest));
|
||||
}
|
||||
|
||||
/**
|
||||
* 角色权限界面:角色绑定菜单权限
|
||||
*
|
||||
* @author fengshuonan
|
||||
* @date 2022/9/28 20:28
|
||||
*/
|
||||
@PostResource(name = "角色权限界面:角色绑定菜单权限", path = "/sysRole/grantRoleMenus")
|
||||
public ResponseData<List<MenuAndButtonTreeResponse>> grantRoleMenus(@RequestBody @Validated(SysRoleRequest.grantRoleMenus.class) SysRoleRequest sysRoleRequest) {
|
||||
return new SuccessResponseData<>(sysRoleService.grantRoleMenus(sysRoleRequest));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -167,4 +167,13 @@ public interface SysRoleService extends IService<SysRole>, RoleServiceApi {
|
|||
* @date 2022/6/27 17:08
|
||||
*/
|
||||
List<MenuAndButtonTreeResponse> grantMenusAndButtonsAndGetResult(SysRoleRequest sysRoleRequest);
|
||||
|
||||
/**
|
||||
* 角色权限界面,绑定角色的菜单权限
|
||||
*
|
||||
* @author fengshuonan
|
||||
* @date 2022/9/28 20:29
|
||||
*/
|
||||
List<MenuAndButtonTreeResponse> grantRoleMenus(SysRoleRequest sysRoleRequest);
|
||||
|
||||
}
|
||||
|
|
|
@ -418,6 +418,26 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
|
|||
|
||||
@Override
|
||||
public void grantMenusAndButtons(SysRoleRequest sysRoleRequest) {
|
||||
|
||||
// 授权角色绑定的菜单
|
||||
this.grantRoleMenus(sysRoleRequest);
|
||||
|
||||
// 授权按钮
|
||||
if (ObjectUtil.isNotEmpty(sysRoleRequest.getModularButtonIds())) {
|
||||
this.grantButton(sysRoleRequest);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MenuAndButtonTreeResponse> grantMenusAndButtonsAndGetResult(SysRoleRequest sysRoleRequest) {
|
||||
this.grantMenusAndButtons(sysRoleRequest);
|
||||
return menuServiceApi.getRoleMenuAndButtons(sysRoleRequest);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MenuAndButtonTreeResponse> grantRoleMenus(SysRoleRequest sysRoleRequest) {
|
||||
|
||||
// 获取新增绑定还是取消绑定菜单
|
||||
Boolean selectBindFlag = sysRoleRequest.getSelectBindFlag();
|
||||
|
||||
|
@ -448,16 +468,8 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
|
|||
this.roleMenuService.remove(wrapper);
|
||||
}
|
||||
|
||||
// 授权按钮
|
||||
if (ObjectUtil.isNotEmpty(sysRoleRequest.getModularButtonIds())) {
|
||||
this.grantButton(sysRoleRequest);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MenuAndButtonTreeResponse> grantMenusAndButtonsAndGetResult(SysRoleRequest sysRoleRequest) {
|
||||
this.grantMenusAndButtons(sysRoleRequest);
|
||||
return menuServiceApi.getRoleMenuAndButtons(sysRoleRequest);
|
||||
// 获取当前角色分配的菜单权限
|
||||
return menuServiceApi.getRoleBindMenuList(sysRoleRequest);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Reference in New Issue