Commit fba254c7 authored by 周智鹏's avatar 周智鹏

Merge branch 'purchase_rpc' of http://git.huaperfect.com/hwq/micro into purchase_rpc

parents f9c3dfb2 a9395699
...@@ -60,5 +60,51 @@ interface SubOrderServiceInterface ...@@ -60,5 +60,51 @@ interface SubOrderServiceInterface
public function getBySourceSite($source): array; public function getBySourceSite($source): array;
/**
* 订单采购完成 修改子订单信息 ---1688采购系统使用
* @param $data //修改参数数组(二维数组)
* 参数字段:$data = [
* [
* 'sub_order_no'=>oa子订单编号
* 'supplier_name'=>供应商,
* 'purchase_price'=>采购总价,
* 'platform_order'=>'采购平台订单号',
* 'domestic_logistics_no'=>物流单号,
* 'domestic_logistics_price'=>物流价格
* ],
* [
* 'sub_order_no'=>oa子订单编号
* 'supplier_name'=>供应商,
* 'purchase_price'=>采购总价,
* 'platform_order'=>'采购平台订单号',
* 'domestic_logistics_no'=>物流单号,
* 'domestic_logistics_price'=>物流价格
* ]
* ]
* @return bool
*/
public function purchaseCompleted($data): bool;
/**
* 1688采购异常订单 修改OA子订单状态
* @param $orderId //oa子订单id
* @param $errorCode //异常信息 1 取消 2其他
* @return array
*/
public function purchaseError($orderId,$errorCode):array ;
/**
* 1688采购 修改oa子订单
* @param $editData
* $editData = [
* [
* 'sub_order_no'=>'oa系统子订单号'
* 'logistic_price'=>'物流费用',
* 'purchase_price'=>'采购总费用',
* ]
* ]
* @return array
*/
public function purchaseEdit($editData):array ;
} }
\ No newline at end of file
...@@ -148,4 +148,11 @@ interface ProductServiceInterface ...@@ -148,4 +148,11 @@ interface ProductServiceInterface
*/ */
public function getSizesById($id): array; public function getSizesById($id): array;
/**
* 完成产品审批
* @param $data
* @author Zero
*/
public function downApprove($data);
} }
...@@ -9,27 +9,17 @@ class CurlRequest ...@@ -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 ...@@ -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()];
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment