Files
soul-yongping/.cursor/meeting/2026-02-28_文章类型普通版增值版需求分析.md

154 lines
7.2 KiB
Markdown
Raw Normal View History

# 会议纪要 - 2026-02-28 | 文章增加类型(普通版 / 增值版)需求分析
> 本文件由**助理橙子**在会议结束后自动生成。
---
## 基本信息
- **时间**2026-02-28
- **议题**:文章增加类型(普通版 / 增值版),增值版后 N 章额外付费、按章累加计价
- **触发方式**:开个会议分析需求
- **参与角色**:产品经理、后端开发、管理端开发工程师、小程序开发工程师、测试人员
---
## 各角色发言
### 【产品经理】
**需求理解**
1. **普通版**:全书 9.9 元,一次性买断,与现有 fullbook 逻辑一致。
2. **增值版**:基础价 + 「后 N 章」N 可配置,如 10需额外付费每多看一章价格 = 已付金额 + 该章单价,按章累加。
3. **两者关系**:普通版与增值版是**分开的、互斥的两套产品**,用户购买其一,非叠加关系。
**待澄清**
- 「后 N 章」是指全书最后 N 个 section还是最后 N 个 chapter
- 增值版基础价是否仍为 9.9,还是单独定价?
**用户价值**:用阶梯付费降低首购门槛,提升付费转化;增值版满足深度阅读用户需求。
---
### 【后端开发】
**现状**
- `chapters` 表:`id``part_id``chapter_id``section_title``price` 等;现有按 section 购买、fullbook 9.9。
- `orders` 表:`product_type``section``fullbook``vip``product_id` 存 section id 或 `fullbook`
**技术方案建议**
1. **书/产品类型**:增加 `book_edition``product_edition` 概念:
- `standard`普通版9.9 买断
- `premium`:增值版,基础价 + 增值章节按章付费
2. **配置**`system_config` 增加 `premium_config`
- `premium_base_price`:增值版基础价
- `premium_chapter_count`:后 N 章section 数量或 chapter 数量需与产品约定)
- `premium_section_ids`:或直接配置增值章节 id 列表(灵活)
3. **接口**
- `GET /api/miniprogram/user/purchase-status`:需区分普通版 / 增值版购买态,返回 `editionType``premiumPurchasedSections`
- 支付:`product_type` 扩展 `section_premium` 或沿用 `section``product_id` 为 section id金额按章节 price 累加
4. **权限**:普通版权限独立;增值版权限 = 增值版基础价已购 + 该 section 已单独付费;两者互斥。
---
### 【管理端开发工程师】
**管理端需求**
1. **书籍/版本配置**:支持选择「普通版 / 增值版」或为同一本书配置两种版本。
2. **增值章节配置**:配置「后 N 章」的 N或勾选具体 section 作为增值章节。
3. **章节单价**:增值章节的单价在章节编辑中维护(现有 `chapters.price`)。
4. **价格展示**:在书籍/章节管理列表中区分普通版、增值版及增值章节。
**接口依赖**:需 `GET/POST /api/db/chapters` 支持 `is_premium` 或类似标记;`/api/db/config``/api/admin/settings` 支持 premium_config。
---
### 【小程序开发工程师】
**C 端体验**
1. **选购**:目录/书籍页区分「普通版 9.9」与「增值版 基础价 + 增值章节按章付费」。
2. **阅读**:进入增值章节时,未购则展示「该章需额外 ¥X.X 解锁」或类似提示,点击发起支付。
3. **支付流程**:与现有一致,`product_type``product_id``amount` 由后端计算并返回。
4. **权限**:依赖 `purchase-status` 返回的 `editionType``premiumPurchasedSections` 等判断是否可读。
**接口**:需 `miniprogram` 组下的 `purchase-status``pay` 支持增值版逻辑。
---
### 【测试人员】
**测试重点**
1. 普通版 9.9 买断,全书可读。
2. 增值版:基础价购买后,后 N 章仍锁定;逐章购买,价格累加正确。
3. 边界N=0、N=全书、章节无单价时的降级逻辑。
4. 三端:管理端配置 → API 返回 → 小程序展示、支付、阅读权限。
---
## 讨论过程
**产品经理**:建议「后 N 章」先按 section 数量实现,便于与现有 `chapters` 结构对齐;后续可扩展为按 chapter。
**后端开发**:同意;建议 `premium_chapter_count` 表示「最后 N 个 section」section 顺序按 `sort_order``id` 排序。
**管理端开发工程师**:需在章节列表中标注「是否增值章节」,并在书籍级配置中设置 N。
---
## 会议决议
1. **版本类型**支持「普通版」9.9 买断)与「增值版」(基础价 + 后 N 章按章付费);**两者分开、互斥**,用户只能购买其一。
2. **增值章节**:「后 N 章」指全书最后 N 个 **section**(与 chapters 表结构一致N 为可配置参数。
3. **计价规则**:增值版基础价可配置(默认建议 9.9);增值章节单价取自 `chapters.price`;每购一章,实付 = 该章 price。
4. **订单**`product_type` 保留 `section``fullbook`;普通版用 `fullbook`;增值版用 `fullbook_premium`(基础价)和 `section`(增值章);增值章节购买用 `product_type=section``product_id=section_id`
5. **待确认项**:增值版基础价是否固定 9.9N 默认值。
---
## 待办事项
| 责任角色 | 任务 | 优先级 | 截止建议 |
|---------|------|--------|---------|
| 产品经理 | 输出增值版 MRD基础价、N 默认值、与普通版关系 | 高 | 需求定稿前 |
| 后端开发 | 设计 premium_config、扩展 purchase-status / pay | 高 | 方案评审后 |
| 管理端开发工程师 | 增值章节配置 UI、书籍版本选择 | 中 | 接口就绪后 |
| 小程序开发工程师 | 增值版选购与章节解锁流程、支付衔接 | 中 | 接口就绪后 |
| 测试人员 | 编写增值版测试用例、边界场景 | 中 | 开发完成前 |
---
## 问题与作答区
| # | 问题 | 责任角色 | 作答 |
|---|------|---------|------|
| 1 | 「后 N 章」按 section 还是 chapter 计数? | 产品经理 | 决议:按 section |
| 2 | 增值版基础价是否固定 9.9 | 产品经理 | (待补充) |
| 3 | 普通版与增值版是否互斥?用户能否同时拥有? | 产品经理 | **已确认:分开、互斥**,用户购买其一 |
| 4 | N 的默认值建议?(如 10 | 产品经理 | (待补充) |
---
## 各角色经验与业务理解更新
### 产品经理
- 文章/书籍可区分为普通版与增值版,增值版采用「基础价 + 增值章节按章付费」模式。
### 后端开发
- 增值版需新增 `premium_config`,含 `premium_chapter_count`(后 N 个 section`premium_base_price`;增值章节购买沿用 `section` 订单。
### 管理端开发工程师
- 需支持「增值版配置」与「增值章节」的 N、单价维护。
### 小程序开发工程师
- 增值版需在目录与阅读页区分普通/增值,未购增值章节时展示解锁与支付入口。
### 测试人员
- 增值版需覆盖:基础价购买、逐章购买、价格累加、权限边界、配置 N=0/全书的异常场景。
### 团队共享
- 增值版计价规则:基础价 + Σ(增值章节单价),按章购买、按章累加。
---
*会议纪要由助理橙子生成 | 各角色经验已同步至 `agent/{角色}/evolution/2026-02-28.md`*