feat: 新增玩家管理与转账对账相关功能

1.  新增完整的后台玩家管理CRUD接口,包括列表、创建、详情、更新、删除
2.  新增转账订单冲正和人工处理功能,支持待对账订单状态变更
3.  扩展钱包流水和转账订单的状态支持,新增reversed、manually_processed等状态
4.  新增玩家API数据统一输出类,标准化玩家信息返回格式
This commit is contained in:
2026-05-14 10:43:33 +08:00
parent c9c1fecfcf
commit d877b5e37a
19 changed files with 569 additions and 5 deletions

View File

@@ -1,6 +1,11 @@
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Api\V1\Admin\Player\AdminPlayerIndexController;
use App\Http\Controllers\Api\V1\Admin\Player\AdminPlayerStoreController;
use App\Http\Controllers\Api\V1\Admin\Player\AdminPlayerShowController;
use App\Http\Controllers\Api\V1\Admin\Player\AdminPlayerUpdateController;
use App\Http\Controllers\Api\V1\Admin\Player\AdminPlayerDestroyController;
use App\Http\Controllers\Api\V1\Admin\Player\PlayerWalletShowController;
use App\Http\Controllers\Api\V1\Admin\Player\AdminPlayerTicketItemsIndexController;
@@ -9,6 +14,16 @@ use App\Http\Controllers\Api\V1\Admin\Player\AdminPlayerTicketItemsIndexControll
*/
Route::middleware('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');
Route::post('players', AdminPlayerStoreController::class)
->name('api.v1.admin.players.store');
Route::get('players/{player}', AdminPlayerShowController::class)
->name('api.v1.admin.players.show');
Route::put('players/{player}', AdminPlayerUpdateController::class)
->name('api.v1.admin.players.update');
Route::delete('players/{player}', AdminPlayerDestroyController::class)
->name('api.v1.admin.players.destroy');
Route::get('players/{player}/wallets', PlayerWalletShowController::class)
->name('api.v1.admin.players.wallets');
Route::get('players/{player}/ticket-items', AdminPlayerTicketItemsIndexController::class)

View File

@@ -2,6 +2,7 @@
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Api\V1\Admin\Wallet\TransferOrderListController;
use App\Http\Controllers\Api\V1\Admin\Wallet\TransferOrderReconcileController;
use App\Http\Controllers\Api\V1\Admin\Reconcile\ReconcileJobShowController;
use App\Http\Controllers\Api\V1\Admin\Reconcile\ReconcileJobIndexController;
use App\Http\Controllers\Api\V1\Admin\Reconcile\ReconcileJobStoreController;
@@ -20,7 +21,6 @@ Route::middleware('admin.permission:prd.wallet_reconcile.manage|prd.wallet_recon
Route::get('wallet/transactions', WalletTransactionListController::class)
->name('api.v1.admin.wallet.transactions');
// 对账任务查看
Route::get('reconcile-jobs', ReconcileJobIndexController::class)
->name('api.v1.admin.reconcile-jobs.index');
Route::get('reconcile-jobs/{reconcile_job}', ReconcileJobShowController::class)
@@ -29,6 +29,15 @@ Route::middleware('admin.permission:prd.wallet_reconcile.manage|prd.wallet_recon
->name('api.v1.admin.reconcile-jobs.items.index');
});
// 对账操作(仅管理权限)
Route::middleware('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');
Route::post('wallet/transfer-orders/{transfer_no}/manually-process', [TransferOrderReconcileController::class, 'manuallyProcess'])
->name('api.v1.admin.wallet.transfer-orders.manually-process');
});
// 对账任务创建(仅管理权限)
Route::middleware('admin.permission:prd.wallet_reconcile.manage')
->post('reconcile-jobs', ReconcileJobStoreController::class)