- 新增 AdminRolesController 实现角色 CRUD 和权限管理 - 新增 BillingsController 实现账单查询功能 - 新增 SubscriptionsController 实现订阅管理功能 - 新增 TenantPackagesController 实现套餐管理功能 - 新增租户详情、配额使用、账单列表等查询功能 - 新增 TenantPackage、TenantSubscription 等领域实体 - 新增相关枚举:SubscriptionStatus、TenantPackageType 等 - 更新 appsettings 配置文件 - 更新权限授权策略提供者 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
63 lines
1.5 KiB
C#
63 lines
1.5 KiB
C#
using MediatR;
|
||
using TakeoutSaaS.Application.App.Subscriptions.Contracts;
|
||
using TakeoutSaaS.Domain.Tenants.Enums;
|
||
using TakeoutSaaS.Shared.Abstractions.Results;
|
||
|
||
namespace TakeoutSaaS.Application.App.Subscriptions.Queries;
|
||
|
||
/// <summary>
|
||
/// 获取订阅列表查询。
|
||
/// </summary>
|
||
public sealed record ListSubscriptionsQuery : IRequest<PagedResult<SubscriptionListDto>>
|
||
{
|
||
/// <summary>
|
||
/// 订阅状态。
|
||
/// </summary>
|
||
public SubscriptionStatus? Status { get; init; }
|
||
|
||
/// <summary>
|
||
/// 套餐 ID。
|
||
/// </summary>
|
||
public long? TenantPackageId { get; init; }
|
||
|
||
/// <summary>
|
||
/// 租户 ID。
|
||
/// </summary>
|
||
public long? TenantId { get; init; }
|
||
|
||
/// <summary>
|
||
/// 租户关键词(名称或编码)。
|
||
/// </summary>
|
||
public string? TenantKeyword { get; init; }
|
||
|
||
/// <summary>
|
||
/// 即将到期天数筛选(N 天内到期)。
|
||
/// </summary>
|
||
public int? ExpiringWithinDays { get; init; }
|
||
|
||
/// <summary>
|
||
/// 是否自动续费。
|
||
/// </summary>
|
||
public bool? AutoRenew { get; init; }
|
||
|
||
/// <summary>
|
||
/// 到期时间范围开始。
|
||
/// </summary>
|
||
public DateTime? ExpireFrom { get; init; }
|
||
|
||
/// <summary>
|
||
/// 到期时间范围结束。
|
||
/// </summary>
|
||
public DateTime? ExpireTo { get; init; }
|
||
|
||
/// <summary>
|
||
/// 页码(从 1 开始)。
|
||
/// </summary>
|
||
public int Page { get; init; } = 1;
|
||
|
||
/// <summary>
|
||
/// 每页条数。
|
||
/// </summary>
|
||
public int PageSize { get; init; } = 10;
|
||
}
|