Files
TakeoutSaaS.TenantApi/src/Domain/TakeoutSaaS.Domain/Finance/Repositories/IFinanceCostRepository.cs

43 lines
1.2 KiB
C#

using TakeoutSaaS.Domain.Finance.Enums;
using TakeoutSaaS.Domain.Finance.Models;
namespace TakeoutSaaS.Domain.Finance.Repositories;
/// <summary>
/// 成本管理仓储契约。
/// </summary>
public interface IFinanceCostRepository
{
/// <summary>
/// 获取成本录入页月度快照。
/// </summary>
Task<FinanceCostMonthSnapshot> GetMonthSnapshotAsync(
long tenantId,
FinanceCostDimension dimension,
long? storeId,
DateTime costMonth,
CancellationToken cancellationToken = default);
/// <summary>
/// 保存月度成本录入快照。
/// </summary>
Task SaveMonthSnapshotAsync(
long tenantId,
FinanceCostDimension dimension,
long? storeId,
DateTime costMonth,
IReadOnlyList<FinanceCostCategorySnapshot> categories,
CancellationToken cancellationToken = default);
/// <summary>
/// 获取成本分析页快照。
/// </summary>
Task<FinanceCostAnalysisSnapshot> GetAnalysisSnapshotAsync(
long tenantId,
FinanceCostDimension dimension,
long? storeId,
DateTime costMonth,
int trendMonthCount,
CancellationToken cancellationToken = default);
}