Skip to content

第8章 控制层级体系

8.0 术语对照

本章涉及的核心术语与IM数据源术语存在命名差异,为避免歧义,统一定义如下:

本章术语英文标识含义与IM术语关系
玩法BetTypeMarket指同一BetTypeId(可含PeriodId、Specifiers)的玩法维度,如让球、大小、独赢不等同于IM的Market
盘口市场IMMarket指IM数据源的Early/Today/Live三类盘口市场,用于拉取和缓存分池IM文档中的Market字段
盘口线Line指同一玩法下的不同盘口值,如让球负0.5、负1.0对应IM的Hdp/Line字段
选项Selection指单个可投注的选项,如主队、客队、大、小对应IM的BetTypeSelectionId

重要说明:本章及后续文档中提到的"玩法"均指BetTypeMarket,与IM数据源中的Market(Early/Today/Live)是完全不同的概念。


8.1 层级结构定义

8.1.1 四级控制层级

本系统采用四级控制层级,从上到下依次为:

层级说明:赛事为最上层,下辖多个玩法。MultiLineTable类玩法(如让球BT1、大小BT2)包含盘口线层级,其他玩法无此层级,直接在玩法级管理选项。

层级英文说明控制粒度
第一级Event整场赛事赛事级状态、赛事级数据源开关
第二级BetTypeMarket单个玩法(如让球、大小、独赢)玩法级状态、玩法级数据源开关
第三级Line单条盘口线(如负0.5、负1.0)线级状态(仅MultiLineTable)
第四级Selection单个投注选项(如主队、客队)选项级状态(只读继承,一期不支持独立控制)

8.1.2 层级与渲染器的对应关系

不同渲染器支持的层级深度不同:

渲染器适用玩法支持层级是否有盘口线
MultiLineTableBT1让球、BT2大小、BT160主队大小、BT161客队大小玩法级加线级加选项级
SingleLineTableBT3独赢、BT5单双、BT8双重机会、BT159第X粒入球玩法级加选项级
MatrixBT6波胆、BT158反波胆、BT9半全场玩法级加选项级(单元格等于选项)
LongListBT7总进球玩法级加选项级

完整映射清单:以上为简化示例,完整的 BetTypeId 与渲染器映射见第6章6.3.1节(SSOT)。

重要说明:Matrix单元格等于选项(Selection)的一种展示形态,不新增第五层级。

8.1.3 一期控制能力边界

层级一期支持的控制操作说明
赛事级状态控制、数据源开关作用于该赛事下所有玩法
玩法级状态控制、数据源开关作用于该玩法下所有盘口线和选项
线级状态控制(含隐藏/锁定)仅MultiLineTable渲染器支持,作用于该线下所有选项;关盘仅由IM数据源控制
选项级只读继承一期不支持选项级独立状态控制

8.2 状态类型定义

8.2.1 四种状态

所有层级统一使用以下四种状态:

状态英文状态性质含义接受投注C端可见操盘端可见
开盘Open初始状态正常运营,可接受投注
隐藏Hidden叠加状态从客户端隐藏(不可见),可取消
锁定Locked叠加状态人工锁定,必须人工解锁
关盘Closed终态不可恢复

状态模型说明

  1. 开盘:初始状态,隐藏OFF且锁定OFF时的默认状态,不需要人工"开"操作
  2. 隐藏:叠加在开盘之上的临时状态,通过"隐藏"操作触发,通过"取消隐藏"恢复。客户端不可见——盘口从玩家视角完全消失
  3. 锁定:叠加在开盘/隐藏之上的强制状态,通过"锁定"操作触发,通过"解锁"恢复。客户端可见但灰显——玩家能看到盘口但显示为「暂停投注」
  4. 关盘:终态,仅由IM数据源推送触发,本地不提供关闭按钮,不可逆

操盘端状态计算规则(决定本地状态):

本地状态 =
  if (IM关盘标记=true) → 关盘(终态,覆盖一切)
  else if (锁定标记=ON) → 锁定
  else if (隐藏标记=ON) → 隐藏(本地控制)
  else → 开盘

C端展示状态计算规则(决定玩家看到什么,详见8.2.3节):

C端展示 =
  if (本地关盘) → 已关盘
  else if (本地隐藏) → 不可见
  else if (本地锁定) → 暂停投注
  else if (IM暂停或IM维护,且跟随=是) → 暂停投注
  else → 可投注

说明:C端指玩家端(客户端),操盘端指操盘系统后台。IM暂停不改变本地状态,仅通过C端展示状态影响玩家视角。关盘和隐藏状态在C端不可见,但在操盘端仍需显示用于审计和复盘。

8.2.2 隐藏与锁定的核心区别

维度隐藏锁定
触发方式人工、风控、系统流程(含下架联动隐藏)仅人工意图触发
恢复方式可人工恢复必须人工解锁
典型场景风控告警、人工干预、下架操作风险控制、人工干预
数据源恢复时不受数据源影响,需人工取消隐藏保持锁定,需人工解锁
设计意图临时隐藏,人工控制恢复主动干预,需人工确认后恢复

日志语义:若"下架"导致盘口进入隐藏态,该隐藏的隐藏来源记为 system,操作详情标记为「delist_link」(用于区分人工隐藏 vs 下架联动隐藏)。下架联动隐藏时,取消隐藏按钮禁用,提示"赛事已下架,请先上架"。

8.2.3 客户端展示状态映射(C端四态)

本地控制状态(开盘/隐藏/锁定/关盘)与IM数据源状态共同决定客户端的最终展示状态。客户端共有四种展示状态:

C端展示状态英文含义产生条件
可投注Active盘口正常展示,玩家可下注本地=开盘 且 IM=开盘
暂停投注Suspended盘口可见但灰显,暂时不接受投注IM暂停或IM维护(跟随=是时) 或 本地锁定
不可见Hidden盘口从客户端完全移除,玩家不可见本地隐藏
已关盘Closed盘口终态IM关盘 或 结算完成

C端展示状态计算规则

C端展示 =
  if (IM关盘 或 本地关盘) → 已关盘
  else if (本地隐藏) → 不可见
  else if (本地锁定) → 暂停投注
  else if (IM暂停 或 IM维护,且跟随=是) → 暂停投注
  else → 可投注

关键设计说明

  1. 暂停投注 vs 不可见:暂停投注时盘口在客户端仍然可见(灰显状态),玩家知道该盘口存在但暂时无法投注(典型场景:进球后数据源暂停);不可见时盘口从客户端完全消失,用于操盘手主动隐藏或风控干预场景
  2. IM暂停不改变本地状态:IM推送暂停时,本地盘口状态保持不变(仍为开盘),仅通过IM状态标记影响C端展示。IM恢复后C端自动回到可投注,无需本地状态流转
  3. IM暂停 vs 本地锁定:C端展示相同(均为「暂停投注」),但恢复机制不同——IM暂停在数据源恢复后自动恢复为可投注,本地锁定必须人工解锁
  4. 本地隐藏优先级高于IM暂停:若操盘手已隐藏盘口,即使IM推送暂停,客户端仍不可见(操盘手主动隐藏的意图不被IM暂停覆盖)

8.2.4 隐藏来源标记

盘口进入隐藏状态时,系统记录隐藏来源,用于决定恢复条件:

SSOT声明:隐藏来源枚举的单一真源为操盘列表第16章16.1.4节。完整状态覆盖优先级规则详见操盘列表第16章16.3.11节

隐藏来源标识触发方式恢复条件
人工隐藏manual操盘手手动点击隐藏按钮必须人工点击取消隐藏
风控隐藏risk_control单边超限、大额投注等规则触发风控条件解除后自动恢复,或人工恢复
系统隐藏system系统流程触发(含下架联动,详情=delist_link)人工恢复(下架联动时需先重新上架)
上级继承隐藏inherit上级层级处于隐藏或锁定导致下级被动隐藏上级恢复为开盘后自动恢复(除非下级同时存在manual或risk_control导致的隐藏或锁定)

IM数据源状态(独立于本地隐藏,不改变本地状态)

IM数据源状态不属于本地隐藏来源,不改变本地盘口状态,仅影响C端展示(详见8.2.3节客户端展示状态映射)。

IM状态标识C端展示影响说明
数据源暂停data_sourceC端显示「暂停投注」(跟随=是时)IM恢复后C端自动回到可投注
数据源维护maintenanceC端显示「暂停投注」(不受跟随配置影响)维护结束后C端自动回到可投注
赛事事件暂停event_incidentC端显示「暂停投注」(跟随=是时)进球、红牌、VAR等事件触发

8.2.5 IM暂停时的操盘端展示规范

IM暂停不改变本地状态,因此操盘端的状态标签不变。操盘手通过以下辅助信息感知IM暂停:

展示位置展示内容样式说明
盘口卡片状态标签保持原标签不变(如●开盘)不变本地状态未改变,标签不变
盘口卡片IM状态标记显示「IM暂停」角标橙色小标签,位于状态标签右侧仅在IM暂停期间显示,IM恢复后自动消失
右侧告警列"数据源暂停"告警条目橙色标签跟随=是和跟随=否时均显示
顶部数据源指示器IM连接状态+延迟绿/黄/红圆点反映连接级别状态,非盘口级别

操盘端叠加场景展示

本地状态IM状态操盘端状态标签操盘端IM角标C端展示(跟随=是)
开盘开盘●开盘(绿色)可投注
开盘暂停●开盘(绿色)IM暂停(橙色)暂停投注
隐藏暂停●隐藏中(橙色)IM暂停(橙色)不可见
锁定暂停🔒锁定中(红色)IM暂停(橙色)暂停投注
关盘任意●已关盘(灰色)已关盘

8.2.6 C端「暂停投注」的两种来源对比

C端展示状态「暂停投注(Suspended)」可由两种不同原因产生,C端玩家无法区分,但操盘端和恢复机制不同:

维度IM暂停导致的暂停投注本地锁定导致的暂停投注
触发方IM数据源推送操盘手人工操作
本地状态是否变不变(本地仍为开盘)(本地变为锁定)
操盘端标签●开盘 + IM暂停角标🔒锁定中
恢复方式IM恢复后自动回到可投注必须操盘手手动解锁
典型场景进球、红牌、VAR等赛事事件操盘手主动干预、风险控制
C端展示暂停投注(可见灰显)暂停投注(可见灰显)
玩家能否区分不能不能

设计意图:IM暂停是数据源层面的临时暂停(如进球后重新计算赔率),通常持续数秒至数十秒,不需要操盘手介入;本地锁定是操盘手的主动意图表达,必须人工确认后才能恢复。两者在C端表现一致,但操盘端通过不同标签和角标让操盘手明确区分。


8.3 继承规则(核心)

8.3.1 继承原则

上层状态是下层状态的上限:若上层为隐藏、锁定或关盘,则其下所有子级不得为开盘;子级允许更严格(例如玩法开盘,但某线锁定)。

上层状态下层允许的状态范围
开盘开盘、隐藏、锁定、关盘
隐藏隐藏、锁定、关盘(不允许开盘)
锁定锁定、关盘(不允许开盘、隐藏)
关盘关盘(终态,不允许其他状态)

8.3.2 继承规则详解

规则一:赛事级继承到玩法级

赛事状态玩法允许状态说明
开盘开盘、隐藏、锁定、关盘玩法可自主控制
隐藏隐藏、锁定、关盘玩法不可开盘
锁定锁定、关盘玩法不可开盘、不可隐藏
关盘关盘所有玩法强制关盘

规则二:玩法级继承到线级(仅MultiLineTable)

玩法状态线允许状态说明
开盘开盘、隐藏、锁定、关盘线可自主控制
隐藏隐藏、锁定、关盘线不可开盘
锁定锁定、关盘线不可开盘、不可隐藏
关盘关盘所有线强制关盘

规则三:线级或玩法级继承到选项级

选项状态完全继承自其直接上级(有线则继承线,无线则继承玩法),一期不支持选项级独立状态控制。

8.3.3 继承示例

示例一:赛事隐藏时的状态继承


赛事:曼城 vs 利物浦(状态:隐藏)
├── 让球(继承:隐藏,隐藏来源=继承)
│ ├── 負0.5线(继承:隐藏,隐藏来源=继承)
│ │ ├── 主队(继承:隐藏)
│ │ └── 客队(继承:隐藏)
│ └── 负1.0线(继承:隐藏,隐藏来源=继承)
│ ├── 主队(继承:隐藏)
│ └── 客队(继承:隐藏)
├── 大小球(继承:隐藏,隐藏来源=继承)
└──独赢1X2(继承:隐藏,隐藏来源=继承)

示例二:玩法开盘但线锁定(子级更严格)


赛事:曼城 vs 利物浦(状态:开盘)
└── 让球(状态:开盘)
├── 负0.5线(状态:开盘)
│ ├── 主队(继承:开盘)
│ └── 客队(继承:开盘)
└── 负1.0线(状态:锁定)← 操盘手主动锁定
├── 主队(继承:锁定)
└── 客队(继承:锁定)

8.4 状态展示与操作设计

8.4.1 设计原则:操作驱动式

本系统采用操作驱动式设计,而非状态选择式设计:

设计理念说明
状态只读展示当前状态以标签形式展示,不是可点击的按钮
操作按钮互斥显示同类操作的正/逆向按钮互斥,同一时间只显示一个(隐藏↔取消隐藏,锁定↔解锁)
语义明确"隐藏"是动作,"取消隐藏"是恢复动作,避免"开"的歧义
无"开盘"操作开盘是初始状态,进入操盘页的盘口都已是开盘状态,无需人工触发

重要说明

  • 开盘不是操作,是状态展示:所有通过上架流程进入操盘页的盘口,初始状态即为开盘
  • 无本地创建盘口需求:系统不支持本地新建盘口,盘口全部来自IM数据源
  • 因此不存在"开盘"按钮:只有 隐藏、取消隐藏、锁定、解锁 四种操作(关盘仅由IM数据源控制)

与状态选择式的区别

状态选择式(旧):[开] [停] [🔒]  ← 点击任意按钮切换到该状态
操作驱动式(新):[●开盘] [⏸隐藏] [🔒锁定]  ← 状态标签 + 互斥操作按钮(关盘仅由IM控制)

8.4.2 操作按钮图标与文字规范

所有操作按钮采用图标+文字的形式,确保语义清晰:

操作图标按钮文字样式
隐藏👁隐藏橙色
取消隐藏👁取消隐藏绿色
锁定🔒锁定红色
解锁🔓解锁绿色

说明:关盘操作已移除,关盘仅由IM数据源控制。

8.4.3 操作按钮互斥显示规则(核心)

按钮互斥原则:同类操作的正/逆向按钮同一时间只显示一个。

当前状态状态标签显示的操作按钮隐藏的按钮禁用的按钮
开盘●开盘(绿色)👁隐藏、🔒锁定👁取消隐藏、🔓解锁
隐藏●隐藏中(橙色)👁取消隐藏、🔒锁定👁隐藏、🔓解锁
锁定🔒锁定中(红色)🔓解锁、👁隐藏(禁用态)🔒锁定、👁取消隐藏👁隐藏
关盘●已关盘(灰色)(无操作按钮)全部隐藏全部

说明:关盘操作已移除,关盘仅由IM数据源控制,本地不提供关闭按钮。

锁定状态特殊处理

  • 锁定状态下,隐藏按钮显示但禁用(灰色不可点击),而非隐藏
  • 原因:让操盘手知道隐藏功能存在,但需先解锁才能操作
  • 悬浮提示:「锁定中,请先解锁」

按钮切换示意

开盘状态:[👁隐藏] [🔒锁定]
           ↓ 点击隐藏
隐藏状态:[👁取消隐藏] [🔒锁定]
           ↓ 点击锁定
锁定状态:[🔓解锁] [👁隐藏(禁用)]
           ↓ 点击解锁
隐藏状态:[👁取消隐藏] [🔒锁定]  ← 恢复到锁定前状态

8.4.4 赛事级操作区(批量操作)

赛事级操作位于赛事信息头区域,作用于该赛事下所有盘口:

布局结构

┌─────────────────────────────────────────────────────────────────┐
│  状态: [●开盘]     [👁隐藏] [🔒锁定]                            │
│         ↑ 标签      ↑ 互斥操作按钮(根据当前状态动态显示)       │
└─────────────────────────────────────────────────────────────────┘
操作按钮显示点击后切换为作用范围二次确认
隐藏👁隐藏👁取消隐藏该赛事下所有盘口隐藏
取消隐藏👁取消隐藏👁隐藏该赛事下继承隐藏的盘口恢复
锁定🔒锁定🔓解锁该赛事下所有盘口锁定
解锁🔓解锁🔒锁定该赛事下恢复到锁定前状态

说明:关盘操作已移除,关盘仅由IM数据源控制。

批量操作影响提示

  • 赛事级隐藏/锁定操作时,弹出确认提示:「此操作将影响 X 个盘口,是否继续?」
  • X 为该赛事下当前开盘状态的盘口数量

8.4.5 玩法级操作区(盘口卡片)

玩法级操作位于盘口卡片头部工具栏:

布局结构

┌─────────────────────────────────────────────────────────────────┐
│  让球 (BT1)   [●开盘]   [👁隐藏] [🔒锁定]   [数据源开关]        │
│               ↑ 标签     ↑ 互斥操作按钮                          │
└─────────────────────────────────────────────────────────────────┘
操作按钮显示点击后切换为作用范围二次确认
隐藏👁隐藏👁取消隐藏该玩法下所有盘口线和选项隐藏
取消隐藏👁取消隐藏👁隐藏该玩法下继承隐藏的盘口线和选项恢复
锁定🔒锁定🔓解锁该玩法下所有盘口线和选项锁定
解锁🔓解锁🔒锁定该玩法下恢复到锁定前状态

说明:关盘操作已移除,关盘仅由IM数据源控制。

批量操作影响提示

  • 玩法级操作时,对于MultiLineTable渲染器,弹出确认提示:「此操作将影响 X 条盘口线,是否继续?」

8.4.6 盘口线级操作区(仅MultiLineTable)

盘口线级操作采用图标按钮+悬浮提示的紧凑设计:

布局结构

┌────────────────────────────────────────────────────────────────────────────┐
│  -0.5  [●开]  [👁] [🔒]       │ 主队 0.88 │ 客队 0.92 │ 投注分布条        │
│        ↑状态标签 ↑图标按钮      └───────────────────────────────────────────┘
│                   悬浮显示文字
└────────────────────────────────────────────────────────────────────────────┘
操作图标按钮悬浮提示点击后切换为作用范围二次确认
隐藏👁隐藏此盘口线👁该线下所有选项隐藏
取消隐藏👁取消隐藏👁该线下所有选项恢复开盘
锁定🔒锁定此盘口线🔓该线下所有选项锁定
解锁🔓解锁此盘口线🔒该线下恢复到锁定前状态

说明

  • 关盘操作已移除,关盘仅由IM数据源控制,本地不提供关闭按钮
  • 图标按钮尺寸较小(20x20px),通过悬浮提示补充操作说明
  • 锁定状态下,隐藏图标显示但禁用(灰色),悬浮提示:「锁定中,请先解锁」
  • 线级状态标签采用紧凑形式:[●开] / [👁隐] / [🔒锁] / [⊘关]

8.4.7 选项级状态展示(只读)

选项级状态完全继承自上级(盘口线或玩法),以图标形式展示,不可直接操作:

状态图标含义样式说明
开盘绿色小圆点正常接受投注
👁隐藏橙色眼睛图标隐藏不接受投注
🔒锁定红色锁图标锁定不接受投注
关盘灰色空心圆终态不可操作(仅IM数据源控制)

展示位置:状态图标显示在选项单元格的右上角。

8.4.8 关盘说明(仅IM数据源控制)

重要变更:本地不再提供关闭按钮,关盘操作仅由IM数据源控制。

关盘是不可逆的终态操作,由以下情况触发:

  • IM数据源推送关盘状态
  • 玩法结算完成后系统自动关闭
  • 联赛关盘导致的级联关盘

当IM推送关盘时,系统自动执行以下操作:

  1. 设置该层级及所有下级为关盘状态
  2. 禁用所有操作按钮
  3. 记录关盘日志(触发源=数据源)

关盘状态展示

  • 状态标签显示为「●已关盘(灰色)」
  • 所有操作按钮隐藏
  • 盘口卡片显示关盘遮罩

8.4.9 操作按钮禁用规则

当操作违反继承规则或数据源状态约束时,按钮显示为禁用态(灰色不可点击):

场景禁用按钮悬浮提示
当前为锁定状态👁隐藏锁定中,请先解锁
赛事隐藏时玩法👁取消隐藏赛事隐藏中,请先恢复赛事
赛事锁定时玩法👁取消隐藏、🔓解锁赛事锁定中,请先解锁赛事
玩法隐藏时盘口线👁取消隐藏玩法隐藏中,请先恢复玩法
玩法锁定时盘口线👁取消隐藏、🔓解锁玩法锁定中,请先解锁玩法
数据源已关盘所有操作按钮数据源已关盘,无法操作
已关盘终态所有操作按钮已关盘,终态不可操作

8.4.10 锁定与隐藏的交互逻辑

锁定不清除隐藏标记:锁定是覆盖层,不会清除底层的隐藏状态。

锁定前状态锁定操作解锁后恢复状态说明
开盘执行锁定开盘正常恢复
隐藏执行锁定隐藏保留隐藏标记,恢复到隐藏状态

示例流程

开盘 → 隐藏 → 锁定 → 解锁 → 隐藏(非开盘)→ 取消隐藏 → 开盘

系统实现要点

  • 系统需记录 pre_lock_status 字段,保存锁定前的状态
  • 解锁时读取 pre_lock_status 恢复到锁定前状态
  • 若锁定前为隐藏,解锁后仍为隐藏,需再次点击「取消隐藏」才能恢复开盘

8.5 状态覆盖优先级

8.5.1 多触发源时的优先级

当多个触发源同时作用时,按以下优先级决定最终状态:

优先级状态或触发源说明
1(最高)关盘(含联赛关盘)数据源关盘、玩法结算、联赛关盘后,不可逆
2人工锁定人工锁定后,数据源暂停、恢复、维护均无法改变
3联赛暂停联赛级管控,限制下属盘口的操作
4风控隐藏风控规则触发,需解除条件或人工干预
5数据源维护不受跟随配置影响,强制隐藏
6人工隐藏可被联赛恢复覆盖
7(最低)数据源暂停或恢复受跟随配置控制

说明:联赛关盘并入优先级1(等同Closed),联赛暂停保留在优先级3。

8.5.2 本地状态与数据源状态叠加规则

本地状态和IM数据源状态共同决定操盘端显示和C端展示。IM暂停不改变本地状态,仅影响C端展示。

本地控制状态数据源状态本地状态(不变)C端展示状态接受投注
锁定任意(非关盘)锁定暂停投注
锁定关盘关盘已关盘
隐藏任意(非关盘)隐藏不可见
隐藏关盘关盘已关盘
开盘维护开盘暂停投注
开盘暂停开盘暂停投注
开盘关盘关盘已关盘
开盘开盘开盘可投注

关键变更说明:IM暂停和IM维护不再将本地状态变为隐藏。本地状态保持不变,仅C端展示受影响。本地隐藏的盘口即使IM暂停,C端仍为不可见(操盘手隐藏意图优先)。

8.5.3 人工锁定状态下的数据源推送处理

当盘口处于人工锁定状态时,数据源推送的处理规则:

数据源推送处理方式说明
暂停忽略,保持锁定人工锁定优先级高于数据源暂停
恢复忽略,保持锁定必须人工解锁
维护忽略,保持锁定人工锁定优先级高于维护
关盘执行,变为关盘关盘优先级最高,覆盖人工锁定

8.6 状态变更操作

8.6.1 操作类型定义

操作操作码说明逆操作
隐藏hide将开盘状态变为隐藏取消隐藏
取消隐藏unhide将隐藏状态恢复为开盘隐藏
锁定lock将任意状态变为锁定解锁
解锁unlock将锁定状态恢复为锁定前状态锁定

说明:关盘操作(close)已移除,关盘仅由IM数据源控制,本地不提供关闭按钮。

8.6.2 赛事级操作

操作触发方式作用范围联动行为
隐藏点击"隐藏"按钮该赛事所有玩法所有玩法隐藏标记=ON(隐藏来源=inherit)
取消隐藏点击"取消隐藏"按钮该赛事所有玩法赛事隐藏标记=OFF,下级按8.6.5规则恢复
锁定点击"锁定"按钮该赛事所有玩法所有玩法锁定标记=ON
解锁点击"解锁"按钮该赛事所有玩法赛事锁定标记=OFF,下级按8.6.5规则恢复

说明:关盘操作已移除,关盘仅由IM数据源控制。

8.6.3 玩法级操作

操作触发方式作用范围联动行为
隐藏点击"隐藏"按钮该玩法所有线和选项隐藏标记=ON(隐藏来源=manual)
取消隐藏点击"取消隐藏"按钮该玩法所有线和选项隐藏标记=OFF,下级按8.6.5规则恢复
锁定点击"🔒"按钮该玩法所有线和选项锁定标记=ON
解锁点击"🔓"按钮该玩法所有线和选项锁定标记=OFF,下级按8.6.5规则恢复

说明:关盘操作已移除,关盘仅由IM数据源控制。

8.6.4 线级操作(仅MultiLineTable)

操作触发方式作用范围联动行为二次确认
隐藏点击"👁"按钮该线所有选项隐藏标记=ON(隐藏来源=manual)
取消隐藏点击"👁"按钮该线所有选项隐藏标记=OFF
锁定点击"🔒"按钮该线所有选项锁定标记=ON
解锁点击"🔓"按钮该线所有选项锁定标记=OFF,恢复到锁定前状态

说明:关盘操作已移除,关盘仅由IM数据源控制。

8.6.5 上级恢复时下级状态处理

当上级执行"取消隐藏"或"解锁"时,下级状态处理规则:

下级状态/来源上级恢复后下级状态说明
隐藏(inherit)恢复为开盘继承隐藏的下级自动恢复
隐藏(manual)保持隐藏保留人工隐藏意图
隐藏(risk_control)保持隐藏需风控条件解除或人工干预
锁定保持锁定锁定需本级人工解锁
关盘保持关盘关盘是终态,不可恢复(仅IM数据源控制)

8.6.6 解锁时的状态恢复

解锁操作恢复到锁定前的状态:

锁定前状态解锁后状态说明
开盘开盘正常恢复
隐藏隐藏恢复到隐藏状态(保留隐藏来源)

实现说明:系统需记录锁定前的状态(pre_lock_status字段),解锁时恢复到该状态。


8.7 数据源开关的层级控制

8.7.1 数据源开关控制层级

层级数据源开关作用范围联动规则
赛事级该赛事所有可操盘玩法关盘则所有玩法数据源关盘;开启则所有玩法数据源开启
玩法级单个玩法可独立控制;若与赛事级不一致,赛事级显示"部分开启"
线级一期不支持-
选项级一期不支持-

说明:数据源开关控制赔率同步、盘口状态跟随和结算跟随。详见第10章「数据源开关」

8.7.2 赛事级开关与玩法级开关的联动

赛事级操作玩法级联动
赛事级数据源关盘所有玩法数据源同步关盘
赛事级数据源开启所有玩法数据源同步开启
单个玩法数据源被调整赛事级数据源显示为"部分开启"

8.7.3 数据源开关在非Open状态下的行为

当最终生效状态不等于Open(隐藏、锁定、关盘)时:

项目行为说明
数据源开关按钮禁用(灰色不可点击)非开盘状态下数据源开关无意义
数据源配置值保留不清空状态恢复为Open时按配置值恢复

8.8 与数据源状态的交互

8.8.1 跟随数据源配置

"是否跟随数据源盘口状态"是联赛级别的配置项,控制上架后盘口是否自动跟随IM开盘或暂停状态。默认值为"是"。

数据源状态跟随=是跟随=否备注
开盘C端可投注C端可投注两种配置均可开盘
暂停C端显示「暂停投注」(本地状态不变)本地状态不变,告警列显示"数据源暂停"本地状态不变,仅C端展示受影响
恢复C端自动恢复为可投注(本地状态不变)本地状态不变,移除告警本地状态不变,C端自动恢复
维护C端显示「暂停投注」(本地状态不变)C端显示「暂停投注」(本地状态不变)不受跟随配置影响
关盘本地强制关盘本地强制关盘不受配置影响,优先级最高

关键变更:IM暂停和IM维护不再改变本地盘口状态(不再执行"本地自动隐藏")。本地状态保持不变,仅C端展示状态受影响。IM恢复后C端自动回到本地状态对应的展示,无需本地状态流转。

8.8.2 解锁后的状态恢复

人工解锁时,本地状态恢复为锁定前状态(pre_lock_status),然后根据IM当前状态决定C端展示:

锁定前状态数据源当前状态解锁后本地状态C端展示状态
开盘开盘开盘可投注
开盘暂停(跟随=是)开盘暂停投注(IM暂停自动影响C端)
开盘暂停(跟随=否)开盘可投注(告警列显示"数据源暂停")
开盘维护开盘暂停投注(IM维护不受跟随配置影响)
隐藏任意(非关盘)隐藏不可见(保留锁定前的隐藏状态)
任意关盘-阻止解锁,提示"数据源已关盘,无法解锁"

关键变更:解锁后不再因IM暂停而将本地状态设为隐藏。解锁恢复本地状态,C端展示由本地状态加IM状态共同计算。


8.9 状态继承与覆盖判定流程图

8.9.0 状态继承关系图

以下是赛事、玩法、盘口线、选项四级间的状态继承关系:

继承原则:上层状态是下层状态的上限。下层不能违反上层的状态约束,但可以选择更严格的状态。

8.9.1 操盘手状态变更判定流程

说明:本流程仅覆盖操盘手通过UI按钮触发的状态变更(Open/Hidden/Locked)。关盘(Closed)仅允许系统触发(数据源关盘或结算流程),不经过此流程。

主流程说明

  1. 操盘手点击状态按钮,获取当前和上级状态
  2. 检查数据源是否已关盘(硬约束)
  3. 调用子流程A检查上级约束
  4. 若约束通过,执行状态变更并记录日志
  5. 触发下级联动处理

子流程A:操盘手状态变更上级约束检查

8.9.2 系统触发关盘流程

8.9.3 状态变更执行后的下级联动流程

主流程说明

  1. 状态变更后检查是否存在下级层级
  2. 若有下级,按当前层级新状态分支处理
  3. 对不同新状态调用对应子流程处理下级
  4. 完成联动

子流程A:开盘状态下级恢复处理

子流程B:隐藏/锁定/关盘状态下级强制处理


8.10 状态汇总显示规则

8.10.1 玩法级状态汇总

当玩法下多条线状态不一致时,玩法卡片头部按以下规则显示汇总状态:

判断顺序条件显示状态角标
1存在任一线为锁定锁定若非全部锁定则追加"部分"
2不存在锁定,存在任一线为隐藏隐藏若非全部隐藏则追加"部分"
3全部线为关盘关盘
4其他情况开盘若存在任一线为关盘则追加"部分"

示例

线状态组合汇总显示
开盘×3开盘
开盘×2 + 隐藏×1隐藏(部分)
开盘×2 + 锁定×1锁定(部分)
开盘×1 + 关盘×2开盘(部分)
隐藏×2 + 关盘×1隐藏(部分)
关盘×3关盘

8.10.2 赛事级状态汇总

当赛事下多个玩法状态不一致时,赛事信息头按以下规则显示汇总状态:

判断顺序条件显示状态角标
1存在任一玩法为锁定锁定若非全部锁定则追加"部分"
2不存在锁定,存在任一玩法为隐藏隐藏若非全部隐藏则追加"部分"
3全部玩法为关盘关盘
4其他情况开盘若存在任一玩法为关盘则追加"部分"

8.11 配置项归属汇总

配置项默认值归属模块说明
是否跟随数据源盘口状态联赛管理控制数据源暂停或恢复时本地是否跟随

修订记录

版本日期修订内容
v1.02026-01-22初稿
v1.12026-01-22审计修正:1)新增8.0术语对照(BetTypeMarket与IMMarket区分);2)8.2.1拆分C端/操盘端可见两列;3)8.2.3 event_incident改为固定10秒+兜底、新增inherit暂停来源;4)8.4.4标题改为"操盘端只读";5)8.4.5数据源关盘时禁用所有状态按钮;6)8.5.1联赛关盘并入优先级1;7)8.6.4按suspension_source判定恢复逻辑;8)8.7.3新增数据源开关非Open状态行为规则;9)8.8.1表头改为"跟随=是/否";10)8.9流程图拆分为操盘手流程和系统触发关盘流程;11)8.10汇总规则覆盖混合状态并追加"部分"角标
v1.22026-01-28将AO与飞单层级控制改为数据源开关层级控制;移除飞单相关内容;更新控制粒度描述
v1.32026-01-28【跨文档一致性修复】8.2.3节暂停来源标记补齐为9种(按SSOT操盘列表16章16.1.4节);新增SSOT声明
v1.42026-01-29【操作驱动式设计重构】8.4节重写:1)8.4.2新增操作按钮图标与文字规范;2)8.4.3新增操作按钮互斥显示规则(暂停↔取消暂停、锁定↔解锁同一时间只显示一个);3)锁定状态下暂停按钮禁用而非隐藏;4)8.4.4-8.4.6各层级操作区增加布局示意和批量影响提示;5)8.4.6盘口线级改为图标按钮+悬浮提示设计;6)8.4.8新增关闭确认弹窗设计(必填原因);7)8.4.10新增锁定与暂停交互逻辑(锁定不清除暂停标记)
v1.52026-01-29【线级关盘能力增强】8.1.3更新线级控制能力边界(增加关盘);8.4.6新增线级⊘关闭按钮及状态标签规范;8.4.8拆分为8.4.8.1赛事/玩法级弹窗和8.4.8.2线级关闭弹窗;8.6.4新增线级关盘操作定义
v1.62026-01-29【状态控制模型重构】1)状态类型:暂停(Suspended)改为隐藏(Hidden);2)本地控制:移除关闭按钮,关盘仅由IM数据源控制;3)操作按钮:⏸暂停/▶取消暂停 改为 👁隐藏/👁取消隐藏;4)新增状态显示优先级规则:IM关盘 > 本地锁定 > IM暂停 > 本地隐藏 > 正常开盘;5)8.2节状态定义及来源标记更新;6)8.4节所有层级操作区按钮规范更新;7)8.4.8节关闭弹窗改为仅说明IM数据源控制;8)8.6节操作类型及各层级操作定义更新
v1.72026-01-29【术语全面对齐】8.3节继承规则表、8.5节优先级/叠加规则、8.8节跟随配置、8.9节流程图、8.10节状态汇总规则:所有本地状态"暂停"→"隐藏";保留IM数据源术语"暂停"不变
v1.82026-02-11【数据源暂停架构重构】1)8.2.1:隐藏C端可见改为❌(客户端不可见);2)新增8.2.3「客户端展示状态映射」:定义C端四态(可投注/暂停投注/不可见/已关盘),IM暂停→C端暂停投注(可见灰显),本地隐藏→C端不可见(盘口消失);3)8.2.4:IM数据源状态不再属于隐藏来源,独立为C端展示影响层;4)8.5.2:叠加规则表重写,增加C端展示状态列;5)8.8.1:跟随配置表重写,IM暂停不再执行"本地自动隐藏",改为"C端显示暂停投注,本地状态不变";6)8.8.2:解锁后恢复表重写,解锁恢复本地状态,C端由本地加IM共同计算
v1.92026-02-12【下架/上架+IM暂停展示】1)8.2.2:下架联动从锁定改为隐藏(隐藏来源=system,详情=delist_link);2)8.2.4:系统隐藏来源描述更新(含下架联动);3)新增8.2.5「IM暂停时的操盘端展示规范」:定义盘口卡片IM状态角标、告警列、叠加场景展示表;4)新增8.2.6「C端暂停投注的两种来源对比」:IM暂停 vs 本地锁定的操盘端区分和恢复机制对比

文档结束

体育操盘系统产品文档