using MediatR;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
|
namespace FlexJobApi.Core
|
{
|
/// <summary>
|
/// 查询分页列表
|
/// </summary>
|
/// <typeparam name="TResult"></typeparam>
|
/// <typeparam name="TItem"></typeparam>
|
public abstract class PagedListQuery<TResult, TItem> : IRequest<TResult>
|
where TResult : PagedListQueryResult<TItem>, new()
|
where TItem : class, new()
|
{
|
protected PagedListQuery()
|
{
|
PageModel = new PagedListQueryPageModel();
|
}
|
|
/// <summary>
|
/// 分页信息
|
/// </summary>
|
public PagedListQueryPageModel PageModel { get; set; }
|
}
|
|
/// <summary>
|
/// 查询分页列表-分页信息
|
/// </summary>
|
public class PagedListQueryPageModel
|
{
|
public PagedListQueryPageModel()
|
{
|
Page = 1;
|
Rows = 40;
|
OrderInput = [];
|
}
|
|
/// <summary>
|
/// 行数
|
/// </summary>
|
public int Rows { get; set; }
|
|
/// <summary>
|
/// 页码
|
/// </summary>
|
public int Page { get; set; }
|
|
/// <summary>
|
/// 排序
|
/// </summary>
|
public List<PagedListQueryPageModelOrderInput> OrderInput { get; set; }
|
}
|
|
/// <summary>
|
/// 查询分页列表-分页信息-排序信息
|
/// </summary>
|
public class PagedListQueryPageModelOrderInput
|
{
|
/// <summary>
|
/// 属性
|
/// </summary>
|
public string Property { get; set; }
|
|
/// <summary>
|
/// 排序
|
/// </summary>
|
public EnumPagedListOrder Order { get; set; }
|
}
|
|
/// <summary>
|
/// 查询分页列表-结果
|
/// </summary>
|
/// <typeparam name="TItem"></typeparam>
|
public class PagedListQueryResult<TItem>
|
where TItem : class, new()
|
{
|
public PagedListQueryResult()
|
{
|
Data = [];
|
}
|
|
/// <summary>
|
/// 分页信息
|
/// </summary>
|
public PagedListQueryResultPageModel PageModel { get; set; }
|
|
/// <summary>
|
/// 数据
|
/// </summary>
|
public List<TItem> Data { get; set; }
|
}
|
|
/// <summary>
|
/// 查询分页列表-分页信息
|
/// </summary>
|
public class PagedListQueryResultPageModel : PagedListQueryPageModel
|
{
|
/// <summary>
|
/// 总数
|
/// </summary>
|
public int TotalCount { get; set; }
|
|
/// <summary>
|
/// 页数
|
/// </summary>
|
public int TotalPage { get; set; }
|
}
|
}
|