服务层分页响应实体(泛型)

master
xiaochanghai 1 year ago
parent d951036bad
commit 201c569f60
  1. 24
      Tiobon.Core.Api/Controllers/BaseController.cs
  2. 45
      Tiobon.Core.Api/Tiobon.Core.Model.xml
  3. 2
      Tiobon.Core.Model/PageModel.cs
  4. 86
      Tiobon.Core.Model/ServiceResult.cs

@ -29,7 +29,6 @@ namespace Tiobon.Core.Controllers
[HttpGet] [HttpGet]
public async Task<ServiceResult<PageModel<TEntityDto>>> QueryByFilter([FromFilter] QueryFilter filter) public async Task<ServiceResult<PageModel<TEntityDto>>> QueryByFilter([FromFilter] QueryFilter filter)
{ {
//var response = await _service.QueryFilterPage(filter);
var response = (await InvokeServiceAsync("QueryFilterPage", [filter])) as PageModel<TEntityDto>; var response = (await InvokeServiceAsync("QueryFilterPage", [filter])) as PageModel<TEntityDto>;
return new ServiceResult<PageModel<TEntityDto>>() { msg = "获取成功", success = true, response = response }; return new ServiceResult<PageModel<TEntityDto>>() { msg = "获取成功", success = true, response = response };
} }
@ -43,13 +42,10 @@ namespace Tiobon.Core.Controllers
public async Task<ServiceResult<object>> QueryById(long Id) public async Task<ServiceResult<object>> QueryById(long Id)
{ {
var entity = (await InvokeServiceAsync("QueryById", [Id])); var entity = (await InvokeServiceAsync("QueryById", [Id]));
//var entity = ObjectConverter.ConvertToEntity<TEntityDto>(obj);
//var entity = await _service.QueryById(Id);
if (entity == null) if (entity == null)
return ServiceResult<object>.OprateFailed("获取失败"); return Failed<object>("获取失败");
else else
return new ServiceResult<object>() { msg = "获取成功", success = true, response = entity }; return Success(entity, "获取成功");
} }
#endregion #endregion
@ -62,11 +58,13 @@ namespace Tiobon.Core.Controllers
[HttpPost] [HttpPost]
public async Task<ServiceResult<string>> Post([FromBody] TEditDto insertModel) public async Task<ServiceResult<string>> Post([FromBody] TEditDto insertModel)
{ {
var data = ServiceResult<string>.OprateSuccess("获取成功", null); var data = Success<string>(null, "新增成功");
var id = Convert.ToInt64(await InvokeServiceAsync("Add", [insertModel])); var id = Convert.ToInt64(await InvokeServiceAsync("Add", [insertModel]));
data.success = id > 0; data.success = id > 0;
if (data.success) if (data.success)
data.response = id.ObjToString(); data.response = id.ObjToString();
else
data.msg = "新增失败";
return data; return data;
} }
@ -82,8 +80,8 @@ namespace Tiobon.Core.Controllers
[HttpPut("{Id}")] [HttpPut("{Id}")]
public async Task<ServiceResult> Put(long Id, [FromBody] TEditDto editModel) public async Task<ServiceResult> Put(long Id, [FromBody] TEditDto editModel)
{ {
var data = ServiceResult.OprateSuccess("更新成功"); var data = Success("更新成功");
var id = Convert.ToInt64(await InvokeServiceAsync("Update", [editModel])); var id = Convert.ToInt64(await InvokeServiceAsync("Update", [Id, editModel]));
if (!data.success) if (!data.success)
data.msg = "更新失败"; data.msg = "更新失败";
@ -100,10 +98,10 @@ namespace Tiobon.Core.Controllers
[HttpDelete("{Id}")] [HttpDelete("{Id}")]
public async Task<ServiceResult> Delete(long Id) public async Task<ServiceResult> Delete(long Id)
{ {
var data = ServiceResult.OprateSuccess("删除成功"); var data = Success("删除成功");
var entity = await QueryById(Id); var entity = await QueryById(Id);
if (entity == null) if (entity == null)
return ServiceResult.OprateFailed("删除失败"); return Failed("删除失败");
//entity.IsEnable = 0; //entity.IsEnable = 0;
data.success = Convert.ToBoolean(await InvokeServiceAsync("Update", [entity])); data.success = Convert.ToBoolean(await InvokeServiceAsync("Update", [entity]));
@ -166,9 +164,9 @@ namespace Tiobon.Core.Controllers
} }
[NonAction] [NonAction]
public ServiceResult<string> Failed(string msg = "失败", int status = 500) public ServiceResult Failed(string msg = "失败", int status = 500)
{ {
return new ServiceResult<string>() { success = false, status = status, msg = msg, response = null, }; return new ServiceResult() { success = false, status = status, msg = msg, response = null, };
} }
[NonAction] [NonAction]

@ -2232,6 +2232,51 @@
<param name="status"></param> <param name="status"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="T:Tiobon.Core.Model.ServicPageeResult`1">
<summary>
通用分页信息类
</summary>
</member>
<member name="P:Tiobon.Core.Model.ServicPageeResult`1.Status">
<summary>
状态码
</summary>
</member>
<member name="P:Tiobon.Core.Model.ServicPageeResult`1.Success">
<summary>
操作是否成功
</summary>
</member>
<member name="P:Tiobon.Core.Model.ServicPageeResult`1.Message">
<summary>
返回信息
</summary>
</member>
<member name="P:Tiobon.Core.Model.ServicPageeResult`1.Page">
<summary>
当前页标
</summary>
</member>
<member name="P:Tiobon.Core.Model.ServicPageeResult`1.PageCount">
<summary>
总页数
</summary>
</member>
<member name="P:Tiobon.Core.Model.ServicPageeResult`1.TotalCount">
<summary>
数据总数
</summary>
</member>
<member name="P:Tiobon.Core.Model.ServicPageeResult`1.PageSize">
<summary>
每页大小
</summary>
</member>
<member name="P:Tiobon.Core.Model.ServicPageeResult`1.Data">
<summary>
返回数据
</summary>
</member>
<member name="T:Tiobon.Core.Model.Systems.DataBase.DataBaseReadType"> <member name="T:Tiobon.Core.Model.Systems.DataBase.DataBaseReadType">
<summary> <summary>
数据库读取类型 数据库读取类型

@ -1,6 +1,4 @@
using AutoMapper; using AutoMapper;
using System;
using System.Collections.Generic;
namespace Tiobon.Core.Model namespace Tiobon.Core.Model
{ {

@ -1,4 +1,6 @@
namespace Tiobon.Core.Model; using AutoMapper;
namespace Tiobon.Core.Model;
/// <summary> /// <summary>
/// 服务层响应实体(泛型) /// 服务层响应实体(泛型)
@ -130,4 +132,86 @@ public class ServiceResult
response = null response = null
}; };
} }
}
/// <summary>
/// 服务层分页响应实体(泛型)
/// </summary>
public class ServicPageeResult<T>
{
/// <summary>
/// 状态码
/// </summary>
public int Status { get; set; } = 200;
/// <summary>
/// 操作是否成功
/// </summary>
public bool Success { get; set; } = false;
/// <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 ServicPageeResult() { }
public ServicPageeResult(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;
}
} }
Loading…
Cancel
Save