package com.zhgd.xmgl.modules.basicdata.service;

import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zhgd.jeecg.common.mybatis.EntityMap;
import com.zhgd.xmgl.modules.basicdata.dto.MenuTreeDto;
import com.zhgd.xmgl.modules.basicdata.entity.BaseMenu;
import com.zhgd.xmgl.modules.basicdata.entity.BaseModule;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * @Description: 系统菜单
 * @author： pds
 * @date：   2020-10-12
 * @version： V1.0
 */
public interface IBaseMenuService extends IService<BaseMenu> {

    List<BaseMenu> selectBaseMenuList(Map<String, Object> map);

    Map<String, Object> getProjectModuleAndMenu(Map<String, Object> map);

    List<EntityMap> getProjectBaseMenuList(Map<String, Object> map);

    List<BaseModule> getProjectModuleGroupMenuList(Map<String, Object> map);

    List<EntityMap> groupMenu(List<EntityMap> list, List<EntityMap> actionList);

    List<EntityMap> getProjectUserMenuList(Map<String, Object> param);

    List<EntityMap> selectHeadquartersMenuList(Map<String, Object> param);

    List<EntityMap> selectComapnyUserMenuList(Map<String, Object> param);

    //Map<String,Object> getDefaultProjectMenu();

    void saveBaseMenu(BaseMenu baseMenu);

    void editBaseMenu(BaseMenu baseMenu);

    boolean delInfo(Long moduleId);

    JSONArray selectGroupList(Map<String, Object> map);

    List<MenuTreeDto> treeMenu(Integer type);

    List<MenuTreeDto> myTreeMenu(Long moduleId);

    Set<Long> roleMenu(String roleId);
}
