feat: 增强报表功能,支持新参数和导出类型

- 在 `ReportJobStoreRequest` 中新增 `draw_id`、`draw_no` 和 `normalized_number` 参数的验证规则。
- 更新 `AdminReportJobService` 以支持动态生成输出路径后缀,确保导出文件名包含相关信息。
- 在 `AdminReportQueryService` 中新增多个报表类型的处理逻辑,包括 `draw_profit_summary` 和 `sold_out_number_report`。
- 添加相应的测试用例,确保新功能的正确性和稳定性。
This commit is contained in:
2026-05-26 11:48:40 +08:00
parent c74bec3f64
commit bba084b3c1
5 changed files with 464 additions and 1 deletions

View File

@@ -25,9 +25,15 @@ final class ReportJobStoreRequest extends FormRequest
'parameters.player_id' => ['sometimes', 'nullable', 'integer', 'min:1'],
'parameters.play_code' => ['sometimes', 'nullable', 'string', 'max:32'],
'parameters.operator_id' => ['sometimes', 'nullable', 'integer', 'min:1'],
'parameters.draw_id' => ['sometimes', 'nullable', 'integer', 'min:1'],
'parameters.draw_no' => ['sometimes', 'nullable', 'string', 'max:64'],
'parameters.normalized_number' => ['sometimes', 'nullable', 'regex:/^[0-9]{4}$/'],
'filter_json' => ['sometimes', 'array'],
'filter_json.date_from' => ['sometimes', 'nullable', 'date_format:Y-m-d'],
'filter_json.date_to' => ['sometimes', 'nullable', 'date_format:Y-m-d', 'after_or_equal:filter_json.date_from'],
'filter_json.draw_id' => ['sometimes', 'nullable', 'integer', 'min:1'],
'filter_json.draw_no' => ['sometimes', 'nullable', 'string', 'max:64'],
'filter_json.normalized_number' => ['sometimes', 'nullable', 'regex:/^[0-9]{4}$/'],
];
}