# ad_feed_reward_record — 信息流广告奖励记录 点位 2 的奖励记录。每条记录对应客户端完成的一次信息流广告展示/播放事件。 ## 字段 | 字段 | 类型 | 约束 | 说明 | |---|---|---|---| | `id` | Integer | PK | 自增主键 | | `client_event_id` | String(64) | UNIQUE, NOT NULL | 客户端幂等事件 id | | `ad_session_id` | String(64) | index, nullable | 客户端生成的一次信息流广告会话 id | | `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`。