feat: 新增财务交易流水后端模块

This commit is contained in:
2026-03-04 11:33:29 +08:00
parent 2970134200
commit d437b146d1
24 changed files with 2602 additions and 0 deletions

View File

@@ -0,0 +1,66 @@
using TakeoutSaaS.Domain.Finance.Enums;
using TakeoutSaaS.Domain.Finance.Models;
using TakeoutSaaS.Domain.Orders.Enums;
using TakeoutSaaS.Domain.Payments.Enums;
namespace TakeoutSaaS.Domain.Finance.Repositories;
/// <summary>
/// 财务交易流水仓储契约。
/// </summary>
public interface IFinanceTransactionRepository
{
/// <summary>
/// 查询交易流水分页。
/// </summary>
Task<FinanceTransactionPageSnapshot> SearchPageAsync(
long tenantId,
long storeId,
DateTime? startAt,
DateTime? endAt,
FinanceTransactionType? transactionType,
DeliveryType? deliveryType,
PaymentMethod? paymentMethod,
string? keyword,
int page,
int pageSize,
CancellationToken cancellationToken = default);
/// <summary>
/// 查询交易流水统计。
/// </summary>
Task<FinanceTransactionStatsSnapshot> GetStatsAsync(
long tenantId,
long storeId,
DateTime? startAt,
DateTime? endAt,
FinanceTransactionType? transactionType,
DeliveryType? deliveryType,
PaymentMethod? paymentMethod,
string? keyword,
CancellationToken cancellationToken = default);
/// <summary>
/// 查询交易流水详情。
/// </summary>
Task<FinanceTransactionRecord?> GetDetailAsync(
long tenantId,
long storeId,
FinanceTransactionSourceType sourceType,
long sourceId,
CancellationToken cancellationToken = default);
/// <summary>
/// 查询导出数据。
/// </summary>
Task<IReadOnlyList<FinanceTransactionRecord>> ListForExportAsync(
long tenantId,
long storeId,
DateTime? startAt,
DateTime? endAt,
FinanceTransactionType? transactionType,
DeliveryType? deliveryType,
PaymentMethod? paymentMethod,
string? keyword,
CancellationToken cancellationToken = default);
}