package com.red.circle.console.infra.database.rds.dao.admin;

import com.red.circle.console.infra.database.rds.dto.admin.MenuTreeDTO;
import com.red.circle.console.infra.database.rds.entity.admin.Menu;
import com.red.circle.console.infra.database.rds.enums.MenuTypeEnum;
import com.red.circle.console.infra.database.rds.enums.StatusEnum;
import com.red.circle.framework.mybatis.dao.BaseDAO;
import java.util.List;
import org.apache.ibatis.annotations.Param;

/**
 * <p>
 * 菜单表 Mapper 接口.
 * </p>
 *
 * @author pengliang
 */
public interface MenuDAO extends BaseDAO<Menu> {

  /**
   * 获取用户权限菜单.
   */
  List<MenuTreeDTO> findUserPermMenus(@Param("uid") Integer uid,
      @Param("statusType") StatusEnum statusType,
      @Param("menuTypes") List<MenuTypeEnum> menuTypes);

  MenuTreeDTO findUserPermMenu(@Param("uid") Integer uid, @Param("alias") String alias);
}
