Files
chfei fa03add754 增加同步物流模块
修改现有架构,改为分模块( 简易版)
2026-09-22 17:52:42 +08:00

89 lines
2.3 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System;
using System.Collections.Generic;
namespace Store.Framework.Models
{
public static class ResultCode
{
public const int Success = 200;
public const int Fail = 500;
public const int Unauthorized = 401;
public const int Forbidden = 403;
public const int NotFound = 404;
/// <summary>
/// 参数校验失败
/// </summary>
public const int ValidationError = 1001;
/// <summary>
/// 业务逻辑异常
/// </summary>
public const int BusinessError = 2001;
/// <summary>
/// 服务器内部错误
/// </summary>
public const int ServerError = 5000;
}
/// <summary>
/// 非泛型基类,用于统一处理
/// </summary>
public abstract class ApiResultBase
{
/// <summary>业务状态码</summary>
public int Code { get; set; } = ResultCode.Success;
/// <summary>提示信息</summary>
public string Msg { get; set; }
/// <summary>请求是否成功</summary>
public bool IsSuccess => Code == ResultCode.Success;
}
/// <summary>
/// 泛型响应
/// </summary>
public class ApiResult<T> : ApiResultBase
{
public T Data { get; set; }
public static ApiResult<T> Success(T data, string msg = "操作成功")
=> new ApiResult<T> { Code = ResultCode.Success, Data = data, Msg = msg };
public static ApiResult<T> Fail(string msg = "操作失败", int code = ResultCode.Fail, T data = default)
=> new ApiResult<T> { Code = code, Msg = msg, Data = data };
}
/// <summary>
/// 无数据响应(等同于 ApiResult<object>)
/// </summary>
public class ApiResult : ApiResult<object>
{
public static ApiResult Success(string msg = "操作成功")
=> new ApiResult { Code = ResultCode.Success, Msg = msg };
public static ApiResult Fail(string msg = "操作失败", int code = ResultCode.Fail)
=> new ApiResult { Code = code, Msg = msg };
}
public class ApiPageResult<T>: ApiResult<T>
{
public long Total { get; set; }
public int PageIndex { get; set; }
public int PageSize { get; set; }
public int TotalPages => PageSize > 0 ? (int)Math.Ceiling((double)Total / PageSize) : 0;
public List<T> List { get; set; } = new();
public ApiPageResult() { }
public ApiPageResult(List<T> list, long total, int pageIndex, int pageSize)
{
List = list;
Total = total;
PageIndex = pageIndex;
PageSize = pageSize;
}
}
}