package com.cool.store.service;

import com.cool.store.dto.menu.AddMenuDTO;
import com.cool.store.enums.MenuTypeEnum;
import com.cool.store.vo.menu.MenuAuthTreeVO;
import com.cool.store.vo.menu.MenuTreeVO;

import java.util.List;

/**
 * @author zhangchenbiao
 * @FileName: MenuService
 * @Description:
 * @date 2023-06-08 16:43
 */
public interface MenuService {

    /**
     * 获取用户某个角色的菜单
     * @param userId
     * @param roleId
     * @return
     */
    List<MenuTreeVO> getUserMenus(String userId, String roleId);

    /**
     * 获取所有的菜单
     * @return
     */
    List<MenuAuthTreeVO> getAllMenus();

    /**
     * 新增菜单
     * @param param
     * @param menuType
     * @return
     */
    Long addMenu(AddMenuDTO param, MenuTypeEnum menuType);


    Long deleteMenuAuth(Long id);

    /**
     * 菜单排序
     * @param ids
     * @return
     */
    Integer sortMenu(List<Long> ids);

}
