package com.iailab.module.system.service.app;
|
|
|
import com.iailab.module.system.controller.admin.permission.vo.menu.MenuListReqVO;
|
import com.iailab.module.system.controller.admin.permission.vo.menu.MenuSaveVO;
|
import com.iailab.module.system.dal.dataobject.app.AppMenuDO;
|
|
import java.util.Collection;
|
import java.util.List;
|
|
/**
|
* 应用菜单 Service 接口
|
*
|
* @author iailab
|
*/
|
public interface AppMenuService {
|
|
/**
|
* 创建应用菜单
|
*
|
* @param createReqVO 应用菜单信息
|
* @return 创建出来的应用菜单编号
|
*/
|
Long createMenu(MenuSaveVO createReqVO);
|
|
/**
|
* 更新应用菜单
|
*
|
* @param updateReqVO 应用菜单信息
|
*/
|
void updateMenu(MenuSaveVO updateReqVO);
|
|
/**
|
* 删除应用菜单
|
*
|
* @param id 应用菜单编号
|
*/
|
void deleteMenu(Long id);
|
|
/**
|
* 获得所有应用菜单列表
|
*
|
* @return 应用菜单列表
|
*/
|
List<AppMenuDO> getMenuList();
|
|
/**
|
* 获得所有应用菜单列表
|
*
|
* @return 应用菜单列表(API使用)
|
*/
|
List<AppMenuDO> getMenuList(Integer type);
|
|
/**
|
* 基于租户,筛选应用菜单列表
|
* 注意,如果是系统租户,返回的还是全应用菜单
|
*
|
* @return 应用菜单列表(API使用)
|
*/
|
List<AppMenuDO> getMenuListByTenant(Integer type);
|
|
/**
|
* 根据父菜单ID查询所有子菜单
|
*
|
* @return 应用菜单列表(API使用)
|
*/
|
List<AppMenuDO> selectListByParentId(Collection<Long> parentIds);
|
|
/**
|
* 基于租户,筛选应用菜单列表
|
* 注意,如果是系统租户,返回的还是全应用菜单
|
*
|
* @param reqVO 筛选条件请求 VO
|
* @return 应用菜单列表
|
*/
|
List<AppMenuDO> getMenuListByTenant(MenuListReqVO reqVO);
|
|
/**
|
* 过滤掉关闭的应用菜单及其子应用菜单
|
*
|
* @param list 应用菜单列表
|
* @return 过滤后的应用菜单列表
|
*/
|
List<AppMenuDO> filterDisableMenus(List<AppMenuDO> list);
|
|
/**
|
* 筛选应用菜单列表
|
*
|
* @param reqVO 筛选条件请求 VO
|
* @return 应用菜单列表
|
*/
|
List<AppMenuDO> getMenuList(MenuListReqVO reqVO);
|
|
/**
|
* 获得权限对应的应用菜单编号数组
|
*
|
* @param permission 权限标识
|
* @return 数组
|
*/
|
List<Long> getMenuIdListByPermissionFromCache(String permission);
|
|
/**
|
* 获得应用菜单
|
*
|
* @param id 应用菜单编号
|
* @return 应用菜单
|
*/
|
AppMenuDO getMenu(Long id);
|
|
/**
|
* 获得应用菜单数组
|
*
|
* @param ids 应用菜单编号数组
|
* @return 应用菜单数组
|
*/
|
List<AppMenuDO> getMenuList(Collection<Long> ids);
|
|
}
|