diff --git a/docs/superpowers/specs/2026-08-07-coin-ledger-aggregate-ad-rewards-design.md b/docs/superpowers/specs/2026-08-07-coin-ledger-aggregate-ad-rewards-design.md index 580bc65..72a979d 100644 --- a/docs/superpowers/specs/2026-08-07-coin-ledger-aggregate-ad-rewards-design.md +++ b/docs/superpowers/specs/2026-08-07-coin-ledger-aggregate-ad-rewards-design.md @@ -104,6 +104,8 @@ LIMIT :limit; 非分组类型、`trace_id` 为空的旧广告行 → 各自成组(`'I:'||id`),行为与现状完全一致。 +> 说明(分组安全性):分组键按 `biz_type` **门控**——通用 `feed_ad_reward`(福利/旧端)即便偶带 trace_id 也走 `'I:'||id` 保持每条一行,只有比价/领券两类才按 trace_id 合并。trace_id 由后端按会话签发、全局唯一(一个 trace = 一次比价**或**一次领券),故仅按 trace_id 分组不会把两类混并,代表行的 `biz_type` 唯一确定展示标题。 + ## 7. 接口契约 `GET /api/v1/coin-transactions` 响应新增 `merged_count`(`CoinTransactionOut` 加字段,Pydantic 默认 1):