feat: 实现租户管理及套餐流程
This commit is contained in:
@@ -0,0 +1,95 @@
|
||||
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 ITenantRepository
|
||||
{
|
||||
/// <summary>
|
||||
/// 依据 ID 获取租户。
|
||||
/// </summary>
|
||||
Task<Tenant?> FindByIdAsync(long tenantId, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 按状态与关键词查询租户列表。
|
||||
/// </summary>
|
||||
Task<IReadOnlyList<Tenant>> SearchAsync(
|
||||
TenantStatus? status,
|
||||
string? keyword,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 新增租户。
|
||||
/// </summary>
|
||||
Task AddTenantAsync(Tenant tenant, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 更新租户。
|
||||
/// </summary>
|
||||
Task UpdateTenantAsync(Tenant tenant, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 判断编码是否存在。
|
||||
/// </summary>
|
||||
Task<bool> ExistsByCodeAsync(string code, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 获取实名资料。
|
||||
/// </summary>
|
||||
Task<TenantVerificationProfile?> GetVerificationProfileAsync(long tenantId, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 新增或更新实名资料。
|
||||
/// </summary>
|
||||
Task UpsertVerificationProfileAsync(TenantVerificationProfile profile, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 获取当前订阅。
|
||||
/// </summary>
|
||||
Task<TenantSubscription?> GetActiveSubscriptionAsync(long tenantId, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 依据订阅 ID 查询。
|
||||
/// </summary>
|
||||
Task<TenantSubscription?> FindSubscriptionByIdAsync(long tenantId, long subscriptionId, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 新增订阅。
|
||||
/// </summary>
|
||||
Task AddSubscriptionAsync(TenantSubscription subscription, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 更新订阅。
|
||||
/// </summary>
|
||||
Task UpdateSubscriptionAsync(TenantSubscription subscription, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 记录订阅历史。
|
||||
/// </summary>
|
||||
Task AddSubscriptionHistoryAsync(TenantSubscriptionHistory history, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 获取订阅历史。
|
||||
/// </summary>
|
||||
Task<IReadOnlyList<TenantSubscriptionHistory>> GetSubscriptionHistoryAsync(long tenantId, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 新增审核日志。
|
||||
/// </summary>
|
||||
Task AddAuditLogAsync(TenantAuditLog log, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 查询审核日志。
|
||||
/// </summary>
|
||||
Task<IReadOnlyList<TenantAuditLog>> GetAuditLogsAsync(long tenantId, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 持久化。
|
||||
/// </summary>
|
||||
Task SaveChangesAsync(CancellationToken cancellationToken = default);
|
||||
}
|
||||
Reference in New Issue
Block a user