feat: 增强抽奖管理功能,支持手动创建、更新和删除期号

- 新增 API 路由和控制器,允许管理员手动创建、更新和删除抽奖期号。
- 更新抽奖调度逻辑,确保在抽奖时间和封盘时间的管理上更加灵活。
- 添加多语言支持的错误信息,提升用户体验。
- 更新测试用例,确保新功能的正确性和稳定性。
This commit is contained in:
2026-05-25 18:00:22 +08:00
parent 770fd8950d
commit c74bec3f64
21 changed files with 855 additions and 51 deletions

View File

@@ -75,12 +75,12 @@ return [
],
/*
| 期号调度GMT/业务日时区):生成计划、封盘与开奖时间点
| PRD 「期号生成 / 封盘 / 开奖调度」链路一致RNG 详见 DrawRngRunner
| 期号调度PRD/界面文档约定为服务器时区 GMT UTC
| 生成计划、封盘判定、API ISO 时刻、前后台 YYYY-MM-DD HH:mm:ss 展示均按 UTC 解释,勿改为本地时区
*/
'draw' => [
/** 盘面「业务日」切分与应用展示用 */
'timezone' => env('LOTTERY_DRAW_TIMEZONE', 'UTC'),
/** 期号「业务日」切分与计划时刻(固定 UTC与 {@see docs/01-界面文档.md} 一致) */
'timezone' => 'UTC',
/** 开奖时间间隔(分钟),整日从 00:00 起排槽 */
'interval_minutes' => max(1, min(1440, (int) env('LOTTERY_DRAW_INTERVAL_MINUTES', 5))),
/** 下注开放时长start_time = close_time - betting_window_seconds */