# UAT 测试与上线准备

## 测试账号

| 角色 | 用户名 | 密码 | 说明 |
|------|--------|------|------|
| 超级管理员 | admin | Admin@123 | 平台后台 |
| 一级代理 | agent1 | Agent@123 | 管理后台 :5174 登录，授信 100000 |
| 二级代理 | agent2 | Agent@123 | 隶属 agent1（无独立前端） |
| 测试玩家 | player1 | Player@123 | 初始余额 1000 |

## MVP 验收清单（18 项）

- [ ] 玩家可登录、改密码、切换语言
- [ ] 代理可创建直属玩家
- [ ] 代理可给直属玩家上分/下分
- [ ] 代理额度正确扣减和释放
- [ ] 后台可创建比赛和盘口
- [ ] 后台可批量录入波胆赔率
- [ ] 前台可展示赛事和盘口
- [ ] 玩家可单关下注
- [ ] 玩家可 2-5 串 1
- [ ] ~~同场串关被禁止~~（v1 产品决定：允许同场串关，跳过）
- [ ] 四分之一盘口不能进入串关
- [ ] 开赛自动封盘
- [ ] 后台可录入比分并生成预览
- [ ] 确认结算后钱包正确变化
- [ ] 玩家可查看注单和账变
- [ ] 玩家可查看返水明细，且与账单「反水」入账金额一致
- [ ] 后台可生成并发放返水
- [ ] Banner/公告/走马灯可配置
- [ ] 所有关键操作有日志
- [ ] 平台后台「自动化测试」运行所选套件，全部通过（约 50 条用例，含逐步 input/expected/actual 明细）

## 回归测试流程

1. 运行单元测试：`pnpm --filter @thebet365/api test`（规则类用例，不含 DB 全链路）
2. 或平台后台 → **自动化测试** → 选择套件（含「下注结算链路」）→ **运行测试**
3. 代理上分 → 玩家下注 → 封盘 → 录入比分 → 预览 → 确认结算
4. 验证钱包余额与代理额度变化
5. 测试串关限制（四分之一球、冠军竞猜；同场串关按 v1 允许）
6. 测试返水批次生成与确认
7. 返水对账：后台发放后，玩家「账单-反水」入账金额 =「返水明细」对应批次金额；账变详情可跳转返水明细

## 备份与回滚

- PostgreSQL：每日 `pg_dump` 备份（脚本：`scripts/backup-db.ps1`）
- 回滚：恢复备份 + 回退部署版本
- 结算错误：使用重结算冲正流程，禁止直接改余额

## 后台操作培训要点

1. 赛事创建：联赛 → 球队 → 比赛 → 生成盘口模板 → 录入赔率 → 发布
2. 结算：录入半场/全场比分 → 生成预览 → 核对派彩 → 确认
3. 代理管理：授信额度 → 监控占用 → 负数时禁止继续放款
4. 返水：选择周期 → 预览 → 财务确认 → 发放
