作者 lyh

gx

... ... @@ -30,6 +30,11 @@ class ServersController extends BaseController
}
$serversModel = new ServersModel();
$lists = $serversModel->list($this->map);
foreach ($lists as $k => $v){
if($v['being_number'] >= $v['total']){
unset($lists[$k]);
}
}
$this->response('success',Code::SUCCESS,$lists);
}
... ...
... ... @@ -13,6 +13,7 @@ use App\Enums\Common\Code;
use App\Http\Controllers\Aside\BaseController;
use App\Http\Logic\Aside\Devops\ServersIpLogic;
use App\Models\Devops\ServersIp as ServersIpModel;
use App\Models\Project\Project;
class ServersIpController extends BaseController
{
... ... @@ -31,6 +32,7 @@ class ServersIpController extends BaseController
'servers_id.required' => '服务器servers_id不能为空'
]);
$serversIpModel = new ServersIpModel();
$this->map['total'] = ['<',Project::SERVER_NUM];
$data = $serversIpModel->list($this->map);
$this->response('success',Code::SUCCESS,$data);
}
... ...
... ... @@ -19,6 +19,7 @@ use App\Models\Channel\Zone;
use App\Models\Com\NoticeLog;
use App\Models\Com\UpdateLog;
use App\Models\Devops\ServerConfig;
use App\Models\Devops\Servers;
use App\Models\Devops\ServersIp;
use App\Models\Domain\DomainInfo;
use App\Models\Inquiry\InquiryIP;
... ... @@ -190,9 +191,21 @@ class ProjectLogic extends BaseLogic
$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已满');
}
$serversModel = new Servers();
$serversInfo = $serversModel->read(['id'=>$info['servers_id']]);
if($serversInfo['being_number'] >= $serversInfo['total']){
$this->fail('请选择其他服务器,当前服务器已满');
}
if(!in_array($project_id,$project_arr)){
array_push($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');
}
return $this->success();
}
/**
... ...
... ... @@ -18,6 +18,7 @@ class Project extends Base
const DATABASE_NAME_FIX = 'gl_data_';
const SERVER_NUM = 5;//服务器使用数量
const CUSTOMIZED_ONE = 1;//定制项目
const DEMO_PROJECT_ID = 1;
... ...