domainId); if (!$domain || $domain->plesk_id) { return; } $server = DnsServer::find($domain->dns_manager_server_id); if (!$server) { throw new RuntimeException("Không tìm thấy DNS server #{$domain->dns_manager_server_id} cho domain {$domain->domain_name}"); } $pleskDomain = $plesk->getDomainInfo($server, $domain->domain_name) ?: $plesk->createDomain($server, ['domain_name' => $domain->domain_name]); if (empty($pleskDomain['id'])) { throw new RuntimeException("Không tạo được domain {$domain->domain_name} trên Plesk: " . ($plesk->getLastError() ?? 'không rõ lỗi')); } $domain->forceFill(['plesk_id' => $pleskDomain['id'], 'is_created' => 1])->save(); Log::info('DNS domain provisioned on Plesk', [ 'domain' => $domain->domain_name, 'server_id' => $server->id, 'plesk_id' => $pleskDomain['id'], ]); } public function failed(\Throwable $e): void { Log::error('ProvisionDnsDomainJob failed', ['domain_id' => $this->domainId, 'error' => $e->getMessage()]); } }