合并分支 'akun' 到 'master'
Akun 查看合并请求 !1059
正在显示
1 个修改的文件
包含
83 行增加
和
0 行删除
| @@ -4,7 +4,9 @@ namespace App\Console\Commands\Test; | @@ -4,7 +4,9 @@ namespace App\Console\Commands\Test; | ||
| 4 | 4 | ||
| 5 | use App\Helper\Arr; | 5 | use App\Helper\Arr; |
| 6 | use App\Models\Com\Notify; | 6 | use App\Models\Com\Notify; |
| 7 | +use App\Models\Devops\ServerConfig; | ||
| 7 | use App\Models\Devops\ServersIp; | 8 | use App\Models\Devops\ServersIp; |
| 9 | +use App\Models\Domain\DomainCreateTask; | ||
| 8 | use App\Models\Domain\DomainInfo; | 10 | use App\Models\Domain\DomainInfo; |
| 9 | use App\Models\Product\Keyword; | 11 | use App\Models\Product\Keyword; |
| 10 | use App\Models\Product\KeywordRelated; | 12 | use App\Models\Product\KeywordRelated; |
| @@ -33,7 +35,88 @@ class Temp extends Command | @@ -33,7 +35,88 @@ class Temp extends Command | ||
| 33 | 35 | ||
| 34 | public function handle() | 36 | public function handle() |
| 35 | { | 37 | { |
| 38 | + $this->create_domain_task(); | ||
| 39 | + } | ||
| 40 | + | ||
| 41 | + /** | ||
| 42 | + * 创建所有站点建站任务 | ||
| 43 | + * @author Akun | ||
| 44 | + * @date 2025/01/27 9:48 | ||
| 45 | + */ | ||
| 46 | + public function create_domain_task() | ||
| 47 | + { | ||
| 48 | + $domainModel = new DomainInfo(); | ||
| 49 | + $projectModel = new Project(); | ||
| 50 | + $serverIpModel = new ServersIp(); | ||
| 51 | + $domainCreateTaskModel = new DomainCreateTask(); | ||
| 52 | + $list = $domainModel->select(['id', 'domain', 'project_id', 'amp_status'])->where('status', '=', 1)->where('project_id', '>', 0)->get()->toArray(); | ||
| 53 | + foreach ($list as $v) { | ||
| 54 | + $project_info = $projectModel->read(['id' => $v['project_id']], ['serve_id']); | ||
| 55 | + if (!$project_info) { | ||
| 56 | + continue; | ||
| 57 | + } | ||
| 58 | + | ||
| 59 | + $servers_ip_info = $serverIpModel->read(['id' => $project_info['serve_id']], ['servers_id', 'ip', 'domain']); | ||
| 60 | + if (!$servers_ip_info) { | ||
| 61 | + continue; | ||
| 62 | + } | ||
| 63 | + | ||
| 64 | + //过滤测试项目域名 | ||
| 65 | + if ($servers_ip_info['servers_id'] == ServerConfig::SELF_TEST_ID) { | ||
| 66 | + continue; | ||
| 67 | + } | ||
| 36 | 68 | ||
| 69 | + //过滤自建站项目域名 | ||
| 70 | + if ($servers_ip_info['servers_id'] == ServerConfig::SELF_SITE_ID) { | ||
| 71 | + continue; | ||
| 72 | + } | ||
| 73 | + | ||
| 74 | + //过滤已解析到别的ip的域名 | ||
| 75 | + if (!check_domain_record($v['domain'], $servers_ip_info)) { | ||
| 76 | + continue; | ||
| 77 | + } | ||
| 78 | + | ||
| 79 | + //创建更新站点证书任务 | ||
| 80 | + $task_info = $domainCreateTaskModel->read(['type' => DomainCreateTask::TYPE_MAIN, 'domain_id' => $v['id'], 'status' => ['<', DomainCreateTask::STATUS_SUC]]); | ||
| 81 | + if (!$task_info) { | ||
| 82 | + $domainCreateTaskModel->add([ | ||
| 83 | + 'server_id' => $servers_ip_info['servers_id'], | ||
| 84 | + 'project_id' => $v['project_id'], | ||
| 85 | + 'domain_id' => $v['id'], | ||
| 86 | + 'type' => DomainCreateTask::TYPE_MAIN | ||
| 87 | + ]); | ||
| 88 | + } | ||
| 89 | + | ||
| 90 | + if ($v['amp_status']) { | ||
| 91 | + $domain_array = parse_url($v['domain']); | ||
| 92 | + $host = $domain_array['host'] ?? $domain_array['path']; | ||
| 93 | + $host_array = explode('.', $host); | ||
| 94 | + if (count($host_array) <= 2) { | ||
| 95 | + array_unshift($host_array, 'm'); | ||
| 96 | + } else { | ||
| 97 | + $host_array[0] = 'm'; | ||
| 98 | + } | ||
| 99 | + $amp_domain = implode('.', $host_array); | ||
| 100 | + | ||
| 101 | + //过滤已解析到别的ip的AMP域名 | ||
| 102 | + if (!check_domain_record($amp_domain, $servers_ip_info)) { | ||
| 103 | + continue; | ||
| 104 | + } | ||
| 105 | + | ||
| 106 | + //创建更新AMP站点证书任务 | ||
| 107 | + $task_info_amp = $domainCreateTaskModel->read(['type' => DomainCreateTask::TYPE_AMP, 'domain_id' => $v['id'], 'status' => ['<', DomainCreateTask::STATUS_SUC]]); | ||
| 108 | + if (!$task_info_amp) { | ||
| 109 | + $domainCreateTaskModel->add([ | ||
| 110 | + 'server_id' => $servers_ip_info['servers_id'], | ||
| 111 | + 'project_id' => $v['project_id'], | ||
| 112 | + 'domain_id' => $v['id'], | ||
| 113 | + 'type' => DomainCreateTask::TYPE_AMP | ||
| 114 | + ]); | ||
| 115 | + } | ||
| 116 | + } | ||
| 117 | + | ||
| 118 | + $this->output($v['id'] . ' , success'); | ||
| 119 | + } | ||
| 37 | } | 120 | } |
| 38 | 121 | ||
| 39 | /** | 122 | /** |
-
请 注册 或 登录 后发表评论