作者 lyh

修改服務器配置

... ... @@ -183,20 +183,33 @@ class ProjectLogic extends BaseLogic
* @time :2024/6/25 15:34
*/
public function setServers($servers_id,$project_id){
//查看當前項目服務器是否有更改
$projectModel = new Project();
$projectInfo = $projectModel->read(['id'=>$project_id],['serve_id']);
if(!empty($projectInfo['serve_id'])){
if($projectInfo['serve_id'] == $servers_id){
return $this->success();
}
}
$serversIpModel = new ServersIp();
$info = $serversIpModel->read(['id'=>$servers_id]);
$project_arr = explode(',',$info['project_arr']);
if(count($project_arr) >= Project::SERVER_NUM){
$this->fail('请选择其他服务器,当前ip已满');
$serversIpInfo = $serversIpModel->read(['project_arr'=>['like','%,'.$project_id.',%']]);
if($serversIpInfo !== false){
$string = str_replace(','.$project_id.',',',',$serversIpInfo['project_arr']);
$serversIpModel->edit(['project_arr'=>$string],['id'=>$serversIpInfo['id']]);
}
$info = $serversIpModel->read(['id'=>$servers_id]);
$serversModel = new Servers();
$serversInfo = $serversModel->read(['id'=>$info['servers_id']]);
if($serversInfo['being_number'] >= $serversInfo['total']){
$this->fail('请选择其他服务器,当前服务器已满');
}
$project_arr = explode(',',trim($info['project_arr'],','));
if(count($project_arr) >= $serversInfo['ip_total']){
$this->fail('请选择其他服务器,当前ip已满');
}
if(!in_array($project_id,$project_arr)){
array_push($project_id);
$project_str = implode(',',$project_arr);
$project_str = ','.implode(',',$project_arr).',';
$serversIpModel->edit(['project_arr'=>$project_str,'total'=>count($project_arr)],['id'=>$servers_id]);
$serversModel->where(['id'=>$info['servers_id']])->increment('being_number');
}
... ...