|
...
|
...
|
@@ -4,7 +4,6 @@ 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\DomainInfo;
|
|
|
|
use App\Models\Product\Keyword;
|
|
...
|
...
|
@@ -34,7 +33,7 @@ class Temp extends Command |
|
|
|
|
|
|
|
public function handle()
|
|
|
|
{
|
|
|
|
|
|
|
|
$this->create_all_amp_notify();
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
...
|
...
|
@@ -433,6 +432,16 @@ class Temp extends Command |
|
|
|
$project_id = $domain_info->project_id;
|
|
|
|
$domain = $domain_info->domain;
|
|
|
|
|
|
|
|
$domain_array = parse_url($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);
|
|
|
|
|
|
|
|
$this->output('项目id:' . $project_id . ',start');
|
|
|
|
|
|
|
|
//获取项目所在服务器
|
|
...
|
...
|
@@ -441,54 +450,32 @@ class Temp extends Command |
|
|
|
$this->output('未查询到项目数据');
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
$serve_ip_info = $serve_ip_model->read(['id' => $project_info['serve_id']], ['servers_id']);
|
|
|
|
$serve_ip_info = $serve_ip_model->read(['id' => $project_info['serve_id']], ['servers_id', 'domain', 'ip']);
|
|
|
|
if (!$serve_ip_info) {
|
|
|
|
$this->output('未查询到服务器数据');
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
$servers_id = $serve_ip_info['servers_id'];
|
|
|
|
if (!check_domain_record($amp_domain, $serve_ip_info)) {
|
|
|
|
$this->output('未解析到目标服务器');
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
|
|
|
|
if ($servers_id == ServerConfig::SELF_SITE_ID) {
|
|
|
|
//自建站服务器:如果项目已经上线,不请求C端接口,数据直接入库
|
|
|
|
//判断是否已有更新进行中
|
|
|
|
$data = [
|
|
|
|
'project_id' => $project_id,
|
|
|
|
'type' => 3,
|
|
|
|
'route' => 1,
|
|
|
|
'server_id' => ServerConfig::SELF_SITE_ID,
|
|
|
|
'server_id' => $serve_ip_info['servers_id'],
|
|
|
|
'status' => ['!=', Notify::STATUS_FINISH_SITEMAP]
|
|
|
|
];
|
|
|
|
$notify = $notify_model->read($data, ['id']);
|
|
|
|
|
|
|
|
if (!$notify) {
|
|
|
|
$domain_array = parse_url($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';
|
|
|
|
}
|
|
|
|
$domain = implode('.', $host_array);
|
|
|
|
|
|
|
|
$data['data'] = Arr::a2s(['domain' => $domain, 'url' => [], 'language' => []]);
|
|
|
|
$data['data'] = Arr::a2s(['domain' => $amp_domain, 'url' => [], 'language' => []]);
|
|
|
|
$data['status'] = Notify::STATUS_INIT;
|
|
|
|
$notify_model->add($data);
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
//其他服务器:请求对应C端接口
|
|
|
|
$c_url = 'https://' . $domain . '/api/update_page/';
|
|
|
|
$c_params = [
|
|
|
|
'project_id' => $project_id,
|
|
|
|
'type' => 3
|
|
|
|
];
|
|
|
|
$re = http_post($c_url, json_encode($c_params), [], true);
|
|
|
|
if (isset($re['status']) && $re['status'] == 200) {
|
|
|
|
$this->output($c_url . ' | 请求成功');
|
|
|
|
} else {
|
|
|
|
$this->output($c_url . ' | ' . ($re['message'] ?? '未返回失败原因'));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
$this->output('项目id:' . $project_id . ',end');
|
|
|
|
}
|
|
|
|
}
|
...
|
...
|
|