菜单类型接口

This commit is contained in:
陈淳
2022-09-09 19:34:20 +08:00
parent d4c55620f1
commit 0fb57a0a2c
7 changed files with 66 additions and 1 deletions

View File

@@ -25,6 +25,13 @@ namespace Yi.Framework.ApiMicroservice.Controllers
_iDictionaryService = iDictionaryService;
}
[HttpGet]
public async Task<Result> PageList([FromQuery] DictionaryEntity dic, [FromQuery] PageParModel page)
{
return Result.Success().SetData(await _iDictionaryService.SelctPageList(dic, page));
}
[HttpGet]
[Route("{type}")]
public async Task<Result> GetListByType([FromRoute] string type)

View File

@@ -0,0 +1,19 @@
using System.Collections.Generic;
using System.Threading.Tasks;
using Yi.Framework.Common.Models;
using Yi.Framework.Model.Models;
using Yi.Framework.Repository;
namespace Yi.Framework.Interface
{
public partial interface IDictionaryService:IBaseService<DictionaryEntity>
{
/// <summary>
/// 动态条件分页查询
/// </summary>
/// <param name="dic"></param>
/// <param name="page"></param>
/// <returns></returns>
Task<PageModel<List<DictionaryEntity>>> SelctPageList(DictionaryEntity dic, PageParModel page);
}
}

View File

@@ -28,6 +28,13 @@ namespace Yi.Framework.Interface
/// <param name="menuIds"></param>
/// <returns></returns>
Task<bool> GiveRoleSetMenu(List<long> roleIds, List<long> menuIds);
/// <summary>
/// 动态条件分页查询
/// </summary>
/// <param name="role"></param>
/// <param name="page"></param>
/// <returns></returns>
Task<PageModel<List<RoleEntity>>> SelctPageList(RoleEntity role, PageParModel page);
}
}

View File

@@ -13,6 +13,7 @@ namespace Yi.Framework.Repository
{
public interface IRepository<T> : ISimpleClient<T> where T : class, IBaseModelEntity, new()
{
public ISugarQueryable<T> _DbQueryable { get; set; }
public ISqlSugarClient _Db { get; set; }
public Task<bool> UseTranAsync(Func<Task> func);
public Task<T> InsertReturnEntityAsync(T entity);

View File

@@ -14,6 +14,8 @@ namespace Yi.Framework.Repository
/// <typeparam name="T"></typeparam>
public class Repository<T> : SimpleClient<T>, IRepository<T> where T : class, IBaseModelEntity, new()
{
public ISugarQueryable<T> _DbQueryable { get { return base.Context.Queryable<T>(); } set { } }
public ISqlSugarClient _Db { get { return base.Context; } set { } }
/// <summary>
/// 构造函数

View File

@@ -0,0 +1,29 @@
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Yi.Framework.Common.Models;
using Yi.Framework.Interface;
using Yi.Framework.Model.Models;
using Yi.Framework.Repository;
namespace Yi.Framework.Service
{
public partial class DictionaryService : BaseService<DictionaryEntity>, IDictionaryService
{
public async Task<PageModel<List<DictionaryEntity>>> SelctPageList(DictionaryEntity dic, PageParModel page)
{
RefAsync<int> total = 0;
var data = await _repository._DbQueryable
.WhereIF(!string.IsNullOrEmpty(dic.DicName), u => u.DicName.Contains(dic.DicName))
.WhereIF(!string.IsNullOrEmpty(dic.DictType), u => u.DictType.Contains(dic.DictType))
.WhereIF(page.StartTime.IsNotNull() && page.EndTime.IsNotNull(), u => u.CreateTime >= page.StartTime && u.CreateTime <= page.EndTime)
.Where(u => u.IsDeleted == false)
.OrderBy(u => u.OrderNum, OrderByType.Desc)
.ToPageListAsync(page.PageNum, page.PageSize, total);
return new PageModel<List<DictionaryEntity>>(data, total);
}
}
}