Files
shaguabijia-app-server/docs/api/platform-stats.md
T
OuYingJun1024 c9578f5ba2 feat(platform): 首页轮播 feed 接入真实数据 + 三统计配置增强
轮播 feed(marquee_seed,全新):
- 新增 marquee_seed 表 + admin CRUD/批量生成/预览;真实比价记录(success 且 0<省额≤300元、按 user 去重)优先,种子兜底混播
- 种子为「生成规则」:用户名可空(空则按脱敏格式随机合成、避开同屏撞名),金额改 [min,max] 区间随机,feed 公平随机抽取(不看 sort_order)
- 新增 GET /api/v1/platform/savings-feed(无鉴权);展示时间统一刷新为相对当前的最近时刻

三统计配置(platform_stat_display)增强:
- 自增长新增「绝对增量」方式(random_kind=add,每周期 +[step_min,step_max])
- 真实值模式加基数偏移(real_offset,展示=真实+偏移)
- 只增不减护栏(allow_decrease 默认关,real/manual 不回退防门面缩水)
- 累计节省 real 口径只计 0<单条≤300元防虚高;倍率上限 5.0→1.5;PATCH 支持 apply_now 立即更新

迁移:marquee_seed_table / marquee_seed_range / platform_stat_growth_offset(均可逆,已验证)
文档:API/DB 对应文档同步更新

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-07 12:05:17 +08:00

2.0 KiB
Raw Blame History

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 异常大值);最终展示 = 真实值 + 运营配的 real_offset
  • manual:取运营当前手填的固定值(改值到下个更新钟点生效)。
  • random:在上次展示值上按方式增长——mult ×一个 [1.0,1.5] 随机倍率 / add +一个 [下限,上限] 随机绝对增量(跨几个钟点走几次)。
  • 只增不减:默认门面数字不回退(real/manual 新值低于当前则保持),除非运营开「允许下降」。

计算逻辑见 app/repositories/platform_stat.py,模型见 app/models/platform_stat.py(表 platform_stat_display)。

上线初始播种为 manual + 客户端原写死门面值(12847 / 86532 / 37621.40 元),保证前后展示一致。