feat(admin): 补全报表中心汇总 API 并恢复 report-jobs 导出
新增每日盈亏、玩家输赢、玩法维度、佣金回水四类聚合查询与权限注册,恢复报表异步导出任务;审计日志支持按操作人与日期筛选。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
51
app/Http/Requests/Admin/ReportJobStoreRequest.php
Normal file
51
app/Http/Requests/Admin/ReportJobStoreRequest.php
Normal file
@@ -0,0 +1,51 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests\Admin;
|
||||
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
use Illuminate\Validation\Rule;
|
||||
|
||||
/** @see ReportJobStoreController */
|
||||
final class ReportJobStoreRequest extends FormRequest
|
||||
{
|
||||
public function authorize(): bool
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
/** @return array<string, array<int, mixed>> */
|
||||
public function rules(): array
|
||||
{
|
||||
return [
|
||||
'report_type' => ['required', 'string', Rule::in(self::reportTypes())],
|
||||
'export_format' => ['sometimes', 'string', Rule::in(['csv', 'xlsx'])],
|
||||
'parameters' => ['sometimes', 'array'],
|
||||
'parameters.date_from' => ['sometimes', 'nullable', 'date_format:Y-m-d'],
|
||||
'parameters.date_to' => ['sometimes', 'nullable', 'date_format:Y-m-d', 'after_or_equal:parameters.date_from'],
|
||||
'parameters.player_id' => ['sometimes', 'nullable', 'integer', 'min:1'],
|
||||
'parameters.play_code' => ['sometimes', 'nullable', 'string', 'max:32'],
|
||||
'parameters.operator_id' => ['sometimes', 'nullable', 'integer', 'min:1'],
|
||||
'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'],
|
||||
];
|
||||
}
|
||||
|
||||
/** @return list<string> */
|
||||
public static function reportTypes(): array
|
||||
{
|
||||
return [
|
||||
'draw_profit_summary',
|
||||
'daily_profit_summary',
|
||||
'player_win_loss',
|
||||
'wallet_transfer_report',
|
||||
'hot_number_risk_report',
|
||||
'play_dimension_report',
|
||||
'sold_out_number_report',
|
||||
'rebate_commission_report',
|
||||
'audit_operation_report',
|
||||
'wallet_txns_daily',
|
||||
'transfer_orders_daily',
|
||||
];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user