|
...
|
...
|
@@ -8,12 +8,18 @@ |
|
|
|
namespace App\Console\Commands\Test;
|
|
|
|
|
|
|
|
|
|
|
|
use App\Models\Com\KeywordVideoTask;
|
|
|
|
use App\Models\File\File;
|
|
|
|
use App\Models\File\File as FileModel;
|
|
|
|
use App\Models\File\Image;
|
|
|
|
use App\Models\File\Image as ImageModel;
|
|
|
|
use App\Models\Product\Keyword;
|
|
|
|
use App\Models\Project\Project;
|
|
|
|
use App\Services\AmazonS3Service;
|
|
|
|
use App\Services\ProjectServer;
|
|
|
|
use Illuminate\Console\Command;
|
|
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
use Illuminate\Support\Facades\Schema;
|
|
|
|
|
|
|
|
|
|
|
|
class Demo extends Command
|
|
...
|
...
|
@@ -33,25 +39,25 @@ class Demo extends Command |
|
|
|
protected $description = 'demo';
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Execute the job.
|
|
|
|
*
|
|
|
|
* @return void
|
|
|
|
*/
|
|
|
|
public function handle()
|
|
|
|
{
|
|
|
|
$this->param['project_id'] = 181;
|
|
|
|
$imageModel = new ImageModel();
|
|
|
|
//获取当前项目的所有图片
|
|
|
|
$imageList = $imageModel->list(['project_id'=>$this->param['project_id'],'is_cos'=>1],'id',['id','path','is_cos','size']);
|
|
|
|
if(!empty($imageList)){
|
|
|
|
$amazonS3Service = new AmazonS3Service();
|
|
|
|
foreach ($imageList as $k => $v){
|
|
|
|
$amazonS3Service->syncImageFiles(getImageUrl($v['path']));
|
|
|
|
$imageModel->edit(['is_cos'=>0],['id'=>$v['id']]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// /**
|
|
|
|
// * Execute the job.
|
|
|
|
// *
|
|
|
|
// * @return void
|
|
|
|
// */
|
|
|
|
// public function handle()
|
|
|
|
// {
|
|
|
|
// $this->param['project_id'] = 181;
|
|
|
|
// $imageModel = new ImageModel();
|
|
|
|
// //获取当前项目的所有图片
|
|
|
|
// $imageList = $imageModel->list(['project_id'=>$this->param['project_id'],'is_cos'=>1],'id',['id','path','is_cos','size']);
|
|
|
|
// if(!empty($imageList)){
|
|
|
|
// $amazonS3Service = new AmazonS3Service();
|
|
|
|
// foreach ($imageList as $k => $v){
|
|
|
|
// $amazonS3Service->syncImageFiles(getImageUrl($v['path']));
|
|
|
|
// $imageModel->edit(['is_cos'=>0],['id'=>$v['id']]);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
// $fileModel = new FileModel();
|
|
|
|
// $fileList = $fileModel->list(['project_id'=>$this->param['project_id'],'is_cos'=>1],'id',['id','path','is_cos','name']);
|
|
|
|
// if(!empty($fileList)){
|
|
...
|
...
|
@@ -63,7 +69,73 @@ class Demo extends Command |
|
|
|
// gc_collect_cycles();
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
return true;
|
|
|
|
// return true;
|
|
|
|
// }
|
|
|
|
|
|
|
|
// public function handle(){
|
|
|
|
// $keywordVideoModel = new KeywordVideoTask();
|
|
|
|
// $project_id_arr = $keywordVideoModel::where('id','>',0)->pluck('project_id')->toArray();
|
|
|
|
// $projectModel = new Project();
|
|
|
|
// $list = $projectModel->list(['type'=>['!=',0],'delete_status'=>0,'id'=>['in',$project_id_arr]]);
|
|
|
|
// $data = [];
|
|
|
|
// foreach ($list as $v){
|
|
|
|
// echo date('Y-m-d H:i:s') . 'project_id:'.$v['id'] . PHP_EOL;
|
|
|
|
// ProjectServer::useProject($v['id']);
|
|
|
|
// $this->saveKeyword();
|
|
|
|
// DB::disconnect('custom_mysql');
|
|
|
|
// }
|
|
|
|
// echo date('Y-m-d H:i:s') . 'end' . PHP_EOL;
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
// /**
|
|
|
|
// * @remark :关键字有视频的改为1
|
|
|
|
// * @name :getProductKeywordInfo
|
|
|
|
// * @author :lyh
|
|
|
|
// * @method :post
|
|
|
|
// * @time :2024/5/31 9:54
|
|
|
|
// */
|
|
|
|
// public function saveKeyword(){
|
|
|
|
// $keywordModel = new Keyword();
|
|
|
|
// $rs = $keywordModel->edit(['is_video_keyword'=>1],['video'=>['!=',null]]);
|
|
|
|
// echo date('Y-m-d H:i:s') . 'end'.$rs . PHP_EOL;
|
|
|
|
// return true;
|
|
|
|
// }
|
|
|
|
|
|
|
|
public function handle(){
|
|
|
|
//切换数据库配置
|
|
|
|
ProjectServer::useProject(1862);
|
|
|
|
return $this->initTable(1380,1862);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function initTable($project_id, $news_project_id)
|
|
|
|
{
|
|
|
|
config(['database.connections.custom_tmp_mysql_copy.database' => 'gl_data_' . $project_id]);
|
|
|
|
$database_name = DB::connection('custom_tmp_mysql_copy')->getDatabaseName();
|
|
|
|
$tables = Schema::connection('custom_tmp_mysql_copy')->getAllTables();
|
|
|
|
$tables = array_column($tables, 'Tables_in_' . $database_name);
|
|
|
|
foreach ($tables as $table) {
|
|
|
|
$has_table = Schema::connection('custom_mysql')->hasTable($table);
|
|
|
|
if (!$has_table) {
|
|
|
|
$sql = DB::connection('custom_tmp_mysql_copy')->select("SHOW CREATE TABLE {$table}");
|
|
|
|
DB::connection('custom_mysql')->statement(array_values((array)$sql[0])[0]); // 修正此处的sql语句获取方式
|
|
|
|
}
|
|
|
|
|
|
|
|
if ($table == 'gl_customer_visit' || $table == 'gl_customer_visit_item' || $table == 'gl_inquiry_other' || $table == 'gl_inquiry_form_data' || $table == 'gl_inquiry_form') {
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
DB::connection('custom_mysql')->table($table)->truncate(); // 清空目标表数据
|
|
|
|
DB::connection('custom_mysql')->table($table)->insertUsing(
|
|
|
|
[], // 列名数组,留空表示插入所有列
|
|
|
|
function ($query) use ($table, $project_id) {
|
|
|
|
$name = 'gl_data_' . $project_id . '.' . $table;
|
|
|
|
$query->select('*')->from("{$name}");
|
|
|
|
}
|
|
|
|
);
|
|
|
|
|
|
|
|
if (Schema::connection('custom_mysql')->hasColumn($table, 'project_id')) {
|
|
|
|
DB::connection('custom_mysql')->table($table)->update(['project_id' => $news_project_id]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
} |
...
|
...
|
|