|
|
|
<?php
|
|
|
|
/**
|
|
|
|
* @remark :
|
|
|
|
* @name :ServersController.php
|
|
|
|
* @author :lyh
|
|
|
|
* @method :post
|
|
|
|
* @time :2024/6/24 16:18
|
|
|
|
*/
|
|
|
|
|
|
|
|
namespace App\Http\Controllers\Aside\Devops;
|
|
|
|
|
|
|
|
use App\Enums\Common\Code;
|
|
|
|
use App\Http\Controllers\Aside\BaseController;
|
|
|
|
use App\Http\Logic\Aside\Devops\ServersLogic;
|
|
|
|
use App\Models\Devops\Servers;
|
|
|
|
use App\Models\Devops\Servers as ServersModel;
|
|
|
|
use App\Models\Devops\ServersIp;
|
|
|
|
|
|
|
|
class ServersController extends BaseController
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* @remark :获取服务器列表
|
|
|
|
* @name :serverList
|
|
|
|
* @author :lyh
|
|
|
|
* @method :post
|
|
|
|
* @time :2024/6/24 17:47
|
|
|
|
*/
|
|
|
|
public function serverList(){
|
|
|
|
$serversIpModel = new ServersIp();
|
|
|
|
$query = $serversIpModel->leftJoin('gl_servers', 'gl_servers_ip.servers_id', '=', 'gl_servers.id');
|
|
|
|
$query = $this->searchParam($query);
|
|
|
|
$lists = $query->paginate($this->row, $this->selectParam(), 'page', $this->page)->toArray();
|
|
|
|
$this->response('success',Code::SUCCESS,$lists);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @remark :查询列表
|
|
|
|
* @name :selectParam
|
|
|
|
* @author :lyh
|
|
|
|
* @method :post
|
|
|
|
* @time :2024/6/25 9:33
|
|
|
|
*/
|
|
|
|
public function selectParam(){
|
|
|
|
$select = [
|
|
|
|
'gl_servers_ip.id AS id',
|
|
|
|
'gl_servers_ip.ip AS ip',
|
|
|
|
'gl_servers_ip.domain AS domain',
|
|
|
|
'gl_servers.server_name AS server_name',
|
|
|
|
'gl_servers.total AS total',
|
|
|
|
'gl_servers.being_number AS being_number',
|
|
|
|
];
|
|
|
|
return $select;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @remark :服务器名称搜索
|
|
|
|
* @name :searchParam
|
|
|
|
* @author :lyh
|
|
|
|
* @method :post
|
|
|
|
* @time :2024/6/25 9:28
|
|
|
|
*/
|
|
|
|
public function searchParam(&$query){
|
|
|
|
if(isset($this->param['server_name'])){
|
|
|
|
$query->where('gl_servers.server_name','like','%'.$this->param['server_name'].'%');
|
|
|
|
}
|
|
|
|
return $query;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @remark :服务器列表
|
|
|
|
* @name :lists
|
|
|
|
* @author :lyh
|
|
|
|
* @method :post
|
|
|
|
* @time :2024/6/24 16:25
|
|
|
|
*/
|
|
|
|
public function lists(){
|
|
|
|
if(isset($this->map['server_name']) && !empty($this->map['server_name'])){
|
|
|
|
$this->map['server_name'] = ['like','%'.$this->map['server_name'].'%'];
|
|
|
|
}
|
|
|
|
$serversModel = new ServersModel();
|
|
|
|
$data = $serversModel->lists($this->map,$this->page,$this->row,$this->order);
|
|
|
|
$this->response('success',Code::SUCCESS,$data);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @remark :获取详情
|
|
|
|
* @name :Info
|
|
|
|
* @author :lyh
|
|
|
|
* @method :post
|
|
|
|
* @time :2024/6/24 17:05
|
|
|
|
*/
|
|
|
|
public function info(ServersLogic $serversLogic){
|
|
|
|
$this->request->validate([
|
|
|
|
'id'=>'required'
|
|
|
|
],[
|
|
|
|
'id.required' => '主键不能为空'
|
|
|
|
|
|
|
|
]);
|
|
|
|
$data = $serversLogic->infoServers();
|
|
|
|
$this->response('success',Code::SUCCESS,$data);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @remark :保存数据
|
|
|
|
* @name :save
|
|
|
|
* @author :lyh
|
|
|
|
* @method :post
|
|
|
|
* @time :2024/6/24 16:25
|
|
|
|
*/
|
|
|
|
public function save(ServersLogic $serversLogic){
|
|
|
|
$this->request->validate([
|
|
|
|
'server_name'=>'required',
|
|
|
|
'service_type'=>'required',
|
|
|
|
'total'=>'required',
|
|
|
|
'account'=>'required',
|
|
|
|
'password'=>'required',
|
|
|
|
'port'=>'required'
|
|
|
|
],[
|
|
|
|
'server_name.required' => '服务器名称server_name不能为空',
|
|
|
|
'service_type.required' => '服务器类型不能为空',
|
|
|
|
'total.required' => '总数不能为空',
|
|
|
|
'account.required' => '账号不能为空',
|
|
|
|
'password.required' => '密码不能为空',
|
|
|
|
'port.required' => '端口不能为空'
|
|
|
|
]);
|
|
|
|
$data = $serversLogic->saveServers();
|
|
|
|
$this->response('success',Code::SUCCESS,$data);
|
|
|
|
}
|
|
|
|
} |
...
|
...
|
|