作者 lyh

项目选择服务器

@@ -9,6 +9,8 @@ namespace App\Console\Commands\Test; @@ -9,6 +9,8 @@ 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;
@@ -41,24 +43,52 @@ class Demo extends Command @@ -41,24 +43,52 @@ class Demo extends Command
41 protected $description = 'demo'; 43 protected $description = 'demo';
42 44
43 45
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 -// } 46 + /**
  47 + * Execute the job.
  48 + *
  49 + * @return void
  50 + */
  51 + public function handle()
  52 + {
  53 + $project_id = 1;
  54 + $servers_id = 1;
  55 + //查看當前項目服務器是否有更改
  56 + $projectModel = new Project();
  57 + $projectInfo = $projectModel->read(['id'=>$project_id],['serve_id']);
  58 + if(!empty($projectInfo['serve_id'])){
  59 + if($projectInfo['serve_id'] == $servers_id){
  60 + echo 2;
  61 + }
  62 + }
  63 + $serversIpModel = new ServersIp();
  64 + $serversIpInfo = $serversIpModel->read(['project_arr'=>['like','%,'.$project_id.',%']]);
  65 + if($serversIpInfo !== false){
  66 + $string = str_replace(','.$project_id.',',',',$serversIpInfo['project_arr']);
  67 + if($string == ','){
  68 + $string = '';
  69 + }
  70 + $serversIpModel->edit(['project_arr'=>$string],['id'=>$serversIpInfo['id']]);
  71 + }
  72 + $info = $serversIpModel->read(['id'=>$servers_id]);
  73 + $serversModel = new Servers();
  74 + $serversInfo = $serversModel->read(['id'=>$info['servers_id']]);
  75 + if($serversInfo['being_number'] >= $serversInfo['total']){
  76 + echo '请选择其他服务器,当前服务器已满';
  77 + }
  78 + $project_arr = explode(',',trim($info['project_arr'],','));
  79 + if(count($project_arr) >= $serversInfo['ip_total']){
  80 + echo '请选择其他服务器,当前ip已满';
  81 + }
  82 + @file_put_contents(storage_path('logs/lyh_error.log'), var_export($project_arr, true) . PHP_EOL, FILE_APPEND);
  83 + @file_put_contents(storage_path('logs/lyh_error.log'), var_export($project_id, true) . PHP_EOL, FILE_APPEND);
  84 + if(!in_array($project_id,$project_arr) || empty($project_arr)){
  85 + array_push($project_arr,$project_id);
  86 + $project_str = ','.implode(',',$project_arr).',';
  87 + $serversIpModel->edit(['project_arr'=>$project_str,'total'=>count($project_arr)],['id'=>$servers_id]);
  88 + $serversModel->where(['id'=>$info['servers_id']])->increment('being_number');
  89 + }
  90 + echo 1;
  91 + }
62 // 92 //
63 // $fileModel = new FileModel(); 93 // $fileModel = new FileModel();
64 // $fileList = $fileModel->list(['project_id'=>$this->param['project_id'],'is_cos'=>1],'id',['id','path','is_cos','name']); 94 // $fileList = $fileModel->list(['project_id'=>$this->param['project_id'],'is_cos'=>1],'id',['id','path','is_cos','name']);