|
...
|
...
|
@@ -148,7 +148,7 @@ class ProjectLogic extends BaseLogic |
|
|
|
//初始化项目
|
|
|
|
$this->createProjectData($this->param);
|
|
|
|
//双向绑定服务器,需放到保存项目的上方
|
|
|
|
// $this->setServers($this->param['serve_id'],$this->param['id']);
|
|
|
|
$this->setServers($this->param['serve_id'],$this->param['id']);
|
|
|
|
//保存项目信息
|
|
|
|
$this->saveProject($this->param);
|
|
|
|
//保存建站部署信息
|
|
...
|
...
|
@@ -180,37 +180,25 @@ class ProjectLogic extends BaseLogic |
|
|
|
//查看當前項目服務器是否有更改
|
|
|
|
$projectModel = new Project();
|
|
|
|
$projectInfo = $projectModel->read(['id'=>$project_id],['serve_id']);
|
|
|
|
$serversIpModel = new ServersIp();
|
|
|
|
$serversModel = new Servers();
|
|
|
|
if(!empty($projectInfo['serve_id'])){
|
|
|
|
if($projectInfo['serve_id'] == $servers_id){
|
|
|
|
return $this->success();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
$serversIpModel = new ServersIp();
|
|
|
|
$serversIpInfo = $serversIpModel->read(['project_arr'=>['like','%,'.$project_id.',%']]);
|
|
|
|
$serversModel = new Servers();
|
|
|
|
if($serversIpInfo !== false){
|
|
|
|
$string = str_replace(','.$project_id.',',',',$serversIpInfo['project_arr']);
|
|
|
|
if($string == ','){
|
|
|
|
$string = '';
|
|
|
|
$oldServerInfo = $serversModel->read(['id'=>$projectInfo['serve_id']]);
|
|
|
|
if($oldServerInfo !== false){
|
|
|
|
$serversIpModel->where(['id'=>$projectInfo['serve_id']])->decrement('total',1);
|
|
|
|
$serversModel->where(['id'=>$oldServerInfo['servers_id']])->decrement('being_number',1);
|
|
|
|
}
|
|
|
|
$serversIpModel->edit(['project_arr'=>$string],['id'=>$serversIpInfo['id']]);
|
|
|
|
$serversModel->where(['id'=>$serversIpInfo['servers_id']])->decrement('being_number',1);
|
|
|
|
}
|
|
|
|
$info = $serversIpModel->read(['id'=>$servers_id]);
|
|
|
|
$serversInfo = $serversModel->read(['id'=>$info['servers_id']]);
|
|
|
|
$project_arr = [];
|
|
|
|
if(!empty(trim($info['project_arr'],','))){
|
|
|
|
$project_arr = explode(',',trim($info['project_arr'],','));
|
|
|
|
}
|
|
|
|
if(count($project_arr) >= $serversInfo['ip_total']){
|
|
|
|
$serversIpInfo = $serversIpModel->read(['id'=>$servers_id]);
|
|
|
|
$serversInfo = $serversModel->read(['id'=>$serversIpInfo['servers_id']]);
|
|
|
|
if($serversIpInfo['total'] >= $serversInfo['ip_total']){
|
|
|
|
$this->fail('请选择其他服务器,当前ip已满');
|
|
|
|
}
|
|
|
|
if(!in_array($project_id,$project_arr) || empty($project_arr)){
|
|
|
|
array_push($project_arr,$project_id);
|
|
|
|
$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',1);
|
|
|
|
}
|
|
|
|
$serversModel->where(['id'=>$servers_id])->increment('total',1);
|
|
|
|
$serversModel->where(['id'=>$serversInfo['id']])->increment('being_number',1);
|
|
|
|
return $this->success();
|
|
|
|
}
|
|
|
|
|
...
|
...
|
|