示例#1
0
function keycaiji($u)
{
    global $key_appkey, $key_secretKey;
    include dirname(__FILE__) . '/top/TopSdk.php';
    $c = new TopClient();
    $c->appkey = $key_appkey;
    $c->secretKey = $key_secretKey;
    $req = new ItemGetRequest();
    $req->setFields("num_iid,title,pic_url,detail_url,price,num,nick,freight_payer,item_img");
    $req->setNumIid($u);
    $resp = $c->execute($req);
    if ($resp->item) {
        $arry["item"]["detail_url"] = $resp->item->detail_url;
        $arry["item"]["num_iid"] = $resp->item->num_iid;
        $arry["item"]["title"] = $resp->item->title;
        $arry["item"]["nick"] = $resp->item->nick;
        $arry["item"]["pic_url"] = $resp->item->pic_url;
        $arry["item"]["oldprice"] = $resp->item->price;
        $arry["item"]["price"] = $resp->item->price;
        $arry["item"]["auction_point"] = 0;
    }
    if (is_array($arry)) {
        $arry["id"] = 221;
        $arry["msg"] = "获取成功";
        return json_encode($arry);
    } else {
        $arry["id"] = 0;
        $arry["msg"] = "不存在这个商品";
        return json_encode($arry);
    }
}
示例#2
0
 public function get_item_list($num_id)
 {
     $top_client = get_top_client();
     $req = new ItemGetRequest();
     $req->setFields("sku.sku_id,sku.outer_id ,num_iid, title, price, detail_url ,post_fee, express_fee,ems_fee, created,pic_url,nick");
     $req->setNick("通拓科技");
     $req->setNumIid($num_id);
     $resp = $top_client->execute($req);
     $taobao_q = $this->taobao_model->get_item_list($resp);
 }
示例#3
0
 /**
  * 根据条目ID获取更详细的信息,包括图片列表
  *
  * @param integer $item_id  条目ID
  * @return string $resp 包含图片列表的XML
  */
 function getItemInfo($item_id)
 {
     $c = new TopClient();
     $c->appkey = APPKEY;
     $c->secretKey = SECRETKEY;
     $req = new ItemGetRequest();
     //prop_imgs 选择颜色的时候出现的图
     //item_imgs->item_img->url 所有的大图
     //desc 好像很厉害的样子
     $req->setFields("prop_img.url,item_img.url,nick");
     //	$req->setFields("detail_url,num_iid,title,nick,type,cid,seller_cids,props,input_pids,input_str,desc,pic_url,num,valid_thru,list_time,delist_time,stuff_status,location,price,post_fee,express_fee,ems_fee,has_discount,freight_payer,has_invoice,has_warranty,has_showcase,modified,increment,approve_status,postage_id,product_id,auction_point,property_alias,item_img,prop_img,sku,video,outer_id,is_virtual");
     $req->setNumIid($item_id);
     $resp = $c->execute($req);
     return $resp;
 }
示例#4
0
 public function GetItem($id)
 {
     $req = new ItemGetRequest();
     $req->setFields("num_iid,title,price,pic_url,detail_url,location");
     $req->setNumIid($id);
     $resp = $this->client->execute($req);
     $item = new BaoBeiItem();
     $item->price = $resp->item->price;
     $item->pic_url = $resp->item->pic_url;
     $item->item_id = $resp->item->num_iid;
     $item->title = $resp->item->title;
     $item->click_url = $resp->item->detail_url;
     $item->city = $resp->item->location->city;
     $item->commission = 0;
     return $item;
 }
示例#5
0
 private function parseProduct()
 {
     $c = new TopClient();
     $c->appkey = TAOBAO_APP_KEY;
     $c->secretKey = TAOBAO_APPSECRET;
     $req = new ItemGetRequest();
     //$req->setFields ( "detail_url,num_iid,title,nick,type,cid,seller_cids,props,input_pids,input_str,desc,pic_url,num,valid_thru,list_time,delist_time,stuff_status,location,price,post_fee,express_fee,ems_fee,has_discount,freight_payer,has_invoice,has_warranty,has_showcase,modified,increment,approve_status,postage_id,product_id,auction_point,property_alias,item_img,prop_img,sku,video,outer_id,is_virtual" );
     $req->setFields("num_iid,title,price,desc_modules,pic_url,nick,detail_url");
     $req->setNumIid($this->_productId);
     //$req->setTrackIid("123_track_456");
     $resp = $c->execute($req, TAOBAO_SESSIONKEY);
     $this->_data = array();
     foreach ($resp as $key) {
         $key = (array) $key;
         foreach ($key as $k => $v) {
             switch ($k) {
                 case 'pic_url':
                     $this->_data['pic_url'] = $v;
                     break;
                 case 'detail_url':
                     $this->_data['shop_url'] = $v;
                     break;
                 case 'title':
                     $this->_data['title'] = $v;
                     break;
                 case 'price':
                     $this->_data['price'] = $v;
                     break;
                 case 'nick':
                     $this->_data['shop_username'] = $v;
                     $this->_shopName = $v;
                     break;
             }
         }
     }
     print_r($this->_data);
 }
    public function fetch($url)
    {
        global $_FANWE;
        $id = $this->getID($url);
        if ($id == 0) {
            return false;
        }
        $key = 'taobao_' . $id;
        $share_goods = FDB::resultFirst('SELECT share_id,goods_id FROM ' . FDB::table('share_goods') . ' 
			WHERE uid = ' . $_FANWE['uid'] . " AND goods_key = '{$key}'");
        if ($share_goods) {
            $result['status'] = -1;
            $result['share_id'] = $share_goods['share_id'];
            $result['goods_id'] = $share_goods['goods_id'];
            return $result;
        }
        $client = new TopClient();
        $client->appkey = $_FANWE['cache']['business']['taobao']['app_key'];
        $client->secretKey = $_FANWE['cache']['business']['taobao']['app_secret'];
        $req = new ItemGetRequest();
        $req->setFields("detail_url,title,nick,pic_url,price");
        $req->setNumIid($id);
        $resp = $client->execute($req);
        if (!isset($resp->item)) {
            return false;
        }
        $result = array();
        $goods = (array) $resp->item;
        if (empty($goods['detail_url']) || empty($goods['pic_url'])) {
            return false;
        }
        if (FS("Image")->getIsServer()) {
            $args = array();
            $args['pic_url'] = $goods['pic_url'];
            $server = FS("Image")->formatServer($_FANWE['request']['image_server'], 'DE');
            $server = FS("Image")->getImageUrlToken($args, $server, 1);
            $body = FS("Image")->sendRequest($server, 'savetemp', true);
            if (empty($body)) {
                return false;
            }
            $image = unserialize($body);
            $result['image_server'] = $server['image_server'];
        } else {
            $image = copyFile($goods['pic_url'], "temp", false);
            if ($image === false) {
                return false;
            }
            $image['server_code'] = '';
        }
        $result['item']['key'] = $key;
        $result['item']['name'] = $goods['title'];
        $result['item']['price'] = $goods['price'];
        $result['item']['img'] = $image['path'];
        $result['item']['server_code'] = $image['server_code'];
        $result['item']['pic_url'] = $goods['pic_url'] . '_100x100.jpg';
        $result['item']['url'] = $goods['detail_url'];
        $tao_ke_pid = $_FANWE['cache']['business']['taobao']['tk_pid'];
        $shop_click_url = '';
        if (!empty($tao_ke_pid)) {
            $req = new TaobaokeItemsDetailGetRequest();
            $req->setFields("click_url,shop_click_url");
            $req->setNumIids($id);
            $req->setPid($tao_ke_pid);
            $resp = $client->execute($req);
            if (isset($resp->taobaoke_item_details)) {
                $taoke = (array) $resp->taobaoke_item_details->taobaoke_item_detail;
                if (!empty($taoke['click_url'])) {
                    $result['item']['taoke_url'] = $taoke['click_url'];
                }
                if (!empty($taoke['shop_click_url'])) {
                    $shop_click_url = $taoke['shop_click_url'];
                }
            }
        }
        if (!empty($goods['nick'])) {
            $req = new ShopGetRequest();
            $req->setFields("sid,nick,pic_path");
            $req->setNick($goods['nick']);
            $resp = $client->execute($req);
            if (isset($resp->shop)) {
                $shop = (array) $resp->shop;
                $result['shop']['name'] = $shop['nick'];
                if (!empty($shop['pic_path'])) {
                    if (FS("Image")->getIsServer()) {
                        $args = array();
                        $args['pic_url'] = 'http://logo.taobao.com/shop-logo' . $shop['pic_path'];
                        $server = FS("Image")->getImageUrlToken($args, '', 1);
                        $body = FS("Image")->sendRequest($server, 'savetemp', true);
                        if (!empty($body)) {
                            $image = unserialize($body);
                        } else {
                            $image = false;
                        }
                    } else {
                        $image = copyFile('http://logo.taobao.com/shop-logo' . $shop['pic_path'], "temp", false);
                        if ($image === false) {
                            $image['server_code'] = '';
                        }
                    }
                    if ($image !== false) {
                        $result['shop']['logo'] = $image['path'];
                        $result['shop']['server_code'] = $image['server_code'];
                    }
                }
                $result['shop']['shop_id'] = $shop['sid'];
                $result['shop']['url'] = 'http://shop' . $shop['sid'] . '.taobao.com';
                if (!empty($shop_click_url)) {
                    $result['shop']['taoke_url'] = $shop_click_url;
                }
            }
        }
        return $result;
    }
示例#7
0
 public function getGoods($url)
 {
     //商品基本信息
     $id = $this->getId($url);
     $topClient = new TopClient();
     $topClient->appkey = self::$appkey;
     $topClient->secretKey = self::$secretKey;
     $itemReq = new ItemGetRequest();
     $itemReq->setFields("detail_url,nick,props_name,num_iid,title,num_iid,input_str,pic_url,location,price,item_img,prop_img");
     $itemReq->setNumIid($id);
     $objResult = $topClient->execute($itemReq);
     if (!isset($objResult->item)) {
         return false;
     }
     $arrItem = (array) $objResult->item;
     $goodsInfo = array();
     if (empty($arrItem['num_iid']) || empty($arrItem['title'])) {
         return false;
     }
     $goodsInfo['goods_name'] = $arrItem['title'];
     $goodsInfo['goods_url'] = $arrItem['detail_url'];
     $goodsInfo['goods_site'] = self::$site;
     $goodsInfo['nick'] = $arrItem['nick'];
     $goodsInfo['goods_price'] = $arrItem['price'];
     $goodsInfo['goods_brand'] = $arrItem['props_name'];
     $goodsInfo['goods_pic'] = $arrItem['pic_url'];
     $goodsInfo['goods_tags'] = $arrItem['input_str'];
     $goodsInfo['item_img'] = isset($arrItem['item_imgs']) ? $arrItem['item_imgs'] : '';
     $goodsInfo['prop_img'] = isset($arrItem['prop_imgs']) ? $arrItem['prop_imgs'] : '';
     $goodsInfo['goods_key'] = $this->getKey($url);
     //淘宝信息
     $goodsInfo['taoke_url'] = '';
     $goodsInfo['shopclickurl'] = '';
     $goodsInfo['seller_credit_score'] = '';
     if (!empty(self::$pid)) {
         $objTaoke = new TaobaokeItemsDetailGetRequest();
         $objTaoke->setFields("click_url,shop_click_url,seller_credit_score");
         $objTaoke->setNumIids($id);
         $objTaoke->setPid(self::$pid);
         $objResult = $topClient->execute($objTaoke);
         if (isset($objResult->taobaoke_item_details)) {
             $arrTaoke = (array) $objResult->taobaoke_item_details->taobaoke_item_detail;
             if (!empty($arrTaoke['click_url'])) {
                 $goodsInfo['taoke_url'] = $arrTaoke['click_url'];
             }
             if (!empty($arrTaoke['shop_click_url'])) {
                 $goodsInfo['shopclickurl'] = $arrTaoke['shop_click_url'];
             }
             if (!empty($arrTaoke['shop_click_url'])) {
                 $goodsInfo['seller_credit_score'] = $arrTaoke['seller_credit_score'];
             }
         }
     }
     //店铺信息
     $goodsInfo['shop_name'] = '';
     if (!empty($arrItem['nick'])) {
         $objShop = new ShopGetRequest();
         $objShop->setFields("sid,cid,title,nick,desc,bulletin,pic_path,created,modified");
         $objShop->setNick($arrItem['nick']);
         $objResult = $topClient->execute($objShop);
         if (isset($objResult->shop)) {
             $arrShop = (array) $objResult->shop;
             if (!empty($arrShop['title'])) {
                 $goodsInfo['shop_name'] = $arrShop['title'];
             }
         }
     }
     return $goodsInfo;
 }
    public function fetch($url)
    {
        global $_FANWE;
        $id = $this->getID($url);
        if ($id == 0) {
            return false;
        }
        $key = 'taobao_' . $id;
        $share_goods = FDB::resultFirst('SELECT share_id,goods_id FROM ' . FDB::table('share_goods') . ' 
			WHERE uid = ' . $_FANWE['uid'] . " AND goods_key = '{$key}'");
        if ($share_goods) {
            $result['status'] = -1;
            $result['share_id'] = $share_goods['share_id'];
            $result['goods_id'] = $share_goods['goods_id'];
            return $result;
        }
        //http://container.open.taobao.com/container?appkey=12324287&encode=utf-8
        $client = new TopClient();
        $client->appkey = $_FANWE['cache']['business']['taobao']['app_key'];
        $client->secretKey = $_FANWE['cache']['business']['taobao']['app_secret'];
        $req = new ItemGetRequest();
        $req->setFields("detail_url,title,nick,pic_url,price");
        $req->setNumIid($id);
        $resp = $client->execute($req);
        if (!isset($resp->item)) {
            return false;
        }
        $result = array();
        $goods = (array) $resp->item;
        if (empty($goods['detail_url']) || empty($goods['pic_url'])) {
            return false;
        }
        $image = copyFile($goods['pic_url'], "temp", md5(microtime(true)) . random('6') . ".jpg", false);
        if ($image === false) {
            return false;
        }
        $result['item']['key'] = $key;
        $result['item']['name'] = $goods['title'];
        $result['item']['price'] = $goods['price'];
        $result['item']['img'] = $image['url'];
        $result['item']['pic_url'] = $goods['pic_url'] . '_100x100.jpg';
        $result['item']['url'] = $goods['detail_url'];
        $tao_ke_pid = $_FANWE['cache']['business']['taobao']['tk_pid'];
        $shop_click_url = '';
        if (!empty($tao_ke_pid)) {
            $req = new TaobaokeItemsDetailGetRequest();
            $req->setFields("click_url,shop_click_url");
            $req->setNumIids($id);
            $req->setPid($tao_ke_pid);
            $resp = $client->execute($req);
            if (isset($resp->taobaoke_item_details)) {
                $taoke = (array) $resp->taobaoke_item_details->taobaoke_item_detail;
                if (!empty($taoke['click_url'])) {
                    $result['item']['taoke_url'] = $taoke['click_url'];
                }
                if (!empty($taoke['shop_click_url'])) {
                    $shop_click_url = $taoke['shop_click_url'];
                }
            }
        }
        if (!empty($goods['nick'])) {
            $req = new ShopGetRequest();
            $req->setFields("sid,nick,pic_path");
            $req->setNick($goods['nick']);
            $resp = $client->execute($req);
            if (isset($resp->shop)) {
                $shop = (array) $resp->shop;
                $result['shop']['name'] = $shop['nick'];
                if (!empty($shop['pic_path'])) {
                    $image = copyFile('http://logo.taobao.com/shop-logo' . $shop['pic_path'], "temp", md5(microtime(true)) . random('6') . ".jpg", false);
                    if ($image !== false) {
                        $result['shop']['logo'] = $image['url'];
                    }
                }
                $result['shop']['shop_id'] = $shop['sid'];
                $result['shop']['url'] = 'http://shop' . $shop['sid'] . '.taobao.com';
                if (!empty($shop_click_url)) {
                    $result['shop']['taoke_url'] = $shop_click_url;
                }
            }
        }
        return $result;
    }
示例#9
0
if ($dopost == 'search') {
    //    $sql = "update goods set flag = ";
    //现在有效的产品
    $theDayBegin = strtotime($theDay);
    $theDayEnd = $theDayBegin + 86400;
    $sql = 'select * from goods where  `end_time`>=' . $theDayEnd . ' AND `begin_time`<' . $theDayBegin;
    $rs = $pdo->query($sql)->fetchAll();
    $sql = "update goods set flag= 0";
    $result = $pdo->exec($sql);
    $num = count($rs);
    $c = new TopClient();
    $c->appkey = $appkey;
    //top appkey
    $c->secretKey = $secretKey;
    //top secretkey
    $req = new ItemGetRequest();
    //top 封装的php文件
    $req->setFields("delist_time");
    $cctime = time() - 86400 * 2;
    for ($i = 0; $i < $num; ++$i) {
        $req->setNumIid($rs[$i]['num_iid']);
        $resp = $c->execute($req);
        $resp = strtotime($resp->item->delist_time);
        $v_flag = 0;
        //判断是否下架
        if ($resp < $rs[$i]['end_time']) {
            $sql = "update goods set end_time = end_time-86400*2,begin_time = begin_time-86400*2 where num_iid = '" . $rs[$i]['num_iid'] . "'";
            $result = $pdo->exec($sql);
            $cc_result += $result;
            $v_flag = 1;
        }
示例#10
0
//这里是引用具体的Request类
include "./../../../top/ShopGetRequest.php";
//这里是引用具体的Request类
include "./../../../top/UmpPromotionGetRequest.php";
$data = array('er' => 0, 'msg' => '报名编辑信息初始化');
//获得当前显示的货物
$sql = "select * from goods  where begin_time <" . time() . " AND end_time >" . time();
$rs = $pdo->query($sql)->fetchAll();
$num = count($rs);
$c = new TopClient();
$c->appkey = $appkey;
//top appkey
$c->secretKey = $secretKey;
//top secretkey
//实例化具体API对应的Request类
$req = new ItemGetRequest();
//top 封装的php文件
$req->setFields("delist_time");
$req->setNumIid("22968360844");
$resp = $c->execute($req);
$resp = strtotime($resp->item->delist_time);
//$req = new UmpPromotionGetRequest;
//$req->setItemId(22968360844);
//$resp = $c->execute($req);
//var_dump($resp);
$url = "http://a.m.tmall.com/ajax/sku.do?item_id=25315836157";
$content = $fetchService->fetchByGet($url);
//echo $content;
$content = json_decode($content, TRUE);
$p_re = array();
foreach ($content['availSKUs'] as $s) {
示例#11
0
 private function item_get($num_id)
 {
     echo "getting {$num_id}\n";
     $top_client = get_top_client();
     $req = new ItemGetRequest();
     $req->setFields("sku.sku_id, sku.outer_id, outer_id, num_iid, title, price, detail_url, post_fee, express_fee,ems_fee, created, pic_url, nick");
     $req->setNick($this->nickname);
     $req->setNumIid($num_id);
     $resp = $top_client->execute($req);
     $taobao_q = $this->taobao_model->save_mytaobao_list($resp);
 }
示例#12
0
 static function getItemInfo($param)
 {
     include_once DIR_SYSTEM . '/taobao/TopSdk.php';
     $param['id'] = isset($param['id']) ? $param['id'] : null;
     try {
         $c = new TopClient();
         $c->appkey = '21423039';
         $c->secretKey = '35cf898ea5182b72ad9ad9955c8294f4';
         $req = new ItemGetRequest();
         $req->setFields("detail_url,num_iid,title,nick,type,cid,seller_cids,props,input_pids,input_str,desc,pic_url,num,valid_thru,list_time,delist_time,stuff_status,location,price,post_fee,express_fee,ems_fee,has_discount,freight_payer,has_invoice,has_warranty,has_showcase,modified,increment,approve_status,postage_id,product_id,auction_point,property_alias,item_img,prop_img,sku,video,outer_id,is_virtual");
         $req->setNumIid($param['id']);
         $c->format = 'json';
         $resp = $c->execute($req);
     } catch (Exception $e) {
         //echo $e->getMessage();
         $resp = array();
     }
     //var_dump($resp);
     //exit;
     if (array_key_exists('item', $resp)) {
         $resa = $resp['item'];
         //$resa = $resp->item;
         //var_dump($resa['desc']);
         //var_dump($resp['item']);exit;
         //宝贝所属的运费模板ID,如果没有返回则说明没有使用运费模板:0
         $postage_id = $resa['postage_id'];
         //卖家昵称
         $nick = $resa['nick'];
         $detail_url = $resa['detail_url'];
         if (false !== strpos($detail_url, 'taobao.com')) {
             //商城名
             $result['model'] = urlencode("淘宝网");
         } else {
             if (false !== strpos($detail_url, 'tmall.com')) {
                 //商城名
                 $result['model'] = urlencode("天猫网");
             }
         }
         //var_dump($detail_url );
         //add by weikun 返回主图及其属性图
         $item_img = array();
         //var_dump($resa['item_imgs']);
         if (array_key_exists('item_imgs', $resa)) {
             if (array_key_exists('item_img', $resa['item_imgs']) && !empty($resa['item_imgs']['item_img'])) {
                 foreach ($resa['item_imgs']['item_img'] as $item_img_value) {
                     $item_img[$item_img_value['position']] = $item_img_value['url'];
                 }
             }
         }
         //
         //$alias['1627207:3232483'] = 20471#黑色(蝴蝶结);
         //end
         //var_dump($alias);exit;
         //var_dump($resa['prop_imgs']['prop_img']);
         $size = array();
         $color = array();
         $price = array();
         $images = array();
         $img_color = array();
         $img_data = array();
         //带编码的尺寸数组和颜色数组
         $size_number = array();
         $color_number = array();
         //add by weikun  返回商品颜色数组
         $alias = array();
         $property_alias = explode(';', $resa['property_alias']);
         foreach ($property_alias as $one) {
             if (substr($one, strrpos($one, ':') + 1)) {
                 $alias[substr($one, 0, strrpos($one, ':'))] = substr($one, strrpos($one, ':') + 1);
             }
             //$color[] = $alias[substr($one, 0, strrpos($one, ':'))];
             //var_dump(substr($one, strrpos($one, ':') + 1));
             //var_dump(substr($one, 0, strrpos($one, ':')));
         }
         //var_dump($alias);
         //var_dump($property_alias);
         //商品属性图片列表
         //var_dump($resa['prop_imgs']);
         if (array_key_exists('prop_imgs', $resa)) {
             $prop_imgs = $resa['prop_imgs']['prop_img'];
         }
         if (array_key_exists('desc', $resa)) {
             $str = $resa['desc'];
             $reg = '/((http|https):\\/\\/)+(\\w+\\.)+(\\w+)[\\w\\/\\.\\-]*(jpg)/';
             /*$reg = '/<img src=\"(.+?)\".*?>/';*/
             $matches = array();
             preg_match_all($reg, $str, $matches);
             foreach ($matches[0] as $value) {
                 $img_data[] = $value;
             }
             //去掉指定元素
             $img_data = array_unique($img_data);
             $key = array_keys($img_data, "http://img03.taobaocdn.com/imgextra/i3/224060577/T2C5K4XudXXXXXXXXX-224060577.jpg");
             $key1 = array_keys($img_data, "http://img03.taobaocdn.com/imgextra/i3/T2E4BNXfRbXXXXXXXX-350475995.jpg");
             $key2 = array_keys($img_data, "http://img02.taobaocdn.com/imgextra/i2/T2ojdSXeFcXXXXXXXX-350475995.jpg");
             $key3 = array_keys($img_data, "http://img04.taobaocdn.com/imgextra/i4/T2yz4SXjXXXXXXXXXX-350475995.jpg");
             if (array_key_exists('0', $key) && $key[0]) {
                 unset($img_data[$key[0]]);
             }
             if (array_key_exists('0', $key) && $key[0]) {
                 unset($img_data[$key1[0]]);
             }
             if (array_key_exists('0', $key) && $key[0]) {
                 unset($img_data[$key2[0]]);
             }
             if (array_key_exists('0', $key) && $key[0]) {
                 unset($img_data[$key3[0]]);
             }
             //var_dump($img_data);
         }
         //库存量
         $quantity = array();
         //var_dump($resa['skus']);//exit;
         //sku列表
         if (array_key_exists('skus', $resa) && $resa['skus']) {
             $skus = $resa['skus'];
             //var_dump($skus);
             foreach ($skus as $_one) {
                 foreach ($_one as $one) {
                     $_size = '';
                     $_s = array();
                     $_color = '';
                     if ($one['quantity'] <= 0) {
                         continue;
                     }
                     $properties_name = explode(';', $one['properties_name']);
                     if (array_key_exists('1', $properties_name) && $properties_name[1]) {
                         $_s = explode(':', $properties_name[1]);
                         //if (array_key_exists('$_s[0] . \':\' . $_s[1]',$alias) &&  $alias[$_s[0] . ':' . $_s[1]])
                         if (!empty($alias) && array_key_exists($_s[0] . ':' . $_s[1], $alias) && $alias[$_s[0] . ':' . $_s[1]]) {
                             //echo "weikun";
                             $_size = $size_number[$_s[0] . ':' . $_s[1]] = $size[] = $alias[$_s[0] . ':' . $_s[1]];
                         } else {
                             //echo "weikun2";
                             $_size = $size_number[$_s[0] . ':' . $_s[1]] = $size[] = $_s[3];
                         }
                     }
                     //add byweikun 获取颜色数组
                     if (array_key_exists('0', $properties_name) && $properties_name[0]) {
                         $_s = explode(':', $properties_name[0]);
                         //var_dump($alias[$_s[0] . ':' . $_s[1]]);
                         //if (array_key_exists('$_s[0] . \':\' . $_s[1]',$alias) && $alias[$_s[0] . ':' . $_s[1]])
                         //var_dump($alias);
                         //$flag = array_key_exists($_s[0] . ':' . $_s[1],$alias);
                         //var_dump($flag);
                         //var_dump($_s[0] . ':' . $_s[1]);
                         if (!empty($alias) && array_key_exists($_s[0] . ':' . $_s[1], $alias) && $alias[$_s[0] . ':' . $_s[1]]) {
                             //echo "weikun";
                             $_color = $color_number[$_s[0] . ':' . $_s[1]] = $color[] = $alias[$_s[0] . ':' . $_s[1]];
                         } else {
                             //echo "weikun2";
                             $_color = $color_number[$_s[0] . ':' . $_s[1]] = $color[] = $_s[3];
                         }
                     }
                     //$one    = explode(';',$one['properties']);
                     //$size[] = $alias[$one[1]];
                     //$color[]= $alias[$one[0]];
                     $price[$_size . '_' . $_color] = $one['price'];
                     $quantity[$_size . '_' . $_color] = $one['quantity'];
                     if (isset($prop_imgs)) {
                         foreach ($prop_imgs as $_img) {
                             if ($_img['properties'] == $_s[0] . ':' . $_s[1]) {
                                 $images[$_color] = $_img['url'];
                                 $img_color[$_s[0] . ':' . $_s[1]] = $_img['url'];
                             }
                         }
                     }
                 }
             }
         }
         //var_dump($price);
         $result['num_iid'] = $param['id'];
         $result['goodsname'] = $resa['title'];
         $result['goodsprice'] = $resa['price'];
         $result['oldprice'] = $resa['price'];
         //echo $result['goodsprice'];
         //exit;
         //sleep(3);
         try {
             $c = new TopClient();
             $c->appkey = '21423039';
             $c->secretKey = '35cf898ea5182b72ad9ad9955c8294f4';
             $req = new UmpPromotionIncrementGetRequest();
             $req->setItemId($param['id']);
             $c->format = 'json';
             $resPromotion = $c->execute($req);
         } catch (Exception $e) {
             $resPromotion = array();
         }
         //var_dump($resPromotion);
         if (!empty($resPromotion)) {
             $resp = $resPromotion['promotions']['promotion_in_item'];
         } else {
             $resp = '';
         }
         /*if (empty($resp['promotion_in_item'])){
           var_dump("fuckoff");
           }else{var_dump("success");}*/
         //var_dump($resPromotion['promotions']);
         //var_dump($resPromotion);exit;
         //var_dump($resp[0]['sku_price_list']);
         //print_r($resp);
         //var_dump(gettype($resp));
         //var_dump($resp);
         //var_dump(empty($resp));
         if (!empty($resp)) {
             foreach ($resp as $_one) {
                 //var_dump(gettype($_one));
                 //var_dump($_one);
                 //exit;
                 if (is_array($_one) && array_key_exists('item_promo_price', $_one) && $_one['item_promo_price']) {
                     //echo "ko";
                     $result['goodsprice'] = $_one['item_promo_price'];
                 } else {
                     //echo "weikun";
                     foreach ($_one as $one) {
                         //var_dump(gettype($one));
                         //var_dump($one);
                         if (is_array($one)) {
                             //var_dump(array_key_exists('0',$one) && $one[0]);
                             if (array_key_exists('0', $one) && $one[0]) {
                                 if (array_key_exists('item_promo_price', $one[0]) && $one[0]['item_promo_price']) {
                                     $result['goodsprice'] = $one[0]['item_promo_price'];
                                 }
                             } else {
                                 if (array_key_exists('item_promo_price', $one) && $one['item_promo_price']) {
                                     $result['goodsprice'] = $one['item_promo_price'];
                                 }
                             }
                         }
                     }
                 }
             }
         }
         //var_dump($result['goodsprice']);
         $sku_price = array();
         /*
         $prop_price = array();
         for($i=0;$i<count($skus['sku']);$i++)
         {
            $prop_price[] = $skus['sku'][$i]['price'];
         }
         */
         //var_dump($resp);
         //var_dump($prop_price);
         //var_dump($skus);
         //var_dump($resp);
         //var_dump("weikun");
         //var_dump(($resp['promotion_in_item']));
         if (empty($resp['promotion_in_item'])) {
             /*
             $prop_price = $skus['sku']['price'];
             foreach ($prop_price as $_price) {
                 if ($_price['properties'] == $_s[0] . ':' . $_s[1]) {
                     $price[$_color] = $_price['price'];
                    
                 }
             }
             $result['price'] = json_encode($price);
             */
             //var_dump($price);
             $result['price'] = json_encode($price);
         } else {
             //var_dump($resPromotion['promotions']['promotion_in_item']['promotion_in_item']);
             if (array_key_exists('sku_id_list', $resPromotion['promotions']['promotion_in_item']['promotion_in_item'][0]) && $resPromotion['promotions']['promotion_in_item']['promotion_in_item'][0]['sku_id_list']) {
                 foreach ($resPromotion['promotions']['promotion_in_item']['promotion_in_item'][0]['sku_id_list']['string'] as $key => $skuid) {
                     $sku_price[$skuid] = $resPromotion['promotions']['promotion_in_item']['promotion_in_item'][0]['sku_price_list']['price'][$key];
                 }
                 //var_dump($sku_price[$skuid]);
                 $size_color_price = array();
                 foreach ($skus as $_one) {
                     foreach ($_one as $one) {
                         $_color = '';
                         $_size = '';
                         //var_dump($alias);
                         if ($one['quantity'] <= 0) {
                             continue;
                         }
                         $properties_name = explode(';', $one['properties_name']);
                         if (array_key_exists('1', $properties_name) && $properties_name[1]) {
                             $_s = explode(':', $properties_name[1]);
                             //if (array_key_exists('$_s[0] . \':\' . $_s[1]',$alias) && $alias[$_s[0] . ':' . $_s[1]])
                             if (!empty($alias) && array_key_exists($_s[0] . ':' . $_s[1], $alias) && $alias[$_s[0] . ':' . $_s[1]]) {
                                 $_size = $size_number[$_s[0] . ':' . $_s[1]] = $size[] = $alias[$_s[0] . ':' . $_s[1]];
                             } else {
                                 $_size = $size_number[$_s[0] . ':' . $_s[1]] = $size[] = $_s[3];
                             }
                         }
                         if (array_key_exists('0', $properties_name) && $properties_name[0]) {
                             $_s = explode(':', $properties_name[0]);
                             //if (array_key_exists('$_s[0] . \':\' . $_s[1]',$alias) && $alias[$_s[0] . ':' . $_s[1]])
                             if (!empty($alias) && array_key_exists($_s[0] . ':' . $_s[1], $alias) && $alias[$_s[0] . ':' . $_s[1]]) {
                                 $_color = $color_number[$_s[0] . ':' . $_s[1]] = $color[] = $alias[$_s[0] . ':' . $_s[1]];
                             } else {
                                 $_color = $color_number[$_s[0] . ':' . $_s[1]] = $color[] = $_s[3];
                             }
                         }
                         if (array_key_exists((string) $one['sku_id'], $sku_price)) {
                             $size_color_price[$_size . '_' . $_color] = $sku_price[(string) $one['sku_id']] ? $sku_price[(string) $one['sku_id']] : $resa['price'];
                         }
                         //$one['price'];
                     }
                 }
                 //var_dump($sku_price);
                 //var_dump($size_color_price);
                 $result['price'] = json_encode($size_color_price);
             } else {
                 $result['price'] = json_encode($price);
             }
         }
         //var_dump($resPromotion['promotions']['promotion_in_item']['promotion_in_item'][0]['sku_id_list']['string']);
         //var_dump($postage_id);
         try {
             $c = new TopClient();
             $c->appkey = '21786321';
             $c->secretKey = '1bdf8c31c8e4cc19603e16c4ed6fe767';
             $req = new DeliveryTemplateGetRequest();
             $req->setTemplateIds($postage_id);
             $req->setFields("query_express");
             $req->setUserNick($nick);
             $c->format = 'json';
             $resYunfei = $c->execute($req);
         } catch (Exception $e) {
             $resYunfei = array();
         }
         //var_dump($resYunfei['delivery_templates']['delivery_template'][0]['fee_list']['top_fee']);
         $fee_array = array();
         $fee_value = 0;
         if (array_key_exists('delivery_templates', $resYunfei) && isset($resYunfei['delivery_templates']['delivery_template'][0]['fee_list']['top_fee'])) {
             foreach ($resYunfei['delivery_templates']['delivery_template'][0]['fee_list']['top_fee'] as $value) {
                 $fee_array[] = $value;
             }
         }
         for ($i = 0; $i < count($fee_array); $i++) {
             //var_dump($fee_array[$i]);
             //var_dump($fee_array[$i]['destination']);
             if (false !== strpos($fee_array[$i]['destination'], "440000")) {
                 $fee_value = $fee_array[$i]['start_fee'];
                 break;
             }
             $fee_value = $fee_array[0]['start_fee'];
         }
         //var_dump($images);
         //var_dump($img_data);
         if ($img_data) {
             $result['prop_imgs'] = json_encode($img_data);
         } else {
             $result['prop_imgs'] = json_encode($images);
         }
         try {
             $c = new TopClient();
             $c->appkey = '21423039';
             $c->secretKey = '35cf898ea5182b72ad9ad9955c8294f4';
             $req = new ShopGetRequest();
             $c->format = 'json';
             $req->setFields("sid,title");
             $req->setNick($nick);
             $resStore = $c->execute($req);
         } catch (Exception $e) {
             $resStore = array();
         }
         //商品所属店铺的编号
         $sid = '';
         //商品所属店铺的名字
         $title = '';
         if (array_key_exists('shop', $resStore) && $resStore['shop']) {
             if (array_key_exists('sid', $resStore['shop']) && $resStore['shop']['sid']) {
                 $sid = $resStore['shop']['sid'];
             }
             if (array_key_exists('title', $resStore['shop']) && $resStore['shop']['title']) {
                 $title = $resStore['shop']['title'];
             }
         }
         try {
             $c = new TopClient();
             $c->appkey = '21423039';
             $c->secretKey = '35cf898ea5182b72ad9ad9955c8294f4';
             $c->format = 'json';
             $req = new ItemrecommendItemsGetRequest();
             $req->setItemId($param['id']);
             $req->setRecommendType(1);
             $req->setCount(5);
             $recommended = $c->execute($req);
         } catch (Exception $e) {
             $recommended = array();
         }
         if (array_key_exists('values', $recommended) && $recommended['values']) {
             if (array_key_exists('favorite_item', $recommended['values']) && $recommended['values']['favorite_item']) {
                 $recommend = $recommended['values']['favorite_item'];
                 for ($i = 0; $i < count($recommend); $i++) {
                     // var_dump($recommend);
                     $url = explode("_", $recommend[$i]['track_iid']);
                     $recommend[$i]['item_url'] = "http://item.taobao.com/item.htm?id=" . $url[0];
                 }
                 //var_dump($recommend);
                 $result['recommended'] = json_encode($recommend);
             }
         }
         //$result['prop_imgs']   = json_encode($img_data);
         //var_dump($result['prop_imgs']);
         $color = array_unique($color);
         $size = array_unique($size);
         $result['img_color'] = json_encode($img_color);
         $result['goodsimg'] = $resa['pic_url'];
         $result['goodsseller'] = $resa['nick'];
         $result['sellerurl'] = base64_encode('http://www.taobao.com/webww/?ver=1&touid=cntaobao' . urlencode($resa['nick']) . '&siteid=cntaobao&status=2');
         $result['storeurl'] = 'http://shop' . $sid . '.taobao.com';
         $result['mstoreurl'] = 'http://shop' . $sid . '.m.taobao.com';
         $result['storename'] = $title;
         $result['kucun'] = $resa['num'];
         $result['color_number'] = json_encode($color_number);
         $result['size_number'] = json_encode($size_number);
         $result['color'] = join(',', $color);
         $result['size'] = join(',', $size);
         //var_dump($quantity);
         $result['quantity'] = json_encode($quantity);
         $result['yunfei'] = $fee_value;
         $result['item_imgs'] = json_encode($item_img);
         //var_dump($size);
         return $result;
     }
 }
示例#13
0
 private function parseProduct()
 {
     $c = new TopClient();
     $c->appkey = TAOBAO_APP_KEY;
     $c->secretKey = TAOBAO_APPSECRET;
     $req = new ItemGetRequest();
     $req->setFields("detail_url,num_iid,title,nick,type,cid,seller_cids,props,input_pids,input_str,desc,pic_url,num,valid_thru,list_time,delist_time,stuff_status,location,price,post_fee,express_fee,ems_fee,has_discount,freight_payer,has_invoice,has_warranty,has_showcase,modified,increment,approve_status,postage_id,product_id,auction_point,property_alias,item_img,prop_img,sku,video,outer_id,is_virtual");
     $req->setNumIid($this->_productId);
     //$req->setTrackIid("123_track_456");
     $resp = $c->execute($req, TAOBAO_SESSIONKEY);
     $this->_data = array();
     $this->_prop_imgs = array();
     foreach ($resp as $key) {
         $key = (array) $key;
         $this->_shopName = $key['nick'];
         $this->_data['product_id'] = $this->_productId;
         $this->_data['product_url'] = $this->_productUrl . 'id=' . $this->_productId;
         // 商品URL
         $this->_data['image_url'] = $key['pic_url'];
         // 主图网址
         $this->_data['product'] = $key['title'];
         // 商品名
         $this->_data['shop_url'] = $key['detail_url'];
         // 商店URL
         $this->_data['shop_username'] = $key['nick'];
         // 卖家名称
         $this->_data['price_cn'] = $key['price'];
         // 单价(RMB)(定价)
         $this->_data['price_th'] = $key['price'] * RATE;
         $this->_data['property_alias'] = $key['property_alias'];
         // 颜色及尺码选择
         $this->_data['desc'] = $key['desc'];
         if (strpos($this->_productUrl, 'tmall.com') > 0) {
             $this->_data['shop_site'] = Shopsite::tmall();
         } else {
             $this->_data['shop_site'] = Shopsite::taobao();
         }
         // skus
         if (!empty($key['skus'])) {
             $skus = $key['skus'];
             $this->_properties_2 = array();
             $this->_properties_2 = array();
             foreach ($skus as $k) {
                 $k = (array) $k;
                 $price = $k['price'];
                 $sku_id = $k['sku_id'];
                 $quantity = $k['quantity'];
                 $properties = $k['properties'];
                 $properties_name = $k['properties_name'];
                 $a = explode(';', $properties_name);
                 if (!in_array($a[0], $this->_properties_1)) {
                     $this->_properties_1[] = $a[0];
                 }
                 if (count($a) == 2 && !in_array($a[1], $this->_properties_2)) {
                     $this->_properties_2[] = $a[1];
                 }
                 if ($quantity == 0) {
                     continue;
                 }
                 if (!empty($this->_ump_price_list) && array_key_exists($sku_id, $this->_ump_price_list)) {
                     $price = $this->_ump_price_list[$sku_id];
                 }
                 $this->_data['skus'][] = array('sku_id' => $sku_id, 'price_cn' => $price, 'price_th' => $price * RATE, 'quantity' => $quantity, 'properties' => $properties, 'sku_name' => $properties_name);
             }
         }
         //产品小图
         if (!empty($key['item_imgs'])) {
             $item_imgs = $key['item_imgs'];
             foreach ($item_imgs as $k) {
                 $k = (array) $k;
                 $this->_data['item_imgs'][] = $k['url'];
                 // 产品小图
             }
         }
         // 颜色选择图片
         if (!empty($key['prop_imgs'])) {
             $prop_imgs = $key['prop_imgs'];
             foreach ($prop_imgs as $k) {
                 $k = (array) $k;
                 $this->_prop_imgs[] = array('id' => $k['id'], 'properties' => $k['properties'], 'url' => $k['url']);
             }
         }
     }
 }
示例#14
0
 function addtaobao()
 {
     include_once "Vendor/taobao/TopSdk.php";
     $url = strtolower(get_post_value('url'));
     $url = 'http://item.taobao.com/item.htm?id=43980628011';
     echo $url . '<br/>';
     $it_id = getQuerystr($url, 'id');
     //获取id值
     $c = new TopClient();
     //在taobao/TopClient.php 文件中 xml 改成 json
     $c->appkey = "23096388";
     $c->secretKey = "2cf7057bf7d3901d068ce5a200f89f0d";
     $req = new ItemGetRequest();
     $req->setFields("num_iid,title,price,pic_url,change_prop,location,list_time,delist_time,num,desc,property_alias,props,props_name,detail_url,item_weight,item_size,change_prop,item_imgs,prop_imgs,nick");
     $req->setNumIid($it_id);
     $resp = $c->execute($req, "");
     $array = object_array($resp);
     $delist_time = $array['item']['delist_time'];
     $descs = $array['item']['desc'];
     $list_time = $array['item']['list_time'];
     $city = $array['item']['location']['city'];
     $state = $array['item']['location']['state'];
     $num = $array['item']['num'];
     $num_iid = $array['item']['num_iid'];
     $pic_url = $array['item']['pic_url'];
     $price = $array['item']['price'];
     $property_alias = $array['item']['property_alias'];
     $props = $array['item']['props'];
     $props_name = $array['item']['props_name'];
     $title = $array['item']['title'];
     $nick = $array['item']['nick'];
     $type0 = '';
     //颜色
     $type1 = '';
     //尺寸
     $type2 = '';
     //上市时间
     $typeArr = explode(';', $props_name);
     foreach ($typeArr as $arrays) {
         $array = explode(':', $arrays);
         if ($array[0] == '1627207') {
             $type0 .= $array[3] . "|";
         }
         if ($array[0] == '20509') {
             $type1 .= $array[3] . "|";
         }
         if ($array[0] == '8560225') {
             $type2 .= $array[3] . "|";
         }
     }
     $pattern = "/<[img|IMG].*?src=[\\'|\"](.*?(?:[\\.gif|\\.jpg]))[\\'|\"].*?[\\/]?>/";
     preg_match_all($pattern, $descs, $match);
     $imgsrc = '';
     //照片描述
     foreach ($match[1] as $v) {
         $imgsrc .= $v . "|";
     }
     if (substr($url, 0, 7) != 'http://') {
         $url = 'http://' . $url;
     }
     $product_url = null;
     if (substr($url, 0, 22) == 'http://item.taobao.com') {
         $taobao = new Taobao($url);
         $product_url = $taobao->getProductUrl();
         $data = $taobao->getData();
         $this->assign('product_url', $product_url);
         $this->assign('data', $data);
         $this->assign('title', $title);
         $this->assign('type0', $type0);
         $this->assign('type1', $type1);
         $this->assign('type2', $type2);
         $this->assign('type3', $type2);
         $this->assign('list_time', $list_time);
         $this->assign('delist_time', $delist_time);
         $this->assign('location', $city . '|' . $state);
         $this->assign('price', $price);
         $this->assign('nick', $nick);
         $this->assign('pic_url', $pic_url);
         $this->assign('imgsrc', $imgsrc);
     } else {
     }
     $upload = new Upload();
     $this->assign('upload', $upload->show());
 }
示例#15
0
function xt_taobao_item($num_iid, $fields = 'num_iid,detail_url,title,cid,nick,location,pic_url,price')
{
    $app = xt_taobao_is_ready();
    if (!$app) {
        return new WP_Error('系统错误', '尚未配置淘宝开放平台!');
    }
    if (intval($num_iid) == 0) {
        return new WP_Error('业务错误', '淘宝商品标识不正确!');
    }
    include_once XT_PLUGIN_DIR . '/xt-core/sdks/taobao/RequestCheckUtil.php';
    include_once XT_PLUGIN_DIR . '/xt-core/sdks/taobao/TopClient.php';
    include_once XT_PLUGIN_DIR . '/xt-core/sdks/taobao/request/ItemGetRequest.php';
    $client = new TopClient();
    $client->format = 'json';
    $client->appkey = $app['appKey'];
    $client->secretKey = $app['appSecret'];
    $req = new ItemGetRequest();
    $req->setFields($fields);
    $req->setNumIid($num_iid);
    $resp = $client->execute($req);
    if (isset($resp->sub_code)) {
        return new WP_Error($resp->sub_code > 0 ? $resp->sub_code : '500', $resp->sub_msg);
    } elseif (isset($resp->code)) {
        return new WP_Error($resp->code > 0 ? $resp->code : '500', $resp->msg);
    }
    return $resp->item;
}