package cn.com.ty.lift.system.user.service;

import cn.com.ty.lift.system.user.dao.entity.Menu;
import cn.com.ty.lift.system.user.dao.entity.model.MenuRequest;
import cn.com.xwy.boot.web.dto.RestResponse;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * @author huangyuan
 * @date 2019-12-01
 * @description 菜单接口
 */
public interface IMenuService extends IService<Menu> {
    /**
     * @param
     * @return
     * @description 通过角色信息获取菜单列表
     * @date 2019/11/27 10:03 AM
     */
    List<Menu> getByRoleId(Long roleId);

    /**
     * @param menuList 菜单列表
     * @return
     * @description 菜单列表转路径
     * @date 2019/11/27 10:03 AM
     */
    String menuToUrl(List<Menu> menuList);

    /**
     * @param
     * @param menuRequest
     * @return
     * @description 获取所有的菜单信息
     * @date 2019/11/27 10:03 AM
     */
    RestResponse all(MenuRequest menuRequest);

    /**
     * @param
     * @return
     * @description 通过公司id获取公司菜单
     * @date 2019/11/27 10:03 AM
     */
    RestResponse list(MenuRequest menuRequest);

    /**
     * @param
     * @return
     * @description 给公司分配菜单
     * @date 2019/11/27 10:03 AM
     */
    RestResponse companyMenu(MenuRequest menuRequest);

    /**
     * @param menuList 菜单列表
     * @return
     * @description 获取菜单树
     * @date 2019-12-09
     */
    List<Menu> getMenuTree(List<Menu> menuList);

    /**
     * @param
     * @return
     * @description 获取公司菜单列表
     * @date 2019-12-24 17:56
     */
    List<Menu> getCompanyMenuList(Long companyId);

}
