feat: 套餐管理与配额校验能力
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using TakeoutSaaS.Domain.Tenants.Entities;
|
||||
|
||||
namespace TakeoutSaaS.Domain.Tenants.Repositories;
|
||||
|
||||
/// <summary>
|
||||
/// 租户套餐仓储。
|
||||
/// </summary>
|
||||
public interface ITenantPackageRepository
|
||||
{
|
||||
/// <summary>
|
||||
/// 按 ID 查询套餐。
|
||||
/// </summary>
|
||||
Task<TenantPackage?> FindByIdAsync(long id, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 按关键词与启用状态搜索套餐。
|
||||
/// </summary>
|
||||
Task<IReadOnlyList<TenantPackage>> SearchAsync(string? keyword, bool? isActive, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 新增套餐。
|
||||
/// </summary>
|
||||
Task AddAsync(TenantPackage package, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 更新套餐。
|
||||
/// </summary>
|
||||
Task UpdateAsync(TenantPackage package, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 删除套餐。
|
||||
/// </summary>
|
||||
Task DeleteAsync(long id, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 持久化。
|
||||
/// </summary>
|
||||
Task SaveChangesAsync(CancellationToken cancellationToken = default);
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using TakeoutSaaS.Domain.Tenants.Entities;
|
||||
using TakeoutSaaS.Domain.Tenants.Enums;
|
||||
|
||||
namespace TakeoutSaaS.Domain.Tenants.Repositories;
|
||||
|
||||
/// <summary>
|
||||
/// 租户配额使用仓储。
|
||||
/// </summary>
|
||||
public interface ITenantQuotaUsageRepository
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取租户指定配额的使用情况。
|
||||
/// </summary>
|
||||
Task<TenantQuotaUsage?> FindAsync(long tenantId, TenantQuotaType quotaType, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 按租户批量获取配额使用记录。
|
||||
/// </summary>
|
||||
Task<IReadOnlyList<TenantQuotaUsage>> GetByTenantAsync(long tenantId, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 新增配额使用记录。
|
||||
/// </summary>
|
||||
Task AddAsync(TenantQuotaUsage usage, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 更新配额使用记录。
|
||||
/// </summary>
|
||||
Task UpdateAsync(TenantQuotaUsage usage, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 持久化。
|
||||
/// </summary>
|
||||
Task SaveChangesAsync(CancellationToken cancellationToken = default);
|
||||
}
|
||||
Reference in New Issue
Block a user