package com.github.niefy.modules.sys.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.github.niefy.modules.sys.entity.SysMenuEntity;

import java.util.List;


/**
 * 菜单管理
 * @author Mark sunlightcs@gmail.com
 */
public interface SysMenuService extends IService<SysMenuEntity> {

    /**
     * 根据父菜单，查询子菜单
     * @param parentId 父菜单ID
     * @param menuIdList  用户菜单ID
     */
    List<SysMenuEntity> queryListParentId(Long parentId, List<Long> menuIdList);

    /**
     * 根据父菜单，查询子菜单
     * @param parentId 父菜单ID
     */
    List<SysMenuEntity> queryListParentId(Long parentId);

    /**
     * 获取不包含按钮的菜单列表
     */
    List<SysMenuEntity> queryNotButtonList();

    /**
     * 获取用户菜单列表
     */
    List<SysMenuEntity> getUserMenuList(Long userId);

    /**
     * 删除
     */
    void delete(Long menuId);

    /**
     * 获取用户所有的菜单
     * @param userId 用户id
     * @return
     */
    List<SysMenuEntity> queryUserAllMenu(Long userId);
}
