作者 刘锟

合并分支 'akun' 到 'master'

Akun



查看合并请求 !977
@@ -35,7 +35,96 @@ class Temp extends Command @@ -35,7 +35,96 @@ class Temp extends Command
35 35
36 public function handle() 36 public function handle()
37 { 37 {
38 - $this->relation_all_keywords(); 38 + $this->create_server_update_page();
  39 +// $servers_id = 14;
  40 +//
  41 +// $arr = [
  42 +// '173.245.87.74',
  43 +// '173.245.87.75',
  44 +// '173.245.87.76',
  45 +// '173.245.87.77',
  46 +// '173.245.87.78',
  47 +// ];
  48 +//
  49 +// $ip1 = '50.117.43.';
  50 +//
  51 +// for ($i = 2; $i <= 254; $i++) {
  52 +// $arr[] = $ip1 . $i;
  53 +// }
  54 +//
  55 +// $ip2 = '50.117.118.';
  56 +//
  57 +// for ($j = 2; $j <= 254; $j++) {
  58 +// $arr[] = $ip2 . $j;
  59 +// }
  60 +//
  61 +// $server_ips = ServersIp::where('servers_id', $servers_id)->get();
  62 +//
  63 +// foreach ($server_ips as $k => $item) {
  64 +// $item->ip = $arr[$k];
  65 +// $item->save();
  66 +// }
  67 +//
  68 +// $this->output('success');
  69 + }
  70 +
  71 + /**
  72 + * 创建指定服务器所有项目主站生成任务
  73 + * @author Akun
  74 + * @date 2024/12/19 17:54
  75 + */
  76 + public function create_server_update_page()
  77 + {
  78 + $server_id = 15;
  79 +
  80 + $server_ip_model = new ServersIp();
  81 +
  82 + $server_ip_ids = $server_ip_model->where('servers_id', $server_id)->get()->pluck('id')->toArray();
  83 +
  84 + $project_list = Project::select(['id', 'serve_id'])->whereIn('serve_id', $server_ip_ids)->get();
  85 +
  86 + $domain_model = new DomainInfo();
  87 + $notify_model = new Notify();
  88 +
  89 + foreach ($project_list as $value) {
  90 + $project_id = $value->id;
  91 +
  92 + $domain_info = $domain_model->read(['project_id' => $project_id, 'status' => 1], ['id', 'domain']);
  93 + if (!$domain_info) {
  94 + //过滤未绑定正式域名的项目
  95 + continue;
  96 + }
  97 + $domain = $domain_info['domain'];
  98 +
  99 + //获取项目所在服务器
  100 + $serve_ip_info = $server_ip_model->read(['id' => $value->serve_id], ['domain', 'ip']);
  101 + if (!$serve_ip_info) {
  102 + $this->output('项目id:' . $project_id . ' | 未查询到服务器数据');
  103 + continue;
  104 + }
  105 +
  106 + if (!check_domain_record($domain, $serve_ip_info)) {
  107 + $this->output('项目id:' . $project_id . ', domain:' . $domain . ' | 未解析到目标服务器');
  108 + continue;
  109 + }
  110 +
  111 + $data = [
  112 + 'project_id' => $project_id,
  113 + 'type' => 1,
  114 + 'route' => 1,
  115 + 'server_id' => $server_id,
  116 + 'status' => ['!=', Notify::STATUS_FINISH_SITEMAP]
  117 + ];
  118 + $notify = $notify_model->read($data, ['id']);
  119 +
  120 + if (!$notify) {
  121 + $data['data'] = Arr::a2s(['domain' => $domain, 'url' => null, 'language' => []]);
  122 + $data['status'] = Notify::STATUS_INIT;
  123 + $notify_model->add($data);
  124 +
  125 + $this->output('项目id:' . $project_id . ' | success');
  126 + }
  127 + }
39 } 128 }
40 129
41 /** 130 /**