FormGlobalsoApi.php 6.1 KB
<?php


namespace App\Helper;

use App\Models\Project\Project;
use App\Utils\HttpUtils;
use GuzzleHttp\Exception\GuzzleException;


/**
 * Class FormGlobalsoApi
 * @package App\Helper
 * @author zbj
 * @date 2023/5/17
 */
class FormGlobalsoApi
{
    //接口地址
    protected $url = 'https://form.globalso.com';

    /**
     * 设置询盘通知
     * @author zbj
     * @date 2023/5/17
     */
    public function setInquiry($domain, $emails, $phones)
    {
        $api_url = $this->url . '/api/external-project/save/dc77a54480b184c4';

        $params = [
            'token' => md5($domain.$emails.$phones.date("Y-m-d")),
            'domain' => $domain,
            'email' => $emails,
            'phone' => $phones,
        ];

        try {
            $res = HttpUtils::get($api_url, $params);
            $res = Arr::s2a($res);
        } catch (\Exception | GuzzleException $e) {
            errorLog('设置询盘通知', $params, $e);
            return false;
        }
        return $res;
    }

    /**
     * 询盘列表
     * @author zbj
     * @date 2023/5/17
     */
    public function getInquiryList($domain, $search = '', $page = 1, $page_size = 20, $ids = [])
    {
        $project = Project::getProjectByDomain($domain);
        $is_upgrade = $project['is_upgrade'] ??0;
        $api_url = $this->url . '/api/external-interface/6a1bd159b1fd60af';

        $params = [
            'token' => md5($domain.$search.date("Y-m-d")),
            'domain' => $domain,
            'limit' => $page_size,
            'page' => $page,
            'source' => $is_upgrade ? '1,2,3,4,5' : '1,3,5' //来源类型 新项目用1,3
        ];
        if($ids){
            $params['ids'] = implode(',', $ids);
            unset($params['page']);
            unset($params['limit']);
        }
        if($search){
            $params['name'] = $search;
        }
        try {
            $res = HttpUtils::get($api_url, $params);
            $res = Arr::s2a($res);
        } catch (\Exception | GuzzleException $e) {
            errorLog('询盘列表'.$api_url, $params, $e);
            return false;
        }
        return $res;
    }

    /**
     * 设置询盘信息已读
     * @author zbj
     * @date 2023/5/17
     */
    public function saveInquiryRead($domain, $id)
    {
        $api_url = $this->url . '/api/external-interface/save/d1483a8e57cb485a';

        $params = [
            'token' => md5($domain.$id.date("Y-m-d")),
            'domain' => $domain,
            'id' => $id,
        ];

        try {
            $res = HttpUtils::get($api_url, $params);
            $res = Arr::s2a($res);
        } catch (\Exception | GuzzleException $e) {
            errorLog('设置询盘信息已读', $params, $e);
            return false;
        }
        return $res;
    }

    /**
     * 删除询盘信息
     * @author zbj
     * @date 2023/5/17
     */
    public function delInquiry($domain, $ids)
    {
        $api_url = $this->url . '/api/external-interface/del/c4b11cf6f1508489';
        $ids = Arr::arrToSet($ids);
        $params = [
            'token' => md5($domain.$ids.date("Y-m-d")),
            'domain' => $domain,
            'id' => $ids,
        ];
        try {
            $res = HttpUtils::get($api_url, $params);
            $res = Arr::s2a($res);
        } catch (\Exception | GuzzleException $e) {
            errorLog('删除询盘信息', $params, $e);
            return false;
        }
        return $res;
    }

    /**
     * 提交询盘
     * @param $ip
     * @param $referer
     * @param $submit_at
     * @param $data
     * @return array|false|mixed
     * @author zbj
     * @date 2024/1/20
     */
    public function submitInquiry($ip, $referer, $submit_at, $data, $traffic = 0)
    {
        $api_url = $this->url . '/api/external-interface/add/fa043f9cbec6b38f';

        $data['ip'] = $ip;
        $data['token'] = md5($referer . $data['name'] . $ip . date("Y-m-d"));
        $data['refer'] = $referer;
        $data['submit_time'] = date('Y-m-d H:i:s', strtotime($submit_at));
        $data['source'] = $traffic ? 5 : 1; //1 固定 5 FB广告

        try {
            $res = HttpUtils::post($api_url, $data);
            $res = Arr::s2a($res);
        } catch (\Exception | GuzzleException $e) {
            errorLog('提交询盘信息失败', $data, $e);
            return false;
        }
        return $res;
    }

    /**
     * @remark :获取当前项目所有询盘及询盘国家
     * @name   :getInquiryAll
     * @author :lyh
     * @method :post
     * @time   :2024/8/15 14:16
     */
    public function getInquiryAll($domain,$is_upgrade = 0){
        if (!(strpos($domain, 'https://') === 0)) {
            $domain = 'https://'.$domain.'/';
        }
        $token = md5($domain.date("Y-m-d"));
        $data = [
            'domain' => $domain,
            'token' => $token,
            'source'=> $is_upgrade ? '1,2,3,4,5' : '1,3,5',
            'num'=>15,
        ];
        $queryString = http_build_query($data);
        $url = "https://form.globalso.com/api/external-interface/domain_con/15243d63ed5a5738?".$queryString;
        try {
            $res = http_get($url,['charset=utf-8']);
        } catch (\Exception | GuzzleException $e) {
            errorLog('提交询盘信息失败', $domain, $e);
            return false;
        }
        return $res;
    }

    /**
     * @remark :按月份统计询盘
     * @name   :inquiry
     * @author :lyh
     * @method :post
     * @time   :2024/8/16 10:16
     */
    public function getMonthInquiry($url,$month,$is_upgrade = 0){
        $url = 'https://'.$url.'/';
        $token = md5($url.date("Y-m-d"));
        $data = [
            'domain' => $url,
            'token' => $token,
            'source'=> $is_upgrade ? '1,2,3,4,5' : '1,3,5',
            'model' => 'month',
            'sta_date'=>$month,
        ];
        $queryString = http_build_query($data);
        $url = 'https://form.globalso.com/api/external-interface/country_con/15243d63ed5a5738?'.$queryString;
        $res = http_get($url,['charset=utf-8']);
        echo date('Y-m-d H:i:s') . '数据:'.json_encode($res) . PHP_EOL;
        return $res;
    }
}