Files
TakeoutSaaS.TenantApi/src/Domain/TakeoutSaaS.Domain/Finance/Models/FinanceSettlementRecord.cs

129 lines
3.0 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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; }
}