作者 lyh

gx

@@ -9,11 +9,14 @@ namespace App\Console\Commands\Test; @@ -9,11 +9,14 @@ namespace App\Console\Commands\Test;
9 9
10 10
11 use App\Models\Com\KeywordVideoTask; 11 use App\Models\Com\KeywordVideoTask;
  12 +use App\Models\Devops\Servers;
  13 +use App\Models\Devops\ServersIp;
12 use App\Models\File\File; 14 use App\Models\File\File;
13 use App\Models\File\File as FileModel; 15 use App\Models\File\File as FileModel;
14 use App\Models\File\Image; 16 use App\Models\File\Image;
15 use App\Models\File\Image as ImageModel; 17 use App\Models\File\Image as ImageModel;
16 use App\Models\Product\Keyword; 18 use App\Models\Product\Keyword;
  19 +use App\Models\Product\Product;
17 use App\Models\Project\DeployOptimize; 20 use App\Models\Project\DeployOptimize;
18 use App\Models\Project\MinorLanguages; 21 use App\Models\Project\MinorLanguages;
19 use App\Models\Project\Project; 22 use App\Models\Project\Project;
@@ -40,54 +43,37 @@ class Demo extends Command @@ -40,54 +43,37 @@ class Demo extends Command
40 */ 43 */
41 protected $description = 'demo'; 44 protected $description = 'demo';
42 45
  46 + public function handle(){
  47 + $keywordVideoModel = new KeywordVideoTask();
  48 + $project_id_arr = $keywordVideoModel::where('id','>',0)->pluck('project_id')->toArray();
  49 + $projectModel = new Project();
  50 + $list = $projectModel->list(['type'=>['!=',0],'delete_status'=>0,'id'=>['in',$project_id_arr]]);
  51 + $data = [];
  52 + foreach ($list as $v){
  53 + echo date('Y-m-d H:i:s') . 'project_id:'.$v['id'] . PHP_EOL;
  54 + ProjectServer::useProject($v['id']);
  55 + $this->getProductList();
  56 + DB::disconnect('custom_mysql');
  57 + }
  58 + echo date('Y-m-d H:i:s') . 'end' . PHP_EOL;
  59 + }
43 60
44 -// /**  
45 -// * Execute the job.  
46 -// *  
47 -// * @return void  
48 -// */  
49 -// public function handle()  
50 -// {  
51 -// $this->param['project_id'] = 181;  
52 -// $imageModel = new ImageModel();  
53 -// //获取当前项目的所有图片  
54 -// $imageList = $imageModel->list(['project_id'=>$this->param['project_id'],'is_cos'=>1],'id',['id','path','is_cos','size']);  
55 -// if(!empty($imageList)){  
56 -// $amazonS3Service = new AmazonS3Service();  
57 -// foreach ($imageList as $k => $v){  
58 -// $amazonS3Service->syncImageFiles(getImageUrl($v['path']));  
59 -// $imageModel->edit(['is_cos'=>0],['id'=>$v['id']]);  
60 -// }  
61 -// }  
62 -//  
63 -// $fileModel = new FileModel();  
64 -// $fileList = $fileModel->list(['project_id'=>$this->param['project_id'],'is_cos'=>1],'id',['id','path','is_cos','name']);  
65 -// if(!empty($fileList)){  
66 -// $amazonS3Service = new AmazonS3Service();  
67 -// foreach ($fileList as $k => $v){  
68 -// echo date('Y-m-d H:i:s') . '执行的数据id:' . $v['id'] . '名称:'.$v['name'] . PHP_EOL;  
69 -// $amazonS3Service->syncImageFiles(getFileUrl($v['path']));  
70 -// $fileModel->edit(['is_cos'=>0],['id'=>$v['id']]);  
71 -// gc_collect_cycles();  
72 -// }  
73 -// }  
74 -// return true;  
75 -// }  
76 -  
77 -// public function handle(){  
78 -// $keywordVideoModel = new KeywordVideoTask();  
79 -// $project_id_arr = $keywordVideoModel::where('id','>',0)->pluck('project_id')->toArray();  
80 -// $projectModel = new Project();  
81 -// $list = $projectModel->list(['type'=>['!=',0],'delete_status'=>0,'id'=>['in',$project_id_arr]]);  
82 -// $data = [];  
83 -// foreach ($list as $v){  
84 -// echo date('Y-m-d H:i:s') . 'project_id:'.$v['id'] . PHP_EOL;  
85 -// ProjectServer::useProject($v['id']);  
86 -// $this->saveKeyword();  
87 -// DB::disconnect('custom_mysql');  
88 -// }  
89 -// echo date('Y-m-d H:i:s') . 'end' . PHP_EOL;  
90 -// } 61 + public function getProductList(){
  62 + $productModel = new Product();
  63 + $lists = $productModel::whereRaw('LENGTH(keyword_id) > 50')->get()->toArray();
  64 + foreach ($lists as $k => $v){
  65 + echo date('Y-m-d H:i:s') . '项目id:'.$v['project_id'].'+产品product_id:'.$v['id'] . PHP_EOL;
  66 + $str = ',';
  67 + foreach ($v['keyword_id'] as $key => $value){
  68 + if($key == 6){
  69 + break;
  70 + }
  71 + $str .= $value.',';
  72 + }
  73 + $productModel->edit(['keyword_id'=>$str],['id'=>$v['id']]);
  74 + }
  75 + return true;
  76 + }
91 // 77 //
92 // /** 78 // /**
93 // * @remark :关键字有视频的改为1 79 // * @remark :关键字有视频的改为1
@@ -140,26 +126,4 @@ class Demo extends Command @@ -140,26 +126,4 @@ class Demo extends Command
140 // } 126 // }
141 // return true; 127 // return true;
142 // } 128 // }
143 -  
144 - public function handle(){  
145 - $minorLanguageModel = new MinorLanguages();  
146 - $lists = $minorLanguageModel->list();  
147 - foreach ($lists as $v){  
148 - $d = new DeployOptimize();  
149 - $info = $d->read(['project_id'=>$v['project_id']]);  
150 - if($info === false){  
151 - continue;  
152 - }  
153 - if(!empty($info['minor_keywords'])){  
154 - echo '关键字'.json_decode($info['minor_keywords']);  
155 - $minor_keywords = json_decode($info['minor_keywords']);  
156 - foreach ($minor_keywords as $v1){  
157 - $v1 = (array)$v1;  
158 - if($v['language'] == $v1['name']){  
159 - $minorLanguageModel->edit(['minor_keywords'=>$v1['keyword']],['id'=>$v['id']]);  
160 - }  
161 - }  
162 - }  
163 - }  
164 - }  
165 } 129 }
@@ -153,6 +153,8 @@ class ProjectLogic extends BaseLogic @@ -153,6 +153,8 @@ class ProjectLogic extends BaseLogic
153 }else{ 153 }else{
154 //初始化项目 154 //初始化项目
155 $this->createProjectData($this->param); 155 $this->createProjectData($this->param);
  156 + //双向绑定服务器,需放到保存项目的上方
  157 +// $this->setServers($this->param['serve_id'],$this->param['id']);
156 //保存项目信息 158 //保存项目信息
157 $this->saveProject($this->param); 159 $this->saveProject($this->param);
158 //保存建站部署信息 160 //保存建站部署信息
@@ -169,8 +171,6 @@ class ProjectLogic extends BaseLogic @@ -169,8 +171,6 @@ class ProjectLogic extends BaseLogic
169 $this->syncImageFile($this->param['project_location'],$this->param['id']); 171 $this->syncImageFile($this->param['project_location'],$this->param['id']);
170 //同步信息表 172 //同步信息表
171 (new SyncService())->projectAcceptAddress($this->param['id']); 173 (new SyncService())->projectAcceptAddress($this->param['id']);
172 - //双向绑定服务器  
173 -// $this->setServers($this->param['serve_id'],$this->param['id']);  
174 } 174 }
175 return $this->success(); 175 return $this->success();
176 } 176 }
@@ -206,7 +206,10 @@ class ProjectLogic extends BaseLogic @@ -206,7 +206,10 @@ class ProjectLogic extends BaseLogic
206 if($serversInfo['being_number'] >= $serversInfo['total']){ 206 if($serversInfo['being_number'] >= $serversInfo['total']){
207 $this->fail('请选择其他服务器,当前服务器已满'); 207 $this->fail('请选择其他服务器,当前服务器已满');
208 } 208 }
  209 + $project_arr = [];
  210 + if(!empty(trim($info['project_arr'],','))){
209 $project_arr = explode(',',trim($info['project_arr'],',')); 211 $project_arr = explode(',',trim($info['project_arr'],','));
  212 + }
210 if(count($project_arr) >= $serversInfo['ip_total']){ 213 if(count($project_arr) >= $serversInfo['ip_total']){
211 $this->fail('请选择其他服务器,当前ip已满'); 214 $this->fail('请选择其他服务器,当前ip已满');
212 } 215 }