正在显示
1 个修改的文件
包含
75 行增加
和
0 行删除
| @@ -13,6 +13,8 @@ use App\Models\Com\UpdateOldInfo; | @@ -13,6 +13,8 @@ use App\Models\Com\UpdateOldInfo; | ||
| 13 | use App\Models\News\News; | 13 | use App\Models\News\News; |
| 14 | use App\Models\News\NewsCategory; | 14 | use App\Models\News\NewsCategory; |
| 15 | use App\Models\Product\Category; | 15 | use App\Models\Product\Category; |
| 16 | +use App\Models\Product\Extend; | ||
| 17 | +use App\Models\Product\ExtendInfo; | ||
| 16 | use App\Models\Product\Keyword; | 18 | use App\Models\Product\Keyword; |
| 17 | use App\Models\Product\Product; | 19 | use App\Models\Product\Product; |
| 18 | use App\Models\RouteMap\RouteMap; | 20 | use App\Models\RouteMap\RouteMap; |
| @@ -241,6 +243,8 @@ class ProjectUpdate extends Command | @@ -241,6 +243,8 @@ class ProjectUpdate extends Command | ||
| 241 | 243 | ||
| 242 | $model = new Product(); | 244 | $model = new Product(); |
| 243 | $category_model = new Category(); | 245 | $category_model = new Category(); |
| 246 | + $extend_model = new Extend(); | ||
| 247 | + $extend_info_model = new ExtendInfo(); | ||
| 244 | $logic = new CategoryLogic(); | 248 | $logic = new CategoryLogic(); |
| 245 | 249 | ||
| 246 | foreach ($items as $item) { | 250 | foreach ($items as $item) { |
| @@ -286,12 +290,71 @@ class ProjectUpdate extends Command | @@ -286,12 +290,71 @@ class ProjectUpdate extends Command | ||
| 286 | ]); | 290 | ]); |
| 287 | $this->set_map($route, RouteMap::SOURCE_PRODUCT, $id, $project_id); | 291 | $this->set_map($route, RouteMap::SOURCE_PRODUCT, $id, $project_id); |
| 288 | 292 | ||
| 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 | + | ||
| 289 | CollectTask::_insert($item['url'], $project_id, RouteMap::SOURCE_PRODUCT, $id, $link_type, $language_list, $page_list); | 322 | CollectTask::_insert($item['url'], $project_id, RouteMap::SOURCE_PRODUCT, $id, $link_type, $language_list, $page_list); |
| 290 | $is_flush = 1; | 323 | $is_flush = 1; |
| 291 | } catch (\Exception $e) { | 324 | } catch (\Exception $e) { |
| 292 | echo 'date:' . date('Y-m-d H:i:s') . ', task_id: ' . $task->id . ', error: ' . $e->getMessage() . PHP_EOL; | 325 | echo 'date:' . date('Y-m-d H:i:s') . ', task_id: ' . $task->id . ', error: ' . $e->getMessage() . PHP_EOL; |
| 293 | continue; | 326 | continue; |
| 294 | } | 327 | } |
| 328 | + }else{ | ||
| 329 | + $id = $product['id']; | ||
| 330 | + //扩展字段 | ||
| 331 | + if ($item['extend'] ?? []) { | ||
| 332 | + foreach (array_reverse($item['extend']) as $ke => $ve) { | ||
| 333 | + $extend = $extend_model->read(['title' => $ke]); | ||
| 334 | + if (!$extend) { | ||
| 335 | + $extend_key = $this->get_extend_key($extend_model); | ||
| 336 | + $extend_model->add([ | ||
| 337 | + 'project_id' => $project_id, | ||
| 338 | + 'title' => $ke, | ||
| 339 | + 'type' => 1, | ||
| 340 | + 'key' => $extend_key | ||
| 341 | + ]); | ||
| 342 | + } else { | ||
| 343 | + $extend_key = $extend['key']; | ||
| 344 | + } | ||
| 345 | + | ||
| 346 | + $extend_info = $extend_info_model->read(['key' => $extend_key, 'product_id' => $id]); | ||
| 347 | + if (!$extend_info) { | ||
| 348 | + $extend_info_model->add([ | ||
| 349 | + 'key' => $extend_key, | ||
| 350 | + 'project_id' => $project_id, | ||
| 351 | + 'product_id' => $id, | ||
| 352 | + 'values' => $ve, | ||
| 353 | + 'type' => 1 | ||
| 354 | + ]); | ||
| 355 | + } | ||
| 356 | + } | ||
| 357 | + } | ||
| 295 | } | 358 | } |
| 296 | } | 359 | } |
| 297 | } | 360 | } |
| @@ -646,4 +709,16 @@ class ProjectUpdate extends Command | @@ -646,4 +709,16 @@ class ProjectUpdate extends Command | ||
| 646 | return $url_complete; | 709 | return $url_complete; |
| 647 | } | 710 | } |
| 648 | } | 711 | } |
| 712 | + | ||
| 713 | + //获取自定义字段key | ||
| 714 | + protected function get_extend_key($model, $i = 1) | ||
| 715 | + { | ||
| 716 | + $key = 'pd_extended_field_'; | ||
| 717 | + $info = $model->read(['key' => $key . $i]); | ||
| 718 | + if ($info !== false) { | ||
| 719 | + return $this->get_extend_key($model, $i + 1); | ||
| 720 | + } else { | ||
| 721 | + return $key . $i; | ||
| 722 | + } | ||
| 723 | + } | ||
| 649 | } | 724 | } |
-
请 注册 或 登录 后发表评论