【7.6.0】【sys】【permission】定义角色绑定权限接口的规范

pull/55/MERGE
fengshuonan 2023-06-13 22:21:03 +08:00
parent eba942c956
commit 57ce610f24
2 changed files with 45 additions and 4 deletions

View File

@ -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);
}

View File

@ -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