package cn.service.system;

import java.util.List;
import java.util.Map;

import cn.pojo.entity.TSysMenu;
import cn.pojo.entity.TSysRolePerm;
import cn.pojo.vo.RouterVo;
import cn.pojo.vo.TreeSelectVo;

public interface IMenuService 
{
	List<TSysMenu> selectMenuList(String roleId, Map<String,Object> whereMap);
	List<TSysMenu> selectMenuList(String roleId);
	List<TSysMenu> selectMenuList4Perm(String roleId); 
	List<TSysMenu> selectPermMenuList(String roleId);
	List<Integer> selectMenuListByRoleId(String roleId);
	List<TSysMenu> selectMenuTreeByRoleId(String roleId);
		
	Boolean hasChildByMenuId(Long menuId);
	Boolean checkMenuExistRole(Long menuId);
	Boolean deleteMenu(Long menuId);
	Boolean checkMenuNameUnique(TSysMenu menu);
	TSysMenu getMenuById(Long menuId);
	List<TSysRolePerm> selectRoleMenuListByRoleId(String roleId);
	
	List<RouterVo> buildMenus(List<TSysMenu> menus);
	List<TreeSelectVo> buildMenuTreeSelect(List<TSysMenu> menus);
}
