Skip to content
bitzorcas
EN

Reference

目录模块

产品/服务目录 — 计划定义、附加产品、权益映射和可配置目录项,用于 SaaS 订阅管理。

Last updated

Catalog 模块提供灵活的产品/服务目录,为计费系统提供数据。它管理计划定义、附加产品、权益映射和可配置目录项。

端点

端点方法描述
/api/catalog/itemsPOST创建目录项
/api/catalog/itemsGET列出目录项
/api/catalog/items/{id}GET获取项详情
/api/catalog/plansPOST创建计划
/api/catalog/plansGET列出计划
/api/catalog/add-onsPOST添加附加项到计划
/api/catalog/offerings/{tenantId}PUT设置租户目录产品
/api/catalog/entitlements/{planId}POST映射权益到计划

架构

CatalogEndpoints (Minimal API)
CatalogService
├── ICatalogRepository → SqlSugarCatalogRepository
├── ICatalogEntitlementMappingStore
└── ICatalogEventPublisher → NullCatalogEventPublisher

CatalogItem 实体

public class CatalogItemEntity : TenantSoftDeleteEntityBase
{
public string Name { get; set; }
public string Description { get; set; }
public string ItemType { get; set; } // Plan, AddOn, Feature, Entitlement
public string? Metadata { get; set; } // JSON 配置
public bool IsActive { get; set; }
}

权益映射

计划 → CatalogOffering → EntitlementMapping → 配额键
概念描述
目录项单个产品/功能定义
计划按价格打包的权益集
附加项可添加到任何计划的可选功能
权益映射将目录项链接到配额键
目录产品每租户分配的计划 + 附加项

计划和附加项

计划定义基础订阅层级;附加项扩展功能:

免费计划 → { 存储: 1GB, 工单: 10, 聊天: 1 频道 }
专业计划 → { 存储: 100GB, 工单: 100, 聊天: 10 频道 }
企业计划 → { 存储: 无限, 工单: 无限, 聊天: 无限 }
+ 额外存储 → { 存储: +50GB }
+ 优先支持 → { 工单: 优先队列 }

另见