作者 刘锟

合并分支 'akun' 到 'master'

Akun



查看合并请求 !280
... ... @@ -13,6 +13,8 @@ use App\Models\Com\UpdateOldInfo;
use App\Models\News\News;
use App\Models\News\NewsCategory;
use App\Models\Product\Category;
use App\Models\Product\Extend;
use App\Models\Product\ExtendInfo;
use App\Models\Product\Keyword;
use App\Models\Product\Product;
use App\Models\RouteMap\RouteMap;
... ... @@ -241,6 +243,8 @@ class ProjectUpdate extends Command
$model = new Product();
$category_model = new Category();
$extend_model = new Extend();
$extend_info_model = new ExtendInfo();
$logic = new CategoryLogic();
foreach ($items as $item) {
... ... @@ -286,12 +290,71 @@ class ProjectUpdate extends Command
]);
$this->set_map($route, RouteMap::SOURCE_PRODUCT, $id, $project_id);
//扩展字段
if ($item['extend'] ?? []) {
foreach (array_reverse($item['extend']) as $ke => $ve) {
$extend = $extend_model->read(['title' => $ke]);
if (!$extend) {
$extend_key = $this->get_extend_key($extend_model);
$extend_model->add([
'project_id' => $project_id,
'title' => $ke,
'type' => 1,
'key' => $extend_key
]);
} else {
$extend_key = $extend['key'];
}
$extend_info = $extend_info_model->read(['key' => $extend_key, 'product_id' => $id]);
if (!$extend_info) {
$extend_info_model->add([
'key' => $extend_key,
'project_id' => $project_id,
'product_id' => $id,
'values' => $ve,
'type' => 1
]);
}
}
}
CollectTask::_insert($item['url'], $project_id, RouteMap::SOURCE_PRODUCT, $id, $link_type, $language_list, $page_list);
$is_flush = 1;
} catch (\Exception $e) {
echo 'date:' . date('Y-m-d H:i:s') . ', task_id: ' . $task->id . ', error: ' . $e->getMessage() . PHP_EOL;
continue;
}
}else{
$id = $product['id'];
//扩展字段
if ($item['extend'] ?? []) {
foreach (array_reverse($item['extend']) as $ke => $ve) {
$extend = $extend_model->read(['title' => $ke]);
if (!$extend) {
$extend_key = $this->get_extend_key($extend_model);
$extend_model->add([
'project_id' => $project_id,
'title' => $ke,
'type' => 1,
'key' => $extend_key
]);
} else {
$extend_key = $extend['key'];
}
$extend_info = $extend_info_model->read(['key' => $extend_key, 'product_id' => $id]);
if (!$extend_info) {
$extend_info_model->add([
'key' => $extend_key,
'project_id' => $project_id,
'product_id' => $id,
'values' => $ve,
'type' => 1
]);
}
}
}
}
}
}
... ... @@ -646,4 +709,16 @@ class ProjectUpdate extends Command
return $url_complete;
}
}
//获取自定义字段key
protected function get_extend_key($model, $i = 1)
{
$key = 'pd_extended_field_';
$info = $model->read(['key' => $key . $i]);
if ($info !== false) {
return $this->get_extend_key($model, $i + 1);
} else {
return $key . $i;
}
}
}
... ...