Files
lotteryLaravel/routes/api/v1/admin/agent-settlement.php
kang a44679665d feat: 增强代理和玩家管理功能
- 在多个控制器中更新权限检查逻辑,确保管理员能够更灵活地管理代理和玩家。
- 在 AdminPlayerStoreController 中引入对玩家创建能力的验证,确保只有具备相应权限的管理员能够创建玩家。
- 更新请求验证逻辑,新增 credit_limit、rebate_rate 和 extra_rebate_rate 字段,以支持更细粒度的玩家管理。
- 在 AgentNodeProfileController 中添加对父代理能力授予的验证,确保子代理的权限在父代理范围内。
- 引入 AgentProfileFieldRules 以简化代理资料更新请求的规则定义,提升代码复用性。
2026-06-04 18:00:50 +08:00

50 lines
3.6 KiB
PHP

<?php
use App\Http\Controllers\Api\V1\Admin\AgentSettlement\AdminCreditLedgerIndexController;
use App\Http\Controllers\Api\V1\Admin\AgentSettlement\AgentSettlementAdjustmentIndexController;
use App\Http\Controllers\Api\V1\Admin\AgentSettlement\AgentSettlementBillAdjustmentController;
use App\Http\Controllers\Api\V1\Admin\AgentSettlement\AgentSettlementBillBadDebtWriteOffController;
use App\Http\Controllers\Api\V1\Admin\AgentSettlement\AgentSettlementPaymentIndexController;
use App\Http\Controllers\Api\V1\Admin\AgentSettlement\AgentSettlementBillConfirmController;
use App\Http\Controllers\Api\V1\Admin\AgentSettlement\AgentSettlementBillIndexController;
use App\Http\Controllers\Api\V1\Admin\AgentSettlement\AgentSettlementBillPaymentController;
use App\Http\Controllers\Api\V1\Admin\AgentSettlement\AgentSettlementBillShowController;
use App\Http\Controllers\Api\V1\Admin\AgentSettlement\AgentSettlementPeriodCloseController;
use App\Http\Controllers\Api\V1\Admin\AgentSettlement\AgentSettlementPeriodIndexController;
use App\Http\Controllers\Api\V1\Admin\AgentSettlement\AgentSettlementPeriodStoreController;
use App\Http\Controllers\Api\V1\Admin\AgentSettlement\AgentSettlementReportIndexController;
use App\Http\Controllers\Api\V1\Admin\AgentSettlement\AgentSettlementReportShowController;
use Illuminate\Support\Facades\Route;
Route::middleware('admin.api-resource')
->group(function (): void {
Route::get('settlement-periods', AgentSettlementPeriodIndexController::class)
->name('api.v1.admin.settlement-periods.index');
Route::post('settlement-periods', AgentSettlementPeriodStoreController::class)
->name('api.v1.admin.settlement-periods.store');
Route::post('settlement-periods/{settlement_period}/close', AgentSettlementPeriodCloseController::class)
->name('api.v1.admin.settlement-periods.close');
Route::get('credit-ledger', AdminCreditLedgerIndexController::class)
->name('api.v1.admin.credit-ledger.index');
Route::get('settlement-bills', AgentSettlementBillIndexController::class)
->name('api.v1.admin.settlement-bills.index');
Route::get('settlement-payments', AgentSettlementPaymentIndexController::class)
->name('api.v1.admin.settlement-payments.index');
Route::get('settlement-adjustments', AgentSettlementAdjustmentIndexController::class)
->name('api.v1.admin.settlement-adjustments.index');
Route::get('settlement-bills/{settlement_bill}', AgentSettlementBillShowController::class)
->name('api.v1.admin.settlement-bills.show');
Route::post('settlement-bills/{settlement_bill}/confirm', AgentSettlementBillConfirmController::class)
->name('api.v1.admin.settlement-bills.confirm');
Route::post('settlement-bills/{settlement_bill}/payments', AgentSettlementBillPaymentController::class)
->name('api.v1.admin.settlement-bills.payments');
Route::post('settlement-bills/{settlement_bill}/adjustments', AgentSettlementBillAdjustmentController::class)
->name('api.v1.admin.settlement-bills.adjustments');
Route::post('settlement-bills/{settlement_bill}/bad-debt-write-off', AgentSettlementBillBadDebtWriteOffController::class)
->name('api.v1.admin.settlement-bills.bad-debt-write-off');
Route::get('settlement-reports/summary', AgentSettlementReportIndexController::class)
->name('api.v1.admin.settlement-reports.summary');
Route::get('settlement-reports', AgentSettlementReportShowController::class)
->name('api.v1.admin.settlement-reports.show');
});