using Hncore.Infrastructure.Extension; using Microsoft.AspNetCore.Mvc; using Newtonsoft.Json; namespace Hncore.Infrastructure.WebApi { /// /// 请求顶级父类 /// public class RequestBase { [JsonProperty("TenantId")] [FromQuery(Name = "TenantId")] public int? __tenantId { get; set; } /// /// 隶属物业数据库ID /// [JsonIgnore] public int TenantId { get => __tenantId.ToInt(); set => __tenantId = value; } [JsonProperty("OperaterId")] [FromQuery(Name = "OperaterId")] public int? __operaterId { get; set; } /// /// 当前操作员数据库ID /// [JsonIgnore] public int OperaterId { get => __operaterId.ToInt(); set => __operaterId = value; } [JsonProperty("ProjectCode")] [FromQuery(Name = "ProjectCode")] public int? __projectCode { get; set; } /// /// 隶属项目编码 /// [JsonIgnore] public int ProjectCode { get => __projectCode.ToInt(); set => __projectCode = value; } } /// /// 泛型请求父类(主要用于在请求时携带数据) /// /// 携带的数据类型 public class RequestBase : RequestBase { /// /// 请求携带的数据对象 /// public T Data { get; set; } } /// /// 分页请求父类(主要用于分页请求操作) /// /// public class PageRequestBase : RequestBase { [JsonProperty("PageIndex")] [FromQuery(Name = "PageIndex")] public int? __pageIndex { get; set; } = 1; /// /// 当前页码 /// [JsonIgnore] public int PageIndex { get => __pageIndex.ToInt(); set => __pageIndex = value; } [JsonProperty("PageSize")] [FromQuery(Name = "PageSize")] public int? __pageSize { get; set; } = 50; /// /// 每页条目数 /// [JsonIgnore] public int PageSize { get => __pageSize.ToInt(); set => __pageSize = value; } public string KeyWord { get; set; } } /// /// 泛型分页请求父类(在分页请求的基础之上携带数据) /// /// 携带的数据类型 public class PageRequestBase : PageRequestBase { /// /// 请求携带的数据对象 /// public T Data { get; set; } } /// /// 主键ID查询请求类(主要用于根据一个主键ID查询单条数据的情况) /// public class QueryByIdRequest : RequestBase { /// /// 记录的数据库主键ID /// public int Id { get; set; } } }