|
...
|
...
|
@@ -81,6 +81,13 @@ class VideoTask extends Command |
|
|
|
if (empty($task_project)){
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
$domainModel = new DomainInfo();
|
|
|
|
$domainInfo = $domainModel->read(['project_id'=>$task_project->project_id]);
|
|
|
|
if($domainInfo === false){
|
|
|
|
$task_project->status = KeywordVideoTask::STATUS_CLOSE;
|
|
|
|
$task_project->save();
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
ProjectServer::useProject($task_project->project_id);
|
|
|
|
$keyword = $this->getProjectKeyword();
|
|
|
|
// 已经没有需要生成视频的关键词
|
|
...
|
...
|
@@ -94,12 +101,12 @@ class VideoTask extends Command |
|
|
|
if ($log){
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
$keywordInfo = $this->getKeywordImage($val->id,$task_project->project_id);
|
|
|
|
$keywordInfo = $this->getKeywordImage($val->id,$task_project->project_id,$domainInfo['domain']);
|
|
|
|
$array = [
|
|
|
|
'project_id' => $task_project->project_id,
|
|
|
|
'keyword_id' => $val->id,
|
|
|
|
'keyword' => $val->title,
|
|
|
|
'data' => json_encode(['url' => $keywordInfo['url'],'title' => $keywordInfo['title'], 'description' => $keywordInfo['keyword_content'], 'images' => $keywordInfo['product_list'], 'keywords' => []]),
|
|
|
|
'data' => json_encode(['url' => $keywordInfo['url'],'title' => $keywordInfo['title'], 'description' => $keywordInfo['keyword_content'], 'images' => $keywordInfo['product_list'], 'keywords' => $keywordInfo['keyword_list']]),
|
|
|
|
'status' => KeywordVideoTaskLog::STATUS_INIT,
|
|
|
|
'updated_at' => date('Y-m-d H:i:s'),
|
|
|
|
'created_at' => date('Y-m-d H:i:s'),
|
|
...
|
...
|
@@ -129,7 +136,7 @@ class VideoTask extends Command |
|
|
|
'project_data' => [
|
|
|
|
'tag_url' => $valData['url'],
|
|
|
|
'title' => $valData['title'],
|
|
|
|
'keywords' => [],
|
|
|
|
'keywords' => $valData['keywords'],
|
|
|
|
'description' => $valData['description'],
|
|
|
|
'images' => $valData['images']
|
|
|
|
],
|
|
...
|
...
|
@@ -173,22 +180,19 @@ class VideoTask extends Command |
|
|
|
* @method :post
|
|
|
|
* @time :2024/2/23 16:28
|
|
|
|
*/
|
|
|
|
public function getKeywordImage($keyword_id,$project_id){
|
|
|
|
public function getKeywordImage($keyword_id,$project_id,$domain){
|
|
|
|
$keywordModel = new Keyword();
|
|
|
|
$thumb = $keywordInfo = $keywordModel->read(['id'=>$keyword_id]);
|
|
|
|
$keywordInfo = $keywordModel->read(['id'=>$keyword_id]);
|
|
|
|
//TODO::所有产品
|
|
|
|
$this->getRecommendAndHotProducts($keywordInfo['route'],$project_id);
|
|
|
|
$domainModel = new DomainInfo();
|
|
|
|
$domainInfo = $domainModel->read(['project_id'=>$project_id]);
|
|
|
|
if(!empty($domainInfo)){
|
|
|
|
$keywordInfo['route'] = $domainInfo['domain'].'/'.$keywordInfo['route'];
|
|
|
|
}
|
|
|
|
$thumb = $this->getRecommendAndHotProducts($keywordInfo['route'],$project_id);
|
|
|
|
$keyword_arr = Keyword::where("project_id",$project_id)->where("status",1)->inRandomOrder()->take(10)->pluck('title')->toArray();;
|
|
|
|
$data = [
|
|
|
|
'url'=>$keywordInfo['route'],
|
|
|
|
'url'=>$domain.'/'.$keywordInfo['route'],
|
|
|
|
'title'=>$keywordInfo['title'],
|
|
|
|
'keyword_title'=>$keywordInfo['keyword_title'],
|
|
|
|
'keyword_content'=>$keywordInfo['keyword_content'],
|
|
|
|
'product_list'=>$thumb ?? []
|
|
|
|
'product_list'=>$thumb ?? [],
|
|
|
|
'keyword_list'=>$keyword_arr ?? []
|
|
|
|
];
|
|
|
|
return $data;
|
|
|
|
}
|
|
...
|
...
|
@@ -196,7 +200,7 @@ class VideoTask extends Command |
|
|
|
/**
|
|
|
|
* 关键词聚合页-推荐&热门产品
|
|
|
|
*/
|
|
|
|
public function getRecommendAndHotProducts($project_id,$route): ?array
|
|
|
|
public function getRecommendAndHotProducts($route,$project_id): ?array
|
|
|
|
{
|
|
|
|
$productIds = [];
|
|
|
|
$productKeyword = Keyword::where("project_id",$project_id)->where("route",$route)->first();
|
|
...
|
...
|
@@ -225,4 +229,6 @@ class VideoTask extends Command |
|
|
|
return $data;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
...
|
...
|
|