产品

故障有固定动作,不靠临场判断

这条链路的难点不在调通接口,而在出错时谁先动、动哪一步。津渡把三处高危分支写成固定动作,运营照着做即可。

三处高危分支

核销通知失败

券已经核销,渠道侧仍显示待核销,用户可能再兑换一次。

  1. 每一笔兑换用券码与兑换请求号去重,重复请求只生效一次。
  2. 提供核销结果反查,渠道可以主动查真实状态。
  3. 通知失败进重试队列,超过阈值出现在差异清单,可单条重推。

下单超时

本地不知道上游是否已经锁座,重发就可能锁两次、出两张票。

  1. 用券码与航班回查上游订单,查到就继续补座位回写。
  2. 明确没有锁座,才允许用同一个键重试一次。
  3. 查不清就进人工队列,禁止重发下单。

出码与核销不收敛

船票码没到,或者闸口核销没回传,两边长期停在中间态。

  1. 按航班维度定时对账,班后一次、平时按配置轮询。
  2. 差异分三类:上游已核销未收到、渠道待核销、已付款未出码。
  3. 处置动作固定为重推、主动拉码、重新出码,只补状态不删记录。

券的状态只有三步

核销不可逆。已支付与已兑换下单之间允许没有券码,这是链路事实,不是异常。

  1. 待支付
  2. 已支付 · 待兑换
  3. 已核销

另有退款与作废两个终态;已核销之后不允许退款或作废。

运营台四个功能

四个功能一一对应上面三处故障的处置动作,不多做。

订单查询

按券码、订单号、兑换请求号、航班、状态与时间段查。

反查

展示券状态、订单状态、核销结果与最近一次通知结果。

重推核销通知

单条操作,二次确认,显示重推结果。

对账差异列表

三类差异分列,可筛选,可跳到对应订单。

边界写在这里

  • 不指定座位。座位由上游锁座时分配并回写。
  • 不做商品、价格、库存与券模板配置,那些留在渠道与票务系统。
  • 不碰资金。支付与退款归渠道与票务系统。
  • 不做多租户与换品牌。换一家渠道或上游,换的是适配层。