|
@@ -9,11 +9,16 @@ namespace App\Console\Commands\KeywordInVideo; |
|
@@ -9,11 +9,16 @@ namespace App\Console\Commands\KeywordInVideo; |
|
9
|
|
9
|
|
|
10
|
use App\Console\Commands\Model;
|
10
|
use App\Console\Commands\Model;
|
|
11
|
use App\Console\Commands\TaskSub;
|
11
|
use App\Console\Commands\TaskSub;
|
|
|
|
12
|
+use App\Enums\Common\Code;
|
|
12
|
use App\Models\Com\KeywordVideoTask;
|
13
|
use App\Models\Com\KeywordVideoTask;
|
|
13
|
use App\Models\Com\KeywordVideoTaskLog;
|
14
|
use App\Models\Com\KeywordVideoTaskLog;
|
|
|
|
15
|
+use App\Models\Domain\DomainInfo;
|
|
14
|
use App\Models\Product\Keyword;
|
16
|
use App\Models\Product\Keyword;
|
|
|
|
17
|
+use App\Models\Product\Product;
|
|
|
|
18
|
+use App\Models\RouteMap\RouteMap;
|
|
15
|
use App\Services\ProjectServer;
|
19
|
use App\Services\ProjectServer;
|
|
16
|
use Illuminate\Console\Command;
|
20
|
use Illuminate\Console\Command;
|
|
|
|
21
|
+use Illuminate\Support\Facades\DB;
|
|
17
|
use Illuminate\Support\Facades\Http;
|
22
|
use Illuminate\Support\Facades\Http;
|
|
18
|
use Illuminate\Support\Facades\Log;
|
23
|
use Illuminate\Support\Facades\Log;
|
|
19
|
|
24
|
|
|
@@ -89,11 +94,12 @@ class VideoTask extends Command |
|
@@ -89,11 +94,12 @@ class VideoTask extends Command |
|
89
|
if ($log){
|
94
|
if ($log){
|
|
90
|
continue;
|
95
|
continue;
|
|
91
|
}
|
96
|
}
|
|
|
|
97
|
+ $keywordInfo = $this->getKeywordImage($val->id,$task_project->project_id);
|
|
92
|
$array = [
|
98
|
$array = [
|
|
93
|
'project_id' => $task_project->project_id,
|
99
|
'project_id' => $task_project->project_id,
|
|
94
|
'keyword_id' => $val->id,
|
100
|
'keyword_id' => $val->id,
|
|
95
|
'keyword' => $val->title,
|
101
|
'keyword' => $val->title,
|
|
96
|
- 'data' => json_encode(['url' => '', 'description' => '', 'images' => [], 'keywords' => []]),
|
102
|
+ 'data' => json_encode(['url' => $keywordInfo['url'],'title' => $keywordInfo['title'], 'description' => $keywordInfo['keyword_content'], 'images' => $keywordInfo['product_list'], 'keywords' => []]),
|
|
97
|
'status' => KeywordVideoTaskLog::STATUS_INIT,
|
103
|
'status' => KeywordVideoTaskLog::STATUS_INIT,
|
|
98
|
'updated_at' => date('Y-m-d H:i:s'),
|
104
|
'updated_at' => date('Y-m-d H:i:s'),
|
|
99
|
'created_at' => date('Y-m-d H:i:s'),
|
105
|
'created_at' => date('Y-m-d H:i:s'),
|
|
@@ -117,22 +123,22 @@ class VideoTask extends Command |
|
@@ -117,22 +123,22 @@ class VideoTask extends Command |
|
117
|
if ($subTask->isEmpty())
|
123
|
if ($subTask->isEmpty())
|
|
118
|
return true;
|
124
|
return true;
|
|
119
|
foreach ($subTask as $val) {
|
125
|
foreach ($subTask as $val) {
|
|
|
|
126
|
+ $valData = json_decode($val->data);
|
|
120
|
$task_id = 'v6-' . uniqid();
|
127
|
$task_id = 'v6-' . uniqid();
|
|
121
|
$data = [
|
128
|
$data = [
|
|
122
|
'project_data' => [
|
129
|
'project_data' => [
|
|
123
|
- 'tag_url' => '',
|
|
|
|
124
|
- 'title' => '',
|
130
|
+ 'tag_url' => $valData['url'],
|
|
|
|
131
|
+ 'title' => $valData['title'],
|
|
125
|
'keywords' => [],
|
132
|
'keywords' => [],
|
|
126
|
- 'description' => '',
|
|
|
|
127
|
- 'images' => ''
|
133
|
+ 'description' => $valData['description'],
|
|
|
|
134
|
+ 'images' => $valData['images']
|
|
128
|
],
|
135
|
],
|
|
129
|
'task_id' => $task_id,
|
136
|
'task_id' => $task_id,
|
|
130
|
- 'callback_url' => '',
|
137
|
+ 'callback_url' => url('a/getKeywordVideo?project_id='.$val->project_id.'&keyword_id='.$val->keyword_id.'&video='),
|
|
131
|
];
|
138
|
];
|
|
132
|
$result = Http::post('http://216.250.255.116:7866/create_task', $data);
|
139
|
$result = Http::post('http://216.250.255.116:7866/create_task', $data);
|
|
133
|
-
|
|
|
|
134
|
$val->task_id = $task_id;
|
140
|
$val->task_id = $task_id;
|
|
135
|
- $val->status = STATUS_RUNING::STATUS_RUNING;
|
141
|
+ $val->status = KeywordVideoTaskLog::STATUS_RUNING;
|
|
136
|
$val->request_result = $result;
|
142
|
$val->request_result = $result;
|
|
137
|
$val->save();
|
143
|
$val->save();
|
|
138
|
}
|
144
|
}
|
|
@@ -159,4 +165,47 @@ class VideoTask extends Command |
|
@@ -159,4 +165,47 @@ class VideoTask extends Command |
|
159
|
$project_id = 110;
|
165
|
$project_id = 110;
|
|
160
|
return $project_id;
|
166
|
return $project_id;
|
|
161
|
}
|
167
|
}
|
|
|
|
168
|
+
|
|
|
|
169
|
+ /**
|
|
|
|
170
|
+ * @remark :根据关键字获取产品主图
|
|
|
|
171
|
+ * @name :getKeywordList
|
|
|
|
172
|
+ * @author :lyh
|
|
|
|
173
|
+ * @method :post
|
|
|
|
174
|
+ * @time :2024/2/23 16:28
|
|
|
|
175
|
+ */
|
|
|
|
176
|
+ public function getKeywordImage($keyword_id,$project_id){
|
|
|
|
177
|
+ $keywordModel = new Keyword();
|
|
|
|
178
|
+ $keywordInfo = $keywordModel->read(['id'=>$keyword_id]);
|
|
|
|
179
|
+ $productModel = new Product();
|
|
|
|
180
|
+ $productList = $productModel->list(['keyword_id'=>['like','%,'.$keywordInfo['id'].',%']],['thumb','title']);
|
|
|
|
181
|
+ if(count($productList) < 5){
|
|
|
|
182
|
+ $productList = $productModel->list([],'sort',['thumb','title']);
|
|
|
|
183
|
+ //获取7个产品主图
|
|
|
|
184
|
+ }
|
|
|
|
185
|
+ $product_image = [];
|
|
|
|
186
|
+ foreach ($productList as $v){
|
|
|
|
187
|
+ $image = [];
|
|
|
|
188
|
+ if(!empty($v['thumb']) && !empty($v['thumb']['url'])){
|
|
|
|
189
|
+ $image['image'] = getImageUrl($v['thumb']['url']);
|
|
|
|
190
|
+ $image['title'] = $v['title'];
|
|
|
|
191
|
+ $product_image[] = $image;
|
|
|
|
192
|
+ }
|
|
|
|
193
|
+ if(count($product_image) > 6){
|
|
|
|
194
|
+ break;
|
|
|
|
195
|
+ }
|
|
|
|
196
|
+ }
|
|
|
|
197
|
+ $domainModel = new DomainInfo();
|
|
|
|
198
|
+ $domainInfo = $domainModel->read(['project_id'=>$project_id]);
|
|
|
|
199
|
+ if(!empty($domainInfo)){
|
|
|
|
200
|
+ $keywordInfo['route'] = $domainInfo['domain'].'/'.$keywordInfo['route'];
|
|
|
|
201
|
+ }
|
|
|
|
202
|
+ $data = [
|
|
|
|
203
|
+ 'url'=>$keywordInfo['route'],
|
|
|
|
204
|
+ 'title'=>$keywordInfo['title'],
|
|
|
|
205
|
+ 'keyword_title'=>$keywordInfo['keyword_title'],
|
|
|
|
206
|
+ 'keyword_content'=>$keywordInfo['keyword_content'],
|
|
|
|
207
|
+ 'product_list'=>$product_image
|
|
|
|
208
|
+ ];
|
|
|
|
209
|
+ return $data;
|
|
|
|
210
|
+ }
|
|
162
|
} |
211
|
} |