LFlow/LFlow.Base/Utils/PagedApiResult.cs

90 lines
2.3 KiB
C#

namespace LFlow.Base.Utils;
/// <summary>
/// 返回结果包装 (分页)
/// </summary>
/// <typeparam name="T"></typeparam>
[Serializable]
public class PagedApiResult<T> : ApiResult<T> where T : class, new()
{
/// <summary>
/// 数据
/// </summary>
public new T? Data
{
get; set;
}
/// <summary>
/// 总行数
/// </summary>
public int TotalCount
{
get; set;
}
/// <summary>
/// 当前页
/// </summary>
public int PageIndex
{
get; set;
}
/// <summary>
/// 每页行数
/// </summary>
public int PageSize
{
get; set;
}
/// <summary>
/// 构造函数
/// </summary>
public PagedApiResult()
{
}
/// <summary>
/// 构造函数
/// </summary>
/// <param name="success"></param>
/// <param name="message"></param>
/// <param name="code"></param>
/// <param name="data"></param>
/// <param name="totalCount"></param>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
public PagedApiResult(bool success, string message, int code, T? data, int totalCount, int pageIndex, int pageSize)
{
Success = success;
Message = message;
Code = code;
Data = data;
TotalCount = totalCount;
PageIndex = pageIndex;
PageSize = pageSize;
}
/// <summary>
/// 成功返回
/// </summary>
/// <param name="data"></param>
/// <param name="totalCount"></param>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="message"></param>
/// <param name="code"></param>
/// <returns></returns>
public static PagedApiResult<T> SuccessResult(T? data, int totalCount, int pageIndex, int pageSize, string message = "操作成功", int code = 200)
{
return new PagedApiResult<T>(true, message, code, data, totalCount, pageIndex, pageSize);
}
/// <summary>
/// 失败返回
/// </summary>
/// <param name="message"></param>
/// <param name="errCode"></param>
/// <returns></returns>
public static new PagedApiResult<T>? FailResult(string message = "操作失败", int errCode = 500)
{
return new PagedApiResult<T>(false, message, errCode, null, 0, 0, 0);
}
}