lotteryAdmin(); abort_if($admin === null, 401); if (! AdminIntegrationSiteAccess::canAccess($admin, $admin_site)) { return ApiResponse::error('无权访问该站点', ErrorCode::AdminForbidden->value, null, 403); } $sitePlayerId = trim((string) $request->validated('site_player_id')); $currencyCode = trim((string) ($request->validated('currency_code') ?? $admin_site->currency_code ?? 'NPR')); if ($currencyCode === '') { $currencyCode = 'NPR'; } $player = Player::query() ->where('site_code', $admin_site->code) ->where('site_player_id', $sitePlayerId) ->first(); $playerSource = 'database'; if ($player === null) { $playerSource = 'synthetic'; $player = new Player([ 'site_code' => $admin_site->code, 'site_player_id' => $sitePlayerId, 'default_currency' => $currencyCode, ]); } $probe = $balanceClient->probe($player, $currencyCode); return ApiResponse::success([ 'site_code' => (string) $admin_site->code, 'site_player_id' => $sitePlayerId, 'player_source' => $playerSource, 'probe' => $probe->toArray(), ]); } }