package com.oying.modules.system.service; import com.baomidou.mybatisplus.extension.service.IService; import com.oying.modules.system.domain.Menu; import com.oying.modules.system.domain.dto.MenuQueryCriteria; import com.oying.modules.system.domain.dto.MenuVo; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; import java.util.Set; /** * @author Z * @date 2018-12-17 */ public interface MenuService extends IService { /** * 查询全部数据 * @param criteria 条件 * @param isQuery / * @throws Exception / * @return / */ List queryAll(MenuQueryCriteria criteria, Boolean isQuery) throws Exception; /** * 根据ID查询 * @param id / * @return / */ Menu findById(long id); /** * 创建 * @param resources / */ void create(Menu resources); /** * 编辑 * @param resources / */ void update(Menu resources); /** * 获取所有子节点,包含自身ID * @param menuList / * @param menuSet / * @return / */ Set getChildMenus(List menuList, Set menuSet); /** * 构建菜单树 * @param menus 原始数据 * @return / */ List buildTree(List menus); /** * 构建菜单树 * @param menus / * @return / */ List buildMenus(List menus); /** * 删除 * @param menuSet / */ void delete(Set menuSet); /** * 导出 * @param menus 待导出的数据 * @param response / * @throws IOException / */ void download(List menus, HttpServletResponse response) throws IOException; /** * 懒加载菜单数据 * @param pid / * @return / */ List getMenus(Long pid); /** * 根据ID获取同级与上级数据 * @param menu / * @param objects / * @return / */ List getSuperior(Menu menu, List objects); /** * 根据当前用户获取菜单 * @param currentUserId / * @return / */ List findByUser(Long currentUserId); }