DomainInfoController.php 3.7 KB
<?php

namespace App\Http\Controllers\Aside\Domain;

use App\Enums\Common\Code;
use App\Exceptions\AsideGlobalException;
use App\Exceptions\BsideGlobalException;
use App\Http\Controllers\Aside\BaseController;
use App\Http\Logic\Aside\Domain\DomainInfoLogic;
use App\Http\Requests\Aside\Domain\DomainInfoRequest;
use App\Models\Aside\Domain\DomainInfo;
use App\Models\Aside\Domain\DomainInfoLog;
use Illuminate\Http\JsonResponse;
use Psr\Container\ContainerExceptionInterface;
use Psr\Container\NotFoundExceptionInterface;

/**
 * Class DomainInfoController
 * @package App\Http\Controllers\Aside  域名管理
 */
class DomainInfoController extends BaseController
{
    /**
     * 域名列表
     * @param int $deleted
     * @return JsonResponse
     */
    public function lists()
    {
        $domainModel = new DomainInfo();
        if(isset($this->map['domain']) && !empty($this->map['domain'])){
            $this->map['domain'] = ['like','%'.$this->map['domain'],'%'];
        }
        $lists = $domainModel->lists($this->map,$this->page,$this->row,$this->order);
        return $this->response('success', Code::SUCCESS, $lists);
    }


    /**
     * @remark :保存域名
     * @name   :save
     * @author :lyh
     * @method :post
     * @time   :2023/8/1 15:36
     */
    public function save(DomainInfoLogic $domainInfoLogic)
    {
        $this->verifyParam();
        $domainInfoLogic->saveDomain();
        $this->response('success');
    }

    /**
     * @remark :验证字段
     * @name   :verifyParam
     * @author :lyh
     * @method :post
     * @time   :2023/8/1 15:32
     */
    public function verifyParam(){
        $this->request->validate([
            'domain'=>'required',
            'remark'=>'required',
            'belong_to'=>'required',
            'project_id'=>'required'
        ],[
            'domain.required' => 'domain不能为空',
            'remark.required' => '备注不能为空',
            'belong_to.required' => '域名不能为空',
            'project_id.required' => '所属项目不能为空'
        ]);
        return true;
    }

    /**
     * @remark :获取项目列表
     * @name   :getProject
     * @author :lyh
     * @method :post
     * @time   :2023/8/1 16:14
     */
    public function getProject(DomainInfoLogic $domainInfoLogic){
        $lists = $domainInfoLogic->getProjectList($this->map);
        $this->response('success',Code::SUCCESS,$lists);
    }

    /**
     * @remark :获取详情
     * @name   :info
     * @author :lyh
     * @method :post
     * @time   :2023/8/1 16:14
     */
    public function info(DomainInfoLogic $domainInfoLogic){
        $this->request->validate([
            'id'=>'required',
        ],[
            'id.required' => 'id不能为空',
        ]);
        $info = $domainInfoLogic->infoDomain();
        $this->response('success',Code::SUCCESS,$info);
    }

    /**
     * @remark :修改状态
     * @name   :status
     * @author :lyh
     * @method :post
     * @time   :2023/8/1 15:47
     */
    public function status(DomainInfoLogic $domainInfoLogic){
        $this->request->validate([
            'id'=>'required',
            'status'=>'required'
        ],[
            'id.required' => 'id不能为空',
            'status.required' => 'id不能为空'
        ]);
        $domainInfoLogic->editDomainStatus();
        $this->response('success');
    }

    /**
     * @remark :删除域名
     * @name   :del
     * @author :lyh
     * @method :post
     * @time   :2023/8/1 15:38
     */
    public function del(DomainInfoLogic $domainInfoLogic){
        $this->request->validate([
            'id'=>'required',
        ],[
            'id.required' => 'id不能为空',
        ]);
        $domainInfoLogic->delDomain();
        $this->response('success');
    }




}