|
|
|
<?php
|
|
|
|
/**
|
|
|
|
* @remark :
|
|
|
|
* @name :AiDomainTask.php
|
|
|
|
* @author :lyh
|
|
|
|
* @method :post
|
|
|
|
* @time :2025/6/19 10:53
|
|
|
|
*/
|
|
|
|
|
|
|
|
namespace App\Console\Commands\Ai;
|
|
|
|
|
|
|
|
use App\Models\Domain\DomainInfo;
|
|
|
|
use Illuminate\Console\Command;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @remark :拉取项目Ai域名
|
|
|
|
* @name :AiDomainTask
|
|
|
|
* @author :lyh
|
|
|
|
* @method :post
|
|
|
|
* @time :2025/6/19 10:54
|
|
|
|
*/
|
|
|
|
class AiDomainTask extends Command
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* The name and signature of the console command.
|
|
|
|
*
|
|
|
|
* @var string
|
|
|
|
*/
|
|
|
|
protected $signature = 'ai_domain';
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The console command description.
|
|
|
|
*
|
|
|
|
* @var string
|
|
|
|
*/
|
|
|
|
protected $description = '获取对应域名的ai复制站域名';
|
|
|
|
|
|
|
|
public $url = 'https://www.cmer.site/api/globalso_site';
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @remark :执行方法
|
|
|
|
* @name :handle
|
|
|
|
* @author :lyh
|
|
|
|
* @method :post
|
|
|
|
* @time :2025/6/19 11:32
|
|
|
|
*/
|
|
|
|
public function handle(){
|
|
|
|
$pageSize = 300;
|
|
|
|
$page = 1;
|
|
|
|
$res = http_get($this->url.'?pagesize='.$pageSize.'&page='.$page);
|
|
|
|
if($res['status'] != 200){
|
|
|
|
echo date('Y-m-d H:i:s').'请求失败,状态码错误'.PHP_EOL;
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
if(empty($res['data']['data'])){
|
|
|
|
echo date('Y-m-d H:i:s').'请求失败,未拉取到数据'.PHP_EOL;
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
$data = $res['data']['data'];
|
|
|
|
while($page <= $res['data']['last_page']){
|
|
|
|
$res = http_get($this->url.'?pagesize='.$pageSize.'&page='.$page);
|
|
|
|
if($res['status'] != 200){
|
|
|
|
echo date('Y-m-d H:i:s').'第'.$page.'请求失败,未拉取到数据'.PHP_EOL;
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
$data = array_values(array_merge($data,$res['data']['data']));
|
|
|
|
$page++;
|
|
|
|
}
|
|
|
|
//处理数据
|
|
|
|
$this->handleData($data);
|
|
|
|
echo 'end'.PHP_EOL;
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @remark :处理数据
|
|
|
|
* @name :handleData
|
|
|
|
* @author :lyh
|
|
|
|
* @method :post
|
|
|
|
* @time :2025/6/19 11:21
|
|
|
|
*/
|
|
|
|
public function handleData($data){
|
|
|
|
$domainInfoModel = new DomainInfo();
|
|
|
|
foreach ($data as $item){
|
|
|
|
$info = $domainInfoModel->read(['domain'=>$item['domain']],'id');
|
|
|
|
if($info === false){
|
|
|
|
$info = $domainInfoModel->read(['domain'=>$item['globalso_domain']],'id');
|
|
|
|
if($info !== false){
|
|
|
|
$domainInfoModel->edit(['ai_domain'=>$item['domain']],['id'=>$info['id']]);
|
|
|
|
}
|
|
|
|
}else{
|
|
|
|
$domainInfoModel->edit(['ai_domain'=>$item['globalso_domain']],['id'=>$info['id']]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
} |
...
|
...
|
|