You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
yanzong/app/common/service/Jd.php

120 lines
3.7 KiB

<?php
declare(strict_types=1);
namespace app\common\service;
/**
* 京东服务
*/
class Jd extends BaseService
{
/**
* 获取京东商品库存
* [getGoodsStock description]
* @param [type] $provinceId [description]
* @param [type] $cityId [description]
* @param [type] $countyId [description]
* @param [type] $skuId [description]
* @param integer $skuNum [description]
* @return [type] [description]
*/
public function getGoodsStock($provinceId, $cityId, $countyId, $skuId, $skuNum = 1)
{
$data = [
'provinceId' => $provinceId,
'cityId' => $cityId,
'countyId' => $countyId,
'townId' => 0,
'skuId' => $skuId,
'skuNum' => $skuNum,
];
//echo 'https://vapi.jd.com/index/sku/getAsynDetail?'.http_build_query($data);
//exit();
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://vapi.jd.com/index/sku/getAsynDetail?' . http_build_query($data),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Host: vapi.jd.com',
'Referer: https://bpro.jd.com/'
),
));
$response = curl_exec($curl);
curl_close($curl);
$res = json_decode($response, true);
// echo "<pre>";
// print_r($res);
// exit();
if ($res && isset($res['success']) && $res['success'] == 1) {
return $res['result'];
}
return null;
}
/**
* 实时获取商品主图和详情
* [getGoodsMainImageAndDetail description]
* @param [type] $skuId [description]
* @return [type] [description]
*/
public function getGoodsMainImageAndDetail($skuId)
{
//$url = "http://47.98.251.206:8811/api/goods/info/v2?sku=".$skuId."&areaId=";
$url = "http://8.130.98.31:8811/api/goods/info/v2?sku=" . $skuId . "&areaId=";
$res = httpRequest($url);
if ($res && $res['code'] == 0 && isset($res['data'])) {
return $res['data'];
}
return [];
}
/**
* 获取京东短链接
* [getJdShortLink description]
* @param [type] $skuId [description]
* @return [type] [description]
*/
public function getJdShortLink($skuId)
{
//$url = "http://47.98.251.206:8811/api/goods/info/v2?sku=".$skuId."&areaId=";
$url = "http://8.130.98.31:8811/api/link?sku=" . $skuId;
$res = httpRequest($url);
if ($res && $res['code'] == 0 && isset($res['data'])) {
return $res['data'];
}
return "";
}
/**
* 获取京东短链接
* [getJdShortLink description]
* @param [type] $skuId [description]
* @return [type] [description]
*/
public function getJdShortLinks($skuIds)
{
//$url = "http://47.98.251.206:8811/api/goods/info/v2?sku=".$skuId."&areaId=";
// 确保 $skuData 是一个数组,并且包含 'ids' 键
// 将数组转换为逗号分隔的字符串
$skuIdStr = implode(',', $skuIds);
// 构建 URL
$url = "http://8.130.98.31:8811/api/link?sku=" . $skuIdStr;
$res = httpRequest($url, 'GET', null, [], false, 100);
if ($res && $res['code'] == 0 && isset($res['data'])) {
return $res['data'];
}
return "";
}
}