using TakeoutSaaS.Domain.Payments.Enums;
namespace TakeoutSaaS.Domain.Finance.Models;
///
/// 到账查询汇总行。
///
public sealed record FinanceSettlementListItemSnapshot
{
///
/// 到账日期(UTC 日期)。
///
public required DateTime ArrivedDate { get; init; }
///
/// 支付方式。
///
public required PaymentMethod PaymentMethod { get; init; }
///
/// 交易笔数。
///
public required int TransactionCount { get; init; }
///
/// 到账金额。
///
public required decimal ArrivedAmount { get; init; }
}
///
/// 到账查询明细行。
///
public sealed record FinanceSettlementDetailItemSnapshot
{
///
/// 订单号。
///
public required string OrderNo { get; init; }
///
/// 支付金额。
///
public required decimal Amount { get; init; }
///
/// 支付时间(UTC)。
///
public required DateTime PaidAt { get; init; }
}
///
/// 到账查询分页快照。
///
public sealed record FinanceSettlementPageSnapshot
{
///
/// 列表项。
///
public required IReadOnlyList Items { get; init; }
///
/// 总数。
///
public required int TotalCount { get; init; }
}
///
/// 到账概览统计快照。
///
public sealed record FinanceSettlementStatsSnapshot
{
///
/// 今日到账。
///
public required decimal TodayArrivedAmount { get; init; }
///
/// 昨日到账。
///
public required decimal YesterdayArrivedAmount { get; init; }
///
/// 本月到账。
///
public required decimal CurrentMonthArrivedAmount { get; init; }
///
/// 本月交易笔数。
///
public required int CurrentMonthTransactionCount { get; init; }
}
///
/// 到账账户信息快照。
///
public sealed record FinanceSettlementAccountSnapshot
{
///
/// 银行名称。
///
public required string BankName { get; init; }
///
/// 开户名。
///
public required string BankAccountName { get; init; }
///
/// 脱敏银行账号。
///
public required string BankAccountNoMasked { get; init; }
///
/// 微信商户号(脱敏)。
///
public required string WechatMerchantNoMasked { get; init; }
///
/// 支付宝 PID(脱敏)。
///
public required string AlipayPidMasked { get; init; }
///
/// 结算周期文案。
///
public required string SettlementPeriodText { get; init; }
}