|
@@ -358,40 +358,42 @@ class RankDataLogic extends BaseLogic |
|
@@ -358,40 +358,42 @@ class RankDataLogic extends BaseLogic |
|
358
|
* @date 2023/9/20
|
358
|
* @date 2023/9/20
|
|
359
|
*/
|
359
|
*/
|
|
360
|
public function syncRankData($api_no, $site_res){
|
360
|
public function syncRankData($api_no, $site_res){
|
|
361
|
- $project_id = DeployOptimize::where('api_no', $api_no)->value('project_id');
|
|
|
|
362
|
- $project = Project::find($project_id);
|
|
|
|
363
|
- if(!$project){
|
|
|
|
364
|
- throw new \Exception($api_no . '关联的项目不存在');
|
|
|
|
365
|
- }
|
361
|
+ $project_ids = DeployOptimize::where('api_no', $api_no)->pluck('project_id');
|
|
|
|
362
|
+ foreach ($project_ids as $project_id) {
|
|
|
|
363
|
+ $project = Project::find($project_id);
|
|
|
|
364
|
+ if (!$project) {
|
|
|
|
365
|
+ throw new \Exception($api_no . '关联的项目不存在');
|
|
|
|
366
|
+ }
|
|
366
|
|
367
|
|
|
367
|
- $api = new QuanqiusouApi();
|
368
|
+ $api = new QuanqiusouApi();
|
|
368
|
|
369
|
|
|
369
|
- $model = RankData::where('project_id', $project_id)->where('lang', '')->first();
|
|
|
|
370
|
- if (!$model || $model->updated_date != date('Y-m-d')) {
|
|
|
|
371
|
- $res = $api->getGoogleRank($api_no);
|
|
|
|
372
|
- if(!$res){
|
|
|
|
373
|
- throw new \Exception('接口数据获取失败');
|
|
|
|
374
|
- }
|
|
|
|
375
|
- //收录数
|
|
|
|
376
|
- $indexed_pages_num = $site_res[$api_no] ?? 0;
|
|
|
|
377
|
- $this->save_rank($project_id, $res, $indexed_pages_num);
|
|
|
|
378
|
- }
|
|
|
|
379
|
- //有小语种的
|
|
|
|
380
|
- $lang_list = $api->getLangList();
|
|
|
|
381
|
- if(!empty($lang_list[$api_no])){
|
|
|
|
382
|
- $model = RankData::where('project_id', $project_id)->where('lang', '<>', '')->first();
|
370
|
+ $model = RankData::where('project_id', $project_id)->where('lang', '')->first();
|
|
383
|
if (!$model || $model->updated_date != date('Y-m-d')) {
|
371
|
if (!$model || $model->updated_date != date('Y-m-d')) {
|
|
384
|
- $res = $api->getGoogleRank($api_no, 1);
|
|
|
|
385
|
- if(!$res){
|
372
|
+ $res = $api->getGoogleRank($api_no);
|
|
|
|
373
|
+ if (!$res) {
|
|
386
|
throw new \Exception('接口数据获取失败');
|
374
|
throw new \Exception('接口数据获取失败');
|
|
387
|
}
|
375
|
}
|
|
388
|
- $data = [];
|
|
|
|
389
|
- //不同的小语种取出来
|
|
|
|
390
|
- foreach ($res as $keyword => $v){
|
|
|
|
391
|
- $data[Arr::last($v)['lang']][$keyword] = $v;
|
|
|
|
392
|
- }
|
|
|
|
393
|
- foreach ($data as $lang => $rank){
|
|
|
|
394
|
- $this->save_rank($project_id, $rank, 0, $lang);
|
376
|
+ //收录数
|
|
|
|
377
|
+ $indexed_pages_num = $site_res[$api_no] ?? 0;
|
|
|
|
378
|
+ $this->save_rank($project_id, $res, $indexed_pages_num);
|
|
|
|
379
|
+ }
|
|
|
|
380
|
+ //有小语种的
|
|
|
|
381
|
+ $lang_list = $api->getLangList();
|
|
|
|
382
|
+ if (!empty($lang_list[$api_no])) {
|
|
|
|
383
|
+ $model = RankData::where('project_id', $project_id)->where('lang', '<>', '')->first();
|
|
|
|
384
|
+ if (!$model || $model->updated_date != date('Y-m-d')) {
|
|
|
|
385
|
+ $res = $api->getGoogleRank($api_no, 1);
|
|
|
|
386
|
+ if (!$res) {
|
|
|
|
387
|
+ throw new \Exception('接口数据获取失败');
|
|
|
|
388
|
+ }
|
|
|
|
389
|
+ $data = [];
|
|
|
|
390
|
+ //不同的小语种取出来
|
|
|
|
391
|
+ foreach ($res as $keyword => $v) {
|
|
|
|
392
|
+ $data[Arr::last($v)['lang']][$keyword] = $v;
|
|
|
|
393
|
+ }
|
|
|
|
394
|
+ foreach ($data as $lang => $rank) {
|
|
|
|
395
|
+ $this->save_rank($project_id, $rank, 0, $lang);
|
|
|
|
396
|
+ }
|
|
395
|
}
|
397
|
}
|
|
396
|
}
|
398
|
}
|
|
397
|
}
|
399
|
}
|