|
...
|
...
|
@@ -4,7 +4,9 @@ namespace App\Console\Commands\Test; |
|
|
|
|
|
|
|
use App\Helper\Arr;
|
|
|
|
use App\Models\Com\Notify;
|
|
|
|
use App\Models\Devops\ServerConfig;
|
|
|
|
use App\Models\Devops\ServersIp;
|
|
|
|
use App\Models\Domain\DomainCreateTask;
|
|
|
|
use App\Models\Domain\DomainInfo;
|
|
|
|
use App\Models\Product\Keyword;
|
|
|
|
use App\Models\Product\KeywordRelated;
|
|
...
|
...
|
@@ -33,7 +35,88 @@ class Temp extends Command |
|
|
|
|
|
|
|
public function handle()
|
|
|
|
{
|
|
|
|
$this->create_domain_task();
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 创建所有站点建站任务
|
|
|
|
* @author Akun
|
|
|
|
* @date 2025/01/27 9:48
|
|
|
|
*/
|
|
|
|
public function create_domain_task()
|
|
|
|
{
|
|
|
|
$domainModel = new DomainInfo();
|
|
|
|
$projectModel = new Project();
|
|
|
|
$serverIpModel = new ServersIp();
|
|
|
|
$domainCreateTaskModel = new DomainCreateTask();
|
|
|
|
$list = $domainModel->select(['id', 'domain', 'project_id', 'amp_status'])->where('status', '=', 1)->where('project_id', '>', 0)->get()->toArray();
|
|
|
|
foreach ($list as $v) {
|
|
|
|
$project_info = $projectModel->read(['id' => $v['project_id']], ['serve_id']);
|
|
|
|
if (!$project_info) {
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
|
|
|
|
$servers_ip_info = $serverIpModel->read(['id' => $project_info['serve_id']], ['servers_id', 'ip', 'domain']);
|
|
|
|
if (!$servers_ip_info) {
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
|
|
|
|
//过滤测试项目域名
|
|
|
|
if ($servers_ip_info['servers_id'] == ServerConfig::SELF_TEST_ID) {
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
|
|
|
|
//过滤自建站项目域名
|
|
|
|
if ($servers_ip_info['servers_id'] == ServerConfig::SELF_SITE_ID) {
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
|
|
|
|
//过滤已解析到别的ip的域名
|
|
|
|
if (!check_domain_record($v['domain'], $servers_ip_info)) {
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
|
|
|
|
//创建更新站点证书任务
|
|
|
|
$task_info = $domainCreateTaskModel->read(['type' => DomainCreateTask::TYPE_MAIN, 'domain_id' => $v['id'], 'status' => ['<', DomainCreateTask::STATUS_SUC]]);
|
|
|
|
if (!$task_info) {
|
|
|
|
$domainCreateTaskModel->add([
|
|
|
|
'server_id' => $servers_ip_info['servers_id'],
|
|
|
|
'project_id' => $v['project_id'],
|
|
|
|
'domain_id' => $v['id'],
|
|
|
|
'type' => DomainCreateTask::TYPE_MAIN
|
|
|
|
]);
|
|
|
|
}
|
|
|
|
|
|
|
|
if ($v['amp_status']) {
|
|
|
|
$domain_array = parse_url($v['domain']);
|
|
|
|
$host = $domain_array['host'] ?? $domain_array['path'];
|
|
|
|
$host_array = explode('.', $host);
|
|
|
|
if (count($host_array) <= 2) {
|
|
|
|
array_unshift($host_array, 'm');
|
|
|
|
} else {
|
|
|
|
$host_array[0] = 'm';
|
|
|
|
}
|
|
|
|
$amp_domain = implode('.', $host_array);
|
|
|
|
|
|
|
|
//过滤已解析到别的ip的AMP域名
|
|
|
|
if (!check_domain_record($amp_domain, $servers_ip_info)) {
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
|
|
|
|
//创建更新AMP站点证书任务
|
|
|
|
$task_info_amp = $domainCreateTaskModel->read(['type' => DomainCreateTask::TYPE_AMP, 'domain_id' => $v['id'], 'status' => ['<', DomainCreateTask::STATUS_SUC]]);
|
|
|
|
if (!$task_info_amp) {
|
|
|
|
$domainCreateTaskModel->add([
|
|
|
|
'server_id' => $servers_ip_info['servers_id'],
|
|
|
|
'project_id' => $v['project_id'],
|
|
|
|
'domain_id' => $v['id'],
|
|
|
|
'type' => DomainCreateTask::TYPE_AMP
|
|
|
|
]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
$this->output($v['id'] . ' , success');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
...
|
...
|
|