namespace TakeoutSaaS.Application.App.Finance.Invoice.Dto;

/// <summary>
/// 发票记录列表项 DTO。
/// </summary>
public sealed class FinanceInvoiceRecordDto
{
    /// <summary>
    /// 记录 ID。
    /// </summary>
    public long RecordId { get; set; }

    /// <summary>
    /// 发票号码。
    /// </summary>
    public string InvoiceNo { get; set; } = string.Empty;

    /// <summary>
    /// 申请人。
    /// </summary>
    public string ApplicantName { get; set; } = string.Empty;

    /// <summary>
    /// 开票抬头（公司名）。
    /// </summary>
    public string CompanyName { get; set; } = string.Empty;

    /// <summary>
    /// 发票类型编码。
    /// </summary>
    public string InvoiceType { get; set; } = string.Empty;

    /// <summary>
    /// 发票类型文案。
    /// </summary>
    public string InvoiceTypeText { get; set; } = string.Empty;

    /// <summary>
    /// 金额。
    /// </summary>
    public decimal Amount { get; set; }

    /// <summary>
    /// 关联订单号。
    /// </summary>
    public string OrderNo { get; set; } = string.Empty;

    /// <summary>
    /// 状态编码。
    /// </summary>
    public string Status { get; set; } = string.Empty;

    /// <summary>
    /// 状态文案。
    /// </summary>
    public string StatusText { get; set; } = string.Empty;

    /// <summary>
    /// 申请时间（UTC）。
    /// </summary>
    public DateTime AppliedAt { get; set; }
}
