- API 为赛事/联赛/盘口/赔率/冠军盘写操作写入 CATALOG 审计日志,并新增 catalog-audit-logs 接口 - 管理端将赛事日志独立至赛事管理子页,通用操作日志排除 CATALOG 模块 - 统一赛事子页 list-chrome 布局与面包屑;修复操作日志页表格滚动与分页不可见问题 - 补充中英文/马来语文案及 UAT 验收项 SEC013/SEC014 Co-authored-by: Cursor <cursoragent@cursor.com>
71 lines
4.0 KiB
Markdown
71 lines
4.0 KiB
Markdown
# UAT 测试与上线准备
|
||
|
||
## 测试账号
|
||
|
||
| 角色 | 用户名 | 密码 | 说明 |
|
||
|------|--------|------|------|
|
||
| 超级管理员 | admin | Admin@123 | 平台后台 |
|
||
| 赛事管理员 | matchadmin | MatchAdmin@123 | 赛事/结算/内容,无账务权限 |
|
||
| 财务管理员 | financeadmin | FinanceAdmin@123 | 上分/下分/额度/返水/充值 |
|
||
| 客服查询员 | support1 | Support@123 | 只读查询 + 重置玩家密码 |
|
||
| 一级代理 | agent1 | Agent@123 | 管理后台 :5174 登录,授信 100000 |
|
||
| 二级代理 | agent2 | Agent@123 | 隶属 agent1(无独立前端) |
|
||
| 测试玩家 | player1 | Player@123 | 初始余额 1000 |
|
||
|
||
## MVP 验收清单(18 项)
|
||
|
||
玩法与串关规则参考:[投注玩法说明.md](./投注玩法说明.md)。
|
||
|
||
- [ ] 玩家可登录、改密码、切换语言
|
||
- [ ] 代理可创建直属玩家
|
||
- [ ] 代理可给直属玩家上分/下分
|
||
- [ ] 代理额度正确扣减和释放
|
||
- [ ] 后台可创建比赛和盘口
|
||
- [ ] 后台可批量录入波胆赔率
|
||
- [ ] 前台可展示赛事和盘口
|
||
- [ ] 玩家可单关下注
|
||
- [ ] 玩家可 2-5 串 1
|
||
- [ ] ~~同场串关被禁止~~(v1 产品决定:允许同场串关,跳过)
|
||
- [ ] 四分之一盘口不能进入串关
|
||
- [ ] 开赛自动封盘
|
||
- [ ] 后台可录入比分并生成预览
|
||
- [ ] 确认结算后钱包正确变化
|
||
- [ ] 玩家可查看注单和账变
|
||
- [ ] 玩家可查看返水明细,且与账单「反水」入账金额一致
|
||
- [ ] 后台可生成并发放返水
|
||
- [ ] Banner/公告/走马灯可配置
|
||
- [ ] 所有关键操作有日志
|
||
- [ ] 平台后台「自动化测试」运行所选套件,全部通过(约 50 条用例,含逐步 input/expected/actual 明细)
|
||
|
||
## 回归测试流程
|
||
|
||
1. 运行单元测试:`pnpm --filter @thebet365/api test`(规则类用例,不含 DB 全链路)
|
||
2. 或平台后台 → **自动化测试** → 选择套件(含「下注结算链路」)→ **运行测试**
|
||
3. 代理上分 → 玩家下注 → 封盘 → 录入比分 → 预览 → 确认结算
|
||
4. 验证钱包余额与代理额度变化
|
||
5. 测试串关限制(四分之一球、冠军竞猜;同场串关按 v1 允许)
|
||
6. 测试返水批次生成与确认
|
||
7. 返水对账:后台发放后,玩家「账单-反水」入账金额 =「返水明细」对应批次金额;账变详情可跳转返水明细
|
||
|
||
## 三角色 RBAC(SEC010–SEC012)
|
||
|
||
- [ ] **SEC010** 使用 `support1` 登录:菜单仅显示查询相关项;玩家页可查看/重置密码,无上分/下分/创建按钮;调用 `POST /admin/wallet/deposit` 返回 403
|
||
- [ ] **SEC011** 使用 `financeadmin` 登录:无赛事/结算/内容菜单;可对玩家上分、调整代理额度;调用 `POST /admin/matches` 等赛事写接口返回 403
|
||
- [ ] **SEC012** 使用 `matchadmin` 登录:有赛事/结算/内容;无上分/额度/返水确认;调用 `POST /admin/wallet/deposit` 返回 403
|
||
- [ ] **SEC013** 使用 `matchadmin` 创建/发布赛事后,在 **赛事管理 → 赛事日志**(`/matches/audit-logs`)可见记录(如 `CREATE_MATCH`、`PUBLISH_MATCH`),操作人为 `matchadmin`;侧栏「操作日志」不显示赛事类记录
|
||
- [ ] **SEC014** 使用 `financeadmin` 打开「操作日志」:**不应**看到 `matchadmin` 的记录(同角色隔离);`financeadmin` 无赛事管理菜单;使用 `admin` 登录可在赛事日志与操作日志分别查看全部
|
||
- [ ] 自动化:`pnpm --filter @thebet365/api exec jest admin-rbac.spec.ts --runInBand` 通过
|
||
|
||
## 备份与回滚
|
||
|
||
- PostgreSQL:每日 `pg_dump` 备份(脚本:`scripts/backup-db.ps1`)
|
||
- 回滚:恢复备份 + 回退部署版本
|
||
- 结算错误:使用重结算冲正流程,禁止直接改余额
|
||
|
||
## 后台操作培训要点
|
||
|
||
1. 赛事创建:联赛 → 球队 → 比赛 → 生成盘口模板 → 录入赔率 → 发布
|
||
2. 结算:录入半场/全场比分 → 生成预览 → 核对派彩 → 确认
|
||
3. 代理管理:授信额度 → 监控占用 → 负数时禁止继续放款
|
||
4. 返水:选择周期 → 预览 → 财务确认 → 发放
|