/* * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * Neither the name of the dreamlu.net developer nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * Author: Chill 庄骞 (smallchill@163.com) */ package com.vci.ubcs.system.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.springblade.core.tool.node.TreeNode; import com.vci.ubcs.system.dto.MenuDTO; import com.vci.ubcs.system.entity.Menu; import com.vci.ubcs.system.vo.MenuVO; import java.util.List; import java.util.Map; /** * MenuMapper 接口 * * @author Chill */ public interface MenuMapper extends BaseMapper { /** * 懒加载列表 * * @param parentId * @param param * @return */ List lazyList(Long parentId, Map param); /** * 懒加载菜单列表 * * @param parentId * @param param * @return */ List lazyMenuList(Long parentId, Map param); /** * 树形结构 * * @return */ List tree(); /** * 授权树形结构 * * @return */ List grantTree(); /** * 授权树形结构 * * @param roleId * @return */ List grantTreeByRole(List roleId); /** * 顶部菜单树形结构 * * @return */ List grantTopTree(); /** * 顶部菜单树形结构 * * @param roleId * @return */ List grantTopTreeByRole(List roleId); /** * 数据权限授权树形结构 * * @return */ List grantDataScopeTree(); /** * 接口权限授权树形结构 * * @return */ List grantApiScopeTree(); /** * 数据权限授权树形结构 * * @param roleId * @return */ List grantDataScopeTreeByRole(List roleId); /** * 接口权限授权树形结构 * * @param roleId * @return */ List grantApiScopeTreeByRole(List roleId); /** * 所有菜单 * * @return */ List allMenu(); /** * 根据业务类型查询菜单的子按钮 * * @return */ List selectMenuChildByBtnType(String btmType); /** * 权限配置菜单 * * @param roleId * @param topMenuId * @return */ List roleMenu(List roleId, Long topMenuId); /** * 权限配置菜单 * * @param roleId * @return */ List roleMenuByRoleId(List roleId); /** * 权限配置菜单 * * @param topMenuId * @return */ List roleMenuByTopMenuId(Long topMenuId); /** * 菜单树形结构 * * @param roleId * @return */ List routes(List roleId); /** * 按钮树形结构 * * @return */ List allButtons(); /** * 按钮树形结构 * * @param roleId * @return */ List buttons(List roleId); /** * 获取配置的角色权限 * * @param roleIds * @return */ List authRoutes(List roleIds); }