GoogleSearchController.php 2.1 KB
<?php
/**
 * @remark :
 * @name   :GoogleSearchController.php
 * @author :lyh
 * @method :post
 * @time   :2025/3/27 13:53
 */

namespace App\Http\Controllers\Bside\GoogleKeyword;

use App\Enums\Common\Code;
use App\Helper\Country;
use App\Helper\Translate;
use App\Http\Controllers\Bside\BaseController;
use App\Models\Com\NoticeLog;
use App\Models\GoogleSearch\GoogleCodeCountry;
use App\Models\GoogleSearch\GoogleSearch;
use App\Models\GoogleSearch\GoogleSearchDetail;
use App\Services\RapIdApIService;

class GoogleSearchController extends BaseController
{
    /**
     * @remark :google搜索数据
     * @name   :searchList
     * @author :lyh
     * @method :post
     * @time   :2025/3/27 13:59
     */
    public function getSearchList(){
        $this->request->validate([
            'type' => 'required'
        ],[
            'type.required' => '搜索类型不能为空',
        ]);
        //查询详情数据
        $searchDetailModel = new GoogleSearchDetail();
        $data = $searchDetailModel->lists($this->map,$this->page,$this->row,'clicks',['keys','click_rate','impressions_rate']);
        if(!empty($data)){
            if($this->param['type'] == 'country'){
                $codeCountryModel = new GoogleCodeCountry();
                foreach ($data['list'] as $key => $val){
                    $val['zh_country'] = $codeCountryModel->getCodeCountry($val['keys']);
                    $val['click_rate'] = number_format($val['click_rate'] * 100, 2); // 保留 2 位小数
                    $val['impressions_rate'] = number_format($val['impressions_rate'] * 100, 2);
                    $data['list'][$key] = $val;
                }
            }else{
                foreach ($data['list'] as $key => $val){
                    $val['click_rate'] = number_format($val['click_rate'] * 100, 2); // 保留 2 位小数
                    $val['impressions_rate'] = number_format($val['impressions_rate'] * 100, 2);
                    $data['list'][$key] = $val;
                }
            }
        }
        $this->response('success',Code::SUCCESS,$data);
    }
}