作者 Your Name
@@ -305,6 +305,7 @@ class VideoTask extends Command @@ -305,6 +305,7 @@ class VideoTask extends Command
305 $keyword_video_ids = !empty($keyword_video_ids) ? ','.$keyword_video_ids.',' : ',' ; 305 $keyword_video_ids = !empty($keyword_video_ids) ? ','.$keyword_video_ids.',' : ',' ;
306 $keyword_video_id_str = $keyword_video_ids . $keyword_id.','; 306 $keyword_video_id_str = $keyword_video_ids . $keyword_id.',';
307 $productModel->edit(['keyword_video_id'=>$keyword_video_id_str],['id'=>$item->id]); 307 $productModel->edit(['keyword_video_id'=>$keyword_video_id_str],['id'=>$item->id]);
  308 + KeywordRelated::saveRelated($item->id,$keyword_video_ids,2);
308 } 309 }
309 } 310 }
310 $data[] = ['url'=>getImageUrl($item->thumb['url']),'title'=>$item->title]; 311 $data[] = ['url'=>getImageUrl($item->thumb['url']),'title'=>$item->title];
@@ -26,6 +26,7 @@ use App\Models\File\Image as ImageModel; @@ -26,6 +26,7 @@ use App\Models\File\Image as ImageModel;
26 use App\Models\News\News; 26 use App\Models\News\News;
27 use App\Models\News\NewsCategory; 27 use App\Models\News\NewsCategory;
28 use App\Models\Product\Keyword; 28 use App\Models\Product\Keyword;
  29 +use App\Models\Product\KeywordRelated;
29 use App\Models\Product\Product; 30 use App\Models\Product\Product;
30 use App\Models\Project\DeployOptimize; 31 use App\Models\Project\DeployOptimize;
31 use App\Models\Project\MinorLanguages; 32 use App\Models\Project\MinorLanguages;
@@ -62,11 +63,12 @@ class Demo extends Command @@ -62,11 +63,12 @@ class Demo extends Command
62 63
63 public function handle(){ 64 public function handle(){
64 $projectModel = new Project(); 65 $projectModel = new Project();
65 - $list = $projectModel->list(['id'=>1697]); 66 + $list = $projectModel->list(['is_upgrade'=>0]);
66 foreach ($list as $v){ 67 foreach ($list as $v){
67 echo date('Y-m-d H:i:s') . 'project_id:'.$v['id'] . PHP_EOL; 68 echo date('Y-m-d H:i:s') . 'project_id:'.$v['id'] . PHP_EOL;
68 ProjectServer::useProject($v['id']); 69 ProjectServer::useProject($v['id']);
69 - $this->getProduct(); 70 +// $this->getProduct();
  71 + $this->copyProduct();
70 DB::disconnect('custom_mysql'); 72 DB::disconnect('custom_mysql');
71 } 73 }
72 echo date('Y-m-d H:i:s') . 'end' . PHP_EOL; 74 echo date('Y-m-d H:i:s') . 'end' . PHP_EOL;
@@ -74,18 +76,38 @@ class Demo extends Command @@ -74,18 +76,38 @@ class Demo extends Command
74 76
75 public function getProduct(){ 77 public function getProduct(){
76 $productModel = new Product(); 78 $productModel = new Product();
77 - $lists = $productModel->list(['status'=>['!=',2]]); 79 + $lists = $productModel->list(['status'=>['!=',3]]);
78 if(!empty($lists)){ 80 if(!empty($lists)){
79 foreach ($lists as $v){ 81 foreach ($lists as $v){
80 - if(!empty($v['route'])){ 82 + if(!empty($v['keyword_id'])){
81 echo date('Y-m-d H:i:s') . 'id :'.$v['id'] . PHP_EOL; 83 echo date('Y-m-d H:i:s') . 'id :'.$v['id'] . PHP_EOL;
82 - $route = RouteMap::setRoute($v['title'], RouteMap::SOURCE_PRODUCT, $v['id'], $v['project_id']);  
83 - $productModel->edit(['route'=>$route],['id'=>$v['id']]); 84 + $keyword_arr = [];
  85 + $count = count($v['keyword_id']);
  86 + if($count > 7){
  87 + foreach ($v['keyword_id'] as $key => $val){
  88 + if($key > 6){
  89 + break;
  90 + }
  91 + $keyword_arr[] = $val;
  92 + }
  93 + $keyword_str = explode(',',$keyword_arr);
  94 + $productModel->edit(['keyword_id'=>$keyword_str],['id'=>$v['id']]);
  95 + $keywordRelatedModel = new KeywordRelated();
  96 + $keywordRelatedModel->edit(['type'=>2],['keyword_id'=>$val,'product_id'=>$v['id']]);
  97 + }
84 } 98 }
85 } 99 }
86 } 100 }
87 } 101 }
88 102
  103 + public function copyProduct(){
  104 + $tableName = 'gl_product';
  105 + $copyTableName = $tableName . '_c';
  106 + // 创建新表并复制数据
  107 + DB::connection('custom_mysql')->statement("CREATE TABLE {$copyTableName} LIKE {$tableName}");
  108 + DB::connection('custom_mysql')->statement("INSERT INTO {$copyTableName} SELECT * FROM {$tableName}");
  109 + }
  110 +
89 /** 111 /**
90 * @remark :保存供应商详情 112 * @remark :保存供应商详情
91 * @name :savePurchaserInfo 113 * @name :savePurchaserInfo
@@ -24,19 +24,20 @@ class KeywordRelated extends Base @@ -24,19 +24,20 @@ class KeywordRelated extends Base
24 * @author zbj 24 * @author zbj
25 * @date 2023/5/4 25 * @date 2023/5/4
26 */ 26 */
27 - public static function saveRelated($product_id, $keyword_ids) 27 + public static function saveRelated($product_id, $keyword_ids,$type = 1)
28 { 28 {
29 if(!is_array($keyword_ids)){ 29 if(!is_array($keyword_ids)){
30 $keyword_ids = array_filter(Arr::splitFilterToArray($keyword_ids), 'intval'); 30 $keyword_ids = array_filter(Arr::splitFilterToArray($keyword_ids), 'intval');
31 } 31 }
32 //先删除 32 //先删除
33 - self::where('product_id', $product_id)->delete(); 33 + self::where('product_id', $product_id)->where('type',$type)->delete();
34 34
35 //批量保存 35 //批量保存
36 $data = []; 36 $data = [];
37 if(!empty($keyword_ids)){ 37 if(!empty($keyword_ids)){
38 foreach ($keyword_ids as $keyword_id){ 38 foreach ($keyword_ids as $keyword_id){
39 $data[] = [ 39 $data[] = [
  40 + 'type' => $type,
40 'product_id' => $product_id, 41 'product_id' => $product_id,
41 'keyword_id' => $keyword_id, 42 'keyword_id' => $keyword_id,
42 'created_at'=>date('Y-m-d H:i:s'), 43 'created_at'=>date('Y-m-d H:i:s'),