正在显示
4 个修改的文件
包含
21 行增加
和
0 行删除
| @@ -30,6 +30,11 @@ class ServersController extends BaseController | @@ -30,6 +30,11 @@ class ServersController extends BaseController | ||
| 30 | } | 30 | } |
| 31 | $serversModel = new ServersModel(); | 31 | $serversModel = new ServersModel(); |
| 32 | $lists = $serversModel->list($this->map); | 32 | $lists = $serversModel->list($this->map); |
| 33 | + foreach ($lists as $k => $v){ | ||
| 34 | + if($v['being_number'] >= $v['total']){ | ||
| 35 | + unset($lists[$k]); | ||
| 36 | + } | ||
| 37 | + } | ||
| 33 | $this->response('success',Code::SUCCESS,$lists); | 38 | $this->response('success',Code::SUCCESS,$lists); |
| 34 | } | 39 | } |
| 35 | 40 |
| @@ -13,6 +13,7 @@ use App\Enums\Common\Code; | @@ -13,6 +13,7 @@ use App\Enums\Common\Code; | ||
| 13 | use App\Http\Controllers\Aside\BaseController; | 13 | use App\Http\Controllers\Aside\BaseController; |
| 14 | use App\Http\Logic\Aside\Devops\ServersIpLogic; | 14 | use App\Http\Logic\Aside\Devops\ServersIpLogic; |
| 15 | use App\Models\Devops\ServersIp as ServersIpModel; | 15 | use App\Models\Devops\ServersIp as ServersIpModel; |
| 16 | +use App\Models\Project\Project; | ||
| 16 | 17 | ||
| 17 | class ServersIpController extends BaseController | 18 | class ServersIpController extends BaseController |
| 18 | { | 19 | { |
| @@ -31,6 +32,7 @@ class ServersIpController extends BaseController | @@ -31,6 +32,7 @@ class ServersIpController extends BaseController | ||
| 31 | 'servers_id.required' => '服务器servers_id不能为空' | 32 | 'servers_id.required' => '服务器servers_id不能为空' |
| 32 | ]); | 33 | ]); |
| 33 | $serversIpModel = new ServersIpModel(); | 34 | $serversIpModel = new ServersIpModel(); |
| 35 | + $this->map['total'] = ['<',Project::SERVER_NUM]; | ||
| 34 | $data = $serversIpModel->list($this->map); | 36 | $data = $serversIpModel->list($this->map); |
| 35 | $this->response('success',Code::SUCCESS,$data); | 37 | $this->response('success',Code::SUCCESS,$data); |
| 36 | } | 38 | } |
| @@ -19,6 +19,7 @@ use App\Models\Channel\Zone; | @@ -19,6 +19,7 @@ use App\Models\Channel\Zone; | ||
| 19 | use App\Models\Com\NoticeLog; | 19 | use App\Models\Com\NoticeLog; |
| 20 | use App\Models\Com\UpdateLog; | 20 | use App\Models\Com\UpdateLog; |
| 21 | use App\Models\Devops\ServerConfig; | 21 | use App\Models\Devops\ServerConfig; |
| 22 | +use App\Models\Devops\Servers; | ||
| 22 | use App\Models\Devops\ServersIp; | 23 | use App\Models\Devops\ServersIp; |
| 23 | use App\Models\Domain\DomainInfo; | 24 | use App\Models\Domain\DomainInfo; |
| 24 | use App\Models\Inquiry\InquiryIP; | 25 | use App\Models\Inquiry\InquiryIP; |
| @@ -190,9 +191,21 @@ class ProjectLogic extends BaseLogic | @@ -190,9 +191,21 @@ class ProjectLogic extends BaseLogic | ||
| 190 | $serversIpModel = new ServersIp(); | 191 | $serversIpModel = new ServersIp(); |
| 191 | $info = $serversIpModel->read(['id'=>$servers_id]); | 192 | $info = $serversIpModel->read(['id'=>$servers_id]); |
| 192 | $project_arr = explode(',',$info['project_arr']); | 193 | $project_arr = explode(',',$info['project_arr']); |
| 194 | + if(count($project_arr) >= Project::SERVER_NUM){ | ||
| 195 | + $this->fail('请选择其他服务器,当前ip已满'); | ||
| 196 | + } | ||
| 197 | + $serversModel = new Servers(); | ||
| 198 | + $serversInfo = $serversModel->read(['id'=>$info['servers_id']]); | ||
| 199 | + if($serversInfo['being_number'] >= $serversInfo['total']){ | ||
| 200 | + $this->fail('请选择其他服务器,当前服务器已满'); | ||
| 201 | + } | ||
| 193 | if(!in_array($project_id,$project_arr)){ | 202 | if(!in_array($project_id,$project_arr)){ |
| 194 | array_push($project_id); | 203 | array_push($project_id); |
| 204 | + $project_str = implode(',',$project_arr); | ||
| 205 | + $serversIpModel->edit(['project_arr'=>$project_str,'total'=>count($project_arr)],['id'=>$servers_id]); | ||
| 206 | + $serversModel->where(['id'=>$info['servers_id']])->increment('being_number'); | ||
| 195 | } | 207 | } |
| 208 | + return $this->success(); | ||
| 196 | } | 209 | } |
| 197 | 210 | ||
| 198 | /** | 211 | /** |
| @@ -18,6 +18,7 @@ class Project extends Base | @@ -18,6 +18,7 @@ class Project extends Base | ||
| 18 | 18 | ||
| 19 | const DATABASE_NAME_FIX = 'gl_data_'; | 19 | const DATABASE_NAME_FIX = 'gl_data_'; |
| 20 | 20 | ||
| 21 | + const SERVER_NUM = 5;//服务器使用数量 | ||
| 21 | const CUSTOMIZED_ONE = 1;//定制项目 | 22 | const CUSTOMIZED_ONE = 1;//定制项目 |
| 22 | const DEMO_PROJECT_ID = 1; | 23 | const DEMO_PROJECT_ID = 1; |
| 23 | 24 |
-
请 注册 或 登录 后发表评论