作者 刘锟

update

@@ -91,6 +91,13 @@ class ProjectUpdate extends Command @@ -91,6 +91,13 @@ class ProjectUpdate extends Command
91 if ($data_language) { 91 if ($data_language) {
92 $language_list = array_column($data_language, 'short'); 92 $language_list = array_column($data_language, 'short');
93 } 93 }
  94 + //获取所有页面
  95 + $page_list = [];
  96 + $url_page = 'https://' . $domain_arr['host'] . '/wp-content/cache/pages_list.json';
  97 + $data_page = http_get($url_page, ['charset' => 'UTF-8']);
  98 + if ($data_page) {
  99 + $page_list = array_column($data_page, 'path');
  100 + }
94 101
95 //设置数据库 102 //设置数据库
96 $project = ProjectServer::useProject($project_id); 103 $project = ProjectServer::useProject($project_id);
@@ -142,7 +149,7 @@ class ProjectUpdate extends Command @@ -142,7 +149,7 @@ class ProjectUpdate extends Command
142 $id = $keyword['id']; 149 $id = $keyword['id'];
143 } 150 }
144 151
145 - CollectTask::_insert($item['url'], $project_id, RouteMap::SOURCE_PRODUCT_KEYWORD, $id, $link_type, $language_list); 152 + CollectTask::_insert($item['url'], $project_id, RouteMap::SOURCE_PRODUCT_KEYWORD, $id, $link_type, $language_list, $page_list);
146 } 153 }
147 } 154 }
148 } 155 }
@@ -274,7 +281,7 @@ class ProjectUpdate extends Command @@ -274,7 +281,7 @@ class ProjectUpdate extends Command
274 $id = $product['id']; 281 $id = $product['id'];
275 } 282 }
276 283
277 - CollectTask::_insert($item['url'], $project_id, RouteMap::SOURCE_PRODUCT, $id, $link_type, $language_list); 284 + CollectTask::_insert($item['url'], $project_id, RouteMap::SOURCE_PRODUCT, $id, $link_type, $language_list, $page_list);
278 } 285 }
279 } 286 }
280 } 287 }
@@ -328,7 +335,7 @@ class ProjectUpdate extends Command @@ -328,7 +335,7 @@ class ProjectUpdate extends Command
328 $id = $news['id']; 335 $id = $news['id'];
329 } 336 }
330 337
331 - CollectTask::_insert($item['url'], $project_id, $api_type == 'news' ? RouteMap::SOURCE_NEWS : RouteMap::SOURCE_BLOG, $id, $link_type, $language_list); 338 + CollectTask::_insert($item['url'], $project_id, $api_type == 'news' ? RouteMap::SOURCE_NEWS : RouteMap::SOURCE_BLOG, $id, $link_type, $language_list, $page_list);
332 } 339 }
333 } 340 }
334 } 341 }
@@ -376,7 +383,7 @@ class ProjectUpdate extends Command @@ -376,7 +383,7 @@ class ProjectUpdate extends Command
376 $id = $custom['id']; 383 $id = $custom['id'];
377 } 384 }
378 385
379 - CollectTask::_insert($item['url'], $project_id, RouteMap::SOURCE_PAGE, $id, $link_type, $language_list); 386 + CollectTask::_insert($item['url'], $project_id, RouteMap::SOURCE_PAGE, $id, $link_type, $language_list, $page_list);
380 } 387 }
381 } 388 }
382 } 389 }
@@ -17,7 +17,7 @@ class CollectTask extends Base @@ -17,7 +17,7 @@ class CollectTask extends Base
17 const STATUS_COM = 2; 17 const STATUS_COM = 2;
18 const STATUS_FAIL = 3; 18 const STATUS_FAIL = 3;
19 19
20 - public static function _insert($url, $project_id, $source, $source_id, $link_type = 0, $language_list = []) 20 + public static function _insert($url, $project_id, $source, $source_id, $link_type = 0, $language_list = [], $page_list = [])
21 { 21 {
22 if (!$url) { 22 if (!$url) {
23 return; 23 return;
@@ -35,10 +35,10 @@ class CollectTask extends Base @@ -35,10 +35,10 @@ class CollectTask extends Base
35 ]; 35 ];
36 36
37 $task = self::where($where)->first(); 37 $task = self::where($where)->first();
38 - if (!$task) { 38 + $data = [];
39 $now = date('Y-m-d H:i:s'); 39 $now = date('Y-m-d H:i:s');
40 - $data = [  
41 - [ 40 + if (!$task) {
  41 + $data[] = [
42 'project_id' => $project_id, 42 'project_id' => $project_id,
43 'source' => $source, 43 'source' => $source,
44 'source_id' => $source_id, 44 'source_id' => $source_id,
@@ -47,10 +47,10 @@ class CollectTask extends Base @@ -47,10 +47,10 @@ class CollectTask extends Base
47 'language' => '', 47 'language' => '',
48 'created_at' => $now, 48 'created_at' => $now,
49 'updated_at' => $now, 49 'updated_at' => $now,
50 - ]  
51 ]; 50 ];
  51 + }
52 52
53 - if ($link_type > 0 && $language_list) { 53 + if ($link_type > 0 && $language_list && in_array($url_arr['path'], $page_list)) {
54 $domain_arr = explode('.', $url_arr['host']); 54 $domain_arr = explode('.', $url_arr['host']);
55 foreach ($language_list as $v_lan) { 55 foreach ($language_list as $v_lan) {
56 if ($link_type == 1) { 56 if ($link_type == 1) {
@@ -77,5 +77,4 @@ class CollectTask extends Base @@ -77,5 +77,4 @@ class CollectTask extends Base
77 77
78 self::insert($data); 78 self::insert($data);
79 } 79 }
80 - }  
81 } 80 }