first commot
This commit is contained in:
41
WebApi/Controllers/Dto/BaseResponse.cs
Normal file
41
WebApi/Controllers/Dto/BaseResponse.cs
Normal file
@@ -0,0 +1,41 @@
|
||||
namespace WebApi.Controllers.Dto;
|
||||
|
||||
public class BaseResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 是否成功
|
||||
/// </summary>
|
||||
public bool Success { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 错误消息
|
||||
/// </summary>
|
||||
public string? Message { get; set; }
|
||||
|
||||
public static BaseResponse Fail(string message)
|
||||
{
|
||||
return new BaseResponse
|
||||
{
|
||||
Success = false,
|
||||
Message = message
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
public class BaseResponse<T> : BaseResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 返回数据
|
||||
/// </summary>
|
||||
public T? Data { get; set; }
|
||||
|
||||
public new static BaseResponse<T> Fail(string message)
|
||||
{
|
||||
return new BaseResponse<T>
|
||||
{
|
||||
Success = false,
|
||||
Message = message
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
40
WebApi/Controllers/Dto/EmailMessageDto.cs
Normal file
40
WebApi/Controllers/Dto/EmailMessageDto.cs
Normal file
@@ -0,0 +1,40 @@
|
||||
namespace WebApi.Controllers.Dto;
|
||||
|
||||
/// <summary>
|
||||
/// 邮件消息DTO,包含额外的统计信息
|
||||
/// </summary>
|
||||
public class EmailMessageDto
|
||||
{
|
||||
public long Id { get; set; }
|
||||
public string Subject { get; set; } = string.Empty;
|
||||
public string From { get; set; } = string.Empty;
|
||||
public string Body { get; set; } = string.Empty;
|
||||
public string HtmlBody { get; set; } = string.Empty;
|
||||
public DateTime ReceivedDate { get; set; }
|
||||
public DateTime CreateTime { get; set; }
|
||||
public DateTime? UpdateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 已解析的账单数量
|
||||
/// </summary>
|
||||
public int TransactionCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 从实体转换为DTO
|
||||
/// </summary>
|
||||
public static EmailMessageDto FromEntity(Entity.EmailMessage entity, int transactionCount = 0)
|
||||
{
|
||||
return new EmailMessageDto
|
||||
{
|
||||
Id = entity.Id,
|
||||
Subject = entity.Subject,
|
||||
From = entity.From,
|
||||
Body = entity.Body,
|
||||
HtmlBody = entity.HtmlBody,
|
||||
ReceivedDate = entity.ReceivedDate,
|
||||
CreateTime = entity.CreateTime,
|
||||
UpdateTime = entity.UpdateTime,
|
||||
TransactionCount = transactionCount
|
||||
};
|
||||
}
|
||||
}
|
||||
25
WebApi/Controllers/Dto/PagedResponse.cs
Normal file
25
WebApi/Controllers/Dto/PagedResponse.cs
Normal file
@@ -0,0 +1,25 @@
|
||||
namespace WebApi.Controllers.Dto;
|
||||
|
||||
public class PagedResponse<T> : BaseResponse<T[]>
|
||||
{
|
||||
public long LastId { get; set; } = 0;
|
||||
|
||||
/// <summary>
|
||||
/// 最后一条记录的时间(用于游标分页)
|
||||
/// </summary>
|
||||
public DateTime? LastTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 总记录数
|
||||
/// </summary>
|
||||
public int Total { get; set; }
|
||||
|
||||
public new static PagedResponse<T> Fail(string message)
|
||||
{
|
||||
return new PagedResponse<T>
|
||||
{
|
||||
Success = false,
|
||||
Message = message
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user