fa4127b9e5
Reviewed-on: #128
2.4 KiB
2.4 KiB
ad_feed_reward_record — 信息流广告奖励记录
模型
app/models/ad_feed_reward.py· 仓库app/repositories/ad_feed_reward.py· 接口POST /api/v1/ad/feed-reward(信息流广告结算) · ← 索引 · 总览
点位 2 的奖励记录。每条记录对应客户端完成的一次信息流广告展示/播放事件。
字段
| 字段 | 类型 | 约束 | 说明 |
|---|---|---|---|
id |
Integer | PK | 自增主键 |
client_event_id |
String(64) | UNIQUE, NOT NULL | 客户端幂等事件 id |
ad_session_id |
String(64) | index, nullable | 客户端生成的一次信息流广告会话 id |
ad_type |
String(16) | nullable, default feed |
广告形态:feed(信息流)/ draw(Draw 视频流)。旧数据 NULL 视为 feed(迁移随 #83 入库) |
feed_scene |
String(16) | nullable | 展示场景:compare(比价期)/ coupon(领券期)。比价与领券共用同一 Draw 代码位,收益/大盘按它分场景归集(#125 修比价/领券奖励金币恒 0 即改按本列汇总) |
user_id |
Integer | FK → user.id, index, NOT NULL |
用户 |
reward_date |
String(10) | index, NOT NULL | 北京时间日期 YYYY-MM-DD |
duration_seconds |
Integer | NOT NULL | 整场比价累计观看秒数(轮播各条相加) |
unit_count |
Integer | NOT NULL | duration_seconds // 10 得到的奖励份数 |
ecpm_raw |
String(32) | NOT NULL | 客户端上报 eCPM 原始值 |
adn |
String(32) | nullable | 实际投放 ADN(聚合后实际填充子渠道) |
slot_id |
String(64) | nullable | 实际展示代码位(底层 mediation rit) |
app_env |
String(16) | nullable | 来源应用 prod(傻瓜比价)/test(测试),客户端 feed-reward 上报;旧数据 NULL。广告收益报表金币侧按它聚合 |
our_code_id |
String(64) | nullable | 我们配置的代码位 104xxx,客户端上报;旧数据 NULL |
coin |
Integer | NOT NULL | 实发金币,非 granted 时为 0 |
status |
String(16) | NOT NULL | granted(已发) / capped(当日次数超限) / too_short(整场总时长<10s 凑不满一份) / closed_early(用户中途 ✕ 关闭,全程未看完) |
created_at |
DateTime | index, NOT NULL | 创建时间 |
约束
UNIQUE(client_event_id):同一完成事件重试不重复发奖。
关联
- 入账时写
coin_transaction.biz_type=feed_ad_reward,ref_id=client_event_id。