作者 刘锟

合并分支 'akun' 到 'master'

Akun



查看合并请求 !1128
@@ -37,7 +37,7 @@ class Temp extends Command @@ -37,7 +37,7 @@ class Temp extends Command
37 37
38 public function handle() 38 public function handle()
39 { 39 {
40 - $this->check_no_cname_projects(); 40 + $this->check_cname_projects();
41 } 41 }
42 42
43 /** 43 /**
@@ -425,6 +425,58 @@ class Temp extends Command @@ -425,6 +425,58 @@ class Temp extends Command
425 } 425 }
426 } 426 }
427 427
  428 + /**
  429 + * 检查服务器上解析cname的项目
  430 + * @author Akun
  431 + * @date 2025/02/17 14:21
  432 + */
  433 + public function check_cname_projects()
  434 + {
  435 + $server_id = 1;
  436 + $server_name = '硅谷云服务器';
  437 +
  438 + $server_ip_model = new ServersIp();
  439 +
  440 + $server_ip_ids = $server_ip_model->where('servers_id', $server_id)->get()->pluck('id')->toArray();
  441 +
  442 + $project_list = Project::select(['id', 'serve_id', 'title'])->whereIn('serve_id', $server_ip_ids)->get();
  443 +
  444 + $domain_model = new DomainInfo();
  445 + $data = [];
  446 + foreach ($project_list as $value) {
  447 + $domain_info = $domain_model->read(['project_id' => $value->id, 'status' => 1], ['id', 'domain']);
  448 + if (!$domain_info) {
  449 + //过滤未绑定正式域名的项目
  450 + continue;
  451 + }
  452 + $domain = $domain_info['domain'];
  453 +
  454 + $check = dns_get_record($domain, DNS_A);
  455 + $ip = $check[0]['ip'] ?? '';
  456 + $host = $check[0]['host'] ?? '';
  457 + if ($host == 'cname.globalso.com') {
  458 + $data[] = [
  459 + $value->id,
  460 + $value->title,
  461 + $domain,
  462 + $ip
  463 + ];
  464 + }
  465 + }
  466 + $map = ['项目id', '名称', '域名', '解析IP'];
  467 + if ($data) {
  468 + $table = new BatchExportService($server_name . '解析cname的项目');
  469 + $file = $table->head($map)->data($data)->save();
  470 + if (!$file) {
  471 + $this->output('文件生成失败,请重试');
  472 + } else {
  473 + $this->output('export success');
  474 + }
  475 + } else {
  476 + $this->output('no data');
  477 + }
  478 + }
  479 +
428 480
429 /** 481 /**
430 * 检查不在所属服务器解析上的域名 482 * 检查不在所属服务器解析上的域名