docs: payments 拆表设计定稿与契约/交互对齐
新增建模评估与 subscriptions/topups 表设计;删除 payments 单表篇; 契约、支付交互、需求清单与文档地图同步。
This commit is contained in:
+72
-27
@@ -1,47 +1,92 @@
|
||||
# 交互设计 · 支付记录
|
||||
|
||||
> 订阅与充值的登记面(同构表单)+ 系统核对提示的呈现——「只有作者知道」的信息的唯一录入处(payments 定位)。
|
||||
> 订阅权益与充值入账的登记面(管理入口名「支付记录」)+ 系统核对提示——「只有作者知道」的信息的唯一录入处。物理上分 `subscriptions` / `topups` 两表(`payments建模评估.md` 方案 B),界面仍作**一个菜单项**,两 Tab 各登记各的。
|
||||
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| 状态 | 定稿(2026-10-01) |
|
||||
| 关联 | 《交互设计-总览与共性》(数值呈现:金额无符号、额度双单位)· `payments表字段设计.md`(字段与「只存事实」)· R7(充值登记)· R8(`subscription_id` 直连) |
|
||||
| 数据 | `payments` 全表 · 日志观测的订阅 ID(核对提示) |
|
||||
| 状态 | 待审阅(2026-10-09 随拆表重写) |
|
||||
| 关联 | 《交互设计-总览与共性》· `subscriptions表字段设计.md` · `topups表字段设计.md` · R7/R8 |
|
||||
| 数据 | `subscriptions` + `topups` · 日志观测的订阅 ID(核对提示) |
|
||||
|
||||
---
|
||||
|
||||
## 1. 记录清单(页面主体)
|
||||
## 1. 页结构:两 Tab
|
||||
|
||||
| 列 | 内容 | 备注 |
|
||||
|----|------|------|
|
||||
| 类型 | `subscription` / `topup` 徽章(订阅 / 充值) | 同构表的两种形态 |
|
||||
| 金额 | **纯数字**(如「170」) | 币种由你们约定——列头标注「金额(币种自定)」 |
|
||||
| 时间 | 订阅:期间 `[start, end)`,未结束显示「进行中」;充值:`paid_at` | 期间左闭右开,展示为「09-01 ~ 10-01」 |
|
||||
| 订阅 ID | `subscription_id`(充值留空) | 直连日志的分源键 |
|
||||
| 额度 | 原始 quota + 美元换算双单位(如「12,500,000($25.00)」) | 美元按 QPU 换算,标注「按当时换算率」 |
|
||||
| 备注 | `remark` | |
|
||||
菜单仍叫「支付记录」;页内 Tab:
|
||||
|
||||
- 排序:时间倒序;编辑 / 删除(删除有确认弹窗——「改错即修,删除即消失」,人工登记数据)
|
||||
| Tab | 清单 | 登记 |
|
||||
|-----|------|------|
|
||||
| **订阅** | 订阅权益表 | 登记订阅 |
|
||||
| **充值** | 充值入账表 | 登记充值 |
|
||||
|
||||
## 2. 登记表单(订阅 / 充值同构,`kind` 切换)
|
||||
筛选随 Tab:
|
||||
|
||||
**公共字段**:金额(必填,纯数字输入;脚注「金额数值——币种由你们约定,系统不预设」)、备注(可空)
|
||||
| Tab | 筛选 | URL |
|
||||
|-----|------|-----|
|
||||
| 订阅 | 订阅 ID / 期间与所选窗口重叠(拆表后) | `tab=subs` |
|
||||
| 充值 | **仅类型**(付费时间筛选已撤——`paid_at` 语义待拆表钉死) | `tab=topups` · `kind` |
|
||||
|
||||
**订阅形态追加**:
|
||||
- 支付时间、期间起止(结束可空 = 进行中)
|
||||
- 订阅 ID(抄自钱包页面「订阅 #N」)
|
||||
- 额度——**双输入模式**:直接输原始 quota,或输美元由系统按当前 QPU 换算落库(表单内二选一切换,换算即时预览;录入体验归交互层、数据落原始 quota——payments 3.6)
|
||||
当前实现(拆表前):仅「类型」筛选;补录审计可看「登记」列(`created_at`)。
|
||||
|
||||
**充值形态追加**:支付时间、额度(同上双输入)
|
||||
## 2. 订阅清单列
|
||||
|
||||
## 3. 核对提示(系统观测 ↔ 人工登记的对照)
|
||||
| 列 | 内容 |
|
||||
|----|------|
|
||||
| 订阅 ID | `subscription_id` |
|
||||
| 期间 | `[period_start, period_end)`,未结束「进行中」 |
|
||||
| 额度 | quota + $ 双单位 |
|
||||
| 付款 | `paid_amount` / `paid_at`(可空显示「—」) |
|
||||
| 备注 | `remark` |
|
||||
| 登记 | `created_at` |
|
||||
| 操作 | 编辑 / 删除 |
|
||||
|
||||
页面顶部提示区,由日志观测驱动:
|
||||
## 3. 充值清单列(对齐上游充值单)
|
||||
|
||||
| 列 | 内容 |
|
||||
|----|------|
|
||||
| 时间 | `paid_at`(= 上游 `complete_time`,平台展示时刻;倒序) |
|
||||
| 计费单位 | `amount`(如 `1`) |
|
||||
| 实付 | `money`(如 `2.04`,纯数字) |
|
||||
| 交易号 / 渠道 | `trade_no` · `payment_method` / `payment_provider` |
|
||||
| 派生额度 | `amount × qpu` + $(展示,不入库) |
|
||||
| 备注 / 登记 | `remark` · `created_at` |
|
||||
| 操作 | 编辑 / 删除 |
|
||||
|
||||
## 4. 登记表单(分 Tab,不再 `kind` 切换)
|
||||
|
||||
**订阅**:订阅 ID · 期间起止(结束可空)· 额度(quota / 美元双输入)· 付款金额(可空)· 付款时间(可空)· 备注 · **「从平台选用」**(辅助登录 → 订阅列表)
|
||||
|
||||
**充值**:时间 `paid_at`(必填)· `amount`(必填)· `money`(必填)· 交易号 / 渠道(可空)· 备注 · **「从平台选用」**(辅助登录 → 充值单分页列表);**无「换得额度」输入框**(派生)
|
||||
|
||||
### 4.1 选用弹层(订阅 / 充值同规则)
|
||||
|
||||
与 `platform-subscription-picker` 同壳:账号密码 → 代拉 → 选用。**已登记灰显**两套一致:
|
||||
|
||||
| 实体 | 去重键 | 已登记表现 |
|
||||
|------|--------|------------|
|
||||
| 订阅 | `subscription_id` | 灰 +「已登记」,不可选用 |
|
||||
| 充值 | `upstream_id` | 灰 +「已登记」,不可选用 |
|
||||
|
||||
**充值分页**(上游仅 `p` / `page_size`,无时间参数):
|
||||
|
||||
| 行为 | 策略 |
|
||||
|------|------|
|
||||
| 列表 | 当前页(`page_size=10`) |
|
||||
| 翻页 | 传统分页:共 N 条 · 上一页 / 页码 / 下一页 |
|
||||
| 范围 | 可翻至尽头;**不做时间筛选** |
|
||||
| 401 | 重登;token 仅 sessionStorage |
|
||||
|
||||
订阅列表为全量一次拉取(`all_subscriptions`),无分页问题。
|
||||
|
||||
- 金额脚注:「金额数值——币种由你们约定,系统不预设」
|
||||
- 订阅额度双输入:原始 quota 或美元(按 `qpu/latest` 预览),落库恒 quota
|
||||
- 编辑 / 删除有确认;改错即修
|
||||
|
||||
## 5. 核对提示(只对订阅 Tab)
|
||||
|
||||
| 提示 | 触发 | 文案 |
|
||||
|------|------|------|
|
||||
| 未对应登记 | 观测到某 `subscription_id` 有消耗、但 `payments` 无此订阅 | 「观测到订阅 #N 有消耗,但尚无对应登记——请核对补录」 |
|
||||
| 正常 | 全部观测到的订阅均有登记 | 不显示(健康默认无声) |
|
||||
| 未对应登记 | 观测到某 `subscription_id` 有消耗、`subscriptions` 无此行 | 「观测到订阅 #N 有消耗,但尚无对应登记——请核对补录」 |
|
||||
| 正常 | 均有登记 | 不显示 |
|
||||
|
||||
- 观测**只提示、不回填**(payments 定稿语义);提示区与全员总览的「未关联订阅」分组互为印证(一个说「有 ID 没账」,一个说「有账路没 ID」)
|
||||
- **静默规则**:`payments` 全空时本提示区自动静默——纯用量模式(《总览与共性》§3.8,如部门实例)下「无登记」是作者的有意选择,此时提示是噪音而非健康信号
|
||||
- 只提示不回填;`subscriptions` + `topups` 皆空时**自动静默**(纯用量模式)
|
||||
|
||||
Reference in New Issue
Block a user