作者 Your Name
... ... @@ -305,6 +305,7 @@ class VideoTask extends Command
$keyword_video_ids = !empty($keyword_video_ids) ? ','.$keyword_video_ids.',' : ',' ;
$keyword_video_id_str = $keyword_video_ids . $keyword_id.',';
$productModel->edit(['keyword_video_id'=>$keyword_video_id_str],['id'=>$item->id]);
KeywordRelated::saveRelated($item->id,$keyword_video_ids,2);
}
}
$data[] = ['url'=>getImageUrl($item->thumb['url']),'title'=>$item->title];
... ...
... ... @@ -26,6 +26,7 @@ use App\Models\File\Image as ImageModel;
use App\Models\News\News;
use App\Models\News\NewsCategory;
use App\Models\Product\Keyword;
use App\Models\Product\KeywordRelated;
use App\Models\Product\Product;
use App\Models\Project\DeployOptimize;
use App\Models\Project\MinorLanguages;
... ... @@ -62,11 +63,12 @@ class Demo extends Command
public function handle(){
$projectModel = new Project();
$list = $projectModel->list(['id'=>1697]);
$list = $projectModel->list(['is_upgrade'=>0]);
foreach ($list as $v){
echo date('Y-m-d H:i:s') . 'project_id:'.$v['id'] . PHP_EOL;
ProjectServer::useProject($v['id']);
$this->getProduct();
// $this->getProduct();
$this->copyProduct();
DB::disconnect('custom_mysql');
}
echo date('Y-m-d H:i:s') . 'end' . PHP_EOL;
... ... @@ -74,18 +76,38 @@ class Demo extends Command
public function getProduct(){
$productModel = new Product();
$lists = $productModel->list(['status'=>['!=',2]]);
$lists = $productModel->list(['status'=>['!=',3]]);
if(!empty($lists)){
foreach ($lists as $v){
if(!empty($v['route'])){
if(!empty($v['keyword_id'])){
echo date('Y-m-d H:i:s') . 'id :'.$v['id'] . PHP_EOL;
$route = RouteMap::setRoute($v['title'], RouteMap::SOURCE_PRODUCT, $v['id'], $v['project_id']);
$productModel->edit(['route'=>$route],['id'=>$v['id']]);
$keyword_arr = [];
$count = count($v['keyword_id']);
if($count > 7){
foreach ($v['keyword_id'] as $key => $val){
if($key > 6){
break;
}
$keyword_arr[] = $val;
}
$keyword_str = explode(',',$keyword_arr);
$productModel->edit(['keyword_id'=>$keyword_str],['id'=>$v['id']]);
$keywordRelatedModel = new KeywordRelated();
$keywordRelatedModel->edit(['type'=>2],['keyword_id'=>$val,'product_id'=>$v['id']]);
}
}
}
}
}
public function copyProduct(){
$tableName = 'gl_product';
$copyTableName = $tableName . '_c';
// 创建新表并复制数据
DB::connection('custom_mysql')->statement("CREATE TABLE {$copyTableName} LIKE {$tableName}");
DB::connection('custom_mysql')->statement("INSERT INTO {$copyTableName} SELECT * FROM {$tableName}");
}
/**
* @remark :保存供应商详情
* @name :savePurchaserInfo
... ...
... ... @@ -24,19 +24,20 @@ class KeywordRelated extends Base
* @author zbj
* @date 2023/5/4
*/
public static function saveRelated($product_id, $keyword_ids)
public static function saveRelated($product_id, $keyword_ids,$type = 1)
{
if(!is_array($keyword_ids)){
$keyword_ids = array_filter(Arr::splitFilterToArray($keyword_ids), 'intval');
}
//先删除
self::where('product_id', $product_id)->delete();
self::where('product_id', $product_id)->where('type',$type)->delete();
//批量保存
$data = [];
if(!empty($keyword_ids)){
foreach ($keyword_ids as $keyword_id){
$data[] = [
'type' => $type,
'product_id' => $product_id,
'keyword_id' => $keyword_id,
'created_at'=>date('Y-m-d H:i:s'),
... ...