作者 刘锟

合并分支 'akun' 到 'master'

Akun



查看合并请求 !977
... ... @@ -35,7 +35,96 @@ class Temp extends Command
public function handle()
{
$this->relation_all_keywords();
$this->create_server_update_page();
// $servers_id = 14;
//
// $arr = [
// '173.245.87.74',
// '173.245.87.75',
// '173.245.87.76',
// '173.245.87.77',
// '173.245.87.78',
// ];
//
// $ip1 = '50.117.43.';
//
// for ($i = 2; $i <= 254; $i++) {
// $arr[] = $ip1 . $i;
// }
//
// $ip2 = '50.117.118.';
//
// for ($j = 2; $j <= 254; $j++) {
// $arr[] = $ip2 . $j;
// }
//
// $server_ips = ServersIp::where('servers_id', $servers_id)->get();
//
// foreach ($server_ips as $k => $item) {
// $item->ip = $arr[$k];
// $item->save();
// }
//
// $this->output('success');
}
/**
* 创建指定服务器所有项目主站生成任务
* @author Akun
* @date 2024/12/19 17:54
*/
public function create_server_update_page()
{
$server_id = 15;
$server_ip_model = new ServersIp();
$server_ip_ids = $server_ip_model->where('servers_id', $server_id)->get()->pluck('id')->toArray();
$project_list = Project::select(['id', 'serve_id'])->whereIn('serve_id', $server_ip_ids)->get();
$domain_model = new DomainInfo();
$notify_model = new Notify();
foreach ($project_list as $value) {
$project_id = $value->id;
$domain_info = $domain_model->read(['project_id' => $project_id, 'status' => 1], ['id', 'domain']);
if (!$domain_info) {
//过滤未绑定正式域名的项目
continue;
}
$domain = $domain_info['domain'];
//获取项目所在服务器
$serve_ip_info = $server_ip_model->read(['id' => $value->serve_id], ['domain', 'ip']);
if (!$serve_ip_info) {
$this->output('项目id:' . $project_id . ' | 未查询到服务器数据');
continue;
}
if (!check_domain_record($domain, $serve_ip_info)) {
$this->output('项目id:' . $project_id . ', domain:' . $domain . ' | 未解析到目标服务器');
continue;
}
$data = [
'project_id' => $project_id,
'type' => 1,
'route' => 1,
'server_id' => $server_id,
'status' => ['!=', Notify::STATUS_FINISH_SITEMAP]
];
$notify = $notify_model->read($data, ['id']);
if (!$notify) {
$data['data'] = Arr::a2s(['domain' => $domain, 'url' => null, 'language' => []]);
$data['status'] = Notify::STATUS_INIT;
$notify_model->add($data);
$this->output('项目id:' . $project_id . ' | success');
}
}
}
/**
... ...