Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Admin 收银分析与用户消费排行金额核对

时间:2026-06-14 13:05 JST

## 核对目标

核对 `/shop/admin/` 中「收银分析」今日 / 本月金额,以及「Shop 用户消费排行」今日 / 本月金额,确认这些金额是否由用户 token 按当前最新计价规则直接计算。

## 相关口径

- 当前最新价格版本:
- `gpt-5.4-rmb-20260614-half-cache-hit-output`:缓存命中输入 125 nanos/token,缓存未命中输入 2500 nanos/token,输出 7500 nanos/token。
- `gpt-5.5-rmb-20260614-half-cache-hit-output`:缓存命中输入 250 nanos/token,缓存未命中输入 5000 nanos/token,输出 15000 nanos/token。
- 当前账务设计要求:新价格只应用未来 usage;历史扣费不重算,不覆盖旧 `api_charge_records.price_version`。
- Admin 收银分析和 Shop 用户消费排行使用 Shop 托管 key 的 `api_charge_records`,按 `usage_events.requested_at` 切分今日 / 本月,缺失时回退 `api_charge_records.created_at`。
- 图表分项金额按每条记录的 `price_version` 回放历史价格;柱顶金额使用账本 `charge_nanos`。

## 核对结果

本月 Shop charged 记录共 1350 条。使用每条记录的 `price_version` 重新计算 `cache_hit_input_tokens`、`cache_miss_input_tokens`、`output_tokens` 后,与账本 `charge_nanos` 完全一致,0 条不匹配。

截图中的今日金额:

- 今日记录 41 条,全部为 `19301367925`,价格版本为 `gpt-5.5-rmb-20260613`。
- 缓存命中输入:5,853,056 tokens × 500 nanos = 2.926528 元,页面显示 ¥2.93。
- 缓存未命中输入:412,978 tokens × 5000 nanos = 2.064890 元,页面显示 ¥2.06。
- 输出 token:10,412 tokens × 30000 nanos = 0.312360 元,页面显示 ¥0.312360。
- 今日合计:5.303778 元,页面显示 ¥5.30。

如果把今日这 41 条历史 usage 强行按 2026-06-14 13:01 后的最新 `gpt-5.5` 价格重算,则金额为 3.684334 元,其中缓存命中 1.463264 元、缓存未命中 2.064890 元、输出 0.156180 元。这个结果不同于页面,是因为页面按历史 `price_version` 回放,不按当前最新价重算历史账。

截图中的本月金额:

- 本月 Shop charged 记录 1350 条。
- 页面本月合计:97.067931 元,显示为 ¥97.07。
- 使用当前最新模型价格强行重算本月全部 token:84.446874500 元。
- 差异来自历史记录跨越多个价格版本:`deepseek-v4-pro-rmb-20260424`、`deepseek-v4-pro-rmb-20260612-cache-hit-10x`、`deepseek-v4-pro-rmb-20260612-output-20rmb`、`gpt-5.4-rmb-20260613`、`gpt-5.5-rmb-20260613`。

本月用户排行账本金额:

| 手机号 | 页面 / 账本金额 | 按当前最新价格重算 |
| --- | ---: | ---: |
| 19301367925 | 26.879154500 | 18.382246000 |
| 13052071067 | 21.902577100 | 18.408718500 |
| 13584052801 | 20.144896100 | 20.215195500 |
| 18367290091 | 18.803545800 | 19.109005000 |
| 15062376174 | 6.044974400 | 4.908582000 |
| 19520434236 | 1.358472200 | 1.772171500 |
| 13813756694 | 1.306918500 | 0.980059000 |
| 19814722044 | 0.393379400 | 0.506738000 |
| 15995436627 | 0.234013000 | 0.164159000 |

## 结论

当前 Admin 页面金额计算正确,但正确的含义是“按每条扣费记录保存的历史 `price_version` 回放并汇总”,不是“每个用户历史 token 全部乘以当前最新计价规则”。

如果要改成“历史区间金额按当前最新价格模拟重算”,这应作为新的分析口径或模拟视图,不能直接替代账务收银金额,否则会和真实扣费、余额、流水不一致。
Loading