礼物事件模型

礼物事件包含什么

礼物事件需要包含:

字段含义
gift_event_id礼物事件唯一 ID
order_id支付订单
room_id房间
sender_id送礼用户
anchor_id主播
gift_id礼物类型
count数量
amount金额
paid_at支付完成时间

两个 ID 的分工

  • gift_event_id:用于展示和统计的幂等——同一事件重复到达不重复处理。
  • order_id:用于和账务系统对账——礼物事件能追溯到支付订单。

这两个 ID 是礼物链路可靠性的基石。

事件从哪来

账户/支付系统扣款成功
  -> 产出「礼物支付成功」事件
  -> 弹幕系统消费事件
  -> 房间广播展示 + 榜单统计
  • 弹幕系统不主动触发扣款,只消费支付结果。
  • 支付结果事件本身要可靠(至少一次投递)。

事件的消费者

  • 展示消费者:生成房间广播,驱动动效。
  • 统计消费者:更新贡献榜、小时榜、主播收益。
  • 审计消费者:记录完整送礼链路。

多个消费者共享同一个 gift_event,各自幂等处理。

一句话

礼物事件模型的核心是两个 ID:gift_event_id 保证幂等,order_id 保证可对账。事件由支付系统产出,弹幕系统消费展示与统计。

下一节看礼物的展示优先级与榜单统计。