作者 赵彬吉

update

@@ -52,10 +52,9 @@ class LyhImportTest extends Command @@ -52,10 +52,9 @@ class LyhImportTest extends Command
52 * @time :2023/11/20 15:13 52 * @time :2023/11/20 15:13
53 */ 53 */
54 public function handle(){ 54 public function handle(){
55 - ProjectServer::useProject(3283); 55 + ProjectServer::useProject(2837);
56 echo date('Y-m-d H:i:s') . 'start' . PHP_EOL; 56 echo date('Y-m-d H:i:s') . 'start' . PHP_EOL;
57 -// $this->importProductCategory('https://ecdn6.globalso.com/upload/p/3283/file/2025-03/zy_boss_pricelistcat_202503131025.csv','3283');  
58 - $this->importProduct('https://ecdn6.globalso.com/upload/p/3283/file/2025-03/zy_boss_price_copy1.csv',3283); 57 + $this->importCustomModule('https://ecdn6.globalso.com/upload/p/2837/file/2025-03/xindaxing-s-product-screening.csv',2837);
59 DB::disconnect('custom_mysql'); 58 DB::disconnect('custom_mysql');
60 echo date('Y-m-d H:i:s') . 'end' . PHP_EOL; 59 echo date('Y-m-d H:i:s') . 'end' . PHP_EOL;
61 } 60 }
@@ -332,53 +331,72 @@ class LyhImportTest extends Command @@ -332,53 +331,72 @@ class LyhImportTest extends Command
332 * @method :post 331 * @method :post
333 * @time :2025/2/24 14:54 332 * @time :2025/2/24 14:54
334 */ 333 */
335 - public function importCustomModule($text,$project_id = 2837){ 334 + public function importCustomModule($url,$project_id){
  335 + $line_of_text = [];
  336 + $opts = [
  337 + 'http' => [
  338 + 'method' => 'GET',
  339 + 'header' => 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.246'
  340 + ],
  341 + 'ssl' => [
  342 + 'verify_peer' => false,
  343 + 'verify_peer_name' => false
  344 + ]
  345 + ];
  346 + $file_handle = fopen($url, 'r', null, stream_context_create($opts));
  347 + while (!feof($file_handle)) {
  348 + $line_of_text[] = fgetcsv($file_handle, 0, ',');
  349 + }
  350 + fclose($file_handle);
336 $customContentModel = new CustomModuleContent(); 351 $customContentModel = new CustomModuleContent();
337 $customCategoryModel = new CustomModuleCategory();; 352 $customCategoryModel = new CustomModuleCategory();;
338 $customExtendContentTModel = new CustomModuleExtentContent(); 353 $customExtendContentTModel = new CustomModuleExtentContent();
339 - $data = explode("\n", $text);  
340 - foreach ($data as $k => $item){  
341 - $item = trim($item,',');  
342 - //按照逗号转为数组  
343 - $array = explode(",", $item);  
344 - //添加分类  
345 - if(empty($array[0])){  
346 - continue;  
347 - } 354 + foreach ($line_of_text as $k => $item){
  355 +// try {
348 //添加内容 356 //添加内容
349 - $contentId = $customContentModel->addReturnId(['name'=>$array[0],'module_id'=>2,'project_id'=>$project_id]); 357 + $contentId = $customContentModel->addReturnId(['name'=>$item[0],'module_id'=>2,'project_id'=>$project_id]);
350 echo date('Y-m-d H:i:s') . '当前扩展数据id:'. $contentId . PHP_EOL; 358 echo date('Y-m-d H:i:s') . '当前扩展数据id:'. $contentId . PHP_EOL;
351 //注册路由 359 //注册路由
352 - $route = RouteMap::setRoute($array[0], RouteMap::SOURCE_MODULE, 360 + $route = RouteMap::setRoute($item[0], RouteMap::SOURCE_MODULE,
353 $contentId, $project_id); 361 $contentId, $project_id);
354 $customContentModel->edit(['route'=>$route],['id'=>$contentId]); 362 $customContentModel->edit(['route'=>$route],['id'=>$contentId]);
355 - if(!empty($array[1])){ 363 + if(!empty($item[1])){
356 $categoryId = ','; 364 $categoryId = ',';
357 - $cateArr = explode('/',$array[1]); 365 + $cateArr = explode('/',$item[1]);
358 foreach ($cateArr as $cateV){ 366 foreach ($cateArr as $cateV){
359 $cateInfo = $customCategoryModel->read(['name'=>$cateV,'module_id'=>2,'project_id'=>$project_id]); 367 $cateInfo = $customCategoryModel->read(['name'=>$cateV,'module_id'=>2,'project_id'=>$project_id]);
360 if($cateInfo !== false){ 368 if($cateInfo !== false){
361 $categoryId .= $cateInfo['id'].','; 369 $categoryId .= $cateInfo['id'].',';
  370 + }else{
  371 + $cateVId = $customCategoryModel->addReturnId(['name'=>$cateV,'module_id'=>2,'project_id'=>$project_id]);
  372 + $cateRoute = RouteMap::setRoute($cateV, RouteMap::SOURCE_MODULE_CATE,
  373 + $cateVId, $project_id);
  374 + $customCategoryModel->edit(['route'=>$cateRoute],['id'=>$cateVId]);
  375 + $categoryId .= $cateVId.',';
362 } 376 }
363 } 377 }
364 $customContentModel->edit(['category_id'=>$categoryId],['id'=>$contentId]); 378 $customContentModel->edit(['category_id'=>$categoryId],['id'=>$contentId]);
365 } 379 }
366 $saveData = [ 380 $saveData = [
367 - ['key'=>'pd_extended_field_1', 'type'=>1, 'values'=>$array[2], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>2, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')],  
368 - ['key'=>'pd_extended_field_2', 'type'=>1, 'values'=>$array[4], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>2, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')],  
369 - ['key'=>'pd_extended_field_3', 'type'=>1, 'values'=>$array[5], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>2, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')],  
370 - ['key'=>'pd_extended_field_4', 'type'=>1, 'values'=>$array[3], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>2, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')],  
371 - ['key'=>'pd_extended_field_5', 'type'=>1, 'values'=>$array[8], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>2, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')],  
372 - ['key'=>'pd_extended_field_6', 'type'=>1, 'values'=>$array[6], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>2, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')],  
373 - ['key'=>'pd_extended_field_7', 'type'=>1, 'values'=>$array[9], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>2, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')],  
374 - ['key'=>'pd_extended_field_8', 'type'=>1, 'values'=>$array[10], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>2, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')],  
375 - ['key'=>'pd_extended_field_9', 'type'=>1, 'values'=>$array[11], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>2, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')],  
376 - ['key'=>'pd_extended_field_10', 'type'=>1, 'values'=>$array[12], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>2, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')],  
377 - ['key'=>'pd_extended_field_11', 'type'=>1, 'values'=>$array[13], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>2, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')],  
378 - ['key'=>'pd_extended_field_12', 'type'=>1, 'values'=>$array[14] ?? '', 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>2, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')],  
379 - ['key'=>'pd_extended_field_13', 'type'=>1, 'values'=>$array[7], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>2, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')], 381 + ['key'=>'pd_extended_field_1', 'type'=>1, 'values'=>$item[2], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>2, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')],
  382 + ['key'=>'pd_extended_field_2', 'type'=>1, 'values'=>$item[4], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>2, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')],
  383 + ['key'=>'pd_extended_field_3', 'type'=>1, 'values'=>$item[5], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>2, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')],
  384 + ['key'=>'pd_extended_field_4', 'type'=>1, 'values'=>$item[3], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>2, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')],
  385 + ['key'=>'pd_extended_field_5', 'type'=>1, 'values'=>$item[8], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>2, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')],
  386 + ['key'=>'pd_extended_field_6', 'type'=>1, 'values'=>$item[6], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>2, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')],
  387 + ['key'=>'pd_extended_field_7', 'type'=>1, 'values'=>$item[9], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>2, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')],
  388 + ['key'=>'pd_extended_field_8', 'type'=>1, 'values'=>$item[10], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>2, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')],
  389 + ['key'=>'pd_extended_field_9', 'type'=>1, 'values'=>$item[11], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>2, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')],
  390 + ['key'=>'pd_extended_field_10', 'type'=>1, 'values'=>$item[12], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>2, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')],
  391 + ['key'=>'pd_extended_field_11', 'type'=>1, 'values'=>$item[13], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>2, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')],
  392 + ['key'=>'pd_extended_field_12', 'type'=>1, 'values'=>$item[14] ?? '', 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>2, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')],
  393 + ['key'=>'pd_extended_field_13', 'type'=>1, 'values'=>$item[7], 'content_id'=>$contentId, 'project_id'=>$project_id, 'module_id'=>2, 'created_at'=>date('Y-m-d H:i:s'), 'updated_at'=>date('Y-m-d H:i:s')],
380 ]; 394 ];
381 $customExtendContentTModel->insert($saveData); 395 $customExtendContentTModel->insert($saveData);
  396 +// }catch (\Exception $e){
  397 +// echo date('Y-m-d H:i:s') . '错误name:'. $item[0] . PHP_EOL;
  398 +// continue;
  399 +// }
382 } 400 }
383 } 401 }
384 402
@@ -90,7 +90,7 @@ class CopyProject extends Command @@ -90,7 +90,7 @@ class CopyProject extends Command
90 $data['finish_remain_day'] = 0; 90 $data['finish_remain_day'] = 0;
91 $data['title'] = $data['title'].'-copy'; 91 $data['title'] = $data['title'].'-copy';
92 $data['delete_status'] = 1; 92 $data['delete_status'] = 1;
93 - unset($data['id'],$data['robots'],$data['is_translate_tag'],$data['is_translate'],$data['is_minor_languages'],$data['uptime']); 93 + unset($data['id'],$data['exclusive_aicc_day'],$data['aicc'],$data['robots'],$data['is_translate_tag'],$data['is_translate'],$data['is_minor_languages'],$data['uptime']);
94 $project_id = $projectModel->insertGetId($data); 94 $project_id = $projectModel->insertGetId($data);
95 $hashids = new Hashids($data['from_order_id'], 13, 'abcdefghjkmnpqrstuvwxyz1234567890'); 95 $hashids = new Hashids($data['from_order_id'], 13, 'abcdefghjkmnpqrstuvwxyz1234567890');
96 $projectModel->edit(['from_order_id'=>$hashids->encode($project_id)],['id'=>$project_id]); 96 $projectModel->edit(['from_order_id'=>$hashids->encode($project_id)],['id'=>$project_id]);
@@ -200,7 +200,7 @@ class SyncProject extends Command @@ -200,7 +200,7 @@ class SyncProject extends Command
200 'requirement' => $param['remark'], 200 'requirement' => $param['remark'],
201 'cooperate_date' => date('Y-m-d', $param['create_time']), 201 'cooperate_date' => date('Y-m-d', $param['create_time']),
202 'from_order_id' => $param['from_order_id'], 202 'from_order_id' => $param['from_order_id'],
203 - 'aicc' => $param['exclusive_aicc'], 203 + 'aicc' => ($param['exclusive_aicc'] = 0),
204 "exclusive_aicc_day" => $param['exclusive_aicc_day'], 204 "exclusive_aicc_day" => $param['exclusive_aicc_day'],
205 'hagro' => $param['exclusive_hagro'], 205 'hagro' => $param['exclusive_hagro'],
206 "exclusive_hagro_day" => $param['exclusive_hagro_day'], 206 "exclusive_hagro_day" => $param['exclusive_hagro_day'],
@@ -563,9 +563,11 @@ class UpdateSeoTdk extends Command @@ -563,9 +563,11 @@ class UpdateSeoTdk extends Command
563 * @param $project_id 563 * @param $project_id
564 * @param $type 564 * @param $type
565 * @param $num 565 * @param $num
  566 + * @param string $topic
  567 + * @param array $ban 被禁用的前后缀
566 * @return string 568 * @return string
567 */ 569 */
568 - public function getPrefixKeyword($project_id, $type, $num, $topic='', $ban_suffix = []) 570 + public function getPrefixKeyword($project_id, $type, $num, $topic='', $ban = [])
569 { 571 {
570 $str = ''; 572 $str = '';
571 $info = $this->getDeployOptimize($project_id); 573 $info = $this->getDeployOptimize($project_id);
@@ -575,6 +577,10 @@ class UpdateSeoTdk extends Command @@ -575,6 +577,10 @@ class UpdateSeoTdk extends Command
575 //去掉标题存在的词 577 //去掉标题存在的词
576 if ($topic) { 578 if ($topic) {
577 foreach ($fix_keyword as $k=>$keyword) { 579 foreach ($fix_keyword as $k=>$keyword) {
  580 + // 被禁用的关键词
  581 + if (in_array($keyword, $ban)) {
  582 + unset($fix_keyword[$k]);
  583 + }
578 // 前后缀如果已经存在, 就不在拼接当前类型 584 // 前后缀如果已经存在, 就不在拼接当前类型
579 if (FALSE !== strpos($topic, $keyword)) 585 if (FALSE !== strpos($topic, $keyword))
580 return $str; 586 return $str;
@@ -11,13 +11,7 @@ class DeployOptimize extends Base @@ -11,13 +11,7 @@ class DeployOptimize extends Base
11 //设置关联表名 11 //设置关联表名
12 protected $table = 'gl_project_deploy_optimize'; 12 protected $table = 'gl_project_deploy_optimize';
13 13
14 -// public function setMinorLanguagesAttribute($value){  
15 -// $this->attributes['minor_languages'] = Arr::a2s($value);  
16 -// }  
17 -//  
18 -// public function getMinorLanguagesAttribute($value){  
19 -// return Arr::s2a($value);  
20 -// } 14 +
21 public function getGTopPlanAttribute($value){ 15 public function getGTopPlanAttribute($value){
22 return Arr::s2a($value); 16 return Arr::s2a($value);
23 } 17 }