refactor:拆分 API 路由与请求校验,统一 final 类和代码风格
This commit is contained in:
@@ -2,12 +2,13 @@
|
||||
|
||||
namespace App\Http\Controllers\Api\V1\Admin\Player;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\Player;
|
||||
use App\Models\TicketItem;
|
||||
use App\Support\ApiResponse;
|
||||
use App\Support\PaginationTrait;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\Admin\AdminPlayerTicketItemsRequest;
|
||||
|
||||
/**
|
||||
* GET /api/v1/admin/players/{player}/ticket-items — 客服/财务按玩家查注单(PRD §15.4)。
|
||||
@@ -16,17 +17,16 @@ use Illuminate\Http\Request;
|
||||
*/
|
||||
final class AdminPlayerTicketItemsIndexController extends Controller
|
||||
{
|
||||
public function __invoke(Request $request, Player $player): JsonResponse
|
||||
{
|
||||
$validated = validator($request->query(), [
|
||||
'page' => ['sometimes', 'integer', 'min:1'],
|
||||
'per_page' => ['sometimes', 'integer', 'min:1', 'max:50'],
|
||||
'draw_no' => ['sometimes', 'nullable', 'string', 'max:32'],
|
||||
])->validate();
|
||||
use PaginationTrait;
|
||||
|
||||
$perPage = max(1, min(50, (int) ($validated['per_page'] ?? 20)));
|
||||
$page = max(1, (int) ($validated['page'] ?? 1));
|
||||
$drawNo = isset($validated['draw_no']) ? trim((string) $validated['draw_no']) : '';
|
||||
public function __invoke(AdminPlayerTicketItemsRequest $request, Player $player): JsonResponse
|
||||
{
|
||||
$perPage = $this->perPage($request, 'per_page', 20, 50);
|
||||
$page = $this->page($request);
|
||||
$drawNo = $request->validated('draw_no');
|
||||
if (is_string($drawNo)) {
|
||||
$drawNo = trim($drawNo);
|
||||
}
|
||||
|
||||
$query = TicketItem::query()
|
||||
->where('ticket_items.player_id', $player->id)
|
||||
|
||||
Reference in New Issue
Block a user