1.新增充值档位配置
2.新增充值/提现配置
This commit is contained in:
@@ -269,6 +269,16 @@
|
||||
| 提现 | 有效投注 ≥ 总充值×配置倍数;最低提现与 0.5% 手续费;大额 / Jackpot 进审核 |
|
||||
| 灾难恢复 | 模拟期卡在「计算中」,启动退本流程:期作废、本金退回账本 |
|
||||
|
||||
#### 8.2.1 后台「游戏实时对局」:运行开关与作废
|
||||
|
||||
| 项 | 说明 |
|
||||
|----|------|
|
||||
| 配置键 | `game_config.config_key = game_live_runtime_enabled`:`1` = 运行(默认),`0` = 维护/关闭 |
|
||||
| 关闭时服务端行为 | **禁止下注**(移动端 **`betPlace`** 返回 `3001`);**无进行中局时**定时 **`GamePeriodAutoTicker`** 不创建新期;派彩宽限期结束后的 **`createNextRecordAfterDraw`** 不插入下一期。**当局仍继续**:**`tickAutoDraw` / `drawResult` / 结算**照常执行,直至本期结束。后台 **`POST /admin/game.Live/runtime` 且 `enabled=1`** 时,若 **`hasActiveRecord()` 为假**,则 **`bootstrapPeriodWhenRuntimeEnabled`** 立即插入新一期 |
|
||||
| 后台快照 `maintenance_ui` | `!game_live_runtime_enabled && !hasActiveRecord()` 时为 `true`:表示**当局已完全结束**(含派彩),此时后台页展示「维护中」并锁定操作区(仅顶部「游戏运行」开关可用);当局尚在 0–3 状态时为 `false`,倒计时与操作区保持可用直至收尾完成 |
|
||||
| 作废本局(后台按钮) | 仅当本期为 **下注开放 / 已封盘**(`game_record.status` 为 `0` 或 `1`):将所有 **待开奖** 注单(`bet_order.status = 1`)按 `total_amount` 退回余额并置 `bet_order.status = 3`,写钱包流水 `biz_type = bet_void`;本期 **`game_record.status = 5`**,写入 **`void_reason`**;并 **强制将 `game_live_runtime_enabled` 置为 `0`**。需管理员在后台再次打开「游戏运行」开关后,才恢复下注与后续期次创建 |
|
||||
| 后台接口 | `POST /admin/game.Live/runtime`(body:`enabled` 0/1);`POST /admin/game.Live/voidPeriod`(body:`record_id` 可选、`void_reason` 必填) |
|
||||
|
||||
### 8.3 代理与结算(逻辑就绪后)
|
||||
|
||||
1. 构造多代理树与多用户下注,跑一期结算脚本或单元测试纯算法。
|
||||
|
||||
@@ -222,9 +222,10 @@
|
||||
|
||||
返回参数:
|
||||
- `server_time`:int(含义:服务端当前时间,用于客户端校时)
|
||||
- `runtime_enabled`:bool(含义:**游戏运行开关**;`false` 时表示后台维护——**禁止下注**,且 idle 时不会自动创建新期、派彩结束后也不会自动创建下一期;**当前已开盘的局仍会开奖、派彩并结算**。移动端应禁用下注入口并提示「维护」类文案)
|
||||
- `period`:object
|
||||
- `period_no`:string(含义:当前全局期号)
|
||||
- `status`:string(`betting`/`locked`/`settling`/`finished`,含义:当前期状态)
|
||||
- `status`:string(`betting`/`locked`/`settling`/`finished`/`void`,含义:当前期状态;`void` 表示该期已作废)
|
||||
- `countdown`:int(含义:当前期倒计时秒数)
|
||||
- `lock_at`:int(含义:封盘时间戳)
|
||||
- `open_at`:int(含义:预计开奖时间戳)
|
||||
@@ -266,9 +267,10 @@
|
||||
- **POST** `/api/game/periodCurrent`
|
||||
|
||||
返回参数:
|
||||
- `runtime_enabled`:bool(含义:同 `lobbyInit.runtime_enabled`)
|
||||
- `period_id`:int(含义:当前期主键 ID)
|
||||
- `period_no`:string(含义:当前期号)
|
||||
- `status`:string(含义:当前期状态)
|
||||
- `status`:string(含义:当前期状态,含 `void` 已作废)
|
||||
- `countdown`:int(含义:当前期剩余秒数)
|
||||
- `bet_close_in`:int(含义:距离封盘剩余秒数)
|
||||
- `result_number`:int/null(未开奖为 null,含义:开奖号码)
|
||||
@@ -293,6 +295,7 @@
|
||||
|
||||
**可能错误码(补充)**(其余见文档头部错误码分段;扣款与缓存一致性强相关):
|
||||
|
||||
- `3001`:游戏已暂停(`runtime_enabled=false`,后台「游戏实时对局」关闭运行开关或作废本局后未重新开启;与非法流程类错误同段)
|
||||
- `5000`:系统繁忙;或 **用户 Redis 互斥锁**未获取(与后台钱包/并发写同一用户串行,文案与后台一致:「该用户正在被其他管理员操作(钱包/并发保存),请稍后再试」);或 **`coin` 条件更新**未命中(并发下注/派彩/后台已改余额:「扣款失败:该用户余额已被其他请求修改(如下注、派彩或其他管理员已保存),请刷新后重试」)。
|
||||
|
||||
> 说明:一键重复上一注、自动托管开启/停止均由前端控制,客户端在相应时机调用 `/api/game/betPlace` 即可完成,不再提供独立接口。
|
||||
@@ -359,6 +362,7 @@
|
||||
- `bet`:下注扣款(提交下注时从玩家余额扣除的投注金额)
|
||||
- `payout`:开奖派彩(中奖后系统将奖金入账到玩家余额)
|
||||
- `adjust`:人工调整(后台管理员加/扣点,对应 `biz_type=admin_credit/admin_deduct`)
|
||||
- `bet_void`:期次作废退款(后台「游戏实时对局」作废本局时,退回待开奖注单本金)
|
||||
|
||||
返回参数:
|
||||
- `list`:array<object>
|
||||
|
||||
Reference in New Issue
Block a user