package ink.wgink.interfaces.menu;

import ink.wgink.pojo.dtos.menu.MenuDTO;

import java.util.List;

/**
 * @ClassName: IMongoMenuService
 * @Description: mongo菜单
 * @Author: wanggeng
 * @Date: 2022/5/24 20:54
 * @Version: 1.0
 */
public interface IMongoMenuService {

    /**
     * 更新全部系统菜单
     */
    void updateAllSystemMenu();

    /**
     * 删除
     *
     * @param menuIds
     */
    void delete(List<String> menuIds);

    /**
     * 更新
     *
     * @param menuId
     */
    void update(String menuId);

    /**
     * 详情
     *
     * @param menuId
     * @return
     */
    MenuDTO get(String menuId);

    /**
     * 详情
     *
     * @param menuCode
     * @return
     */
    MenuDTO getByCode(String menuCode);

    /**
     * 系统子菜单列表
     *
     * @param systemMenuId 系统菜单ID
     * @return
     */
    List<MenuDTO> listSystemSubMenus(String systemMenuId);

    /**
     * 系统子菜单列表
     *
     * @param systemMenuId    系统菜单ID
     * @param selectedMenuIds 选择的菜单ID
     * @return
     */
    List<MenuDTO> listSystemSubMenus(String systemMenuId, List<String> selectedMenuIds);

}
