ServersController.php
3.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<?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);
}
}