正在显示
1 个修改的文件
包含
89 行增加
和
84 行删除
| @@ -107,7 +107,6 @@ class ProjectUpdate extends Command | @@ -107,7 +107,6 @@ class ProjectUpdate extends Command | ||
| 107 | $page_list = array_column($data_page, 'path'); | 107 | $page_list = array_column($data_page, 'path'); |
| 108 | } | 108 | } |
| 109 | 109 | ||
| 110 | - $is_flush = 0; | ||
| 111 | //设置数据库 | 110 | //设置数据库 |
| 112 | $project = ProjectServer::useProject($project_id); | 111 | $project = ProjectServer::useProject($project_id); |
| 113 | if ($project) { | 112 | if ($project) { |
| @@ -250,23 +249,25 @@ class ProjectUpdate extends Command | @@ -250,23 +249,25 @@ class ProjectUpdate extends Command | ||
| 250 | foreach ($items as $item) { | 249 | foreach ($items as $item) { |
| 251 | $route = $this->get_url_route($item['url'] ?? ''); | 250 | $route = $this->get_url_route($item['url'] ?? ''); |
| 252 | if ($route) { | 251 | if ($route) { |
| 253 | - $product = $model->read(['route' => $route], 'id'); | ||
| 254 | - if (!$product) { | ||
| 255 | - //图片 | ||
| 256 | - $gallery = []; | ||
| 257 | - if ($item['images'] ?? []) { | ||
| 258 | - foreach ($item['images'] as $k_img => $img) { | ||
| 259 | - $gallery[] = ['alt' => '', 'url' => $this->source_download($img, $project_id, $domain_arr['host'], $web_url_domain, $home_url)]; | ||
| 260 | - } | ||
| 261 | - } | ||
| 262 | - //分类 | ||
| 263 | - $category_id = ''; | ||
| 264 | - if ($item['category'] ?? []) { | ||
| 265 | - $category_arr = $category_model->list(['original_id' => ['in', array_column($item['category'], 'id')]]); | ||
| 266 | - $category_id = $logic->getLastCategory(array_column($category_arr, 'id')); | 252 | + //图片 |
| 253 | + $gallery = []; | ||
| 254 | + if ($item['images'] ?? []) { | ||
| 255 | + foreach ($item['images'] as $k_img => $img) { | ||
| 256 | + $gallery[] = ['alt' => '', 'url' => $this->source_download($img, $project_id, $domain_arr['host'], $web_url_domain, $home_url)]; | ||
| 267 | } | 257 | } |
| 268 | - try { | ||
| 269 | - $item['ttile'] = $this->special2str($item['ttile'] ?? ''); | 258 | + } |
| 259 | + //分类 | ||
| 260 | + $category_id = ''; | ||
| 261 | + if ($item['category'] ?? []) { | ||
| 262 | + $category_arr = $category_model->list(['original_id' => ['in', array_column($item['category'], 'id')]]); | ||
| 263 | + $category_id = $logic->getLastCategory(array_column($category_arr, 'id')); | ||
| 264 | + } | ||
| 265 | + //名称去掉特殊符号 | ||
| 266 | + $item['ttile'] = $this->special2str($item['ttile'] ?? ''); | ||
| 267 | + | ||
| 268 | + try { | ||
| 269 | + $product = $model->read(['route' => $route], 'id'); | ||
| 270 | + if (!$product) { | ||
| 270 | $id = $model->insertGetId([ | 271 | $id = $model->insertGetId([ |
| 271 | 'project_id' => $project_id, | 272 | 'project_id' => $project_id, |
| 272 | 'title' => $item['ttile'], | 273 | 'title' => $item['ttile'], |
| @@ -290,43 +291,25 @@ class ProjectUpdate extends Command | @@ -290,43 +291,25 @@ class ProjectUpdate extends Command | ||
| 290 | ]); | 291 | ]); |
| 291 | $this->set_map($route, RouteMap::SOURCE_PRODUCT, $id, $project_id); | 292 | $this->set_map($route, RouteMap::SOURCE_PRODUCT, $id, $project_id); |
| 292 | 293 | ||
| 293 | - //扩展字段 | ||
| 294 | - if ($item['extend'] ?? []) { | ||
| 295 | - foreach (array_reverse($item['extend']) as $ke => $ve) { | ||
| 296 | - $extend = $extend_model->read(['title' => $ke]); | ||
| 297 | - if (!$extend) { | ||
| 298 | - $extend_key = $this->get_extend_key($extend_model); | ||
| 299 | - $extend_model->add([ | ||
| 300 | - 'project_id' => $project_id, | ||
| 301 | - 'title' => $ke, | ||
| 302 | - 'type' => 1, | ||
| 303 | - 'key' => $extend_key | ||
| 304 | - ]); | ||
| 305 | - } else { | ||
| 306 | - $extend_key = $extend['key']; | ||
| 307 | - } | ||
| 308 | - | ||
| 309 | - $extend_info = $extend_info_model->read(['key' => $extend_key, 'product_id' => $id]); | ||
| 310 | - if (!$extend_info) { | ||
| 311 | - $extend_info_model->add([ | ||
| 312 | - 'key' => $extend_key, | ||
| 313 | - 'project_id' => $project_id, | ||
| 314 | - 'product_id' => $id, | ||
| 315 | - 'values' => $ve, | ||
| 316 | - 'type' => 1 | ||
| 317 | - ]); | ||
| 318 | - } | ||
| 319 | - } | ||
| 320 | - } | ||
| 321 | - | ||
| 322 | CollectTask::_insert($item['url'], $project_id, RouteMap::SOURCE_PRODUCT, $id, $link_type, $language_list, $page_list); | 294 | CollectTask::_insert($item['url'], $project_id, RouteMap::SOURCE_PRODUCT, $id, $link_type, $language_list, $page_list); |
| 323 | - $is_flush = 1; | ||
| 324 | - } catch (\Exception $e) { | ||
| 325 | - echo 'date:' . date('Y-m-d H:i:s') . ', task_id: ' . $task->id . ', error: ' . $e->getMessage() . PHP_EOL; | ||
| 326 | - continue; | 295 | + } else { |
| 296 | + $id = $product['id']; | ||
| 297 | + $model->edit([ | ||
| 298 | + 'title' => $item['ttile'], | ||
| 299 | + 'intro' => $item['short_description'] ?? '', | ||
| 300 | + 'content' => $item['content'] ?? '', | ||
| 301 | + 'category_id' => $category_id, | ||
| 302 | + 'thumb' => isset($gallery[0]) ? Arr::a2s($gallery[0]) : '', | ||
| 303 | + 'gallery' => Arr::a2s($gallery), | ||
| 304 | + 'seo_mate' => Arr::a2s([ | ||
| 305 | + 'title' => $item['ttile'], | ||
| 306 | + 'keyword' => $item['keywords'] ?? '', | ||
| 307 | + 'description' => $item['description'] ?? '' | ||
| 308 | + ]), | ||
| 309 | + 'sort' => $item['sort'] ?? 0, | ||
| 310 | + ], ['id' => $id]); | ||
| 327 | } | 311 | } |
| 328 | - }else{ | ||
| 329 | - $id = $product['id']; | 312 | + |
| 330 | //扩展字段 | 313 | //扩展字段 |
| 331 | if ($item['extend'] ?? []) { | 314 | if ($item['extend'] ?? []) { |
| 332 | foreach (array_reverse($item['extend']) as $ke => $ve) { | 315 | foreach (array_reverse($item['extend']) as $ke => $ve) { |
| @@ -355,6 +338,9 @@ class ProjectUpdate extends Command | @@ -355,6 +338,9 @@ class ProjectUpdate extends Command | ||
| 355 | } | 338 | } |
| 356 | } | 339 | } |
| 357 | } | 340 | } |
| 341 | + } catch (\Exception $e) { | ||
| 342 | + echo 'date:' . date('Y-m-d H:i:s') . ', task_id: ' . $task->id . ', error: ' . $e->getMessage() . PHP_EOL; | ||
| 343 | + continue; | ||
| 358 | } | 344 | } |
| 359 | } | 345 | } |
| 360 | } | 346 | } |
| @@ -388,23 +374,25 @@ class ProjectUpdate extends Command | @@ -388,23 +374,25 @@ class ProjectUpdate extends Command | ||
| 388 | foreach ($items as $item) { | 374 | foreach ($items as $item) { |
| 389 | $route = $this->get_url_route($item['url'] ?? ''); | 375 | $route = $this->get_url_route($item['url'] ?? ''); |
| 390 | if ($route) { | 376 | if ($route) { |
| 391 | - $news = $model->read(['url' => $route], 'id'); | ||
| 392 | - if (!$news) { | ||
| 393 | - //分类 | ||
| 394 | - $category_id = ''; | ||
| 395 | - if ($api_type == 'news' && ($item['category'] ?? [])) { | ||
| 396 | - $category_arr = $category_model->list(['original_id' => ['in', array_column($item['category'], 'id')]]); | ||
| 397 | - $category_id = $logic->getCategory(array_column($category_arr, 'id')); | ||
| 398 | - } | ||
| 399 | - try { | ||
| 400 | - $item['ttile'] = $this->special2str($item['ttile'] ?? ''); | ||
| 401 | - | ||
| 402 | - if (is_array($item['images'])) { | ||
| 403 | - $image = $item['images'][0] ?? ''; | ||
| 404 | - } else { | ||
| 405 | - $image = $item['images'] ?? ''; | ||
| 406 | - } | 377 | + //分类 |
| 378 | + $category_id = ''; | ||
| 379 | + if ($api_type == 'news' && ($item['category'] ?? [])) { | ||
| 380 | + $category_arr = $category_model->list(['original_id' => ['in', array_column($item['category'], 'id')]]); | ||
| 381 | + $category_id = $logic->getCategory(array_column($category_arr, 'id')); | ||
| 382 | + } | ||
| 383 | + //图片 | ||
| 384 | + if (is_array($item['images'])) { | ||
| 385 | + $image = $item['images'][0] ?? ''; | ||
| 386 | + } else { | ||
| 387 | + $image = $item['images'] ?? ''; | ||
| 388 | + } | ||
| 389 | + $new_img = $this->source_download($image, $project_id, $domain_arr['host'], $web_url_domain, $home_url); | ||
| 390 | + //名称去掉特殊符号 | ||
| 391 | + $item['ttile'] = $this->special2str($item['ttile'] ?? ''); | ||
| 407 | 392 | ||
| 393 | + try { | ||
| 394 | + $news = $model->read(['url' => $route], 'id'); | ||
| 395 | + if (!$news) { | ||
| 408 | $id = $model->insertGetId([ | 396 | $id = $model->insertGetId([ |
| 409 | 'project_id' => $project_id, | 397 | 'project_id' => $project_id, |
| 410 | 'name' => $item['ttile'], | 398 | 'name' => $item['ttile'], |
| @@ -413,7 +401,7 @@ class ProjectUpdate extends Command | @@ -413,7 +401,7 @@ class ProjectUpdate extends Command | ||
| 413 | 'seo_keywords' => $item['keywords'] ?? '', | 401 | 'seo_keywords' => $item['keywords'] ?? '', |
| 414 | 'seo_description' => $item['description'] ?? '', | 402 | 'seo_description' => $item['description'] ?? '', |
| 415 | 'text' => $item['content'] ?? '', | 403 | 'text' => $item['content'] ?? '', |
| 416 | - 'image' => $this->source_download($image, $project_id, $domain_arr['host'], $web_url_domain, $home_url), | 404 | + 'image' => $new_img, |
| 417 | 'status' => $api_type == 'news' ? News::STATUS_ONE : Blog::STATUS_ONE, | 405 | 'status' => $api_type == 'news' ? News::STATUS_ONE : Blog::STATUS_ONE, |
| 418 | 'created_at' => $item['post_date'] ?? date('Y-m-d H:i:s'), | 406 | 'created_at' => $item['post_date'] ?? date('Y-m-d H:i:s'), |
| 419 | 'updated_at' => $item['post_date'] ?? date('Y-m-d H:i:s'), | 407 | 'updated_at' => $item['post_date'] ?? date('Y-m-d H:i:s'), |
| @@ -425,11 +413,22 @@ class ProjectUpdate extends Command | @@ -425,11 +413,22 @@ class ProjectUpdate extends Command | ||
| 425 | $this->set_map($route, $api_type == 'news' ? RouteMap::SOURCE_NEWS : RouteMap::SOURCE_BLOG, $id, $project_id); | 413 | $this->set_map($route, $api_type == 'news' ? RouteMap::SOURCE_NEWS : RouteMap::SOURCE_BLOG, $id, $project_id); |
| 426 | 414 | ||
| 427 | CollectTask::_insert($item['url'], $project_id, $api_type == 'news' ? RouteMap::SOURCE_NEWS : RouteMap::SOURCE_BLOG, $id, $link_type, $language_list, $page_list); | 415 | CollectTask::_insert($item['url'], $project_id, $api_type == 'news' ? RouteMap::SOURCE_NEWS : RouteMap::SOURCE_BLOG, $id, $link_type, $language_list, $page_list); |
| 428 | - $is_flush = 1; | ||
| 429 | - } catch (\Exception $e) { | ||
| 430 | - echo 'date:' . date('Y-m-d H:i:s') . ', task_id: ' . $task->id . ', error: ' . $e->getMessage() . PHP_EOL; | ||
| 431 | - continue; | 416 | + } else { |
| 417 | + $id = $news['id']; | ||
| 418 | + $model->edit([ | ||
| 419 | + 'name' => $item['ttile'], | ||
| 420 | + 'category_id' => $category_id, | ||
| 421 | + 'seo_title' => $item['ttile'], | ||
| 422 | + 'seo_keywords' => $item['keywords'] ?? '', | ||
| 423 | + 'seo_description' => $item['description'] ?? '', | ||
| 424 | + 'text' => $item['content'] ?? '', | ||
| 425 | + 'image' => $new_img, | ||
| 426 | + 'sort' => $item['sort'] ?? 0, | ||
| 427 | + ], ['id' => $id]); | ||
| 432 | } | 428 | } |
| 429 | + } catch (\Exception $e) { | ||
| 430 | + echo 'date:' . date('Y-m-d H:i:s') . ', task_id: ' . $task->id . ', error: ' . $e->getMessage() . PHP_EOL; | ||
| 431 | + continue; | ||
| 433 | } | 432 | } |
| 434 | } | 433 | } |
| 435 | } | 434 | } |
| @@ -457,10 +456,11 @@ class ProjectUpdate extends Command | @@ -457,10 +456,11 @@ class ProjectUpdate extends Command | ||
| 457 | foreach ($items as $item) { | 456 | foreach ($items as $item) { |
| 458 | $route = $this->get_url_route($item['url'] ?? ''); | 457 | $route = $this->get_url_route($item['url'] ?? ''); |
| 459 | if ($route) { | 458 | if ($route) { |
| 460 | - $custom = $model->read(['url' => $route], 'id'); | ||
| 461 | - if (!$custom) { | ||
| 462 | - try { | ||
| 463 | - $item['ttile'] = $this->special2str($item['ttile'] ?? ''); | 459 | + //名称去掉特殊符号 |
| 460 | + $item['ttile'] = $this->special2str($item['ttile'] ?? ''); | ||
| 461 | + try { | ||
| 462 | + $custom = $model->read(['url' => $route], 'id'); | ||
| 463 | + if (!$custom) { | ||
| 464 | $id = $model->insertGetId([ | 464 | $id = $model->insertGetId([ |
| 465 | 'project_id' => $project_id, | 465 | 'project_id' => $project_id, |
| 466 | 'name' => $item['ttile'], | 466 | 'name' => $item['ttile'], |
| @@ -478,11 +478,19 @@ class ProjectUpdate extends Command | @@ -478,11 +478,19 @@ class ProjectUpdate extends Command | ||
| 478 | $this->set_map($route, RouteMap::SOURCE_PAGE, $id, $project_id); | 478 | $this->set_map($route, RouteMap::SOURCE_PAGE, $id, $project_id); |
| 479 | 479 | ||
| 480 | CollectTask::_insert($item['url'], $project_id, RouteMap::SOURCE_PAGE, $id, $link_type, $language_list, $page_list); | 480 | CollectTask::_insert($item['url'], $project_id, RouteMap::SOURCE_PAGE, $id, $link_type, $language_list, $page_list); |
| 481 | - $is_flush = 1; | ||
| 482 | - } catch (\Exception $e) { | ||
| 483 | - echo 'date:' . date('Y-m-d H:i:s') . ', task_id: ' . $task->id . ', error: ' . $e->getMessage() . PHP_EOL; | ||
| 484 | - continue; | 481 | + } else { |
| 482 | + $id = $custom['id']; | ||
| 483 | + $model->edit([ | ||
| 484 | + 'name' => $item['ttile'], | ||
| 485 | + 'title' => $item['ttile'], | ||
| 486 | + 'keywords' => $item['keywords'] ?? '', | ||
| 487 | + 'description' => $item['description'] ?? '', | ||
| 488 | + 'html' => $item['content'] ?? '', | ||
| 489 | + ], ['id' => $id]); | ||
| 485 | } | 490 | } |
| 491 | + } catch (\Exception $e) { | ||
| 492 | + echo 'date:' . date('Y-m-d H:i:s') . ', task_id: ' . $task->id . ', error: ' . $e->getMessage() . PHP_EOL; | ||
| 493 | + continue; | ||
| 486 | } | 494 | } |
| 487 | } | 495 | } |
| 488 | } | 496 | } |
| @@ -497,9 +505,6 @@ class ProjectUpdate extends Command | @@ -497,9 +505,6 @@ class ProjectUpdate extends Command | ||
| 497 | DB::disconnect('custom_mysql'); | 505 | DB::disconnect('custom_mysql'); |
| 498 | 506 | ||
| 499 | $task->status = UpdateLog::STATUS_COM;//同步完成 | 507 | $task->status = UpdateLog::STATUS_COM;//同步完成 |
| 500 | - if ($is_flush) { | ||
| 501 | - $task->collect_status = UpdateLog::COLLECT_STATUS_UN; | ||
| 502 | - } | ||
| 503 | $task->save(); | 508 | $task->save(); |
| 504 | 509 | ||
| 505 | echo 'date:' . date('Y-m-d H:i:s') . ', task_id: ' . $task->id . ', task_type: ' . $api_type . ', update end ' . PHP_EOL; | 510 | echo 'date:' . date('Y-m-d H:i:s') . ', task_id: ' . $task->id . ', task_type: ' . $api_type . ', update end ' . PHP_EOL; |
-
请 注册 或 登录 后发表评论