[M-MEMBER-01] 冻结 App Store 商品、Premium 权益数值与额度窗口 #342

Closed
opened 2026-06-24 20:47:49 +08:00 by wangdl · 2 comments
Owner

类型 / 标签

product architecture membership billing gate

依赖

adr-member-01-subscription-entitlement-contract.md

目标

解决 ADR 中所有 REQUIRES_PRODUCT_DECISION,为 Schema、App Store Connect、额度和 UI 提供唯一数值来源。本 Issue 不修改生产代码。

必须冻结

Product ID

cloud.longde.aistudyapp.premium.monthly
cloud.longde.aistudyapp.premium.yearly

价格

  • Premium 月付目标价格
  • Premium 年付目标价格
  • App Store 本地化价格是客户端展示权威
  • API 不返回硬编码展示价格

权益矩阵

quotaType Free Premium 单位 窗口
knowledge_base_count count lifetime
storage_bytes bytes lifetime
file_size_bytes bytes per_request
ocr_pages pages monthly
vision_pages pages monthly
ai_chat_messages count monthly
active_recall count monthly/daily
feynman_evaluation count monthly/daily
quiz_generation count monthly/daily
learning_analysis_manual count monthly/daily
flashcard_generation count monthly/daily

特殊计费规则

  • ReviewCard Child Job 不单独扣用户次数
  • 定时 Learning Analysis 使用系统额度
  • Worker Retry 不重复扣
  • 相同 operationId 不重复扣
  • 最终 failed/cancelled 且无产物时返还
  • Provider Token 成本始终保留

非目标

  • 不在 App Store Connect 创建商品
  • 不修改生产代码
  • 不写入 MembershipPlan 数据库

验收标准

  • 两个 Product ID 已冻结且符合命名规则
  • Free/Premium 11 项权益矩阵完整
  • 不再存在未解释的 REQUIRES_PRODUCT_DECISION
  • 月付/年付目标价格已确定
  • 产品决策文档已创建

建议执行顺序

#1 — 最先执行

## 类型 / 标签 `product` `architecture` `membership` `billing` `gate` ## 依赖 `adr-member-01-subscription-entitlement-contract.md` ## 目标 解决 ADR 中所有 `REQUIRES_PRODUCT_DECISION`,为 Schema、App Store Connect、额度和 UI 提供唯一数值来源。本 Issue 不修改生产代码。 ## 必须冻结 ### Product ID ```text cloud.longde.aistudyapp.premium.monthly cloud.longde.aistudyapp.premium.yearly ``` ### 价格 - Premium 月付目标价格 - Premium 年付目标价格 - App Store 本地化价格是客户端展示权威 - API 不返回硬编码展示价格 ### 权益矩阵 | quotaType | Free | Premium | 单位 | 窗口 | |-----------|------|---------|------|------| | knowledge_base_count | | | count | lifetime | | storage_bytes | | | bytes | lifetime | | file_size_bytes | | | bytes | per_request | | ocr_pages | | | pages | monthly | | vision_pages | | | pages | monthly | | ai_chat_messages | | | count | monthly | | active_recall | | | count | monthly/daily | | feynman_evaluation | | | count | monthly/daily | | quiz_generation | | | count | monthly/daily | | learning_analysis_manual | | | count | monthly/daily | | flashcard_generation | | | count | monthly/daily | ### 特殊计费规则 - ReviewCard Child Job 不单独扣用户次数 - 定时 Learning Analysis 使用系统额度 - Worker Retry 不重复扣 - 相同 operationId 不重复扣 - 最终 failed/cancelled 且无产物时返还 - Provider Token 成本始终保留 ## 非目标 - 不在 App Store Connect 创建商品 - 不修改生产代码 - 不写入 MembershipPlan 数据库 ## 验收标准 - [ ] 两个 Product ID 已冻结且符合命名规则 - [ ] Free/Premium 11 项权益矩阵完整 - [ ] 不再存在未解释的 `REQUIRES_PRODUCT_DECISION` - [ ] 月付/年付目标价格已确定 - [ ] 产品决策文档已创建 ## 建议执行顺序 #1 — 最先执行
wangdl added this to the M-MEMBER-01 会员订阅与权益闭环 milestone 2026-06-24 20:47:49 +08:00
wangdl added the
priority:p0
type:design
area:ai
work:contract
labels 2026-06-24 20:47:49 +08:00
Author
Owner

开发完成评论

完成内容

1. 创建产品决策冻结文档

docs/product/m-member-01-product-decisions.md(新建)——8 个章节:

  • §1 Product ID:cloud.longde.aistudyapp.premium.monthly / premium.yearly
  • §2 价格:月付 ¥28/月,年付 ¥198/年(约 59 折)
  • §3 权益矩阵:11 项完整(Free + Premium,含数值、单位、窗口)
  • §4 特殊计费规则:Child Job 不单独扣、定时任务系统额度、失败返还等
  • §5 存储策略补充
  • §6 当前未接入额度路径
  • §7 Free plan 默认值
  • §8 后续不允许修改的项

2. 更新 ADR

docs/architecture/adr-member-01-subscription-entitlement-contract.md

  • §2.3:年付价格 → ¥198/年
  • §11:权益矩阵完整数值(替换全部 REQUIRES_PRODUCT_DECISION)
  • §20:产品项目全部确认

修改文件

  • docs/product/m-member-01-product-decisions.md(新建)
  • docs/architecture/adr-member-01-subscription-entitlement-contract.md(更新 §2.3, §11, §20)

验收达标

  • 两个 Product ID 已冻结且符合命名规则
  • Free/Premium 11 项权益矩阵完整(数值 + 单位 + 窗口)
  • 不再存在未解释的 REQUIRES_PRODUCT_DECISION
  • 月付/年付目标价格已确定
  • ReviewCard Child Job 不计入用户次数规则已确认
  • 定时 Learning Analysis 使用系统额度规则已确认
  • 产品决策文档已创建

测试情况

  • 本 Issue 为纯文档/产品决策,无代码变更,无需运行测试

未完成 / 风险

  • 产品数值为架构冻结值,最终上线前应由产品负责人确认
  • App Store Connect 商品创建不在本 Issue 范围内

是否建议进入 Review

## 开发完成评论 ### 完成内容 #### 1. 创建产品决策冻结文档 `docs/product/m-member-01-product-decisions.md`(新建)——8 个章节: - §1 Product ID:`cloud.longde.aistudyapp.premium.monthly` / `premium.yearly` - §2 价格:月付 ¥28/月,年付 ¥198/年(约 59 折) - §3 权益矩阵:11 项完整(Free + Premium,含数值、单位、窗口) - §4 特殊计费规则:Child Job 不单独扣、定时任务系统额度、失败返还等 - §5 存储策略补充 - §6 当前未接入额度路径 - §7 Free plan 默认值 - §8 后续不允许修改的项 #### 2. 更新 ADR `docs/architecture/adr-member-01-subscription-entitlement-contract.md`: - §2.3:年付价格 → ¥198/年 - §11:权益矩阵完整数值(替换全部 REQUIRES_PRODUCT_DECISION) - §20:产品项目全部确认 ### 修改文件 - `docs/product/m-member-01-product-decisions.md`(新建) - `docs/architecture/adr-member-01-subscription-entitlement-contract.md`(更新 §2.3, §11, §20) ### 验收达标 - [x] 两个 Product ID 已冻结且符合命名规则 - [x] Free/Premium 11 项权益矩阵完整(数值 + 单位 + 窗口) - [x] 不再存在未解释的 REQUIRES_PRODUCT_DECISION - [x] 月付/年付目标价格已确定 - [x] ReviewCard Child Job 不计入用户次数规则已确认 - [x] 定时 Learning Analysis 使用系统额度规则已确认 - [x] 产品决策文档已创建 ### 测试情况 - 本 Issue 为纯文档/产品决策,无代码变更,无需运行测试 ### 未完成 / 风险 - 产品数值为架构冻结值,最终上线前应由产品负责人确认 - App Store Connect 商品创建不在本 Issue 范围内 ### 是否建议进入 Review - **是**
Author
Owner

N1/N2 修复

N1:ADR §2.1 Product ID 已同步

  • premium_monthly / premium_yearlycloud.longde.aistudyapp.premium.monthly / cloud.longde.aistudyapp.premium.yearly
  • 两份文档 Product ID 完全一致

N2:quotaType 命名已统一

  • ADR §11 权益矩阵增加 quotaType 列(英文 snake_case key)
  • 与 product-decisions.md §3 的 quotaType 列完全一致
quotaType ADR §11 product-decisions §3
knowledge_base_count
storage_bytes
file_size_bytes
ocr_pages
vision_pages
ai_chat_messages
active_recall
feynman_evaluation
quiz_generation
learning_analysis_manual
flashcard_generation
## N1/N2 修复 ### N1:ADR §2.1 Product ID 已同步 - `premium_monthly` / `premium_yearly` → `cloud.longde.aistudyapp.premium.monthly` / `cloud.longde.aistudyapp.premium.yearly` - 两份文档 Product ID 完全一致 ✅ ### N2:quotaType 命名已统一 - ADR §11 权益矩阵增加 `quotaType` 列(英文 snake_case key) - 与 product-decisions.md §3 的 quotaType 列完全一致 ✅ | quotaType | ADR §11 | product-decisions §3 | |-----------|---------|----------------------| | `knowledge_base_count` | ✅ | ✅ | | `storage_bytes` | ✅ | ✅ | | `file_size_bytes` | ✅ | ✅ | | `ocr_pages` | ✅ | ✅ | | `vision_pages` | ✅ | ✅ | | `ai_chat_messages` | ✅ | ✅ | | `active_recall` | ✅ | ✅ | | `feynman_evaluation` | ✅ | ✅ | | `quiz_generation` | ✅ | ✅ | | `learning_analysis_manual` | ✅ | ✅ | | `flashcard_generation` | ✅ | ✅ |
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: wangdl/api-server#342
No description provided.