using MediatR; using TakeoutSaaS.Application.App.Tenants.Dto; using TakeoutSaaS.Domain.Tenants.Enums; namespace TakeoutSaaS.Application.App.Tenants.Commands; /// /// 创建租户套餐命令。 /// public sealed record CreateTenantPackageCommand : IRequest { /// /// 套餐名称。 /// public string Name { get; init; } = string.Empty; /// /// 套餐描述。 /// public string? Description { get; init; } /// /// 套餐类型。 /// public TenantPackageType PackageType { get; init; } = TenantPackageType.Standard; /// /// 月付价格。 /// public decimal? MonthlyPrice { get; init; } /// /// 年付价格。 /// public decimal? YearlyPrice { get; init; } /// /// 最大门店数。 /// public int? MaxStoreCount { get; init; } /// /// 最大账号数。 /// public int? MaxAccountCount { get; init; } /// /// 存储上限(GB)。 /// public int? MaxStorageGb { get; init; } /// /// 短信额度。 /// public int? MaxSmsCredits { get; init; } /// /// 配送单上限。 /// public int? MaxDeliveryOrders { get; init; } /// /// 权益明细 JSON。 /// public string? FeaturePoliciesJson { get; init; } /// /// 是否可售。 /// public bool IsActive { get; init; } = true; /// /// 展示排序,数值越小越靠前。 /// public int SortOrder { get; init; } = 0; }