mirror of https://gitee.com/stylefeng/roses
【7.6.0】【sys】【permission】定义角色绑定权限接口的规范
parent
eba942c956
commit
57ce610f24
|
@ -0,0 +1,35 @@
|
|||
package cn.stylefeng.roses.kernel.sys.modular.role.action;
|
||||
|
||||
import cn.stylefeng.roses.kernel.sys.modular.role.enums.PermissionNodeTypeEnum;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.role.pojo.request.RoleBindPermissionRequest;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.role.pojo.response.RoleBindPermissionItem;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 角色绑定权限操作的接口
|
||||
*
|
||||
* @author fengshuonan
|
||||
* @since 2023/6/13 22:16
|
||||
*/
|
||||
public interface RoleAssignOperateAction {
|
||||
|
||||
/**
|
||||
* 获取节点的类型,有4种节点类型
|
||||
*
|
||||
* @author fengshuonan
|
||||
* @since 2023/6/13 22:17
|
||||
*/
|
||||
PermissionNodeTypeEnum getNodeType();
|
||||
|
||||
/**
|
||||
* 执行角色绑定权限的过程,根据不同的点击类型,执行不同的操作过程
|
||||
*
|
||||
* @param roleBindPermissionRequest 角色绑定权限的参数
|
||||
* @return 返回节点绑定后的执行结果,返回的是当前操作节点的子集的所有
|
||||
* @author fengshuonan
|
||||
* @since 2023/6/13 22:17
|
||||
*/
|
||||
List<RoleBindPermissionItem> doOperateAction(RoleBindPermissionRequest roleBindPermissionRequest);
|
||||
|
||||
}
|
|
@ -1,11 +1,13 @@
|
|||
package cn.stylefeng.roses.kernel.sys.modular.role.service.impl;
|
||||
|
||||
import cn.hutool.extra.spring.SpringUtil;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.app.entity.SysApp;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.app.service.SysAppService;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.menu.entity.SysMenu;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.menu.entity.SysMenuOptions;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.menu.service.SysMenuOptionsService;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.menu.service.SysMenuService;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.role.action.RoleAssignOperateAction;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.role.entity.SysRoleMenu;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.role.entity.SysRoleMenuOptions;
|
||||
import cn.stylefeng.roses.kernel.sys.modular.role.factory.PermissionAssignFactory;
|
||||
|
@ -18,9 +20,7 @@ import cn.stylefeng.roses.kernel.sys.modular.role.service.SysRoleMenuService;
|
|||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
|
@ -61,7 +61,13 @@ public class PermissionAssignServiceImpl implements PermissionAssignService {
|
|||
|
||||
@Override
|
||||
public List<RoleBindPermissionItem> updateRoleBindPermission(RoleBindPermissionRequest roleBindPermissionRequest) {
|
||||
return null;
|
||||
Map<String, RoleAssignOperateAction> operateActionMap = SpringUtil.getBeansOfType(RoleAssignOperateAction.class);
|
||||
for (RoleAssignOperateAction roleAssignOperateAction : operateActionMap.values()) {
|
||||
if (roleAssignOperateAction.getNodeType().getCode().equals(roleBindPermissionRequest.getPermissionNodeType())) {
|
||||
return roleAssignOperateAction.doOperateAction(roleBindPermissionRequest);
|
||||
}
|
||||
}
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Reference in New Issue