作者 lyh

修改脚本设置

@@ -10,6 +10,7 @@ namespace App\Console\Commands\Test; @@ -10,6 +10,7 @@ namespace App\Console\Commands\Test;
10 10
11 use App\Models\Com\KeywordVideoTask; 11 use App\Models\Com\KeywordVideoTask;
12 use App\Models\Com\KeywordVideoTaskLog; 12 use App\Models\Com\KeywordVideoTaskLog;
  13 +use App\Models\Devops\ServerConfig;
13 use App\Models\Devops\Servers; 14 use App\Models\Devops\Servers;
14 use App\Models\Devops\ServersIp; 15 use App\Models\Devops\ServersIp;
15 use App\Models\File\File; 16 use App\Models\File\File;
@@ -45,17 +46,51 @@ class Demo extends Command @@ -45,17 +46,51 @@ class Demo extends Command
45 protected $description = 'demo'; 46 protected $description = 'demo';
46 47
47 public function handle(){ 48 public function handle(){
48 - $keywordVideoModel = new KeywordVideoTask();  
49 - $project_id_arr = $keywordVideoModel::where('id','>',0)->pluck('project_id')->toArray();  
50 - //查看是否有子记录  
51 - foreach ($project_id_arr as $values){  
52 - $logModel = new KeywordVideoTaskLog();  
53 - $logInfo = $logModel->read(['project_id'=>$values]);  
54 - if($logInfo === false){  
55 - echo date('Y-m-d H:i:s') . '开启的项目project_id:'.$values . PHP_EOL;  
56 - $keywordVideoModel->edit(['status'=>0],['project_id'=>$values]);  
57 - } 49 + $serverConfigModel = new ServerConfig();
  50 + $lists = $serverConfigModel->list(['type'=>1]);
  51 + foreach ($lists as $v){
  52 + echo date('Y-m-d H:i:s') . 'title数据:'.$v['title'] . PHP_EOL;
  53 + $param = [
  54 + 'server_name'=>$v['title'],
  55 + 'being_number'=>$v['count'],
  56 + 'ip_total'=>1,
  57 + 'account'=>$v['user'],
  58 + 'password'=>$v['password'],
  59 + 'port'=>$v['port'],
  60 + 'bt_account'=>$v['bt_account'],
  61 + 'bt_password'=>$v['bt_password'],
  62 + 'service_type'=>$v['service_type'],
  63 + 'domain'=>'globalso.com',
  64 + ];
  65 + $serverModel = new Servers();
  66 + $server_id = $serverModel->addReturnId($param);
  67 + echo date('Y-m-d H:i:s') . 'server_id:'.$server_id . PHP_EOL;
  68 + $paramsIp = [
  69 + 'id'=>$v['id'],
  70 + 'ip'=>$v['host'],
  71 + 'servers_id'=>$server_id,
  72 + 'domain'=>$v['init_domain'],
  73 + 'created_at'=>date('Y-m-d H:i:s'),
  74 + 'updated_at'=>date('Y-m-d H:i:s')
  75 + ];
  76 + $serverIpModel = new ServersIp();
  77 + $serverIpModel->insert($paramsIp);
58 } 78 }
  79 + return true;
  80 + }
  81 +
  82 +// public function handle(){
  83 +// $keywordVideoModel = new KeywordVideoTask();
  84 +// $project_id_arr = $keywordVideoModel::where('id','>',0)->pluck('project_id')->toArray();
  85 +// //查看是否有子记录
  86 +// foreach ($project_id_arr as $values){
  87 +// $logModel = new KeywordVideoTaskLog();
  88 +// $logInfo = $logModel->read(['project_id'=>$values]);
  89 +// if($logInfo === false){
  90 +// echo date('Y-m-d H:i:s') . '开启的项目project_id:'.$values . PHP_EOL;
  91 +// $keywordVideoModel->edit(['status'=>0],['project_id'=>$values]);
  92 +// }
  93 +// }
59 // $projectModel = new Project(); 94 // $projectModel = new Project();
60 // $list = $projectModel->list(['type'=>['!=',0],'delete_status'=>0,'id'=>['in',$project_id_arr]]); 95 // $list = $projectModel->list(['type'=>['!=',0],'delete_status'=>0,'id'=>['in',$project_id_arr]]);
61 // $data = []; 96 // $data = [];
@@ -65,30 +100,30 @@ class Demo extends Command @@ -65,30 +100,30 @@ class Demo extends Command
65 // $this->getProductList(); 100 // $this->getProductList();
66 // DB::disconnect('custom_mysql'); 101 // DB::disconnect('custom_mysql');
67 // } 102 // }
68 - echo date('Y-m-d H:i:s') . 'end' . PHP_EOL;  
69 - } 103 +// echo date('Y-m-d H:i:s') . 'end' . PHP_EOL;
  104 +// }
70 105
71 - public function getProductList(){  
72 - $productModel = new Product();  
73 - $product_all_id = $productModel::whereRaw('LENGTH(keyword_id) > 50')->pluck('id')->toArray();  
74 - if(empty($product_all_id)){  
75 - return true;  
76 - }  
77 - $lists = $productModel->whereIn("id", $product_all_id)->orderByRaw(DB::raw("FIELD(id, " . implode(',', $product_all_id) . ")"))->get()->toArray();  
78 - foreach ($lists as $k => $v){  
79 - echo date('Y-m-d H:i:s') . '项目id:'.$v['project_id'].'+产品product_id:'.$v['id'] . PHP_EOL;  
80 - $str = ',';  
81 - shuffle($v['keyword_id']);  
82 - foreach ($v['keyword_id'] as $key => $value){  
83 - if($key == 6){  
84 - break;  
85 - }  
86 - $str .= $value.',';  
87 - }  
88 - $productModel->edit(['keyword_id'=>$str],['id'=>$v['id']]);  
89 - }  
90 - return true;  
91 - } 106 +// public function getProductList(){
  107 +// $productModel = new Product();
  108 +// $product_all_id = $productModel::whereRaw('LENGTH(keyword_id) > 50')->pluck('id')->toArray();
  109 +// if(empty($product_all_id)){
  110 +// return true;
  111 +// }
  112 +// $lists = $productModel->whereIn("id", $product_all_id)->orderByRaw(DB::raw("FIELD(id, " . implode(',', $product_all_id) . ")"))->get()->toArray();
  113 +// foreach ($lists as $k => $v){
  114 +// echo date('Y-m-d H:i:s') . '项目id:'.$v['project_id'].'+产品product_id:'.$v['id'] . PHP_EOL;
  115 +// $str = ',';
  116 +// shuffle($v['keyword_id']);
  117 +// foreach ($v['keyword_id'] as $key => $value){
  118 +// if($key == 6){
  119 +// break;
  120 +// }
  121 +// $str .= $value.',';
  122 +// }
  123 +// $productModel->edit(['keyword_id'=>$str],['id'=>$v['id']]);
  124 +// }
  125 +// return true;
  126 +// }
92 // 127 //
93 // /** 128 // /**
94 // * @remark :关键字有视频的改为1 129 // * @remark :关键字有视频的改为1
@@ -118,4 +118,21 @@ class ServersIpController extends BaseController @@ -118,4 +118,21 @@ class ServersIpController extends BaseController
118 $data = $serversIpLogic->batchSaveServersIp(); 118 $data = $serversIpLogic->batchSaveServersIp();
119 $this->response('success',Code::SUCCESS,$data); 119 $this->response('success',Code::SUCCESS,$data);
120 } 120 }
  121 +
  122 + /**
  123 + * @remark :批量删除数据
  124 + * @name :batchDel
  125 + * @author :lyh
  126 + * @method :post
  127 + * @time :2024/6/27 13:52
  128 + */
  129 + public function batchDel(ServersIpLogic $serversIpLogic){
  130 + $this->request->validate([
  131 + 'ids'=>'required|array',
  132 + ],[
  133 + 'ids.required' => 'ip集合不能为空',
  134 + ]);
  135 + $serversIpLogic->batchDelServersIp();
  136 + $this->response('success');
  137 + }
121 } 138 }
@@ -74,4 +74,22 @@ class ServersIpLogic extends BaseLogic @@ -74,4 +74,22 @@ class ServersIpLogic extends BaseLogic
74 } 74 }
75 return $this->success(); 75 return $this->success();
76 } 76 }
  77 +
  78 + /**
  79 + * @remark :批量删除数据
  80 + * @name :batchDelServersIp
  81 + * @author :lyh
  82 + * @method :post
  83 + * @time :2024/6/27 13:55
  84 + */
  85 + public function batchDelServersIp(){
  86 + foreach ($this->param['ids'] as $v){
  87 + $info = $this->model->read(['id'=>$v['id']],['total']);
  88 + if($info['total'] != 0){
  89 + continue;
  90 + }
  91 + $this->model->del(['id'=>$v]);
  92 + }
  93 + return $this->success();
  94 + }
77 } 95 }
@@ -193,15 +193,16 @@ class ProjectLogic extends BaseLogic @@ -193,15 +193,16 @@ class ProjectLogic extends BaseLogic
193 } 193 }
194 $serversIpModel = new ServersIp(); 194 $serversIpModel = new ServersIp();
195 $serversIpInfo = $serversIpModel->read(['project_arr'=>['like','%,'.$project_id.',%']]); 195 $serversIpInfo = $serversIpModel->read(['project_arr'=>['like','%,'.$project_id.',%']]);
  196 + $serversModel = new Servers();
196 if($serversIpInfo !== false){ 197 if($serversIpInfo !== false){
197 $string = str_replace(','.$project_id.',',',',$serversIpInfo['project_arr']); 198 $string = str_replace(','.$project_id.',',',',$serversIpInfo['project_arr']);
198 if($string == ','){ 199 if($string == ','){
199 $string = ''; 200 $string = '';
200 } 201 }
201 $serversIpModel->edit(['project_arr'=>$string],['id'=>$serversIpInfo['id']]); 202 $serversIpModel->edit(['project_arr'=>$string],['id'=>$serversIpInfo['id']]);
  203 + $serversModel->where(['id'=>$serversIpInfo['servers_id']])->decrement('being_number',1);
202 } 204 }
203 $info = $serversIpModel->read(['id'=>$servers_id]); 205 $info = $serversIpModel->read(['id'=>$servers_id]);
204 - $serversModel = new Servers();  
205 $serversInfo = $serversModel->read(['id'=>$info['servers_id']]); 206 $serversInfo = $serversModel->read(['id'=>$info['servers_id']]);
206 if($serversInfo['being_number'] >= $serversInfo['total']){ 207 if($serversInfo['being_number'] >= $serversInfo['total']){
207 $this->fail('请选择其他服务器,当前服务器已满'); 208 $this->fail('请选择其他服务器,当前服务器已满');
@@ -217,7 +218,7 @@ class ProjectLogic extends BaseLogic @@ -217,7 +218,7 @@ class ProjectLogic extends BaseLogic
217 array_push($project_arr,$project_id); 218 array_push($project_arr,$project_id);
218 $project_str = ','.implode(',',$project_arr).','; 219 $project_str = ','.implode(',',$project_arr).',';
219 $serversIpModel->edit(['project_arr'=>$project_str,'total'=>count($project_arr)],['id'=>$servers_id]); 220 $serversIpModel->edit(['project_arr'=>$project_str,'total'=>count($project_arr)],['id'=>$servers_id]);
220 - $serversModel->where(['id'=>$info['servers_id']])->increment('being_number'); 221 + $serversModel->where(['id'=>$info['servers_id']])->increment('being_number',1);
221 } 222 }
222 return $this->success(); 223 return $this->success();
223 } 224 }
@@ -447,6 +447,7 @@ Route::middleware(['aloginauth'])->group(function () { @@ -447,6 +447,7 @@ Route::middleware(['aloginauth'])->group(function () {
447 Route::any('/list', [Aside\Devops\ServersIpController::class, 'list'])->name('admin.servers_list'); 447 Route::any('/list', [Aside\Devops\ServersIpController::class, 'list'])->name('admin.servers_list');
448 Route::any('/save', [Aside\Devops\ServersIpController::class, 'save'])->name('admin.servers_save'); 448 Route::any('/save', [Aside\Devops\ServersIpController::class, 'save'])->name('admin.servers_save');
449 Route::any('/batchSave', [Aside\Devops\ServersIpController::class, 'batchSave'])->name('admin.servers_batchSave'); 449 Route::any('/batchSave', [Aside\Devops\ServersIpController::class, 'batchSave'])->name('admin.servers_batchSave');
  450 + Route::any('/batchDel', [Aside\Devops\ServersIpController::class, 'batchDel'])->name('admin.servers_batchDel');
450 Route::any('/info', [Aside\Devops\ServersIpController::class, 'info'])->name('admin.servers_info'); 451 Route::any('/info', [Aside\Devops\ServersIpController::class, 'info'])->name('admin.servers_info');
451 }); 452 });
452 }); 453 });