using Entity.DbModel.System; using Entity.Dto.Req; using HybirdFrameworkCore.Autofac.Attribute; using Repository.System; namespace Service.Mgr { [Scope("SingleInstance")] public class SysRoleMenuMgr { private readonly SysRoleMenuRepository _sysRoleMenuRep; public SysRoleMenuMgr(SysRoleMenuRepository sysRoleMenuRep) { _sysRoleMenuRep = sysRoleMenuRep; } /// /// 根据角色Id集合获取菜单Id集合 /// /// /// public async Task> GetRoleMenuIdList(List roleIdList) { return await _sysRoleMenuRep.QueryByClauseAsync(u => roleIdList.Contains(u.RoleId), u => u.MenuId); } /// /// 授权角色菜单 /// /// /// public async Task GrantRoleMenu(RoleMenuReq input) { await _sysRoleMenuRep.DeleteAsync(u => u.RoleId == input.Id); var menus = input.MenuIdList.Select(u => new SysRoleMenu { RoleId = input.Id, MenuId = u }).ToList(); await _sysRoleMenuRep.InsertAsync(menus); } /// /// 根据菜单Id集合删除角色菜单 /// /// /// public async Task DeleteRoleMenuByMenuIdList(List menuIdList) { await _sysRoleMenuRep.DeleteAsync(u => menuIdList.Contains(u.MenuId)); } /// /// 根据角色Id删除角色菜单 /// /// /// public async Task DeleteRoleMenuByRoleId(long roleId) { await _sysRoleMenuRep.DeleteAsync(u => u.RoleId == roleId); } } }