feat(admin): 统一后台 API 资源鉴权并完善投注风控快照与回补
This commit is contained in:
@@ -28,12 +28,12 @@ use App\Http\Controllers\Api\V1\Admin\AdminSettingController;
|
||||
*/
|
||||
|
||||
// 玩法类型只读
|
||||
Route::middleware('admin.permission:prd.play_switch.manage|prd.odds.manage')
|
||||
Route::middleware(['admin.api-resource', 'admin.permission:prd.play_switch.manage|prd.odds.manage'])
|
||||
->get('play-types', PlayTypeIndexController::class)
|
||||
->name('api.v1.admin.play-types.index');
|
||||
|
||||
// 玩法版本只读
|
||||
Route::middleware('admin.permission:prd.play_switch.manage|prd.odds.manage')
|
||||
Route::middleware(['admin.api-resource', 'admin.permission:prd.play_switch.manage|prd.odds.manage'])
|
||||
->prefix('config')
|
||||
->name('api.v1.admin.config.')
|
||||
->group(function (): void {
|
||||
@@ -45,7 +45,7 @@ Route::middleware('admin.permission:prd.play_switch.manage|prd.odds.manage')
|
||||
});
|
||||
|
||||
// 赔率/回水只读
|
||||
Route::middleware('admin.permission:prd.odds.manage|prd.rebate.manage|prd.rebate.view')
|
||||
Route::middleware(['admin.api-resource', 'admin.permission:prd.odds.manage|prd.rebate.manage|prd.rebate.view'])
|
||||
->prefix('config')
|
||||
->name('api.v1.admin.config.')
|
||||
->group(function (): void {
|
||||
@@ -57,7 +57,7 @@ Route::middleware('admin.permission:prd.odds.manage|prd.rebate.manage|prd.rebate
|
||||
});
|
||||
|
||||
// 封顶只读
|
||||
Route::middleware('admin.permission:prd.risk_cap.manage|prd.risk_cap.view')
|
||||
Route::middleware(['admin.api-resource', 'admin.permission:prd.risk_cap.manage|prd.risk_cap.view'])
|
||||
->prefix('config')
|
||||
->name('api.v1.admin.config.')
|
||||
->group(function (): void {
|
||||
@@ -69,7 +69,7 @@ Route::middleware('admin.permission:prd.risk_cap.manage|prd.risk_cap.view')
|
||||
});
|
||||
|
||||
// 玩法/赔率/封顶/Jackpot 配置写入
|
||||
Route::middleware('admin.permission:prd.play_switch.manage|prd.odds.manage|prd.risk_cap.manage|prd.rebate.manage|prd.jackpot.manage')
|
||||
Route::middleware(['admin.api-resource', 'admin.permission:prd.play_switch.manage|prd.odds.manage|prd.risk_cap.manage|prd.rebate.manage|prd.jackpot.manage'])
|
||||
->group(function (): void {
|
||||
Route::patch('play-types/{play_code}', PlayTypePatchController::class)
|
||||
->where('play_code', '[a-z0-9_]+')
|
||||
@@ -120,7 +120,7 @@ Route::middleware('admin.permission:prd.play_switch.manage|prd.odds.manage|prd.r
|
||||
});
|
||||
|
||||
// 通用 KV 设置(钱包限额等)
|
||||
Route::middleware('admin.permission:prd.wallet_reconcile.manage')
|
||||
Route::middleware(['admin.api-resource', 'admin.permission:prd.wallet_reconcile.manage'])
|
||||
->prefix('settings')
|
||||
->name('api.v1.admin.settings.')
|
||||
->group(function (): void {
|
||||
|
||||
@@ -10,12 +10,16 @@ use App\Http\Controllers\Api\V1\Admin\PingController as AdminPingController;
|
||||
*/
|
||||
|
||||
// 连通性探测
|
||||
Route::get('ping', AdminPingController::class)->name('api.v1.admin.ping');
|
||||
Route::get('ping', AdminPingController::class)
|
||||
->middleware('admin.api-resource')
|
||||
->name('api.v1.admin.ping');
|
||||
|
||||
// 首页仪表盘
|
||||
Route::get('dashboard', AdminDashboardController::class)->name('api.v1.admin.dashboard');
|
||||
Route::get('dashboard', AdminDashboardController::class)
|
||||
->middleware('admin.api-resource')
|
||||
->name('api.v1.admin.dashboard');
|
||||
|
||||
// 审计日志
|
||||
Route::middleware('admin.permission:prd.audit.all|prd.audit.self|prd.audit.finance')
|
||||
Route::middleware(['admin.api-resource', 'admin.permission:prd.audit.all|prd.audit.self|prd.audit.finance'])
|
||||
->get('audit-logs', AuditLogIndexController::class)
|
||||
->name('api.v1.admin.audit-logs.index');
|
||||
|
||||
@@ -30,7 +30,7 @@ use App\Http\Controllers\Api\V1\Admin\Settlement\AdminSettlementBatchDetailsCont
|
||||
*/
|
||||
|
||||
// 开奖结果查看 + 风控监控
|
||||
Route::middleware('admin.permission:prd.draw_result.manage|prd.draw_result.view')
|
||||
Route::middleware(['admin.api-resource', 'admin.permission:prd.draw_result.manage|prd.draw_result.view'])
|
||||
->group(function (): void {
|
||||
Route::get('draws', AdminDrawIndexController::class)
|
||||
->name('api.v1.admin.draws.index');
|
||||
@@ -50,7 +50,7 @@ Route::middleware('admin.permission:prd.draw_result.manage|prd.draw_result.view'
|
||||
});
|
||||
|
||||
// 开奖结果录入(发布批次)
|
||||
Route::middleware('admin.permission:prd.draw_result.manage')
|
||||
Route::middleware(['admin.api-resource', 'admin.permission:prd.draw_result.manage'])
|
||||
->group(function (): void {
|
||||
Route::post('draws/{draw}/result-batches', DrawManualResultBatchStoreController::class)
|
||||
->name('api.v1.admin.draws.result-batches.store');
|
||||
@@ -75,12 +75,12 @@ Route::middleware('admin.permission:prd.draw_result.manage')
|
||||
});
|
||||
|
||||
// 派彩确认
|
||||
Route::middleware('admin.permission:prd.payout.manage|prd.payout.review')
|
||||
Route::middleware(['admin.api-resource', 'admin.permission:prd.payout.manage|prd.payout.review'])
|
||||
->post('draws/{draw}/settlement/run', DrawSettlementRunController::class)
|
||||
->name('api.v1.admin.draws.settlement.run');
|
||||
|
||||
// 结算批次查看
|
||||
Route::middleware('admin.permission:prd.payout.manage|prd.payout.review|prd.payout.view')
|
||||
Route::middleware(['admin.api-resource', 'admin.permission:prd.payout.manage|prd.payout.review|prd.payout.view'])
|
||||
->group(function (): void {
|
||||
Route::get('settlement-batches', AdminSettlementBatchIndexController::class)
|
||||
->name('api.v1.admin.settlement-batches.index');
|
||||
@@ -92,7 +92,7 @@ Route::middleware('admin.permission:prd.payout.manage|prd.payout.review|prd.payo
|
||||
->name('api.v1.admin.settlement-batches.export');
|
||||
});
|
||||
|
||||
Route::middleware('admin.permission:prd.payout.review')
|
||||
Route::middleware(['admin.api-resource', 'admin.permission:prd.payout.review'])
|
||||
->group(function (): void {
|
||||
Route::post('settlement-batches/{batch}/approve', AdminSettlementBatchApproveController::class)
|
||||
->name('api.v1.admin.settlement-batches.approve');
|
||||
@@ -100,6 +100,6 @@ Route::middleware('admin.permission:prd.payout.review')
|
||||
->name('api.v1.admin.settlement-batches.reject');
|
||||
});
|
||||
|
||||
Route::middleware('admin.permission:prd.payout.manage')
|
||||
Route::middleware(['admin.api-resource', 'admin.permission:prd.payout.manage'])
|
||||
->post('settlement-batches/{batch}/payout', AdminSettlementBatchPayoutController::class)
|
||||
->name('api.v1.admin.settlement-batches.payout');
|
||||
|
||||
@@ -12,7 +12,7 @@ use App\Http\Controllers\Api\V1\Admin\Jackpot\AdminJackpotContributionIndexContr
|
||||
*/
|
||||
|
||||
// 奖池查看
|
||||
Route::middleware('admin.permission:prd.jackpot.manage|prd.jackpot.view')
|
||||
Route::middleware(['admin.api-resource', 'admin.permission:prd.jackpot.manage|prd.jackpot.view'])
|
||||
->group(function (): void {
|
||||
Route::get('jackpot/pools', AdminJackpotPoolIndexController::class)
|
||||
->name('api.v1.admin.jackpot.pools.index');
|
||||
@@ -23,7 +23,7 @@ Route::middleware('admin.permission:prd.jackpot.manage|prd.jackpot.view')
|
||||
});
|
||||
|
||||
// 奖池修改(仅管理权限)
|
||||
Route::middleware('admin.permission:prd.jackpot.manage')
|
||||
Route::middleware(['admin.api-resource', 'admin.permission:prd.jackpot.manage'])
|
||||
->group(function (): void {
|
||||
Route::put('jackpot/pools/{pool}', AdminJackpotPoolUpdateController::class)
|
||||
->name('api.v1.admin.jackpot.pools.update');
|
||||
|
||||
@@ -14,7 +14,7 @@ use App\Http\Controllers\Api\V1\Admin\Player\AdminPlayerTicketItemsIndexControll
|
||||
/**
|
||||
* 管理员玩家管理路由。
|
||||
*/
|
||||
Route::middleware('admin.permission:prd.users.manage|prd.users.view_finance|prd.users.view_cs')
|
||||
Route::middleware(['admin.api-resource', 'admin.permission:prd.users.manage|prd.users.view_finance|prd.users.view_cs'])
|
||||
->group(function (): void {
|
||||
Route::get('players', AdminPlayerIndexController::class)
|
||||
->name('api.v1.admin.players.index');
|
||||
|
||||
@@ -9,7 +9,7 @@ use App\Http\Controllers\Api\V1\Admin\Reports\ReportJobStoreController;
|
||||
/**
|
||||
* 管理员报表路由。
|
||||
*/
|
||||
Route::middleware('admin.permission:prd.report.all|prd.report.risk|prd.report.finance|prd.report.player')
|
||||
Route::middleware(['admin.api-resource', 'admin.permission:prd.report.all|prd.report.risk|prd.report.finance|prd.report.player'])
|
||||
->group(function (): void {
|
||||
Route::get('report-jobs', ReportJobIndexController::class)
|
||||
->name('api.v1.admin.report-jobs.index');
|
||||
|
||||
@@ -13,7 +13,7 @@ use App\Http\Controllers\Api\V1\Admin\User\AdminUserPermissionSyncController;
|
||||
/**
|
||||
* 管理员账号与权限管理路由。
|
||||
*/
|
||||
Route::middleware('admin.permission:prd.admin_user.manage')
|
||||
Route::middleware(['admin.api-resource', 'admin.permission:prd.admin_user.manage'])
|
||||
->group(function (): void {
|
||||
Route::get('admin-users', AdminUserIndexController::class)
|
||||
->name('api.v1.admin.admin-users.index');
|
||||
|
||||
@@ -14,7 +14,7 @@ use App\Http\Controllers\Api\V1\Admin\Wallet\WalletTransactionListController;
|
||||
*/
|
||||
|
||||
// 钱包对账查看
|
||||
Route::middleware('admin.permission:prd.wallet_reconcile.manage|prd.wallet_reconcile.view|prd.wallet_reconcile.view_cs')
|
||||
Route::middleware(['admin.api-resource', 'admin.permission:prd.wallet_reconcile.manage|prd.wallet_reconcile.view|prd.wallet_reconcile.view_cs'])
|
||||
->group(function (): void {
|
||||
Route::get('wallet/transfer-orders', TransferOrderListController::class)
|
||||
->name('api.v1.admin.wallet.transfer-orders');
|
||||
@@ -30,7 +30,7 @@ Route::middleware('admin.permission:prd.wallet_reconcile.manage|prd.wallet_recon
|
||||
});
|
||||
|
||||
// 对账操作(仅管理权限)
|
||||
Route::middleware('admin.permission:prd.wallet_reconcile.manage')
|
||||
Route::middleware(['admin.api-resource', 'admin.permission:prd.wallet_reconcile.manage'])
|
||||
->group(function (): void {
|
||||
Route::post('wallet/transfer-orders/{transfer_no}/reverse', [TransferOrderReconcileController::class, 'reverse'])
|
||||
->name('api.v1.admin.wallet.transfer-orders.reverse');
|
||||
@@ -39,6 +39,6 @@ Route::middleware('admin.permission:prd.wallet_reconcile.manage')
|
||||
});
|
||||
|
||||
// 对账任务创建(仅管理权限)
|
||||
Route::middleware('admin.permission:prd.wallet_reconcile.manage')
|
||||
Route::middleware(['admin.api-resource', 'admin.permission:prd.wallet_reconcile.manage'])
|
||||
->post('reconcile-jobs', ReconcileJobStoreController::class)
|
||||
->name('api.v1.admin.reconcile-jobs.store');
|
||||
|
||||
Reference in New Issue
Block a user