ProjectsController.php 4.1 KB
<?php

namespace App\Http\Controllers\Aside\GoogleSeoIps;

use App\Enums\Common\Code;
use App\Http\Controllers\Aside\BaseController;
use App\Http\Logic\Aside\Projects\ProjectsLogic;
use App\Models\GoogleSeoIps\Country;

/**
 * @remark :谷歌流量系统
 * @class  :ProjectsController.php
 * @author :lyh
 * @time   :2023/7/11 9:46
 */
class ProjectsController extends BaseController
{
    /**
     * @remark :流量系统列表
     * @name   :lists
     * @author :lyh
     * @method :post
     * @time   :2023/7/11 9:52
     */
    public function lists(ProjectsLogic $projectsLogic){
        //域名搜索
        if(isset($this->map['domain']) && !empty($this->map['domain'])){
            $this->map['domain'] = ['like',','.$this->map['domain'].','];
        }
        $lists = $projectsLogic->projectsLists($this->map,$this->page,$this->row,$this->order);
        $this->response('success',Code::SUCCESS,$lists);
    }

    /**
     * @remark :编辑谷歌流量系统
     * @name   :save
     * @author :lyh
     * @method :post
     * @time   :2023/7/11 9:53
     */
    public function save(ProjectsLogic $projectsLogic){
        if(isset($this->param['id']) && !empty($this->param['id'])){
            $this->request->validate([
                'id'=>'required'
            ],[
                'id.required' => 'ID不能为空'
            ]);
        }
        //参数验证
        $this->verifyParam();
        $projectsLogic->projectsSave();
        $this->response('success');
    }

    /**
     * @remark :参数验证
     * @name   :verifyParam
     * @author :lyh
     * @method :post
     * @time   :2023/7/18 10:19
     */
    public function verifyParam(){
        $this->request->validate([
            'domain'=>'required',//域名
            'switch'=>'required',//开关 默认:1
            'custom'=>'required',//自建站 默认:1
            'start_date'=>'required',//推广日期
            'set_country'=>'required',//主推国家
            'set_ban_country'=>'required',//屏蔽国家
            'set_page_percent'=>'required',//页面占比 默认:首页 0.1 产品 0.25 关键词 0.4 分类 0.25
            'set_device'=>'required',//设备占比 默认0.7 0.3
            'set_referer'=>'required',//来源占比 默认0.7 0.3
            'set_depth'=>'required',//深度占比 默认 0.7 0.15 0.1 0.05
            'ips_b'=>'required',//IP初始值 默认50
            'seo_type'=>'required',//引流方式 1:api 2:浏览器
        ],[
            'domain.required' => '域名不能为空',
            'switch.required' => '开关不能为空',
            'custom.required' => '自建站不能为空',
            'start_date.required' => '推广日期不能为空',
            'set_country.required' => '主推国家不能为空',
            'set_ban_country.required' => '屏蔽国家不能为空',
            'set_page_percent.required' => '页面占比不能为空',
            'set_device.required' => '设备占比不能为空',
            'set_referer.required' => '来源占比不能为空',
            'set_depth.required' => '深度占比不能为空',
            'ips_b.required' => 'IP初始值不能为空',
            'seo_type.required' => '引流方式不能为空',
        ]);
    }

    /**
     * @remark :删除记录
     * @name   :del
     * @author :lyh
     * @method :post
     * @time   :2023/7/11 9:53
     */
    public function del(ProjectsLogic $projectsLogic){
        $this->request->validate([
            'id'=>'required'
        ],[
            'id.required' => 'ID不能为空'
        ]);
        $projectsLogic->projectsDel();
        $this->response('success');
    }


    /**
     * @remark :获取国家
     * @name   :getCountry
     * @author :lyh
     * @method :post
     * @time   :2023/7/18 11:08
     */
    public function getCountry(ProjectsLogic $projectsLogic){
        if(isset($this->map['cname']) && !empty( $this->map['cname'])){
            $this->map['cname'] = ['like','%'.$this->map['cname'].'%'];
        }
        $lists = $projectsLogic->getCountryList($this->map);
        $this->response('success',Code::SUCCESS,$lists);
    }
}