package com.xunmei.system.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xunmei.common.core.web.domain.AjaxResult;
import com.xunmei.system.domain.SysMenu;

import java.util.Set;

/**
 * @author luojun
 */
public interface IMenuService extends IService<SysMenu> {

    /**
     * 根据角色ID查询权限
     * @param roleId 角色ID
     * @return 权限列表
     */
    Set<String> selectMenuPermsByRoleId(Long roleId);

    /**
     * 根据用户id查询权限
     * @param userId 用户ID
     * @return 权限列表
     */
    Set<String> selectMenuPermsByUserId(Long userId);

    /**
     * 查询定时任务调度表分页数据
     *
     * @param page      页码
     * @param sysMenu 每页条数
     * @return AjaxResult
     */
    AjaxResult findListByPage(Page<SysMenu> page, SysMenu sysMenu);

    /**
     * 添加定时任务调度表
     *
     * @param sysMenu 定时任务调度表
     * @return JsonBean
     */
    AjaxResult add(SysMenu sysMenu);

    /**
     * 删除定时任务调度表
     *
     * @param id 主键
     * @return AjaxResult
     */
    AjaxResult delete(Long id);

    /**
     * 修改定时任务调度表
     *
     * @param sysMenu 定时任务调度表
     * @return AjaxResult
     */
    AjaxResult updateData(SysMenu sysMenu);

    /**
     * id查询数据
     *
     * @param id id
     * @return AjaxResult
     */
    AjaxResult findById(Long id);
}
