mirror of https://gitee.com/stylefeng/roses
【8.3.4】完善角色绑定功能编码
parent
feb6ef4d25
commit
d569c80095
|
@ -3,8 +3,10 @@ package cn.stylefeng.roses.kernel.sys.modular.role.service.impl;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.stylefeng.roses.kernel.auth.api.context.LoginContext;
|
import cn.stylefeng.roses.kernel.auth.api.context.LoginContext;
|
||||||
import cn.stylefeng.roses.kernel.sys.api.SysUserRoleServiceApi;
|
import cn.stylefeng.roses.kernel.sys.api.SysUserRoleServiceApi;
|
||||||
|
import cn.stylefeng.roses.kernel.sys.api.entity.SysMenuOptions;
|
||||||
import cn.stylefeng.roses.kernel.sys.api.enums.PermissionNodeTypeEnum;
|
import cn.stylefeng.roses.kernel.sys.api.enums.PermissionNodeTypeEnum;
|
||||||
import cn.stylefeng.roses.kernel.sys.api.pojo.role.request.RoleBindPermissionRequest;
|
import cn.stylefeng.roses.kernel.sys.api.pojo.role.request.RoleBindPermissionRequest;
|
||||||
|
import cn.stylefeng.roses.kernel.sys.modular.menu.service.SysMenuOptionsService;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.role.action.RoleAssignOperateAction;
|
import cn.stylefeng.roses.kernel.sys.modular.role.action.RoleAssignOperateAction;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.role.action.RoleBindLimitAction;
|
import cn.stylefeng.roses.kernel.sys.modular.role.action.RoleBindLimitAction;
|
||||||
import cn.stylefeng.roses.kernel.sys.modular.role.entity.SysRoleLimit;
|
import cn.stylefeng.roses.kernel.sys.modular.role.entity.SysRoleLimit;
|
||||||
|
@ -38,6 +40,9 @@ public class RoleBindOptionImpl implements RoleAssignOperateAction, RoleBindLimi
|
||||||
@Resource
|
@Resource
|
||||||
private SysUserRoleServiceApi sysUserRoleServiceApi;
|
private SysUserRoleServiceApi sysUserRoleServiceApi;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private SysMenuOptionsService sysMenuOptionsService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PermissionNodeTypeEnum getNodeType() {
|
public PermissionNodeTypeEnum getNodeType() {
|
||||||
return PermissionNodeTypeEnum.OPTIONS;
|
return PermissionNodeTypeEnum.OPTIONS;
|
||||||
|
@ -55,10 +60,16 @@ public class RoleBindOptionImpl implements RoleAssignOperateAction, RoleBindLimi
|
||||||
}
|
}
|
||||||
|
|
||||||
if (roleBindPermissionRequest.getChecked()) {
|
if (roleBindPermissionRequest.getChecked()) {
|
||||||
SysRoleMenuOptions sysRoleMenuOptions = new SysRoleMenuOptions();
|
// 获取菜单功能的信息
|
||||||
sysRoleMenuOptions.setRoleId(roleId);
|
SysMenuOptions sysMenuOptions = sysMenuOptionsService.getById(menuOptionId);
|
||||||
sysRoleMenuOptions.setMenuOptionId(menuOptionId);
|
if (sysMenuOptions != null) {
|
||||||
this.sysRoleMenuOptionsService.save(sysRoleMenuOptions);
|
SysRoleMenuOptions sysRoleMenuOptions = new SysRoleMenuOptions();
|
||||||
|
sysRoleMenuOptions.setRoleId(roleId);
|
||||||
|
sysRoleMenuOptions.setAppId(sysMenuOptions.getAppId());
|
||||||
|
sysRoleMenuOptions.setMenuId(sysMenuOptions.getMenuId());
|
||||||
|
sysRoleMenuOptions.setMenuOptionId(menuOptionId);
|
||||||
|
this.sysRoleMenuOptionsService.save(sysRoleMenuOptions);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
// 当前正在进行的角色,不能禁用掉自己的权限
|
// 当前正在进行的角色,不能禁用掉自己的权限
|
||||||
|
|
Loading…
Reference in New Issue