|
...
|
...
|
@@ -10,6 +10,7 @@ |
|
|
|
namespace App\Console\Commands\GoogleSearch;
|
|
|
|
|
|
|
|
use App\Models\Com\NoticeLog;
|
|
|
|
use App\Models\Domain\DomainInfo;
|
|
|
|
use App\Models\GoogleSearch\GoogleSearch;
|
|
|
|
use App\Models\GoogleSearch\GoogleSearchDetail;
|
|
|
|
use App\Models\Project\Project;
|
|
...
|
...
|
@@ -49,23 +50,19 @@ class GoogleSearchKeyword extends Command |
|
|
|
* @time :2025/3/31 11:37
|
|
|
|
*/
|
|
|
|
public function handle(){
|
|
|
|
$noticeModel = new NoticeLog();
|
|
|
|
while (true){
|
|
|
|
$list = $noticeModel->list(['type'=>['like',NoticeLog::GOOGLE_SEARCH.'_%'],'status'=>NoticeLog::STATUS_PENDING]);;
|
|
|
|
if(empty($list)){
|
|
|
|
sleep(50);
|
|
|
|
return true;
|
|
|
|
$projectModel = new Project();
|
|
|
|
$lists = $projectModel->list(['delete_status' => 0,'type'=>['!=',$projectModel::TYPE_ONE]], 'id', ['id']);
|
|
|
|
$domainModel = new DomainInfo();
|
|
|
|
foreach ($lists as $val) {
|
|
|
|
echo date('Y-m-d H:i:s') . '开始--项目的id:'. $val['id'] . PHP_EOL;
|
|
|
|
$domainInfo = $domainModel->read(['project_id'=>$val['id']]);
|
|
|
|
if($domainInfo === false){
|
|
|
|
echo '域名不存在。'.PHP_EOL;
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
foreach ($list as $val){
|
|
|
|
$data = $val['data'];
|
|
|
|
echo '执行的任务id:'.$val['id'].',项目id:'.$data['project_id']??''.PHP_EOL;
|
|
|
|
$result = $this->_action($data['domain'],$data['type'],$data['project_id']);
|
|
|
|
$status = NoticeLog::STATUS_SUCCESS;
|
|
|
|
if($result === false){
|
|
|
|
$status = NoticeLog::STATUS_FAIL;
|
|
|
|
}
|
|
|
|
$noticeModel->edit(['status'=>$status],['id'=>$val['id']]);
|
|
|
|
echo '任务结束'.PHP_EOL;
|
|
|
|
$typeData = [1=>'date', 2=>'query', 3=>'page', 4=>'device', 5=>'country'];
|
|
|
|
foreach ($typeData as $valT){
|
|
|
|
$this->_action($domainInfo['domain'],$valT,$val['id']);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return true;
|
|
...
|
...
|
@@ -87,7 +84,7 @@ class GoogleSearchKeyword extends Command |
|
|
|
}
|
|
|
|
//保存一条主记录诗句
|
|
|
|
$searchModel = new GoogleSearch();
|
|
|
|
$searchModel->addReturnId(['date'=>date('Y-m-d'),'project_id'=>$project_id,'type'=>$type,'text'=>json_encode($data,true)]);
|
|
|
|
$searchModel->addReturnId(['date'=>date('Y-m-d'),'project_id'=>$project_id,'type'=>$type]);
|
|
|
|
$saveData = [];
|
|
|
|
$clicksNum = array_sum(array_column($data, 'clicks'));
|
|
|
|
$impressionsNum = array_sum(array_column($data, 'impressions'));
|
|
...
|
...
|
@@ -98,7 +95,9 @@ class GoogleSearchKeyword extends Command |
|
|
|
'type'=>$type,
|
|
|
|
'keys'=>$val['keys'][0],
|
|
|
|
'clicks'=>$val['clicks'],
|
|
|
|
'click_rate'=>number_format($val['clicks'] / $clicksNum, 2),
|
|
|
|
'impressions'=>$val['impressions'],
|
|
|
|
'impressions_rate'=>number_format($val['impressions'] / $impressionsNum, 2),
|
|
|
|
'ctr'=>$val['ctr'],
|
|
|
|
'position'=>$val['position'],
|
|
|
|
];
|
...
|
...
|
|