ServersIpController.php 3.9 KB
<?php
/**
 * @remark :
 * @name   :ServersIpController.php
 * @author :lyh
 * @method :post
 * @time   :2024/6/24 16:23
 */

namespace App\Http\Controllers\Aside\Devops;

use App\Enums\Common\Code;
use App\Http\Controllers\Aside\BaseController;
use App\Http\Logic\Aside\Devops\ServersIpLogic;
use App\Models\Devops\Servers;
use App\Models\Devops\ServersIp as ServersIpModel;
use App\Models\Project\Project;

class ServersIpController extends BaseController
{

    /**
     * @remark :获取列表(不分页)
     * @name   :list
     * @author :lyh
     * @method :post
     * @time   :2024/6/25 14:27
     */
    public function list(){
        $this->request->validate([
            'servers_id'=>'required'
        ],[
            'servers_id.required' => '服务器servers_id不能为空'
        ]);
        $serverModel = new Servers();
        $info = $serverModel->read(['id'=>$this->param['servers_id']]);
        if($info === false){
            $this->response('當前服務器不存在',Code::SERVER_ERROR);
        }
        $serversIpModel = new ServersIpModel();
        $this->map['total'] = ['<',$info['ip_total']];
        $data = $serversIpModel->list($this->map);
        $this->response('success',Code::SUCCESS,$data);
    }

    /**
     * @remark :当前服务器器对应的ip列表
     * @name   :list
     * @author :lyh
     * @method :post
     * @time   :2024/6/24 16:23
     */
    public function lists(){
        $this->request->validate([
            'servers_id'=>'required'
        ],[
            'servers_id.required' => '服务器servers_id不能为空'
        ]);
        $serversIpModel = new ServersIpModel();
        $data = $serversIpModel->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/25 14:52
     */
    public function info(ServersIpLogic $serversIpLogic){
        $this->request->validate([
            'id'=>'required'
        ],[
            'id.required' => 'id不能为空'
        ]);
        $data = $serversIpLogic->infoServersIp();
        $this->response('success',Code::SUCCESS,$data);
    }

    /**
     * @remark :保存数据
     * @name   :save
     * @author :lyh
     * @method :post
     * @time   :2024/6/24 16:24
     */
    public function save(ServersIpLogic $serversIpLogic){
        $this->request->validate([
            'ip'=>'required',
            'servers_id'=>'required',
            'domain'=>'required'
        ],[
            'ip.required' => 'ip不能为空',
            'servers_id.required' => '服务器servers_id不能为空',
            'domain.required' => 'cname域名不能为空',
        ]);
        $data = $serversIpLogic->saveServersIp();
        $this->response('success',Code::SUCCESS,$data);
    }

    /**
     * @remark :批量保存ip_domain
     * @name   :batchSave
     * @author :lyh
     * @method :post
     * @time   :2024/6/24 17:23
     */
    public function batchSave(ServersIpLogic $serversIpLogic){
        $this->request->validate([
            'ip'=>'required|array',
            'servers_id'=>'required',
        ],[
            'ip.required' => 'ip集合不能为空',
            'servers_id.required' => '服务器servers_id不能为空',
        ]);
        $data = $serversIpLogic->batchSaveServersIp();
        $this->response('success',Code::SUCCESS,$data);
    }

    /**
     * @remark :批量删除数据
     * @name   :batchDel
     * @author :lyh
     * @method :post
     * @time   :2024/6/27 13:52
     */
    public function batchDel(ServersIpLogic $serversIpLogic){
        $this->request->validate([
            'ids'=>'required|array',
        ],[
            'ids.required' => 'ip集合不能为空',
        ]);
        $serversIpLogic->batchDelServersIp();
        $this->response('success');
    }
}