You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
217 lines
5.2 KiB
217 lines
5.2 KiB
using AutoMapper;
|
|
|
|
namespace Tiobon.Core.Model;
|
|
|
|
/// <summary>
|
|
/// 服务层响应实体(泛型)
|
|
/// </summary>
|
|
public class ServiceResult<T>
|
|
{
|
|
/// <summary>
|
|
/// 状态码
|
|
/// </summary>
|
|
public int Status { get; set; } = 200;
|
|
/// <summary>
|
|
/// 操作是否成功
|
|
/// </summary>
|
|
public bool Success { get; set; } = false;
|
|
/// <summary>
|
|
/// 返回信息
|
|
/// </summary>
|
|
public string Message { get; set; } = "";
|
|
/// <summary>
|
|
/// 开发者信息
|
|
/// </summary>
|
|
public string MessageDev { get; set; }
|
|
/// <summary>
|
|
/// 返回数据集合
|
|
/// </summary>
|
|
public T Data { get; set; }
|
|
|
|
/// <summary>
|
|
/// 返回成功
|
|
/// </summary>
|
|
/// <param name="message">消息</param>
|
|
/// <returns></returns>
|
|
public static ServiceResult<T> OprateSuccess(string message)
|
|
{
|
|
return OprateSuccess(true, message, default);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 返回成功
|
|
/// </summary>
|
|
/// <param name="message">消息</param>
|
|
/// <param name="data">数据</param>
|
|
/// <returns></returns>
|
|
public static ServiceResult<T> OprateSuccess(string message, T data)
|
|
{
|
|
return OprateSuccess(true, message, data);
|
|
}
|
|
/// <summary>
|
|
/// 返回失败
|
|
/// </summary>
|
|
/// <param name="message">消息</param>
|
|
/// <returns></returns>
|
|
public static ServiceResult<T> OprateFailed(string message)
|
|
{
|
|
return OprateSuccess(false, message, default);
|
|
}
|
|
/// <summary>
|
|
/// 返回失败
|
|
/// </summary>
|
|
/// <param name="message">消息</param>
|
|
/// <param name="data">数据</param>
|
|
/// <returns></returns>
|
|
public static ServiceResult<T> OprateFailed(string message, T data)
|
|
{
|
|
return OprateSuccess(false, message, data);
|
|
}
|
|
/// <summary>
|
|
/// 返回消息
|
|
/// </summary>
|
|
/// <param name="success">失败/成功</param>
|
|
/// <param name="message">消息</param>
|
|
/// <param name="data">数据</param>
|
|
/// <returns></returns>
|
|
public static ServiceResult<T> OprateSuccess(bool success, string message, T data)
|
|
{
|
|
return new ServiceResult<T>() { Message = message, Data = data, Success = success };
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 服务层响应实体
|
|
/// </summary>
|
|
public class ServiceResult
|
|
{
|
|
/// <summary>
|
|
/// 状态码
|
|
/// </summary>
|
|
public int Status { get; set; } = 200;
|
|
/// <summary>
|
|
/// 操作是否成功
|
|
/// </summary>
|
|
public bool Success { get; set; } = false;
|
|
/// <summary>
|
|
/// 返回信息
|
|
/// </summary>
|
|
public string Message { get; set; } = "";
|
|
/// <summary>
|
|
/// 返回数据集合
|
|
/// </summary>
|
|
public object Data { get; set; }
|
|
|
|
/// <summary>
|
|
/// 操作成功
|
|
/// </summary>
|
|
/// <param name="msg"></param>
|
|
/// <returns></returns>
|
|
public static ServiceResult OprateSuccess(string msg = "操作成功")
|
|
{
|
|
return new ServiceResult
|
|
{
|
|
Message = msg,
|
|
Success = true,
|
|
Data = null
|
|
};
|
|
}
|
|
|
|
/// <summary>
|
|
/// 操作失败
|
|
/// </summary>
|
|
/// <param name="msg"></param>
|
|
/// <param name="status"></param>
|
|
/// <returns></returns>
|
|
public static ServiceResult OprateFailed(string msg = "操作失败", int status = 500)
|
|
{
|
|
return new ServiceResult
|
|
{
|
|
Message = msg,
|
|
Status = status,
|
|
Data = null
|
|
};
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 服务层分页响应实体(泛型)
|
|
/// </summary>
|
|
public class ServicePageResult<T>
|
|
{
|
|
/// <summary>
|
|
/// 状态码
|
|
/// </summary>
|
|
public int Status { get; set; } = 200;
|
|
/// <summary>
|
|
/// 操作是否成功
|
|
/// </summary>
|
|
public bool Success { get; set; } = true;
|
|
/// <summary>
|
|
/// 返回信息
|
|
/// </summary>
|
|
public string Message { get; set; } = null;
|
|
/// <summary>
|
|
/// 当前页标
|
|
/// </summary>
|
|
public int Page { get; set; } = 1;
|
|
/// <summary>
|
|
/// 总页数
|
|
/// </summary>
|
|
public int PageCount => (int)Math.Ceiling((decimal)TotalCount / PageSize);
|
|
/// <summary>
|
|
/// 数据总数
|
|
/// </summary>
|
|
public int TotalCount { get; set; } = 0;
|
|
/// <summary>
|
|
/// 每页大小
|
|
/// </summary>
|
|
public int PageSize { set; get; } = 20;
|
|
/// <summary>
|
|
/// 返回数据
|
|
/// </summary>
|
|
public List<T> Data { get; set; }
|
|
|
|
public ServicePageResult() { }
|
|
|
|
public ServicePageResult(int page, int totalCount, int pageSize, List<T> data)
|
|
{
|
|
this.Page = page;
|
|
this.TotalCount = totalCount;
|
|
PageSize = pageSize;
|
|
this.Data = data;
|
|
}
|
|
|
|
public PageModel<TOut> ConvertTo<TOut>()
|
|
{
|
|
return new PageModel<TOut>(Page, TotalCount, PageSize, default);
|
|
}
|
|
|
|
|
|
public PageModel<TOut> ConvertTo<TOut>(IMapper mapper)
|
|
{
|
|
var model = ConvertTo<TOut>();
|
|
|
|
if (Data != null)
|
|
{
|
|
model.data = mapper.Map<List<TOut>>(Data);
|
|
}
|
|
|
|
return model;
|
|
}
|
|
|
|
|
|
public PageModel<TOut> ConvertTo<TOut>(IMapper mapper, Action<IMappingOperationOptions> options)
|
|
{
|
|
var model = ConvertTo<TOut>();
|
|
if (Data != null)
|
|
{
|
|
model.data = mapper.Map<List<TOut>>(Data, options);
|
|
}
|
|
|
|
return model;
|
|
|
|
}
|
|
|
|
} |