PRDv1.29

自我限制 · 投注上限新增周与月 · PRD

作者 Luke 版本 v1.29 日期 2026-10-06 状态 进行中 平台 BRAND_A & BRAND_B 类 S

版本记录
版本 日期 变更摘要
v1.29 2026-10-06 §3.3 与 §9.2 依产品最新确认,将客户端 Self-Limitation 第二层的无限额上限改为直接显示数值 0,不显示 No limit 文字;Client 原型 More 菜单移除非实际产品入口 Open game。
v1.28 2026-09-19 §7.1 明确日期快捷固定为 Today/Yesterday/Last 7 Days/Last 14 Days/Last 30 Days,不随 Period 改变;中文资讯图改为与英文版相同构图的 ImageGen 中文本地化版本。
v1.27 2026-09-19 依开发实作删除 Effective Time;冷静期中允许调整时,新值以新的 Set Time 立即生效且不解除在途冷静期。设定与冷静期、Self-Limitation 报表 改为当前状态表:一位会员一份资料,依 Period 展开最多三行,修改时覆写对应窗口。userInfo 重置 改为单一 Reset All,一次重置 Gaming Schedule 与三个 Bet Limit;历史改查日志。主要变更见 §5、§7、§8。
v1.26 2026-09-11 Sonnet 预筛在 §7.4 补齐导出档名与零笔导出规则,并新增对应验收点。
v1.25 2026-09-11 Sonnet 第五轮在 §7 补齐用户更新设置后旧行显示 No,并明列七项既有筛选条件均保持不变。
v1.24 2026-09-11 Sonnet 第四轮在 §3.3 明确 Current turnover 进入弹窗时取快照,离开前不刷新。
v1.23 2026-09-11 Sonnet 第三轮在 §1、§2.3、§5、§7.3 补回非冷静期即时生效、投注后判定理由、三面同版上线,以及 Pause Until 禁止空值。
v1.22 2026-09-11 Sonnet 第二轮在 §4.2、§5、§7.3、§9.2 补回收紧/放宽、待生效值与 Effective Time;写明 Luke 后续实机确认覆盖原需求的开关 0 与成功 Toast 描述。
v1.21 2026-09-11 §8 明确重置入口位于既有 userInfo 的 BasicInfo 同一页,不新增分页或子页;后台原型依真实 userInfo 版型调整,并修复报表标注 6、7 的闪动落点。
v1.20 2026-09-10 §3~§9 依线上实况修正冷静期弹窗、set success 与调整开关;拆分自然周期投注额和限制判定计数,补 120+300=420 算例;新增四项独立运营重置,采用单人二次确认与必填备注;同步原型与资讯图表。
v1.19 2026-09-10 §4.1 将周/月达标后的解冻时点明确为下周一/下月 1 日 00:00:00;§2.2 删除重复说明;同步原型与资讯图表。
v1.18 2026-09-10 二次精简 §1~§7 与附录 B:合并范围、取值、冷静期与报表重复说明;30 个验收点、逐字文案及 §10 Open Point 不变。
v1.17 2026-09-10 Codex 候选精简版:合并 §2~§9 重复说明;保留既有 29 个验收点;明确自然周月边界;将「收紧后已用额超过新上限」的触发时点列为 §10 Open Point,待开发依现有作业方式评估;目录、版本记录与附录分别折叠;重绘资讯图表。
v1.16 2026-09-09 在 §3、§6、§7、§9 恢复已设上限可改回 0 与 Pending 文案;日/周/月共用预警配置;锁定报表栏位格式。
v1.15 2026-09-09 在 §6 补齐四个新增配置与两个既有日配置的逐字英文键名。
v1.14 2026-09-09 在 §L0 后新增 BO/Client 原型视觉清单;业务规格不变。
v1.13 2026-09-02 在 §9 补 Gaming Schedule 两条既有逐字文案,并要求 Client 原型画出该弹窗。
v1.12 2026-09-01 核定 §9 文案;说明区不随开关切换;确认配置 0 代表该侧不设界。
v1.11 2026-09-01 在 §3~§6 将六条金额配置默认值统一为 0;补 0 不设界、放宽生效时点、红线与验收修正。
v1.10 2026-08-31 §6 六条金额配置中文名统一以 _日/_周/_月 后缀结尾。
v1.9 2026-08-31 曾在 §3 将已设上限改回 0 改为阻断;该结论已由 v1.16 覆盖。
v1.8 2026-08-31 在 §4 增加冷静期常驻解封时间与对应动态文案。
v1.7 2026-08-31 在 §9 区分有/无待生效值的提交反馈与返回行为。
v1.6 2026-08-31 §9 英文文案占位符改为英文形式。
v1.5 2026-08-31 §9 补后台既有空态文案 No More Data。
v1.4 2026-08-31 资讯图补上 §5 冷静期调整开关;正文不变。
v1.3 2026-08-31 重排 §5:先读开关,再判收紧/放宽及生效时间;规格结论不变。
v1.2 2026-08-31 在 §5 将“提高上限延迟”统一改写为“冷静期内放宽须等冷静期结束”。
v1.1 2026-08-31 精简 §L0 不做清单;法规依据移入附录。
v1.0 2026-08-31 初版:在 §2~§9 定义日/周/月上限、跨窗口校验、冷静期、配置、报表与玩家文案。
目录

[TOC]


L0 · 快速掌握

自我限制日周月核心机制资讯图表

① 一句话需求

把会员的投注上限从每日一个窗口扩为日/周/月三个独立窗口;每笔成功投注同时累计三组金额,成交后判断达标,并依各窗口冷静期暂停后续投注。

② 术语写死表

词 唯一含义
自然周期 日为当日;周为周一至周日;月为当月 1 日至最后一日。均按平台时间,不使用滚动区间。
达标 成功投注计入后,已投注额大于或等于该窗口上限。
自然周期投注额 画面显示的日/周/月成功投注总额,只在自然周期边界归零。
限制判定计数 用来判断是否达到上限;冷静期结束时归零,与画面投注额分开。
冷静期 达标后暂停后续投注;该窗口结束时解冻并清除限制判定计数。

③ 全局红线表

不变量 违反后果 验证锚点
G1 投注成功后才累计与判定达标 会错误拒绝跨过上限的那一笔 AC1 AC2 AC3
G2 各窗口独立结束;实际解封取在途最晚时间 一个短周期会错误清掉长周期限制 AC8 AC9 AC10
G3 周/月使用自然周期 客户端、计数与报表的期间不一致 AC5 AC6 AC30
G4 0 代表不设限,不参与跨窗口校验 合法组合被挡,或无法取消限制 AC11 AC12 AC13
G5 冷静期内,开关 1 才可调整;一旦允许保存,新值以新的 Set Time 立即生效,且不解除、不重算在途冷静期 同一次保存出现第二个生效时间,或修改后提前解冻 AC15 AC16 AC17 AC36 AC37
G6 三窗口共用 self-limitation_warning 三处阈值漂移 AC20
G7 每窗口、每计数周期的预警与达标通知各最多一次 每笔投注重复通知 AC21 AC22 AC23
G8 既有每日限制行为不退化 原有会员限制在上线后改变 AC4 AC7

④ 适用范围与「不做」边界

本次包含客户端日/周/月设定、三组计数与冷静期、后台配置、Self-Limitation 报表、会员详情重置及对应文案。不改 Gaming Schedule 判断、投注金额定义或实际投注额报表栏。阅读者为客户端前端、投注后端、报表后端、运营配置、合规与测试。


1. 范围

1.1 新增 Weekly/Monthly 上限、计数与冷静期;客户端显示三窗口,后台增加配置,报表将三个窗口转行。

1.2 不改投注额定义或 Gaming Schedule 判断;不加周/月冷静期配置、个别预警、投注前部分拦截、单笔上限、输赢限额、后台代设、权限或报表额外栏位。

1.3 客户端设定页、后台基本配置与后台报表必须同版上线,避免口径不一致。


2. 窗口、计数与达标

2.1 时间窗口

窗口 区间 未触发冷静期时的归零点
Daily 当日 00:00:00~23:59:59 次日 00:00:00
Weekly 周一 00:00:00~周日 23:59:59 下周一 00:00:00
Monthly 1 日 00:00:00~最后一日 23:59:59 下月 1 日 00:00:00

2.1.1 边界归属以投注成功事件的发生时间判断。

2.2 累计事件

  • 三个窗口沿用既有 Daily 的成功投注事件与投注额口径。
  • 同一笔成功投注同时加入日、周、月三个计数;失败或未成立的投注不计入。
  • 三个计数独立,任一窗口归零不得清除其他窗口计数。

2.3 达标顺序

  1. 投注请求依既有流程成功成交。
  2. 将该笔投注额同时加入三个窗口。
  3. 对所有正数上限判断 累计额 ≥ 上限。
  4. 达标窗口进入冷静期;从下一笔投注开始拦截。

2.3.1 不得拒绝、拆分或缩小跨过上限的那一笔;累计额可超过设定上限且须照实显示。这是刻意取舍:先让当前笔成交,再从下一笔停投,不是漏挡。


3. 上限设定与校验

3.1 取值

3.1.1 三个上限选填且默认 0。只接受非负整数;0 表示不设限,不套最小值。正数超出已配置范围时夹至边界;配置边界为 0 表示该侧无界。改回 0 仍写一笔设定记录。范围提示为 Please enter {min}-{max}。

3.2 跨窗口校验

3.2.1 保存时只比较正数上限,并要求 Daily ≤ Weekly ≤ Monthly(日 ≤ 周 ≤ 月);值为 0 的窗口跳过。失败时不保存,只在第一个违反顺序的输入列下显示 §9 校验文案。

3.2.2 例:Daily 0 时只校验 周 ≤ 月;Weekly 5,000、Monthly 20,000 合法。Daily 5,000、Weekly 1,000、Monthly 20,000 不合法。

3.3 客户端显示

3.3.1 Current turnover 显示自然周期投注额快照:进入弹窗时读取一次,离开弹窗前不刷新。三格为 Today/This Week/This Month;金额不封顶,只在各自自然周期边界归零,达到预警时显示红字。第二层显示三项当前上限;无限额时直接显示数值 0,不显示 No limit 文字。

3.3.2 限制判定计数不显示给会员。冷静期结束时只清该窗口的限制判定计数,不清自然周期投注额。例如画面已显示 Daily 120,冷静结束后判定计数归零;再将上限设为 300 并成功投注 300,即再次达标,画面显示 420。Weekly/Monthly 同规则。


4. 冷静期与通知

4.1 触发与解封

达标窗口 解冻时点
Daily 依既有 self-limitation_pause。
Weekly 下周一 00:00:00。
Monthly 下月 1 日 00:00:00。

4.1.1 多窗口在途时,实际解封取最晚时间。需求原文的 {解封时间} 即模板中的 {time};冷静期间顶部常驻 Betting is paused until {time}.。

4.2 窗口结束

4.2.1 窗口冷静期结束时,同时解冻该窗口并清除其限制判定计数;自然周期投注额继续累计。冷静期中允许保存的新上限已于它的 Set Time 生效,本时点不再套用另一笔待生效值。其他窗口仍在冷静期则继续拦截。

4.3 通知

4.3.1 每窗口、每计数周期的预警与达标通知各最多一次,归零后重置。一笔同时跨预警与上限只发达标;同时推过多窗口也只发一条,取上限值最大者,同值按 Monthly → Weekly → Daily。其他窗口仍进入冷静期;{time} 取在途最晚解封时间。


5. 冷静期内调整

self_limitation_pause_adjust 冷静期中的入口 保存规则
1 Gaming Schedule/Bet Limit 保留底线与箭头,可进入调整页。 保存后新值立即生效,覆写对应窗口当前值并以保存时刻更新 Set Time。在途冷静期不解除、不延长。
0 底线与箭头不显示,项目不可点击,不能进入调整页。 冷静期内无法提交调整;非冷静期的保存立即生效。

5.1 收紧、放宽或改为 0 不再导致不同的生效时间。只要会员可进入并保存,新值以保存时刻写入对应窗口的 Set Time 并立即生效;只覆写实际改动的 Daily/Weekly/Monthly 窗口,其余窗口不变。每次改动不另存报表历史行,改前/改后值由 Self-Limitation Audit Log 留存。

5.2 Luke 后续实机确认“开关 0 时入口不可点击”,覆盖需求原文第 8.3.1 条的“开关 0 时冷静期内也可调整”。保存动作本身不触发达标,也不解除、不重算已在途的冷静期;下一笔成功投注依新值判定。

5.3 所有保存成功都显示 set success。不产生待生效值,不显示 Pending: {value} · effective {time},也不显示旧 Toast Your new limit will take effect on {time}.。


6. 后台配置

位置:网站管理 ▸ 基本配置,Category self-limitation,Title 自我限制。

配置键 中文名 默认值
self-limitation_min_daily_bet 自我限制投注金额最小值_日 0
self-limitation_max_daily_bet 自我限制投注金额最大值_日 0
self-limitation_min_weekly_bet 自我限制投注金额最小值_周 0
self-limitation_max_weekly_bet 自我限制投注金额最大值_周 0
self-limitation_min_monthly_bet 自我限制投注金额最小值_月 0
self-limitation_max_monthly_bet 自我限制投注金额最大值_月 0

六项只接受整数,0 表示该侧无界;后台不校验 Daily ≤ Weekly ≤ Monthly。三窗口共用 self-limitation_warning 并跟随 self-limitation_switch;关闭时停用但保留会员设定。配置只影响会员下一次提交,不回溯改值。


7. Self-Limitation 报表

7.1 视图与筛选

7.1.1 筛选与操作规则如下:

项目 规则
View 单选,只保留 Gaming Schedule/Bet Limit。
Period 只在 Bet Limit 显示;精确筛选 All/Daily/Weekly/Monthly,默认 All。
达标状态 Bet Limit 显示 Reach Limit 与 Reach Warning;Gaming Schedule 只显示 Reach Limit。
日期快捷 固定为 Today/Yesterday/Last 7 Days/Last 14 Days/Last 30 Days。无论 Period 选择 All、Daily、Weekly 或 Monthly,都显示并使用同一套快捷键,不改名称、区间或计算方式。
既有筛选 SetTimeDateRange、DirectAgentUsername、Username、Gaming Venue、Line、Platform 全部保留,行为不变。
查询生效 修改筛选条件后,必须按 Search 才套用。
导出范围 导出上一次成功查询的结果,不读取尚未 Search 的画面条件。

7.2 栏位

视图 栏位
Gaming Schedule(9 栏) 直属上级、用户名、起始时间、结束时间、设定时间、是否达上限、冷却截止时间、实体站、用户线路
Bet Limit(10 栏) 直属上级、用户名、Period、设定值、设定时间、是否达预警、是否达上限、冷却截止时间、实体站、用户线路

7.2.1 Period 只在 Bet Limit 视图显示。线上旧名 Daily Game Duration 改为 Gaming Schedule;Reach 100% 改为 Reach Limit/Reach Warning。Effective Time 不再显示或导出;开发实作中生效时间与 Set Time 是同一个值。

7.3 一行与字段口径

7.3.1 底层一位会员只保留一份 Self-Limitation 当前状态,其中包含 Gaming Schedule 与 Daily/Weekly/Monthly 三个 Bet Limit 窗口。修改时只覆写有改动的窗口,不新增报表历史记录。

7.3.2 Bet Limit 报表查询时将会员的当前状态依 Period 展开为最多三行:Daily、Weekly、Monthly 各一行。当前为未设置的窗口不出行;用户主动设为 0(无限制)时仍出行并显示 Set Value = —。会员修改设定时,同周期的报表行直接反映新的当前值;历史的改前/改后值、发生时间与来源由 Self-Limitation Audit Log 留存。运营 Reset 清除四项当前设定,报表不再出该会员的设定行;Reset 另写 Admin Action Log。

7.3.3 字段定义表

字段 视图 资料类型/显示格式 必填/空值 定义与更新规则 示例
Direct Agent 两者 String;平台帐号格式 必填;不得为空 查询当下的会员直属代理帐号。 agent01@BRAND_A
Username 两者 String;完整平台帐号 必填;不得为空 当前 Self-Limitation 资料所属的会员唯一帐号。 player01@BRAND_A
Period Bet Limit Enum:Daily/Weekly/Monthly 必填;不得为空 这一行对应的投注上限窗口。一行只能属于一个窗口。 Weekly
Start Time Gaming Schedule Time;HH:mm:ss 必填 该次 Gaming Schedule 设定的每日允许开始时间,使用平台时区。 09:00:00
End Time Gaming Schedule Time;HH:mm:ss 必填 该次 Gaming Schedule 设定的每日允许结束时间,使用平台时区。 23:59:00
Set Value Bet Limit Integer 金额;显示千分位、无小数 必填;数值 0 显示 — 该窗口的当前上限。— 表示用户主动设为无限制;Reset 后该窗口为未设置,不出报表行。 50,000/—
Set Time 两者 Datetime;YYYY-MM-DD HH:mm:ss 必填;不得为空 当前设定最后一次保存成功且生效的平台时间。修改某窗口时覆写该窗口的 Set Time,其他窗口不变。 2026-09-19 09:35:00
Reach Warning Bet Limit Boolean;显示 Yes/No 必填;默认 No 当前计数周期内,该窗口是否已达预警百分比。修改窗口设定时依现行实作重置为 No。 Yes
Reach Limit 两者 Boolean;显示 Yes/No 必填;默认 No 当前计数周期内,该项目/窗口是否已达上限。修改该项目设定时依现行实作重置为 No。 No
Pause Until 两者 Datetime;YYYY-MM-DD HH:mm:ss 必填;不得为 - 或空 该项目/窗口当前的冷静截止时间。未触发时等于当前 Set Time;触发后更新为实际解冻时间。冷静期中修改上限时保留原截止时间,不解除且不重算。 2026-09-19 10:30:00
Gaming Venue 两者 String;实体站名称/识别值 必填;沿用线上值 会员当前所属的实体站;报表显示后端回传的既有名称,本需求不改枚举。 Gaming Venue 1
Line 两者 String;线路识别值 必填;沿用线上值 会员当前线路;页面显示但导出不包含。 1

7.4 导出

7.4.1 导出当前视图和上一次成功查询的全部结果。Bet Limit 画面为 10 栏,但既有 Line 不导出,因此输出 9 栏;Gaming Schedule 画面为 9 栏,导出 8 栏。排序沿用现况。

7.4.2 输出 CSV(UTF-8 with BOM),档名为 SelfLimitation_yyyymmdd_hhmmss.csv;日期与时间取按下 Export 的当下,与查询区间无关。查询结果为 0 笔时仍可导出,档案只写当前视图的表头,不含数据列。


8. 运营重置与权限

8.1 入口:userMgmt > userList > userInfo。Self-Limitation 区块放在既有 BasicInfo 同一页的会员资料区下方,不新增分页、页签或子页。四行仍显示 Gaming Schedule、Daily Bet Limit、Weekly Bet Limit、Monthly Bet Limit 的当前值与状态,但移除每行的独立 Reset;只在区块最下方放一个 Reset All。沿用会员资料编辑权限,不做双人复核。

8.2 点击 Reset All 后显示二次确认弹窗;重置备注 必填。确认后将 Gaming Schedule 及 Daily/Weekly/Monthly Bet Limit 四项当前设定一次重置为未设置,并清除四项的限制判定计数与冷静期。自然周期投注额保留,不因 Reset All 清零。Reset 后报表不再出该会员的当前设定行,不新增伪历史行。

8.3 Admin Action Log 用一笔操作记录本次 Reset All,必须包含操作人、会员、四项重置前值、备注与时间。资料已被他人变更时不得覆盖,提示刷新后重试。会员自行修改的改前/改后值、变更窗口、时间与来源写入 Self-Limitation Audit Log,不靠报表保留历史。

新增配置沿用基本配置权限;报表沿用 Self-Limitation 既有查看与导出权限。


9. 提示语

原型与实现出现的提示语必须与本节逐字一致。

9.1 Bet Limit 常驻说明

# 英文上线文案
首行 Changes take effect when saved. Changing a limit does not end a cooling-off period.
1 1. Alerts: You will be notified when your betting reaches {N}% of your daily, weekly or monthly limit. The notice tells you which limit it is.
2 2. Limit Reached: Betting will be paused for a cooling-off period once any limit is reached.
末行 *This setting is optional. Set a limit for reminders, or leave it blank for no restrictions.

9.1.1 删除旧句 1. Data: Usage is based on provider data and may have slight delays.。首行不随 self_limitation_pause_adjust 切换。

9.2 动态文案

场景 英文上线文案
保存成功 Toast set success
达到预警百分比 You have reached {N}% of your {daily/weekly/monthly} betting limit.
达到上限 You have reached your {daily/weekly/monthly} betting limit. Betting is paused until {time}.
跨窗口校验失败(长) Please ensure Daily ≤ Weekly ≤ Monthly limits
跨窗口校验失败(短) Must follow Daily ≤ Weekly ≤ Monthly
上限为 0 0
冷静期中常驻红字 Betting is paused until {time}.
冷静期弹窗标题 Reminder
冷静期弹窗内文 Remember to play responsibly and stay within your comfort level. Your full access will be resumed at {MM/DD/YYYY HH:mm:ss}
冷静期弹窗按钮 Confirm

9.2.1 长/短校验文案择一,不同时出现。冷静期间每次点击游戏都显示同一组 Reminder 文案。

9.3 运营重置文案

场景 逐字文案
标题 重置自我限制
内容 确认重置 Gaming Schedule 与全部 Bet Limit?重置后立即生效。
备注 重置备注
备注必填错误 请填写重置备注
页面按钮 Reset All
弹窗按钮 取消/确认重置
成功 重置成功
失败 重置失败,请稍后重试
资料冲突 资料已变更,请刷新后重试

9.4 既有文案

场景 英文上线文案
后台查无资料 No More Data
Gaming Schedule 达标说明 *Limit Reached: Betting will be paused for a cooling-off period.
Gaming Schedule 末行 *This setting is optional. You may change the setting or leave it as default for no restrictions.

9.4.1 Gaming Schedule 只把第一行换成 §9.1 首行,其余逻辑与上述两句不改。


10. 待确认项

本版无待确认项。原 OP-1 已按线上操作确认:保存不触发冷静期,下一笔成功投注才执行达标判定。


附录 A:验收标准
# P 验收点
AC1 P0 日上限 100、已投 99,再投 100:该笔成功成交,不改成 1(G1)。
AC2 P0 承 AC1,成交后累计 199,这时才进入冷静期(G1)。
AC3 P0 日上限 100、已投 0,单笔 5,000 成交后才进入冷静期(G1)。
AC4 P0 只设日上限、周月为 0 时,行为与上线前一致(G8)。
AC5 P0 周日 23:59:59 与周一 00:00:00 的投注分属不同周(G3)。
AC6 P0 月末与次月 1 日的投注分属不同月(G3)。
AC7 P0 未触发冷静期时跨午夜,只清日计数(G8)。
AC8 P0 周达标后,即使日未达标,仍暂停投注至下周一 00:00:00(G2)。
AC9 P0 周冷静期结束时,周解冻且周限制判定计数归零;周自然周期投注额不清除(G2)。
AC10 P0 日与周同时冷静时,日先结束只清日窗口,会员仍被周窗口拦截(G2)。
AC11 P0 日上限 500 改 0 可保存;报表 Daily 当前行更新为 Set Value=—(G4)。
AC12 P0 日 0、周 5,000、月 20,000 保存成功(G4)。
AC13 P0 日 5,000、周 1,000、月 20,000 保存失败,错误只显示在周栏(G4)。
AC14 P1 后台调低周最大值,不回溯修改会员既有上限。
AC15 P0 冷静期且开关为 1 时,两项保留底线与箭头,可进入调整页(G5)。
AC16 P0 冷静期且开关为 0 时,两项无底线、无箭头且不可点击(G5)。
AC17 P0 非冷静期不受该开关影响,仍可进入调整页(G5)。
AC18 P1 保存调整显示逐字 Toast set success;保存动作不触发冷静期。
AC19 P0 冷静期间再次点击游戏,显示相同 Reminder 弹窗与最新解封时间。
AC20 P0 修改 self-limitation_warning 后,客户端与报表同时使用新值(G6)。
AC21 P0 日窗口发过预警后再投 10 笔,不重复预警(G7)。
AC22 P0 单笔同时跨预警与上限时,只发达标通知(G7)。
AC23 P0 单笔同时推过三窗口时只发一条通知,但三窗口都进入冷静期(G7)。
AC24 P1 承 AC23,报表三行 Reach Limit 均为 Yes,实际解封取最晚 Pause Until。
AC25 P1 只改周上限时,只覆写 Weekly 当前值与 Set Time;Daily/Monthly 不变,报表不增加历史行。
AC26 P1 从未设月上限时无月行;用户设为 0 时显示一行 Set Value=—;Reset All 后不出行。
AC27 P1 报表只显示每个窗口的当前值;改前/改后值可由 Self-Limitation Audit Log 追溯。
AC28 P1 切到 Gaming Schedule 后为 9 栏,不显示 Period;两个视图都不显示或导出 Effective Time。
AC29 P1 Bet Limit+Weekly 导出 9 栏且只含 Weekly 行;界面专用的 Line 不导出。
AC30 P0 跨自然周/月边界的相邻投注,客户端累计、拦截与报表必须归入相同的对应窗口(G3)。
AC31 P0 Daily 画面投注额 120、冷静结束后上限改 300;再成功投注 300 即达标,画面显示 420。Weekly/Monthly 同规则。
AC32 P0 会员详情四行各自显示当前状态,但只有区块最下方一个 Reset All;确认弹窗未填备注时不得提交。
AC33 P0 Reset All 一次清除 Gaming Schedule 及 Daily/Weekly/Monthly 的当前设定、限制判定计数与冷静期;Current turnover 保留。
AC34 P0 Reset All 成功后四项都显示未设置,原在途冷静期全部解除,报表不再出该会员的当前设定行。
AC35 P1 Reset All 用一笔 Admin Action Log 记录四项重置前值;资料冲突时不覆盖。
AC36 P0 冷静期、开关 1 时,将正数上限调高、调低或改为 0:新值都以新的 Set Time 立即生效,不显示 Pending 值。
AC37 P0 承 AC36,修改前已开始的冷静期仍按原 Pause Until 结束;不提前解冻,也不重新起算或延长。
AC38 P0 冷静期中只改 Weekly 时,Weekly 当前行直接更新;Set Time 为保存时刻,Pause Until 保留该窗口原冷静期截止时刻。
AC39 P0 冷静期、开关 0 时无底线与箭头,不能进入调整页,也不能提交新值。
AC40 P1 所有保存成功都只显示 set success;不得显示 Pending 值或已废止的延后生效 Toast。
AC41 P1 用户更新某窗口设置后,该窗口当前行的 Reach Limit/Reach Warning 依现行实作重置为 No,且无旧设定行留在报表。
AC42 P1 两个视图均保留 SetTimeDateRange、日期快捷键、DirectAgentUsername、Username、Gaming Venue、Line、Platform,操作与上线前一致。
AC43 P1 导出档名符合 SelfLimitation_yyyymmdd_hhmmss.csv;时间取按下 Export 的当下,与查询区间无关;档案为 UTF-8 with BOM。
AC44 P0 查询结果为 0 笔时仍可导出;CSV 只含当前视图表头,不含数据列。
AC45 P1 Period 依序切换 All、Daily、Weekly、Monthly 时,日期快捷始终为 Today/Yesterday/Last 7 Days/Last 14 Days/Last 30 Days,相同快捷键产生相同日期区间。
附录 B:关键算例
情形 正确结果
上限 100、累计 99,下一笔 100 该笔成交,累计 199 后进入冷静期。
日与周同笔达标 日结束只处理日窗口;周限制保留,实际解封取较晚时间。
已显示 120,冷静结束后上限改 300,再投 300 判定计数为 300,再次触发;画面自然周期投注额显示 420。

附录 C:原型视觉清单
视觉 ID 载体 用途 证据
VIS-BO-NONE BO 基本配置与报表不使用图片或图片占位。 L0 ④、§6、§7
VIS-CLIENT-NONE Client 客户端流程不使用内容图片或图片占位。 L0 ④、§9.4

清单只约束内容图片与图片占位;表格、手机外框、载入骨架与标注符号不属于视觉素材槽位。


文档版本:v1.29 | 日期: 2026-10-06 | 作者: Luke | 文档状态:进行中