db399a40fa
- ops_stat: 真实值 offset→保底(max);初始基数过只增不减护栏 - ops_marquee: 脱敏名手机尾号+中文昵称混合;金额长尾;时间随机抖动;真实+种子不足兜底补满;真实记录查询 ~30s 缓存 - comparison_record: 复合索引 (status, created_at) + 迁移(PG CONCURRENTLY);修复 alembic 多 head(merge 改挂 onboarding_completion) - 轮播种子批量删除/启用接口 + ids 上限;docs 同步 - 附带并行会话 WIP:admin users / wallet Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: OuYingJun1024 <1034284404@qq.com> Reviewed-on: #42 Co-authored-by: ouzhou <ouzhou@wonderable.ai> Co-committed-by: ouzhou <ouzhou@wonderable.ai>
2.0 KiB
2.0 KiB
GET /api/v1/platform/stats — 首页三统计(全平台门面数字)
所属:Platform 组(前缀
/api/v1/platform) | 鉴权:无(登录前首页也要展示) | ← 返回 API 索引
客户端首页顶部「帮助用户 / 完成比价 / 累计节省」三个平台级数字。每个指标的展示模式由运营后台配(见 admin-dashboard-display),本接口只返回算好的结果值。
入参
无。
出参
响应 200:PlatformStatsOut
| 字段 | 类型 | 说明 |
|---|---|---|
help_users |
int | 帮助用户(人) |
total_compares |
int | 完成比价(次) |
total_saved_cents |
int | 累计节省(分),客户端 ÷100 显示「元」 |
说明
三指标各自独立选模式,且统一「定时刷新」:客户端看到的展示值只在「更新时间(按更新间隔)」对齐的北京钟点(anchor + k*间隔)刷新一次,平时不变。每次刷新按模式算新值:
- real:重新快照查库,再与保底值取大。
help_users=有过status='success'比价记录的去重用户数;total_compares=成功比价记录数;total_saved_cents=成功记录saved_amount_cents求和(只计0<saved≤300 元的条目,剔除 bug 异常大值);最终展示 =max(真实值, 运营配的 real_offset 保底值)。 - manual:取运营当前手填的固定值(改值到下个更新钟点生效)。
- random:在上次展示值上按方式增长——
mult×一个 [1.0,1.5] 随机倍率 /add+一个 [下限,上限] 随机绝对增量(跨几个钟点走几次)。 - 只增不减:默认门面数字不回退(real/manual 新值低于当前则保持),除非运营开「允许下降」。
计算逻辑见 app/repositories/ops_stat.py,模型见 app/models/ops_stat_config.py(表 ops_stat_config)。
上线初始播种为 manual + 客户端原写死门面值(12847 / 86532 / 37621.40 元),保证前后展示一致。