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