Files
lotteryLaravel/app/Http/Controllers/Api/V1/BetProvider/BetProviderIndexController.php
kang cbb18b976f
Some checks failed
lotterLaravel CI / test (push) Has been cancelled
lotterLaravel E2E / e2e-api (push) Has been cancelled
feat(lottery): 扩展传统马来赔率、玩法结算与开注商短码支持
2026-07-10 17:04:28 +08:00

33 lines
1.1 KiB
PHP

<?php
namespace App\Http\Controllers\Api\V1\BetProvider;
use App\Models\BetProvider;
use App\Support\ApiResponse;
use Illuminate\Http\JsonResponse;
use App\Http\Controllers\Controller;
/** GET /api/v1/bet-providers — 玩家端可选开注商。 */
final class BetProviderIndexController extends Controller
{
public function __invoke(): JsonResponse
{
$items = BetProvider::query()
->where('is_enabled', true)
->orderBy('sort_order')
->orderBy('id')
->get(['code', 'name', 'short_code', 'sort_order'])
->map(fn (BetProvider $provider): array => [
'code' => $provider->code,
'name' => $provider->name,
'short_code' => $provider->short_code ?: strtoupper(substr((string) $provider->code, 0, 1)),
'sort_order' => (int) $provider->sort_order,
'is_default' => $provider->code === BetProvider::DEFAULT_CODE,
])
->values()
->all();
return ApiResponse::success(['items' => $items]);
}
}