15dcfa604b
- comparison_record 表 + 上报(幂等 user+trace)/列表/详情 接口;服务端派生 best/saved/is_source_best/status + information(done 帧文案/失败具体原因) - 战绩里程碑:comparison_milestone_claim 表 + 进度/领取接口,按成功比价次数 解锁,复用 grant_coins 真发金币(RECORD_MILESTONES 120/180/300/500/800/1200) - 迁移 record/information/milestone 三个,单 head;rewards.py 集中档位配置 - 测试 test_compare_record(8)+test_compare_milestone(7) 全绿;docs/api 12a-12e + 索引 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1.3 KiB
1.3 KiB
POST /api/v1/compare/milestones/{milestone}/claim — 领取比价战绩里程碑奖励
所属:比价记录组(前缀
/api/v1/compare) | 鉴权:Bearer | ← 返回 API 索引
领取某一档(第 milestone 次)的金币奖励,真实入账金币钱包。领取记录写
comparison_milestone_claim((user_id, milestone) 唯一)+ grant_coins 同一事务原子提交,
每档只能领一次。进度口径见 milestones 进度接口。
入参
- 路径参数
milestone(int):档位序号,1..6(=RECORD_MILESTONES长度)。
出参
响应 200:
| 字段 | 类型 | 说明 |
|---|---|---|
milestone |
int | 本次领取的档位序号 |
coin_awarded |
int | 本次发放金币 |
coin_balance |
int | 领奖后金币余额 |
{ "milestone": 1, "coin_awarded": 120, "coin_balance": 29087 }
错误
401未鉴权404档位越界(unknown milestone,milestone < 1 或 > 档位总数)409该档还没解锁(milestone locked,成功比价次数 < milestone)409该档已领过(milestone already claimed)
说明
- 领取金币后,客户端应刷新钱包余额(
GET /api/v1/wallet/account)与本档状态。 - 幂等:重复领同一档返回 409 且不会重复发金币(唯一约束 + 领取前查重)。