using System.Collections.Generic;
using System.Data;
using System.Threading.Tasks;
using Znyc.Recruitment.Admin.Commons.Core.Dtos;
using Znyc.Recruitment.Admin.Commons.Entitys;
using Znyc.Recruitment.Admin.Commons.IServices;
using Znyc.Recruitment.Admin.Security.Dtos;
using Znyc.Recruitment.Admin.Security.Entitys;
namespace Znyc.Recruitment.Admin.Security.IServices
{
///
///
public interface IMenuService : IService
{
///
/// 根据用户获取功能菜单
///
/// 用户ID
///
List GetMenuByUser(long userId);
///
/// 获取功能菜单适用于Vue 树形列表
///
/// 子系统Id
///
Task> GetAllMenuTreeTable(string systemTypeId);
///
/// 根据角色ID字符串(逗号分开)和系统类型ID,获取对应的操作功能列表
///
/// 角色ID
/// 系统类型ID
/// 是否是菜单
///
List GetFunctions(string roleIds, string typeID, bool isMenu = false);
///
/// 根据系统类型ID,获取对应的操作功能列表
///
/// 系统类型ID
///
List GetFunctions(string typeID);
///
/// 根据父级功能编码查询所有子集功能,主要用于页面操作按钮权限
///
/// 菜单功能编码
///
Task> GetListByParentEnCode(string enCode);
///
/// 按条件批量删除
///
/// 主键Id集合
/// 事务对象
///
CommonResult DeleteBatchWhere(DeletesInputDto ids, IDbTransaction trans = null);
///
/// 异步按条件批量删除
///
/// 主键Id集合
/// 事务对象
///
Task DeleteBatchWhereAsync(DeletesInputDto ids, IDbTransaction trans = null);
}
}