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

第十一章 赛果数据录入规则

关盘口径(2026-04-21 生效):关盘来源统一为数据源推送(唯一来源);关盘 = 绝对终态,操盘页与结算详情页均不提供人工开盘入口。

一期调整(2026-04-23 生效):第 11.7 节"录入后的系统行为"中"已结算盘口赛果变化 → 自动重新结算"、第 11.7.3 节"5 分钟聚合窗口"、第 11.0.1 节"已结算盘口赛果变化后的自动重新结算 本期实装"声明一期全部不实装。无论赛事处于待结算还是终态,只要已结算盘口的赛果发生变化(包括 IM 推送新比分或结算人员修正赛果),系统仅在该盘口上标记提示"⚠️ 结算比分已发生变化,请检查盘口赛果",由结算人员主动发起「盘口二次结算」处理;标记仅在执行完盘口二次结算后自动清除(不支持手动关闭)。事件触发类盘口(BT37 / BT159)的赛果变化同样走"仅标记,人工触发"路径。正文规则保留作为二期设计参考。

11.0 录入层级

一期仅赛事级录入(无玩法级特殊录入):

层级触发入口录入范围影响盘口
赛事级赛果录入(按时段 4 个独立入口)上半场赛果录入(上半场类分组顶部,蓝)/ 下半场赛果录入(下半场类分组顶部,青绿)/ 15 分钟段赛果录入(15 分钟段类分组顶部,紫,弹窗含 6 Tab)/ 全场赛果与扩展(全场类分组顶部,绿,弹窗内 3 分区:全场累计扩展 · 加时赛 · 点球大战,各分区独立应用)→ 各自弹窗见第 9 章 9.1按时段分治:半场比分 / 下半场比分 / 各段比分 / 加时 / 点球大战 / 扩展统计 等所有关联盘口(按 11.6 映射表 自动分发到各 BT)

BT158 反波胆说明:一期 BT158 统一采用赛事级终场比分自动判定(选项结构 5×5 + 其他 = 26 个,与 BT6 取反),无需玩法级特殊录入。详见第 7 章 7.3.3第 12 章 12.8

关于"玩法级特殊录入"的预留:未来若出现赛事级数据无法完全描述结算条件的极少数玩法,可在此处定义玩法级卡片内嵌录入区;一期暂无此类场景。


11.0.1 本期范围声明

本期实装范围(一期落地):

  • 数据源自动拉取比分数据:本地系统从数据源拉取半场比分 / 全场比分 / 进球明细 / 角球 / 红黄牌等原始数据到本地 —— 本期实装
  • 数据源同步 / 混合模式录入:结算人员打开赛果录入弹窗时,若数据源已同步对应时段的比分,字段预填(数据源开关 = 开时只读核对;= 关时默认可编辑)—— 本期实装
  • 4 弹窗赛果录入分治(上半场 / 下半场 / 15 分钟段 / 全场扩展)+ 全场扩展弹窗内 3 分区(全场累计扩展 · 加时赛 · 点球大战,各分区独立应用按钮)+ 跨弹窗一致性校验 —— 本期实装
  • 各时段独立结算:上半场 / 下半场 / 15 分钟段 / 全场扩展各按自身判定时机独立结算,对应盘口立即可结算,不强制依赖全场扩展弹窗完成
  • 结算人员手动确认:所有"应用赛果"动作由结算人员主动点击;所有盘口结算由结算人员逐盘口"结算"按钮手动确认 —— 本期实装
  • 盘口关盘 → 预填结算结果:盘口关盘 + 所需赛果字段到位后,本地按 BT 级判定规则预填盘口卡片结算结果(未自动确认)—— 本期实装

本期不实装范围(文档保留作为后续迭代设计参考):

  • 第 11.1 节"可操盘盘口自动结算(L2 自动确认)":数据源开关 = 开 + 比分到位时由系统自动应用赛果并自动派彩
  • 数据源盘口"L1 自动派彩":数据源盘口直接按数据源状态字段自动结算(见第 8 章

本期实装的自动重结算路径

  • 已结算盘口赛果变化时一律自动重新结算:无论是数据源推送的新比分导致本地重判、或结算人员通过赛果录入弹窗修正比分后赛果改变(须赛事 = 待结算),系统按 第 11.7 节 自动执行二次结算 + 按 第 15.4 节差额矩阵 自动处理派彩差额;赛事非待结算时走提示,由结算人员手动"赛事驳回 → 盘口二次结算"
  • 5 分钟聚合窗口、聚合窗口与人工操作的冲突处理:配套本期实装
  • 串关母单"自动重算":子单赛果变化触发母单自动差额处理,本期实装

核心区分

  • "首次应用赛果"(从无到有)= 结算人员手动点击"应用赛果",逐盘口确认结算
  • "已结算盘口赛果变化后的自动重结算"(赛果从 X 变为 Y,Y ≠ X)= 本期实装,系统自动执行
  • "L1 / L2 的首次自动派彩"(关盘+赛果到位时系统直接派彩,无需人工)= 本期不实装,首次结算一律人工确认

11.1 录入模式

本期范围:一期实装全部 3 种录入模式(数据源同步 / 人工录入 / 混合模式)。数据源自动拉取比分数据属于基础数据获取,本期实装;但数据到达后由结算人员手动点击"应用赛果",不做自动应用与自动派彩(见第 11.0.1 节)。

模式触发条件录入方式可编辑本期是否实装
数据源同步数据源开关 = 开 + 数据源已拉取该赛事该时段的比分数据系统预填数据源已拉取的比分数据,页面只读核对;结算人员手动点击"应用赛果"触发后续流程
人工录入数据源开关 = 关 或 数据源尚未提供该字段结算人员手动录入 / 修正字段 → 手动点击"应用赛果"
混合模式同一赛事部分字段由数据源提供、部分字段缺失基础字段取数据源值(只读核对),缺失字段由结算人员补充;统一手动点击"应用赛果"部分

赛果字段可按阶段分步录入 / 分步同步(半场字段在半场结束后同步 / 录入;全场字段在全场结束后同步 / 录入),无需等待"赛事完赛"这一统一时刻。

可操盘盘口自动结算(本期不实装):以下路径为后续迭代设计参考 —— 数据源开关 = 开且比分数据已到位时,由系统自动触发"应用赛果"并按 BT 级判定规则自动计算 + 自动派彩(L2 自动确认)。一期无论数据源开关状态,"应用赛果"均由结算人员手动点击;系统"应用赛果"后仅预填盘口结算结果,不自动派彩,由结算人员逐盘口"结算"按钮手动确认。数据源盘口 L1 自动派彩的完整定义见第 8 章,本期同样按手动路径处理。


11.2 录入时机与前置条件

赛果录入允许按阶段分步开启。各时段(半场、15 分钟段、全场)的赛果由数据源分别同步或由结算人员分别录入,对应时段的盘口一旦关盘即可走结算流程。

数据源会在完整赛果数据中返回"比赛结束时间"字段,但这只是赛果数据里的一个时间戳,不是业务规则的前置条件——盘口结算只需盘口关盘 + 该盘口所需赛果字段到位即可,不要求先拿到"比赛结束时间"。

11.2.1 前置条件(分层独立)

层级前置条件未满足时行为
赛事级赛果录入弹窗(3 个按时段独立弹窗)数据源开关 = 开时:对应时段盘口已关盘 或 数据源已拉取该时段比分数据;数据源开关 = 关时:直接可开启(无需数据源前置)数据源开关 = 开且条件未满足:对应时段按钮灰置(半场/分段/全场按钮各自启用条件,见 9.1.0
盘口级结算盘口已关盘 + 该盘口所需赛果字段已确定(数据源同步预填 或 人工录入,两种来源均可)盘口卡片标记「开盘中」或「缺少数据」;结算按钮禁用
赛事级结算赛事该赛事下所有盘口均已结算或已取消「结算赛事」按钮禁用,展示未完成盘口清单

本期范围:数据源自动拉取比分属于基础数据获取,一期实装;数据到达后**结算人员手动点击"应用赛果"**触发后续流程,不做自动应用(见第 11.0.1 节)。

三个层级独立判定。各类盘口按自身判定时机独立推进,不要求整场统一等待:

  • 全场类 (FT)(BT1 / BT2 / BT3 / BT5 / BT7 / BT8 / BT158 / BT160 / BT161 等;含下半场派生玩法 BT1-2H / BT2-2H / BT6-2H / BT24-30 / BT57 等):全场结束后结算
  • 上半场类 (1H)(BT1-1H / BT2-1H / BT6-1H / BT9 半全场):半场结束后结算
  • 15 分钟段类(BT48 / BT179 / BT180 15 分钟段):该段结束后结算
  • 事件触发类(BT37 第 X 粒进球队伍 / BT159 角球第 X 粒):对应事件发生后即可结算,可能远早于终场
  • 比分变动触发类(BT6 波胆赛中判输):比分变化时实时触发结算(只判输不判赢)

下半场玩法归属说明:下半场比分 = FT − 1H 由系统自动推导(见 第 11.2.2.4 节 下半场(2H)派生字段),因此从"判定时机"维度归入全场类(需 FT 齐备)。UI 筛选维度参见 第 6.2 节 盘口筛选工具栏(单独有「下半场 (2H)」筛选入口,方便按下半场玩法集中查看)。

完整判定时机分类与所需赛果字段见第 7 章 7.8.1

冠军赛事 / 长期盘口(夺冠球队、小组晋级、最佳球员等 EventTypeId = 1)不在本章规则范围,由独立的 冠军赛事结算详情 模块处理(按盘口独立在盘口卡片上选结果,不使用赛果录入弹窗体系)。

11.2.2 弹窗字段归属矩阵(4 弹窗分治 + 全场扩展 3 分区)

核心原则:同一字段只出现在一个弹窗(或分区)里录入,不跨弹窗重复。4 个弹窗按时段分治,全场扩展弹窗内再分 3 个独立应用分区。

11.2.2.1 上半场赛果录入弹窗字段

分组字段必填/选填时间区间
基础半场比分主必填1-45 + 半场伤停
基础半场比分客必填同上
进球详情上半场每粒进球(序号 + 进球队 + 时间 + 球员选填)条件必填(有 BT159 / BT37 半场相关依赖)1 ≤ t ≤ 45 + 伤停(上限 50)
扩展统计半场主队角球数 / 半场客队角球数条件必填(有半场角球类依赖)半场累计
扩展统计半场首个角球(球队 + 时间)条件必填1-45 + 伤停
扩展统计半场主队黄牌 / 红牌条件必填(有半场牌类依赖)半场累计
扩展统计半场客队黄牌 / 红牌同上半场累计
扩展统计半场首张牌(球队 + 类型 + 时间)条件必填1-45 + 伤停
特殊事件半场乌龙球 / 半场点球进球(勾选 + 数量)选填半场累计

影响盘口:BT1-1H / BT2-1H / BT6-1H / BT9 半全场(半场部分)/ 半场角球类 / 半场牌类 / BT159 半场相关 / BT37 半场相关。

11.2.2.2 下半场赛果录入弹窗字段

分组字段必填/选填时间区间
基础下半场比分主必填(数据源开关 = 开时预填 = 数据源全场 − 半场;结算人员主动核对 / 修正)46-90 + 全场伤停
基础下半场比分客必填同上
进球详情下半场每粒进球(序号 + 进球队 + 时间 + 球员选填)条件必填(有 BT159 / BT37 下半场相关依赖)46 ≤ t ≤ 90 + 伤停(上限 100)
扩展统计下半场主队角球数 / 下半场客队角球数条件必填(有下半场角球类依赖)下半场累计
扩展统计下半场首个角球(球队 + 时间)条件必填46-90 + 伤停
扩展统计下半场主队黄牌 / 红牌条件必填(有下半场牌类依赖)下半场累计
扩展统计下半场客队黄牌 / 红牌同上下半场累计
扩展统计下半场首张牌(球队 + 类型 + 时间)条件必填46-90 + 伤停
特殊事件下半场乌龙球 / 下半场点球进球(勾选 + 数量)选填下半场累计

影响盘口:BT1-2H / BT2-2H / BT6-2H / BT24-30 / BT57 等下半场派生玩法 / 下半场角球类 / 下半场牌类 / BT159 下半场相关 / BT37 下半场相关。

独立结算优势:本弹窗应用后 2H 类盘口立即可结算,不依赖全场扩展弹窗是否应用。

前置硬约束:本弹窗"打开按钮"在上半场弹窗已应用之后才启用(避免结算人员在无基准时盲填)。未满足时按钮灰置,提示"请先应用上半场赛果"。

11.2.2.3 15 分钟段赛果录入弹窗字段(6 Tab 独立)

Tab段区间字段必填/选填
段 10-15 分钟段内主/客得分 + 段内进球详情必填
段 216-30 分钟同上必填
段 331-45 分钟 + 半场伤停同上必填
段 446-60 分钟同上必填
段 561-75 分钟同上必填
段 676-90 分钟 + 全场伤停同上必填

影响盘口:BT48 / BT179 / BT180 的对应 15 分钟段盘口。

本弹窗只管常规 6 段。加时段(91-120 分钟)不录于本弹窗,改录于全场扩展弹窗的加时赛分区(见 11.2.2.4)。

11.2.2.4 全场赛果与扩展弹窗字段(3 分区,各分区独立应用按钮)

弹窗内分 3 个独立分区,每个分区有独立的"应用"按钮,触发对应盘口结算

分区 A:全场累计扩展(常规结束后可用)
字段必填/选填说明
全场主队得分(只读合计)自动= 半场主 + 下半场主(两个弹窗都应用后显示)
全场客队得分(只读合计)自动= 半场客 + 下半场客
全场角球主/客(只读合计)自动= 半场角球 + 下半场角球
全场黄牌主/客(只读合计)自动= 半场 + 下半场 各队黄牌之和
全场红牌主/客(只读合计)自动同上
射门主/客选填(无依赖盘口)全场累计,独立录入
射正主/客选填同上
越位主/客选填同上
犯规主/客选填同上
应用按钮[应用全场扩展]触发 FT 类盘口结算(BT1 / BT2 / BT3 / BT5 / BT6 / BT7 / BT8 / BT158 / BT160 / BT161 等)+ BT9 半全场(全场部分)+ 全场角球类 / 全场牌类 / 射门射正类

前置条件:上半场弹窗 + 下半场弹窗均已应用(全场合计字段才有值)。

分区 B:加时赛(赛事进入加时才启用)
字段必填/选填时间区间
加时上比分主/客条件必填(赛事进入加时)91-105 + 伤停
加时下比分主/客条件必填106-120 + 伤停
加时全场比分(只读)自动= 加时上 + 加时下
加时段进球详情(序号 + 进球队 + 时间 + 球员选填)条件必填(有 BT159/BT37 加时相关依赖)91 ≤ t ≤ 126
加时段角球主/客条件必填(有加时角球类依赖)加时累计
加时段牌主/客(黄/红)条件必填(有加时牌类依赖)加时累计
应用按钮[应用加时赛]触发加时类盘口结算(BT84 / BT85 等加时让球 / 大小 / 独赢)+ 加时角球 / 牌类

前置条件:分区 A 已应用(全场比分确定后才能判断"赛事是否进入加时")。

分区 C:点球大战(赛事进入点球大战才启用)
字段必填/选填说明
主点球进球数条件必填(进入点球大战)整数
客点球进球数条件必填整数
晋级方(单选:主 / 客)条件必填必须与点球多者一致(校验)
应用按钮[应用点球大战]触发晋级类盘口结算(杯赛晋级、小组出线等)

前置条件:分区 B 已应用 且 加时全场平局(否则点球大战不启用)。

独立字段:点球大战比分不计入任何全场 / 加时比分字段,仅用于决定晋级方。

11.2.2.5 关键字段定义

  • 半场比分:常规 45 分钟 + 半场伤停的主/客得分
  • 下半场比分:46-90 分钟 + 全场伤停的主/客得分(独立录入,不派生)
  • 全场比分:= 半场 + 下半场 自动合计(只读展示),不含加时与点球大战
  • 加时比分:加时上(91-105' + 伤停)+ 加时下(106-120' + 伤停);加时全场由系统自动合计
  • 点球大战比分:加时结束仍平局后独立进行,独立字段,仅用于决定晋级方
  • 扩展统计(角球 / 牌)按时段独立录入:半场在上半场弹窗录;下半场在下半场弹窗录;加时段在全场扩展弹窗加时区录;全场累计值由系统自动合计(只读)
  • 触发启用:加时分区仅当赛事实际进入加时阶段时启用;点球大战分区仅当赛事进入点球大战阶段时启用;常规 90 分钟结束的赛事加时/点球分区保持禁用,对应盘口按"未进入"规则处理(走水/取消视盘口规则而定)

11.2.3 操作流程

各时段赛果分阶段可得(半场结束、全场结束、15 分钟段结束等)

数据源自动拉取该阶段字段(数据源开关 = 开时)或 结算人员手动打开「赛果录入」弹窗

结算人员打开对应时段的赛果录入弹窗(4 弹窗择一:上半场 / 下半场 / 15 分钟段 / 全场扩展)
  · 数据源同步模式:已拉取的字段预填(只读核对)
  · 人工录入模式:所有字段可编辑
  · 混合模式:数据源已拉取字段只读,缺失字段可编辑

结算人员核对 / 补充 / 修正字段

系统实时校验(弹窗内 + 跨弹窗一致性,见 11.4 节)
  ↓ 校验通过
结算人员点击「应用赛果」(本期统一手动点击,不自动触发)

系统对"所需赛果字段已确定 + 已关盘"的盘口按 BT 级判定规则**预填**结算结果到盘口卡片

结算人员逐盘口确认(点击盘口卡片的「结算」按钮,本期统一手动确认)

所有盘口结算完成后 → 结算人员点击「结算赛事」

本期范围:数据源自动拉取比分与字段预填属于基础数据能力,本期实装。首次结算(关盘 + 赛果到位首次应用赛果)由结算人员手动触发("应用赛果"、"L2 首次确认派彩"均手动);已结算盘口赛果变化后的自动重新结算(赛果从 X 变为 Y,赛事 = 待结算)本期实装,系统自动触发二次结算 + 差额处理。见第 11.0.1 节

11.2.4 IM 推送比分数据拉取与兜底

本期实装:数据源自动拉取比分数据属于基础数据能力,本期实装;本节下述规则(拉取时机、拉取中 / 失败状态、混合模式、自收结算兜底)本期生效。唯一差异是**"自收结算兜底"不自动派彩**:本地按已拉取比分数据 + 注单下注时比分按规则计算出结算结果后仅做预填,由结算人员手动确认派彩(见第 11.0.1 节)。

规则说明
拉取时机IM 推送比分数据后即可拉取;支持分阶段(半场数据、分段数据可先于全场提供)
已拉取允许打开赛果录入弹窗,并开放后续结算
拉取中/失败不允许录入和结算,仅展示等待/重试状态
盘口终态缺失已拉到比分数据但 IM 未推送盘口终态时,允许人工补录并由本地系统按 BT 级判定规则计算
混合模式基础比分以已拉取赛果为准,缺失字段允许人工补充
自收结算兜底IM 盘口终态推送未送达时,本地系统根据已拉取比分数据 + 注单下注时比分按规则计算结算结果(按 12.0.2 下注后比分口径)

11.3 录入数据分层

必填/选填 的判定口径

  • "必填" = 该赛事必须录入,未录入时相关结算全部阻塞
  • "条件必填(有依赖盘口时必填)" = 本赛事存在依赖该字段的盘口时必须录入(否则盘口结算按钮禁用、展示"缺少数据",见 第 11.5 节);本赛事不存在依赖盘口时可跳过
  • "条件必填(赛事进入加时/点球大战)" = 赛事实际进入对应阶段时必须录入;否则该字段不启用
  • "自动" = 系统自动计算,结算人员不操作
层级数据项必填/选填输入控件依赖玩法所属弹窗 / 分区
基础层半场比分(主/客)必填两个整数输入框1H 类 + BT9 半场部分上半场弹窗
基础层下半场比分(主/客)必填(数据源开关 = 开时预填 = 全场 − 半场)两个整数输入框2H 类全部下半场弹窗
基础层全场比分(主/客,只读合计 = 半场 + 下半场)自动只读FT 类全部全场扩展弹窗 · 分区 A
基础层总进球 / 单双结果自动计算只读BT7 / BT5全场扩展弹窗 · 分区 A(派生)
进球层上半场进球详情(时间 ≤ 45'+ 伤停)条件必填(有 BT159 / BT37 依赖时)动态行表格BT159 / BT37 半场相关上半场弹窗
进球层下半场进球详情(45'< 时间 ≤ 90'+ 伤停)条件必填(有依赖时)动态行表格BT159 / BT37 下半场相关下半场弹窗
进球层加时段进球详情(90'< 时间 ≤ 120'+ 伤停)条件必填(进入加时且有依赖时)动态行表格加时类、BT159/BT37 加时相关全场扩展弹窗 · 分区 B(加时赛)
分段层15 分钟段内比分(常规 6 段 Tab 各自独立)必填两个整数输入框BT48 / BT179 / BT18015 分钟段弹窗(对应 Tab)
分段层段内进球详情条件必填(该段有依赖时)动态行表格BT159 段相关15 分钟段弹窗(对应 Tab)
扩展层半场角球:主/客角球数 + 首个角球(球队+时间)条件必填(有半场角球类依赖时)整数输入 + 下拉半场角球类上半场弹窗
扩展层半场红黄牌:主/客黄牌/红牌 + 首张牌(球队+类型+时间)条件必填(有半场牌类依赖时)整数输入 + 下拉半场牌类上半场弹窗
扩展层下半场角球:主/客角球数 + 首个角球条件必填(有下半场角球类依赖时)整数输入 + 下拉下半场角球类下半场弹窗
扩展层下半场红黄牌:主/客黄牌/红牌 + 首张牌条件必填(有下半场牌类依赖时)整数输入 + 下拉下半场牌类下半场弹窗
扩展层全场累计角球 / 黄牌 / 红牌(只读合计)自动只读全场角球类 / 全场牌类全场扩展弹窗 · 分区 A
扩展层加时段角球:主/客条件必填(有加时角球类依赖时)整数输入加时角球类全场扩展弹窗 · 分区 B
扩展层加时段红黄牌:主/客条件必填(有加时牌类依赖时)整数输入加时牌类全场扩展弹窗 · 分区 B
扩展层射门 / 射正 / 越位 / 犯规(主/客,全场累计)选填(无依赖盘口)整数输入全场扩展弹窗 · 分区 A
特殊层半场乌龙球 / 半场点球进球(勾选 + 数量)选填勾选 + 整数上半场弹窗
特殊层下半场乌龙球 / 下半场点球进球(勾选 + 数量)选填勾选 + 整数下半场弹窗
基础层加时上比分(主/客)条件必填(赛事进入加时)两个整数输入框加时类玩法全场扩展弹窗 · 分区 B
基础层加时下比分(主/客)条件必填(赛事进入加时)两个整数输入框加时类玩法全场扩展弹窗 · 分区 B
基础层加时全场比分(自动合计)自动只读加时类玩法全场扩展弹窗 · 分区 B
基础层点球大战比分(主/客进球数)条件必填(赛事进入点球大战)两个整数输入框点球大战 / 晋级类玩法全场扩展弹窗 · 分区 C
基础层点球大战晋级方条件必填(赛事进入点球大战)单选:主 / 客晋级类玩法全场扩展弹窗 · 分区 C

11.4 校验规则(按弹窗分治)

校验在录入过程中实时执行。校验失败时,对应输入框红色高亮 + 下方展示提示文案,当前弹窗的「应用赛果」按钮禁用。

11.4.1 半场赛果录入弹窗内校验

校验项规则提示文案
半场比分非负半场主/客 ≥ 0「比分不能为负数」
仅支持整数半场比分为整数「请输入整数」
必填半场主/客不可为空「请输入半场比分」
上半场进球归属一致上半场进球详情行数 = 半场总进球(主+客)「上半场进球详情数量与半场比分不一致,当前 N 条,应为 M 条」
上半场主队归属上半场主队进球行数 = 半场主队比分「上半场主队进球归属数量与比分不一致」
上半场客队归属上半场客队进球行数 = 半场客队比分「上半场客队进球归属数量与比分不一致」
进球队必选每行必须选择进球球队「请选择第 N 粒进球的进球球队」
上半场进球时间范围1 ≤ 时间 ≤ 45 + 伤停(上限 50)「上半场进球时间必须在 1-50 分钟之间」
进球时间顺序后一粒进球时间 ≥ 前一粒「进球时间顺序不正确,第 N 粒进球应晚于第 N-1 粒」

11.4.2 下半场赛果录入弹窗内校验

校验项规则提示文案
下半场比分非负下半场主/客 ≥ 0「比分不能为负数」
仅支持整数下半场比分为整数「请输入整数」
必填下半场主/客不可为空「请输入下半场比分」
上半场已应用(前置硬约束)打开本弹窗前必须上半场弹窗已应用「请先录入并应用上半场赛果」
下半场进球归属一致下半场进球详情行数 = 下半场总进球(下半场主 + 下半场客)「下半场进球详情数量与下半场比分不一致,当前 N 条,应为 M 条」
下半场主队归属下半场主队进球行数 = 下半场主队比分「下半场主队进球归属数量与比分不一致」
下半场客队归属下半场客队进球行数 = 下半场客队比分「下半场客队进球归属数量与比分不一致」
进球队必选每行必须选择进球球队「请选择第 N 粒进球的进球球队」
下半场进球时间范围46 ≤ 时间 ≤ 90 + 伤停(上限 100)「下半场进球时间必须在 46-100 分钟之间」
进球时间顺序后一粒进球时间 ≥ 前一粒「进球时间顺序不正确」
下半场扩展统计非负下半场角球/黄牌/红牌 ≥ 0「数值不能为负数」
下半场扩展统计整数不支持小数「请输入整数」
下半场首个角球时间范围46 ≤ 时间 ≤ 90 + 伤停「角球时间必须在 46-100 分钟之间」
下半场首张牌时间范围46 ≤ 时间 ≤ 90 + 伤停「牌时间必须在 46-100 分钟之间」

11.4.3 15 分钟段赛果录入弹窗内校验(每 Tab 独立)

校验项规则提示文案
段比分非负每段主/客 ≥ 0「段比分不能为负数」
段比分整数不支持小数「请输入整数」
段内进球时间范围进球时间落在该段起止区间内「该段进球时间必须在 X-Y 分钟之间」
段内进球归属一致行数 = 段内主客得分合计「段内进球数量与段比分不一致」
段内进球主客归属主队进球行数 = 段内主队得分「主队段内进球归属数量与比分不一致」
进球队必选每行必须选择进球球队「请选择该段第 N 粒进球的进球球队」

每个 Tab 独立校验、独立应用;Tab 间不互相阻塞(段 A 未应用不影响段 B 可应用)。

11.4.4 全场赛果与扩展弹窗内校验(按 A / B / C 分区)

弹窗内 3 个分区各自独立校验,对应独立应用按钮

11.4.4.A 分区 A:全场累计扩展

校验项规则提示文案
上半场 + 下半场已应用(前置硬约束)打开本分区前上半场 + 下半场两弹窗必须均已应用「请先录入并应用上半场 + 下半场赛果」
扩展统计非负射门 / 射正 / 越位 / 犯规 ≥ 0「数值不能为负数」
扩展统计整数不支持小数「请输入整数」
合计值校验全场比分合计 = 半场 + 下半场;全场角球合计 = 半场 + 下半场;全场牌合计 = 半场 + 下半场系统自动计算展示,校验一致

11.4.4.B 分区 B:加时赛(赛事进入加时才启用)

校验项规则提示文案
分区 A 已应用(前置硬约束)打开本分区前分区 A 必须已应用「请先应用全场扩展」
赛事进入加时(前置)全场合计比分平局 + 业务规则允许加时(杯赛 / 淘汰赛)「赛事未进入加时,本分区不可用」
加时段非负加时上 / 加时下 ≥ 0「加时比分不能为负数」
加时段整数加时上 / 加时下为整数「请输入整数」
加时全场自动合计加时全场 = 加时上 + 加时下系统自动计算,只读
加时段进球归属一致加时进球详情行数 = 加时全场总进球(主+客)「加时进球详情数量与比分不一致」
加时进球时间范围91 ≤ 时间 ≤ 120 + 伤停(上限 126)「加时进球时间必须在 91-126 分钟之间」
加时段扩展非负加时段角球 / 牌 ≥ 0「数值不能为负数」

11.4.4.C 分区 C:点球大战(赛事进入点球大战才启用)

校验项规则提示文案
分区 B 已应用(前置硬约束)打开本分区前分区 B 必须已应用「请先应用加时赛」
赛事进入点球大战(前置)加时后仍平局「加时未平局,本分区不可用」
点球大战非负主 / 客点球进球数 ≥ 0「点球大战比分不能为负数」
点球大战必分胜负主点球数 ≠ 客点球数「点球大战必须分出胜负」
晋级方一致性点球数较多的一方 = 选中晋级方「晋级方与点球比分不一致」

11.4.5 跨弹窗一致性校验(完整清单,阻塞式)

触发时机:弹窗 / 分区应用赛果时。任一校验失败,阻塞当前应用按钮,不允许矛盾赛果进入系统。

跨弹窗校验触发方规则失败提示
上 + 下 合计非负校验下半场应用时下半场主 ≥ 0 且 下半场客 ≥ 0「下半场比分不能为负」
上 + 下 = 数据源全场比分(核对)下半场应用时(若数据源已推送全场比分)半场主 + 下半场主 = 数据源全场主;客队同理「上半场 + 下半场 合计 X:Y 与数据源全场 A:B 不一致,请核对」
全场合计 ≥ 半场自动(分区 A 合计值展示时)合计值约束(主客各自 ≥ 半场)合计派生,天然满足
段 1+2+3 = 半场第 3 段应用 / 上半场应用(互相触发)段 1+2+3 主 = 半场主 · 段 1+2+3 客 = 半场客「段 1-3 累计 A:B 与半场比分 X:Y 不一致」
段 4+5+6 = 下半场第 6 段应用 / 下半场应用(互相触发)段 4+5+6 主 = 下半场主 · 段 4+5+6 客 = 下半场客「段 4-6 累计 A:B 与下半场比分 X:Y 不一致」
段 1-6 累计 = 全场合计任一段 / 分区 A 应用时所有段累计 = 半场 + 下半场「6 段累计 A:B 与全场合计 X:Y 不一致」
段累计单调不减每段 Tab 应用时Σ(段 1-N) 主客累计随 N 单调不减「该段累计比分小于前一段」
半场角球 + 下半场角球 = 全场合计角球分区 A 应用时半场角球 + 下半场角球 = 合计值(自动派生,校验一致)自动派生天然一致;若有加时段角球 → 合计 = 半场 + 下半场 + 加时段
半场牌 + 下半场牌 = 全场合计牌同上同上同上
进球详情时间分布一致分区 A 应用时上半场进球数(上半场弹窗)+ 下半场进球数(下半场弹窗)= 全场合计总进球「进球详情总数与全场比分不一致」
进球详情归属与段一致15 分钟段应用时(若上/下半场已应用)段 1-3 进球归属 = 上半场进球详情;段 4-6 进球归属 = 下半场进球详情「段内进球与上/下半场进球明细不一致」
加时下 ≥ 加时上(累计)分区 B 应用时加时下累计 ≥ 加时上「加时下比分应大于等于加时上」
加时段进球数 = 加时全场总进球分区 B 应用时加时进球详情行数 = 加时全场主 + 客「加时进球详情数量与加时比分不一致」

阻塞行为

  • 校验失败时,当前应用按钮所在的弹窗 / 分区顶部展示红色横幅提示 + 定位到失败字段高亮
  • 对应的「应用」按钮禁用
  • 不允许绕过(即使结算人员坚持,也需先修正源弹窗或调整本弹窗)

修正路径

  • 若上半场已应用且下半场录入与其合计矛盾 → 结算人员须先判断哪边正确
    • 若上半场错 → 需先对 1H 类已结算盘口执行二次结算并重录上半场
    • 若下半场录入错 → 当前弹窗内直接修正
  • 若下半场已应用且上半场录入与其矛盾(反向校验)→ 同上
  • 全场扩展分区与上/下半场不一致 → 修正上/下半场或调整全场扩展字段

11.4.6 校验时机与行为

规则说明
实时校验输入过程中实时校验,输入框失去焦点时触发
红色高亮校验失败的输入框边框变红
提示文案输入框下方展示红色提示文案
按钮禁用任一校验失败时,当前弹窗 / 分区的「应用」按钮禁用
多条同时失败所有失败项同时高亮并展示提示
修正后自动恢复修正后校验通过,红色高亮消失,按钮恢复可用
跨弹窗校验触发时机仅在应用按钮点击时校验(不在输入过程中做跨弹窗比对,避免过度打扰录入)
分区应用按钮独立全场扩展弹窗内分区 A / B / C 各有独立应用按钮;分区之间按前置硬约束依次启用(A → B → C)

11.5 数据缺失时的盘口处理(按弹窗分治)

当某 BT 类型所需的赛果数据未录入时,该盘口不可结算:

场景受影响盘口盘口卡片表现提示文案
上半场弹窗未应用BT1-1H / BT2-1H / BT6-1H / BT9 半全场(半场部分)橙色「缺少数据」标记,结算按钮禁用「请先应用上半场赛果录入」
下半场弹窗未应用2H 类全部(BT1-2H / BT2-2H / BT6-2H / BT24-30 / BT57 等)同上「请先应用下半场赛果录入」
上半场 + 下半场任一未应用全场扩展弹窗分区 A 不可打开 → 影响 FT 类全部(BT1 / BT2 / BT3 / BT5 / BT6 / BT7 / BT8 / BT158 / BT160 / BT161 等)+ BT9 半全场(全场部分)同上「请先应用上半场 + 下半场赛果」
全场扩展弹窗 · 分区 A 未应用FT 类全部 + 全场角球类 / 全场牌类 / 射门射正类同上「请先应用全场扩展」
全场扩展弹窗 · 分区 B 未应用(赛事进入加时时)加时类玩法(BT84 / BT85 等加时让球 / 大小 / 独赢)+ 加时角球 / 牌类同上「请先应用加时赛」
全场扩展弹窗 · 分区 C 未应用(赛事进入点球大战时)晋级类玩法(杯赛晋级 / 小组出线等)同上「请先应用点球大战」
15 分钟段某 Tab 未应用对应段 BT48 / BT179 / BT180同上「请先应用第 X 段赛果录入」
上半场进球详情未录入BT159 半场相关 / BT37 半场相关同上「请先在上半场赛果录入弹窗录入进球详情」
下半场进球详情未录入BT159 下半场相关 / BT37 下半场相关同上「请先在下半场赛果录入弹窗录入进球详情」
数据源推送的进球明细字段缺失或归属不明(如仅推送总进球数,未推送每粒进球归属球队)BT37 / BT159 事件触发类盘口盘口卡片标记「进球明细缺失」,橙色提示「数据源未推送进球归属明细,请结算人员人工补录每粒进球的归属球队与时间」
数据源推送的角球明细字段缺失(如仅推送总角球数,未推送每粒角球归属 / 时间)BT159 角球相关盘口盘口卡片标记「角球明细缺失」,橙色提示「数据源未推送角球归属明细,请结算人员人工补录」
加时段进球详情未录入BT159 加时相关 / BT37 加时相关同上「请先在全场扩展弹窗 · 加时赛分区录入进球详情」
段内进球详情未录入BT159 段相关同上「请先在对应 15 分钟段 Tab 录入进球详情」
半场角球未录入半场角球类盘口同上「请先在上半场赛果录入弹窗录入角球统计」
下半场角球未录入下半场角球类盘口同上「请先在下半场赛果录入弹窗录入角球统计」
半场红黄牌未录入半场牌类盘口同上「请先在上半场赛果录入弹窗录入红黄牌统计」
下半场红黄牌未录入下半场牌类盘口同上「请先在下半场赛果录入弹窗录入红黄牌统计」
加时比分未录入(赛事进入加时)加时类玩法同上「请先在全场扩展弹窗 · 加时赛分区录入加时比分」
点球大战未录入(赛事进入点球大战)晋级类玩法同上「请先在全场扩展弹窗 · 点球大战分区录入」

缺少数据的盘口不影响其他盘口的结算操作。


11.6 赛果数据 → 盘口映射表

录入每项赛果数据后,系统自动计算以下盘口的结算结果。开发必须按此映射实现。

全场比分(主 X : 客 Y)

影响的盘口判定依据
BT1 全场让球净差值 = X - Y + 盘口线
BT2 全场大小净差值 = (X+Y) - 盘口线
BT3 全场独赢X vs Y 直接比较
BT5 全场单双(X+Y) 奇偶
BT6 全场波胆精确匹配 X:Y
BT7 总进球X+Y 匹配选项
BT8 双重机会X vs Y → 映射 1X/12/X2
BT18 双方进球X ≥ 1 且 Y ≥ 1
BT22 主队零失球Y = 0
BT23 客队零失球X = 0
BT158 反波胆X:Y ≠ 选项比分
BT160 主队大小净差值 = X - 盘口线
BT161 客队大小净差值 = Y - 盘口线

半场比分(主 A : 客 B)

影响的盘口判定依据
BT1-1H 上半场让球净差值 = A - B + 盘口线
BT2-1H 上半场大小净差值 = (A+B) - 盘口线
BT6-1H 上半场波胆精确匹配 A:B
BT9 半全场半场结果(A vs B) + 全场结果(X vs Y) 组合

系统自动计算 2H 下半场

自动计算公式影响的盘口
2H 主队X - ABT1-2H、BT2-2H、BT6-2H
2H 客队Y - B同上

15分钟段比分

影响的盘口判定依据
BT48 15分钟1X2该段主客比分差
BT179 15分钟让球段内净差值 = 段内主队 - 段内客队 + 盘口线
BT180 15分钟大小段内净差值 = 段内总进球 - 盘口线

进球详情

影响的盘口判定依据
BT159 第X粒入球球队第X粒进球由哪队打入

扩展统计

数据影响的盘口
角球数(主/客)角球让球、角球大小(数据源盘口)
红黄牌数红牌大小、黄牌大小(数据源盘口)

11.7 录入后的系统行为

结算人员完成某弹窗录入并点"应用赛果"后:

步骤说明
1保存本次弹窗的赛果数据
2系统对比本弹窗字段是否发生变化(与上次应用值比较)
3按弹窗 / 分区独立判断影响范围:上半场弹窗变化 → 影响 1H 类 + BT9 半场部分 + 半场角球/牌类 + BT159/BT37 半场相关;下半场弹窗变化 → 影响 2H 类全部 + 下半场角球/牌类 + BT159/BT37 下半场相关;15 分钟段 Tab 变化 → 影响该段对应 BT;全场扩展分区 A → FT 类全部 + BT9 全场部分 + 全场角球/牌累计类;分区 B → 加时类 + 加时角球/牌;分区 C → 晋级类
4仅对受影响且已关盘的盘口,根据映射表(11.6)重新计算结算结果
4a含多组基准分的盘口(详见第 7.3.6 节):系统按组独立推导基准分(每组自取其下注时比分代入终场比分 / 半场比分 / 分段比分公式),分别预填每组结果;多组弹窗 UX 走 §7.3.6.4 首次结算弹窗分区,结算人员按组分别核对 / 调整 / 确认
5赛果未变化或本弹窗未受影响的盘口不重新计算,保持原结算结果
6变化的盘口卡片展示新的预填结算结果(结算人员可修改);多组盘口按组分区展示各组的预填结果
7结算人员逐盘口确认(点击「结算」按钮执行);多组盘口需按组分别确认(可一次性全部选定后合并提交,也可逐组提交)
8本次应用后的赛果数据锁定,本弹窗不可再次应用;如需修改需对受影响的已结算盘口先执行二次结算(多组盘口支持"全部组统一二次结算"或"仅二次结算某一组",见第 9.4.3 节

自动结算触发规则

本期实装(已结算盘口赛果变化→自动重新结算):本节规则本期实装。核心口径:首次结算走人工(结算人员逐盘口确认);已结算盘口赛果变化后的重算走自动(系统按新赛果自动执行二次结算 + 差额处理)。L1 / L2 的首次自动派彩本期不实装。

规则说明
触发条件赛果数据发生变化(比分变了、进球详情变了等)
不触发赛果数据未变化时,不重新计算,不覆盖已有结算结果
已关盘盘口(赛事待结算,盘口待结算)计算结算结果,预填到盘口卡片
已结算盘口(赛事待结算盘口赛果改变时,系统自动重新计算并执行二次结算(等效于自动执行"二次结算 → 重算 → 再次结算"的合并操作),无需结算人员手动干预;按 15.4 差额矩阵自动处理派彩差额。若赛果未变(例如重选相同结果),则不触发任何注单级联
已结算盘口(赛事已结算 / 已取消 / 异常不触发自动二次结算。仅在赛果录入弹窗顶部提示"比分已更新 / 进球明细已更新,如需修正请先执行赛事驳回"。结算人员需手动:1) 赛事驳回 → 2) 盘口二次结算 → 3) 重录赛果 → 4) 重新确认。避免赛事终态被系统自动绕过
开盘中盘口不计算结算结果(BT6 波胆比分变动触发结算除外)

自动重结算聚合窗口(资金安全保护)

规则项说明
聚合窗口时长5 分钟(系统级写死,对齐 第 16.4b 节 VAR 观察窗口 默认值)
触发场景同一盘口在 5 分钟内被 IM 多次推送比分变化(如 VAR 反复改判、IM 网络抖动重发、数据源短时多次纠错),本地系统按新比分重新判定导致结算结果连续变动
聚合行为系统仅按窗口期内最后一次赛果计算一次差额处理;中间态不触发余额操作
窗口期满触发时机窗口内最后一次赛果变化后再等待 5 分钟无新变化 → 统一执行差额处理
窗口内新赛果若窗口未满又收到新赛果 → 重置 5 分钟计时器,按最新赛果覆盖
结算人员告警窗口期内每次赛果变化均在赛果录入弹窗实时提示"比分已更新"(与原 11.8 提示机制一致)
审计日志每次窗口期结束生成一条自动重结算日志:原结果 → 最终结果 → 差额 → 窗口内累计变化次数 N

聚合窗口适用范围:仅作用于"已结算盘口 + 赛事待结算"场景(即上表第 4 行)。其他场景(如已关盘待结算盘口的赛果首次应用)不适用聚合窗口,按实时逻辑处理。

设计意图:降低 IM 短时间多次推送造成的用户余额抖动风险;保持结算人员对异常推送的感知(通过实时告警);单次差额不设阈值(运营主管复核机制暂不引入,留后续优化)。

聚合窗口与人工操作的冲突处理

聚合窗口期内,结算人员若主动对该盘口执行二次结算,按"人工优先"原则处理:

冲突场景系统行为
聚合窗口期内,结算人员点击"二次结算"按钮① 弹出二次确认弹窗,展示窗口剩余时间 + 窗口内 IM 已累计推送次数 + 最近一次 IM 比分
② 结算人员确认后,立即终止当前聚合窗口
③ 窗口期内 IM 累计推送的中间态比分全部丢弃(不执行差额处理)
④ 盘口状态回到"关盘",按正常二次结算流程走(重选结果)
⑤ 记录审计日志:终止窗口时刻、丢弃的 IM 推送次数、丢弃的比分序列、操作人
人工二次结算完成后 IM 继续推送新比分第 11.7 节 自动结算触发规则
• 赛事仍待结算 → 进入新的 5 分钟聚合窗口(与之前窗口独立)
• 赛事已结算 / 已取消 / 异常 → 仅告警,不动数据
聚合窗口期内结算人员打开赛果录入弹窗(未点二次结算)不终止窗口;弹窗顶部提示"本盘口处于自动重结算聚合窗口中(剩余 X 分 Y 秒),请等待窗口结束再操作"
聚合窗口期内多位结算人员同时点击二次结算第 15.6c 节 操作版本校验:先点击者成功并终止窗口;后点击者返回"该盘口已被他人操作,请刷新"
聚合窗口期内赛事被点击"结算赛事"(赛事级确认)窗口立即终止,之后的 IM 推送走"已结算 / 仅告警"规则

二次确认弹窗示例

┌─ ⚠️ 聚合窗口中的盘口 ─────────────────────────┐
│                                                │
│ 盘口:BT1 全场让球 -0.5                         │
│                                                │
│ 系统检测到此盘口正处于自动重结算聚合窗口:       │
│ • 窗口剩余:2 分 34 秒                          │
│ • 窗口内已累计 IM 推送:3 次                    │
│ • 最近一次 IM 赛果:终场 2:1                    │
│                                                │
│ 继续人工二次结算将:                           │
│ ✕ 立即终止聚合窗口                             │
│ ✕ 丢弃窗口内 3 次 IM 推送(不执行差额处理)    │
│ ✓ 以您的人工操作结果为准                       │
│                                                │
│         [返回,等待窗口结束]  [确认继续二次结算] │
└────────────────────────────────────────────────┘

审计日志字段(对齐 第 21.2 节 操作类型清单):

字段说明
操作类型聚合窗口终止
触发时刻结算人员点击"确认继续二次结算"的本地时刻
窗口已进行时长从窗口开启到终止的秒数
丢弃的 IM 推送次数窗口期内累计推送次数
丢弃的赛果摘要窗口期内每次 IM 赛果的简要描述(如"1:0 → 2:0 → 2:1")
操作人结算人员姓名
后续人工操作关联的盘口二次结算日志 ID

事件触发类盘口(BT37 / BT159)的特殊性:当进球明细 / 角球明细发生变化时(如 VAR 取消第 N 粒进球),数据源通过增量推送更新明细。系统按上述"自动结算触发规则"处理:赛事待结算时自动重算;赛事已结算 / 已取消 / 异常时仅提示,不自动重算。保持与普通盘口一致的前置约束。

分段规则跨章节对齐:本节"已结算盘口"分赛事状态的处理规则与 第 19.3.3 节 数据源恢复后赛果同步 保持一致。两节从不同视角(录入操作 vs 数据源恢复)描述同一业务规则:

  • 赛事 = 待结算 + 盘口已结算 → 系统自动重新计算执行二次结算 + 差额处理(11.7 详述、19.3.3 引用)
  • 赛事 = 已结算 / 已取消 / 异常 + 盘口已结算 → 不触发自动二次结算,仅在赛果录入弹窗提示"比分已更新,如需修正请先执行赛事驳回"

业务规则以 11.7 为主;页面提示按 19.3.3 约束呈现。

关于"关盘"操作

场景行为
盘口已关盘不会再次执行关盘操作,仅应用赛果数据并计算结算结果
盘口仍在开盘不自动关盘,不计算结算结果。盘口需通过数据源 IM 推送关盘后,才进入可结算状态

11.8 边界场景与异常处理

前置说明:以下「比分拉取中」「拉取失败」相关场景仅在数据源开关 = 开时成立;数据源开关 = 关时,赛果录入略过拉取(无请求、无 loading 态、无拉取中提示),所有字段默认可编辑。

场景适用条件系统行为提示文案
打开赛果录入时系统正在拉取比分数据源开关 = 开弹窗展示 loading 覆盖层 + 所有比分输入框 disabled;拉取完成后自动回填「⏳ 比分拉取中,请稍候……」
比分拉取超时(如 > 10s 未返回)数据源开关 = 开输入框保持 disabled;展示重试按钮「比分拉取超时,请点击重试」
比分拉取失败(网络/IM 异常)数据源开关 = 开输入框保持 disabled;展示重试按钮 + 错误码「比分拉取失败(IM-503),请重试或联系运维」
数据源开关 = 关时打开赛果录入数据源开关 = 关略过拉取;所有比分输入框直接可编辑(人工录入模式)
比分输入为空后点击应用所有模式按钮禁用「请输入比分」
输入非数字字符输入框不接受,自动过滤
输入超大数值(如 999)允许输入但展示橙色提示「比分异常偏高,请确认是否正确」
半场比分 > 全场比分红色高亮 + 按钮禁用「半场比分不能大于全场比分」
进球详情与比分不一致红色高亮 + 按钮禁用「进球详情与总进球不一致」
已应用赛果后尝试修改输入框禁用「赛果已应用,如需修改请先二次结算」
网络中断时提交提交失败,保留已输入数据「网络异常,请重试」
数据源开关 = 开 且 IM 推送新比分时本地正在录入(见下 IM 覆盖边界细分)按场景处理按场景提示
数据源开关 = 关 时 IM 推送新比分不自动同步,保留本地录入—(系统不展示提示)
赛事驳回后对已结算盘口执行二次结算该盘口赛果录入解锁,恢复可编辑「盘口二次结算中,赛果可重录」
录入赛果但盘口仍在开盘不计算结算结果,不关盘「该盘口仍在开盘中,结算需等待关盘」
赛果未变化时重复提交不重新计算,保持原结果「赛果未发生变化,无需重新计算」
赛果变化导致已结算盘口结果改变系统直接二次结算 + 自动差额处理「赛果变化,盘口 {ID} 已二次结算,差额 ¥{N} 已处理」
下半场弹窗打开但上半场未应用前置硬约束阻塞,下半场按钮灰置「请先录入并应用上半场赛果」
上+下 合计 ≠ 数据源全场比分(数据源已推送时)下半场应用时橙色提示(不阻塞)「上 + 下 合计 X:Y 与数据源全场 A:B 不一致,请核对」
段 1+2+3 ≠ 半场段 4+5+6 ≠ 下半场阻塞末次应用「段累计比分与对应半场比分不一致」
段 1-6 累计 ≠ 全场合计阻塞末次应用「6 段累计比分与全场合计不一致」
2H 类盘口结算时下半场未应用显示缺少数据「2H 类盘口需下半场赛果已应用」
FT 类盘口结算时全场扩展 · 分区 A 未应用显示缺少数据「FT 类盘口需全场扩展 · 分区 A 已应用」
全场扩展分区 A 打开时上半场或下半场未应用前置硬约束阻塞「请先应用上半场 + 下半场赛果」
全场扩展分区 B 打开时分区 A 未应用前置硬约束阻塞「请先应用全场扩展 · 分区 A」
全场扩展分区 C 打开时分区 B 未应用前置硬约束阻塞「请先应用加时赛」

11.8.1 IM 覆盖本地录入的边界细分(数据源开关 = 开时)

本期实装:数据源自动拉取比分本期实装,本节所述覆盖本地录入的场景本期生效。

  • 阶段 1 / 2 / 3(录入中被覆盖、已填未应用、已应用但盘口未结算)本期实装
  • 阶段 4(赛事待结算 + 盘口已结算 + 赛果变化)本期实装,走 第 11.7 节 "已结算盘口自动重结算" + 5 分钟聚合窗口自动处理
  • 阶段 5(赛事已结算 / 已取消 / 异常 + 盘口已结算 + 赛果变化)本期实装为"仅告警不动数据"路径——弹窗顶部提示"比分已更新",结算人员手动执行"赛事驳回 → 盘口二次结算 → 重录赛果"

详见第 11.0.1 节

IM 推送新比分数据与本地录入冲突时,按结算人员所处的操作阶段细分处理:

操作阶段系统行为提示文案
阶段 1:结算人员正在录入中(未点"应用赛果")数据源覆盖本地录入,页面字段刷新为数据源值;本地未保存的输入丢失。未保存即未录入;比分一旦点击"应用赛果"即进入阶段 2/3 的保护机制「数据源已更新赛果,页面已刷新」
阶段 2:录入完成、未点"应用赛果"(字段已填但弹窗未提交)弹窗保留 + 顶部弹出选择提示:「数据源已更新赛果,是否用数据源值替换?」两选项:「使用数据源值」/ 「保留我的录入」「数据源已更新赛果,请选择如何处理」
阶段 3:赛果已应用但盘口未结算(盘口处于"关盘 + 待结算")IM 覆盖 + 预填结算结果自动刷新;弹窗关闭状态下不打扰结算人员,重新打开弹窗时展示新赛果「数据源更新赛果,盘口 {ID} 预填结果已刷新」
阶段 4:赛果已应用且盘口已结算(赛事待结算)走 第 11.7 节 "已结算盘口自动重结算"规则 + 5 分钟聚合窗口「赛果变化,盘口 {ID} 已自动二次结算,差额 ¥{N} 已处理」
阶段 5:赛果已应用且盘口已结算(赛事已结算 / 已取消 / 异常)走 第 11.7 节 "仅告警不动数据"规则,弹窗顶部提示「比分已更新,如需修正请先执行赛事驳回」

扩展数据的保留策略(进球详情 / 角球 / 红黄牌等):

IM 推送的覆盖范围扩展数据处理
IM 推送的新比分数据包含扩展字段(如新进球详情)按阶段规则覆盖扩展字段
IM 推送的新比分数据不包含扩展字段保留本地已录入的扩展数据,不清空(避免人工录入的角球/红黄牌等被意外清除)

体育操盘系统产品文档