Skip to content
🚫 本页面不支持以下人工操作开盘 / 重新开盘 / 关盘 —— 统一由数据源推送触发(唯一来源)。关盘 = 绝对终态,无人工回退路径。
⚠️ 一期范围调整(2026-04-23) 已结算盘口赛果变化、VAR 改判等场景,一期不做自动重结算,系统仅在受影响的已结算盘口上标记提示"⚠️ 结算比分已发生变化,请检查盘口赛果",由结算人员主动发起「盘口二次结算」处理。正文相关章节规则保留作为二期设计参考。

第十八章 状态流转规则

赛事状态(4 种)和注单状态(3 种)的定义见结算列表数据字段定义。本章定义盘口状态(核心规则)、赛事结算状态、注单状态和串关母单状态的完整流转。

关盘口径(2026-04-21 生效):关盘来源统一为数据源推送(唯一来源);关盘 = 绝对终态,操盘页与结算详情页均不提供人工开盘入口。如数据源误推送关盘,依赖数据源再次推送开盘信号自动恢复。


18.1 盘口状态定义(核心规则)

盘口状态 → 各端展示完整对照表(后台本地记录的状态 vs C 端展示的状态):

本地状态英文行业术语含义操盘页(操盘手视角)结算详情页(结算人员视角)C 端(投注界面)
开盘openOpen / Active接受投注中可见可操作(含「关盘」按钮)可见但不可结算(标记"开盘中")可投注(Active)
关盘closedClosed停止接受投注,可结算可见(灰显,标记"已关盘")可结算(绝对终态,无人工回退入口)已关盘(Closed)
已结算settledSettled / Graded结算结果已确定,派彩已计算不可见可见,可二次结算(仅赛事待结算时)已关盘(Closed)
已取消cancelledCancelled / Voided盘口取消,投注退款不可见可见(只读)不可见(Hidden)

关盘 = 绝对终态,不存在人工开盘路径。如需将关盘盘口回退到开盘,仅依赖数据源再次推送开盘信号自动恢复。

多基准分场景下的"已结算"触发条件(对齐第 7.3.6.6 节):对含多组基准分的盘口,本地状态切换为"已结算" = 盘口内全部基准分组都已完成结算;任一组未结算时,盘口保持"关盘·待结算"态,盘口卡片 Header 展示"组级独立进度"(如"组 1 已结 / 组 2 待结")。已结算后各组结算结果的二次结算支持"全部组统一"或"仅某一组独立"两种粒度(详见第 9.4.3 节),差额处理按组独立(见第 15.4.4 节)。

C 端展示状态(4 种,对齐项目 PRD 核心摘要第 6.1 节)

C 端状态英文行业术语触发条件C 端表现
可投注ActiveActive / Live盘口开盘且 IM 未暂停正常展示,可点击下注
暂停投注SuspendedSuspendedIM 暂停(赛中临时暂停)或本地锁定灰显不可点击;IM 暂停不改变本地状态,恢复后自动回到可投注
已关盘ClosedClosedIM 关盘 / 已结算展示"已关盘"标签,不可下注但保留可见性
不可见HiddenHidden / Not Displayed本地隐藏 / 已取消(投注已退款)不展示该盘口

C 端展示优先级(写死):IM 关盘 > 本地隐藏 > 本地锁定 > IM 暂停 > 可投注。

赛事状态 → 中英文对照

本地状态英文行业术语含义
待结算pendingPending Settlement赛事已进入即将开赛阶段(距开赛 ≤ 30 分钟)或已开赛,至少有盘口未结算或未确认结算
已结算settledSettled所有盘口结算完成 + 结算人员确认
异常态exception赛事级不可恢复赛事腰斩暂缓 / 延期暂缓等(不含数据错误)
已取消cancelledCancelled赛事取消 / 延期超时退款 / 腰斩全额退款

注单状态 → 中英文对照(3 种,无冻结)

本地状态英文行业术语含义
待结算pendingPending / Open未完成结算
已结算settledSettled / Graded结算完成(含派彩发放)
已取消cancelledCancelled / Voided已取消退款

行业内标准枚举亦可见 Won/Lost/Refunded/Void 等细分,本系统将结果归入"已结算"(按 7 种结算结果区分:赢/输/赢半/输半/走水/取消/退款)。


18.2 盘口状态流转

2026-04-21 状态机说明

  • 人工无回退入口:结算人员不能通过任何按钮从"关盘/已结算/已取消"回退到"开盘"
  • IM 推送硬约束:IM 数据源推送开盘信号时,系统按本地状态 4 分支自动响应(含已结算自动回滚)
  • 已结算 → 开盘的自动回滚(详见 第 15.6d 节

赛事取消的级联:结算人员发起赛事取消时,系统对该赛事下所有未结算盘口执行级联取消操作(可操盘盘口走本地取消流程;数据源盘口超时时走本地兜底取消,进入本地锁定态)。赛事取消不是状态穿透,而是批量操作的结果。

18.2.1 关盘来源与 IM 推送硬约束

关盘来源

来源触发方操作位置说明
数据源关盘IM 推送信号自动唯一来源:IM 推送关盘信号时系统自动将盘口状态置关盘(回退历史版本的手动关盘能力)

关盘源唯一性:操盘页与结算页面均不提供关盘入口;关盘 = 绝对终态,操盘页与结算详情页均不提供人工开盘入口。

IM 推送开盘信号 · 硬约束自动回滚规则

数据源事实:数据源无独立的开盘/关盘切换指令,仅通过 MarketlineStatusId(1=开盘/2=关盘)的增量推送。本地基于 2→1 状态变化识别为"盘口由关盘变为开盘"。

关盘 = 绝对终态,人工无开盘入口;但数据源作为权威数据源,其推送的开盘信号对本地是硬约束。按本地盘口当前状态分支处理(与 第 15.6d 节 完全一致):

本地当前状态盘口级操作子注单影响串关母单影响资金处理日志分类
开盘中忽略(冗余推送)仅记信息日志(可选)
关盘(待结算)关盘 → 开盘保持待结算保持待结算F9
已结算(赛事 = 待结算 或 终态但 ≤ 24h)已结算 → 开盘;自动触发回滚已结算 → 待结算已结算 → 待结算(短路解除)已派彩按 15.4 差额矩阵延迟处理(到再次关盘结算时执行)F10(核心)
已结算(赛事终态且 > 24h)拒收 IM 推送(本地保持已结算)无变化无变化无变化F12 24h 超窗拒收(红色警告)
已取消(赛事 = 待结算 或 终态但 ≤ 24h)已取消 → 开盘已取消 → 待结算已取消 → 待结算已退款金额撤销(从余额扣回,不足记坏账)F11
已取消(赛事终态且 > 24h)拒收 IM 推送(本地保持已取消)无变化无变化无变化F12 24h 超窗拒收(红色警告)

赛事级联动(24h 超窗拒收保护)

  • 赛事 = 待结算:直接回滚盘口,赛事状态不改变
  • 赛事 = 已结算 / 已取消 / 异常态(腰斩暂缓 / 延期暂缓)
    • 距最新结算时间 ≤ 24h → 自动驳回赛事至"待结算" + 执行盘口回滚
    • 距最新结算时间 > 24h拒收 IM 推送(稳定结算结果优先;本地状态保持不变 + F12 日志)

业务理由:24h 后赛事进入"24 小时窗口外的结算完成期",稳定结算结果优先级高于数据源一致性;本地与 IM 状态虽永久不一致,但超窗后盘口无活跃注单,业务影响可控。

并发保护

  • 24h 内回滚场景:数据源推送优先(数据源硬约束),结算人员正在操作时被版本号拦截 + 页面提示"盘口状态已由数据源更新,请刷新"
  • 超窗拒收场景:本地状态不变,无需提示

关键区分

  • 人工入口:不提供开盘按钮
  • IM 数据源触发:自动执行回滚(24h 内)或自动拒收(超窗),均无需人工确认

职责分离(对齐操盘列表 核心规则)

  • 操盘手:在操盘页 / 操盘详情页负责赔率管理、盘口状态控制(隐藏 / 锁定);不负责关盘(由数据源自动触发)
  • 结算人员:在结算列表 / 结算详情页负责赛果录入、盘口结算、二次结算、赛事异常处理等
  • 即使同一自然人承担两个岗位,在不同页面的操作按对应角色识别

关盘时机跟随判定时机:不同判定时机类型的盘口关盘节奏不同——全场类在全场结束后关盘,上半场类在半场结束后关盘,15 分钟段类在该段结束后关盘,事件触发类(BT37 第 X 粒进球队伍 / BT159 角球第 X 粒)在对应事件发生后关盘(可能远早于终场)。完整分类见第 7 章 7.8.1

18.2.2 操作按钮粒度规则(核心规则)

所有盘口级操作按钮(结算 / 二次结算 / 取消)的粒度统一跟随结算粒度,避免"关了一半但结算不了"或"选项级操作"的歧义。关盘/开盘按钮均不存在(关盘由数据源推送,关盘后无人工开盘路径):

渲染器结算粒度结算按钮二次结算按钮取消按钮
MultiLineTable盘口线级盘口线级(每条盘口线一个)盘口线级盘口线级
SingleLineTable玩法级玩法级(卡片一个)玩法级玩法级
Matrix玩法级玩法级(卡片一个)玩法级玩法级
LongList玩法级玩法级(卡片一个)玩法级玩法级

硬约束(不可违反)

规则说明
选项级禁止操作按钮选项级(Matrix 单元格、LongList 单选项、SingleLineTable 选项行、BT6 波胆 5×5 任一格子、BT158 反波胆单选项、BT9 半全场 3×3 任一格子)不得出现任何操作按钮(结算 / 二次结算 / 取消)
选项仅展示状态选项仅以视觉形式展示结算结果(赢/输/走水/取消/退款)作为状态标记,不承载任何操作入口
BT6 波胆特殊说明25 格矩阵的每格仅展示选项状态(绿=赢 / 灰=未中 / 红=赛中已判输),不展示任何按钮;结算/二次结算按钮统一在玩法卡片级

18.2.3 关键流转规则

规则说明
关盘是结算的前置条件盘口必须关盘后才能选择赛果和结算(BT6 波胆除外:赛中比分变化时系统实时扫描已无法中奖的选项标记为输,只判输不判赢)
二次结算回退到关盘盘口二次结算不是回退到开盘,而是回退到关盘(停止接受投注,重新选择赛果)
关盘是绝对终态关盘后无人工开盘入口;如数据源误推关盘,依赖数据源再次推送开盘信号自动恢复
赛事级前置限制(按操作类型精细化,对齐 15.3.1按操作类型区分前置条件:
(1)首次结算 / 盘口级取消:赛事状态 = 待结算 或 异常态允许(行业做法:异常态下有明确赛果的盘口可正常首次结算,如腰斩时上半场类盘口);已结算 / 已取消时禁用
(2)盘口二次结算:仅赛事状态 = 待结算;其他状态禁用,须先执行赛事驳回(24 小时内)
数据源盘口本身基本只读,不受此限制影响

18.2.4 操盘页与结算详情页的盘口可见性

可操盘盘口

盘口状态操盘页结算详情页
开盘可见,可操作(含「关盘」按钮)可见,不可结算(标记"开盘中")
关盘可见(灰显,标记"已关盘")可见,可结算(关盘 = 绝对终态,无人工开盘入口)
已结算不可见可见,可「二次结算」
已取消不可见可见(只读)

数据源盘口(不在操盘页显示,仅在结算详情页的数据源 Tab 展示):

盘口状态结算详情页
数据源接管态(待结算 / 已结算 / 已取消)可见(只读)
待手动结算(超时解锁)可见,可本地结算 + 可取消
本地锁定(已本地结算)可见,可本地二次结算 + 可取消;数据源后续结算结果不再覆盖本地结果

数据源盘口与可操盘盘口均无人工开盘按钮(关盘 = 绝对终态)。


18.3 赛事结算状态流转

24 小时驳回窗口:所有指向「待结算」的驳回边均须满足"距赛事最新结算时间 ≤ 24 小时"的前置条件(按 UTC 时间戳计算)。超窗后赛事终态永久化,驳回按钮永久禁用。

多次驳回滚动:若赛事经历多次「驳回 → 重选 → 再结算」循环,窗口以最新一次结算时间为基准向后滚动 24 小时。驳回次数不设上限。

关于"数据错误"不进入异常态:赛事异常仅限于赛事级不可恢复情形(取消 / 延期 / 腰斩)。数据错误不标记为赛事异常。数据错误的实际修正走各自独立入口(操盘页调赔率 / 赛果录入页修正 / 盘口卡片 void / 盘口二次结算);第 16 章 16.5 节「赛事异常处理 → 数据错误」弹窗仅做审计标记,不改赛事态、不下架、不关盘、不动订单。

赛事异常处理按钮启用:仅在赛事状态 = 待结算时显示「赛事异常处理」按钮;已结算 / 已取消 / 异常态下须先「赛事驳回」回待结算才能再次发起。因此状态图中不存在 已结算 → 异常 / 已取消 → 异常 的直接边。

18.3.1 赛事驳回与盘口二次结算的关系

赛事驳回和盘口二次结算是两个完全独立的操作,必须严格区分:

核心原则:赛事驳回只改赛事状态(→待结算),不影响任何盘口、注单、母单的状态。如需修改某个盘口的结算结果,必须到对应盘口单独执行盘口二次结算。

操作作用对象状态变化时效约束对下级的影响
赛事驳回仅赛事已结算 / 已取消 / 异常 → 待结算距最新结算时间 ≤ 24 小时不影响任何盘口 / 注单 / 母单状态。盘口仍保持原状态(已结算 / 已取消等),需要结算人员逐个到对应盘口执行盘口二次结算
盘口二次结算单个盘口已结算 / 已取消 → 关盘该盘口下注单回退待结算,关联母单回退待结算

操作顺序约束

规则说明
赛事驳回是前置步骤赛事驳回的唯一目的是解除盘口二次结算的赛事级前置限制——将赛事回退到待结算,使结算人员可以对具体盘口逐个操作
盘口二次结算要求赛事为待结算赛事非待结算时盘口二次结算按钮禁用,提示「请先执行赛事驳回」
赛事驳回适用范围已结算、已取消、异常三种状态均可执行赛事驳回,统一回退为待结算
赛事驳回时效距赛事最新结算时间 ≤ 24 小时;超窗按钮永久禁用,赛事终态不可恢复
赛事驳回后回到操盘列表赛事回退为待结算后,重新出现在操盘列表中
逐盘口操作赛事驳回后,结算人员根据实际情况对需要修改的盘口逐个执行盘口二次结算,无需处理的盘口保持原状态不动

18.3.2 驳回→二次结算流程(两种场景)

场景 A:赛事尚未确认结算(待结算),发现某盘口结算有误

赛事待结算(结算过程中)
  ↓ 结算人员直接对该盘口执行「二次结算」(无需赛事驳回)
该盘口 已结算 → 关盘
该盘口下注单 已结算 → 待结算
关联串关母单 已结算 → 待结算
  ↓ 结算人员重新选择结算结果 → 确认 → 差额处理
  ↓ 所有盘口已结算 → 结算人员点击「结算赛事」

场景 B:赛事已确认结算(已结算),事后发现某盘口结算有误

赛事已结算
  ↓ 结算人员执行「赛事驳回」
赛事待结算(盘口/注单/母单状态不变,仍是已结算)
赛事重新出现在操盘列表
  ↓ 结算人员对具体盘口执行「盘口二次结算」
该盘口 已结算 → 关盘
该盘口下注单 已结算 → 待结算
关联串关母单 已结算 → 待结算
  ↓ 结算人员选择:重新选择结算结果 → 确认 → 差额处理
  ↓ 所有盘口再次全部已结算
  ↓ 结算人员点击「结算赛事」→ 赛事 待结算 → 已结算
  ↓ 赛事从操盘列表移除

场景 C:赛事已取消,需要回滚重新处理

赛事已取消(所有盘口已取消,投注已退款)
  ↓ 结算人员执行「赛事驳回」
赛事待结算(盘口状态保持已取消不变)
  ↓ 结算人员对具体盘口执行「盘口二次结算」
该盘口 已取消 → 关盘
该盘口下注单 已取消 → 待结算(已退款金额需追回)
  ↓ 结算人员重新录入赛果 → 选择结算结果 → 确认
  ↓ 系统重新计算派彩,与已退款金额做差额处理
  ↓ 所有盘口处理完毕 → 结算人员点击「结算赛事」

场景 D:异常赛事(腰斩暂缓 / 延期暂缓),需要回滚重新处理

赛事异常
  ↓ 结算人员执行「赛事驳回」
赛事待结算(盘口状态不变)
  ↓ 结算人员根据实际情况重新处理各盘口
  ├── 已按比分结算的盘口 → 可二次结算
  ├── 已退款的盘口 → 可二次结算(差额处理)
  └── 待结算的盘口 → 正常结算流程
  ↓ 所有盘口处理完毕 → 结算人员点击「结算赛事」

18.3.3 各状态赛事驳回场景说明

赛事状态驳回后状态盘口影响典型场景
已结算待结算盘口不变(仍为已结算)赛后发现某盘口结果有误
已取消待结算盘口不变(仍为已取消)误操作取消、赛事恢复
异常待结算盘口不变(保持各自状态)腰斩赛事恢复比赛、延期赛事重新开赛

赛事驳回后,已退款的金额在二次结算时通过差额处理机制追回(余额不足记坏账),逻辑与第 15 章 派彩回收机制一致。


18.4 注单结算状态

注单状态仅 3 种(待结算 / 已结算 / 已取消),不存在"冻结"状态。赛事异常(延期暂缓 / 腰斩暂缓)期间注单保持"待结算",仅在业务规则层屏蔽二次结算 / 人工结算入口,不引入独立状态枚举。

数据源能力边界:数据源仅提供赛事 / 盘口 / 赔率 / 投注下单 / 投注明细等业务数据查询,不推送注单级状态枚举(没有"冻结 / 暂停"类注单状态标志)。注单状态的全部流转由本地系统管理。


18.5 串关母单状态

母单为计算结果而非独立实体:母单状态由其所有引用盘口的结算结果按第 14.4 派彩公式自动推导。母单没有"主动取消"操作,其"已取消"态由"所有子单系数 = 1.0 且无判赢"的场景计算得出。

赛果驱动:母单回退由引用盘口的"赛果变化"触发,非由盘口"状态变化"触发。盘口二次结算但重选相同结果不触发母单级联。

母单结算全自动,无需人工确认。

体育操盘系统产品文档