Commit a6f60c93 authored by 王源's avatar 王源
Browse files

Merge branch 'rpc/product'

parents d4b440fe 8d7e4176
Loading
Loading
Loading
Loading
+7 −0
Original line number Original line Diff line number Diff line
@@ -148,4 +148,11 @@ interface ProductServiceInterface
     */
     */
    public function getSizesById($id): array;
    public function getSizesById($id): array;


    /**
     * 完成产品审批
     * @param $data
     * @author Zero
     */
    public function downApprove($data);

}
}
+5 −30
Original line number Original line Diff line number Diff line
@@ -9,27 +9,17 @@ class CurlRequest


    protected static function init($url, $httpHeaders = [])
    protected static function init($url, $httpHeaders = [])
    {
    {
        // Create Curl resource
        $ch = curl_init();
        $ch = curl_init();

        // Set URL
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_URL, $url);

        //Return the transfer as a string
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

        curl_setopt($ch, CURLOPT_HEADER, true);
        curl_setopt($ch, CURLOPT_HEADER, true);
        curl_setopt($ch, CURLOPT_USERAGENT, 'PHPClassic/PHPShopify');
        curl_setopt($ch, CURLOPT_USERAGENT, 'PHPClassic/PHPShopify');

        $headers = [];
        $headers = [];
        foreach ($httpHeaders as $key => $value) {
        foreach ($httpHeaders as $key => $value) {
            $headers[] = "$key: $value";
            $headers[] = "$key: $value";
        }
        }
        //Set HTTP Headers
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

        return $ch;
        return $ch;

    }
    }


    public static function get($url, $httpHeaders = [])
    public static function get($url, $httpHeaders = [])
@@ -63,35 +53,20 @@ class CurlRequest


    protected static function processRequest($ch)
    protected static function processRequest($ch)
    {
    {
        # Check for 429 leaky bucket error
        while (1) {
        $output = curl_exec($ch);
        $output = curl_exec($ch);
        $response = new CurlResponse($output);
        $response = new CurlResponse($output);

        $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
        $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
            if ($httpCode != 429) {
        if ($httpCode == 429) {
                break;
            }

            $limitHeader = explode('/', $response->getHeader('X-Shopify-Shop-Api-Call-Limit'), 2);
            $limitHeader = explode('/', $response->getHeader('X-Shopify-Shop-Api-Call-Limit'), 2);

            if (isset($limitHeader[1]) && $limitHeader[0] < $limitHeader[1]) {
            if (isset($limitHeader[1]) && $limitHeader[0] < $limitHeader[1]) {
                throw new Exception($response->getBody());
                throw new Exception($response->getBody());
            }
            }

            usleep(500000);
        }
        }

        if (curl_errno($ch)) {
        if (curl_errno($ch)) {
            throw new Exception(curl_errno($ch) . ' : ' . curl_error($ch));
            throw new Exception(curl_errno($ch) . ' : ' . curl_error($ch));
        }
        }

        // close curl resource to free up system resources
        curl_close($ch);
        curl_close($ch);

        return [$httpCode, $response->getHeaders(), $response->getBody()];
        $httpHeader = $response->getHeaders();

        return [$httpCode, $httpHeader, $response->getBody()];
    }
    }


}
}