Files
Yi.Admin/Yi.Framework.Net6/Yi.Framework.Service/RABC/MenuService.cs

40 lines
1.5 KiB
C#
Raw Normal View History

2022-04-26 01:31:14 +08:00
using SqlSugar;
using System.Collections.Generic;
using System.Threading.Tasks;
using Yi.Framework.Interface;
2023-01-01 23:06:11 +08:00
using Yi.Framework.Interface.RABC;
using Yi.Framework.Model.RABC.Entitys;
2022-04-26 01:31:14 +08:00
using Yi.Framework.Repository;
2023-01-01 23:06:11 +08:00
using Yi.Framework.Service.Base;
2022-04-26 01:31:14 +08:00
2023-01-01 23:06:11 +08:00
namespace Yi.Framework.Service.RABC
2022-04-26 01:31:14 +08:00
{
public partial class MenuService : BaseService<MenuEntity>, IMenuService
{
2023-01-01 23:06:11 +08:00
public MenuService(IRepository<MenuEntity> repository) : base(repository)
{
}
2022-09-09 16:52:32 +08:00
public async Task<List<MenuEntity>> SelctGetList(MenuEntity menu)
{
2022-09-10 13:36:01 +08:00
var data = await _repository._DbQueryable
2022-09-09 16:52:32 +08:00
.WhereIF(!string.IsNullOrEmpty(menu.MenuName), u => u.MenuName.Contains(menu.MenuName))
.Where(u => u.IsDeleted == false)
.OrderBy(u => u.OrderNum, OrderByType.Desc)
.ToListAsync();
return data;
}
2022-04-26 01:31:14 +08:00
public async Task<List<MenuEntity>> GetMenuTreeAsync()
{
//ParentId 0,代表为根目录,只能存在一个
//复杂查询直接使用db代理
2022-09-09 16:52:32 +08:00
return await _repository._Db.Queryable<MenuEntity>().Where(u => u.IsDeleted == false).ToTreeAsync(it => it.Children, it => it.ParentId, 0);
2022-04-26 01:31:14 +08:00
}
public async Task<List<MenuEntity>> GetListByRoleId(long roleId)
{
2023-01-01 23:06:11 +08:00
return (await _repository._Db.Queryable<RoleEntity>().Includes(r => r.Menus).SingleAsync(r => r.Id == roleId)).Menus;
}
2022-04-26 01:31:14 +08:00
}
}