using Azure;
using Azure.Core;
using FastEndpoints;
using MoviconWebApi.API.ClearDataQrApi;
using MoviconWebApi.Common;
namespace MoviconWebApi.API.ClearDataApi
{
///
/// 获取清洗数据端点
///
public class Endpoint : Endpoint>>
{
private readonly IFreeSql _freeSql;
///
/// 构造函数,注入FreeSql实例
///
/// FreeSql实例
public Endpoint(IFreeSql freeSql)
{
_freeSql = freeSql;
}
public override void Configure()
{
// 配置路由,支持GET和POST两种方式
//Post("/cleardata/list");
Get("/cleardata/listbycode");
// 允许匿名访问(根据实际需求可以改为需要认证)
AllowAnonymous();
// 配置摘要信息(用于Swagger文档)
Summary(s =>
{
s.Summary = "获取清洗数据列表";
s.Description = "根据设备编号、开始时间、结束时间查询清洗数据";
s.Response< ApiResponse>>(200, "成功返回清洗数据列表");
s.Response(404, "未找到数据");
s.Response(500, "服务器内部错误");
});
}
public override async Task HandleAsync(ClearDataRequest request, CancellationToken ct)
{
try
{
// 调用Data层方法获取数据
var dataList = await Data.GetClearData(request, _freeSql);
if (dataList == null || dataList.Count == 0)
{
// 未找到数据,返回404
//await Send.NotFoundAsync(ct);
//Response = dataList ?? new List();
//await Send.OkAsync(new List(), ct);
// 没有数据
Response = ApiResponse>.Success(
new List(),
"暂无数据"
);
}
else
{
//await Send.OkAsync(dataList, ct);
// 现在的代码
Response = ApiResponse>.Success(
dataList,
"查询成功"
);
}
}
catch (Exception ex)
{
// 记录错误日志
Logger.LogError(ex, "获取清洗数据失败");
// 返回错误响应
Response = ApiResponse>.Error(
"500",
"服务器内部错误"
);
//// 记录错误日志
//Logger.LogError(ex, "获取清洗数据失败");
//// 返回500错误
//await Send.ErrorsAsync(500, ct);
}
}
}
}