套餐(Plan)
这是什么
Plan 是「可订阅商品」的模板。用户在前台下单后,会基于某个 Plan 创建一条 Subscription。
在哪里看到
- 后台 → 套餐管理:列表、新增、上下架
- 前台 → 订阅:列出当前上架的 Plan
- 后台 → 套餐业务配置:升级模式、过期策略等全局规则
你需要为每个套餐设置什么
| 项 | 含义 | 设置后影响 |
|---|---|---|
name | 名称 | 用户看到的名字 |
price | 价格 | ¥ |
quota | 额度配额 | 多少内部单位;用户订阅期间可用总量 |
duration_days | 有效期 | 天数;过期后用户进入「套餐已过期」状态,但仍可调用到额度耗尽 |
discount | 折扣倍率 | 数字;用户订阅期间内调用的最终折扣 |
description | 描述 | 富文本 / 多行;用户在订阅页能看到 |
status | 状态 | 上架 / 下架;下架后用户不能新订 |
recommended | 推荐 | 开关;前台套餐卡显示「推荐」徽章 |
套餐与订阅的区别
- Plan:模板,定义了「这种订阅叫什么、多少钱、多少额度、有效期多长」
- Subscription:实例化,某个用户在某个时刻订阅了某个 Plan 后生成的「实例」。一个用户可以多次订阅同一个或不同的 Plan
套餐升级 / 差价
当用户从 Plan A 切换到 Plan B(更高价格)时:
- 如果 B 价格 > A 价格,按差价生成一条订单(订单号前缀
UP) - 剩余天数 / 额度按比例折算到新套餐
升级规则在 套餐业务配置 中维护。
相关页面
相关 API
GET /api/plan/— 列表(管理员)GET /api/plan/list— 列表(前台公开)POST /api/plan/— 新增PUT /api/plan/— 更新DELETE /api/plan/:id— 删除