ShopData.php 4.23 KB
<?php

/**
 * Created by PhpStorm.
 * User: Targaryen
 * Date: 2016/4/21
 * Time: 15:55
 */

namespace LibModels\Wap\Product;

use Api\Yohobuy;
use Api\Sign;

class ShopData
{
    /**
     * 调取店铺简介数据
     *
     * @param int $shop_id
     * @return mixed
     * @internal param int $shops_id
     * @internal param int|店铺ID $shopId 店铺ID
     */
    public static function getShopIntro($shop_id = 0)
    {
        $param = Yohobuy::param();
        $param['method'] = 'app.shops.getIntro';
        $param['shop_id'] = $shop_id;
        $param['client_secret'] = Sign::getSign($param);
        return Yohobuy::get(API_URL, $param);
    }

    /**
     * 获取店铺下的所有品类
     *
     * @param $shop_id
     * @param $yhChannel 频道
     * @param $gender 性别
     * @return mixed
     * @internal param $shops_id
     * @internal param int $shopId 店铺ID
     */
    public static function getShopCategory($shop_id, $yhChannel, $gender)
    {
        $param = Yohobuy::param();
        $param['method'] = 'app.shop.getSortInfo';
        $param['shop_id'] = $shop_id;
        $param['yh_channel'] = $yhChannel;
        $param['gender'] = $gender;
        $param['client_secret'] = Sign::getSign($param);
        return Yohobuy::get(API_URL, $param);
    }

    /**
     * 获取店铺下的所有品牌
     *
     * @param int $shop_id
     * @return mixed
     * @internal param int $shops_id
     * @internal param int $shopId 店铺ID
     */
    public static function getShopBrands($shop_id = 0)
    {
        $param = Yohobuy::param();
        $param['method'] = 'app.shops.getShopsBrands';
        $param['shop_id'] = $shop_id;
        $param['client_secret'] = Sign::getSign($param);
        return Yohobuy::get(API_URL, $param);
    }

    /**
     * 获取店铺下所有商品
     *
     * @param null $shop
     * @return mixed
     */
    public static function getAllProducts($shop = null)
    {
        $param = Yohobuy::param();
        $param['method'] = 'app.search.li';
        $param['shop'] = $shop;
        $param['client_secret'] = Sign::getSign($param);
        return Yohobuy::get(API_URL, $param);
    }

    /**
     *
     * 辅助方法 Debug 数据输出
     *
     * @param $data
     * @param bool $is_exit 输出后是否中断执行
     */
    public static function debugOut($data, $is_exit = true)
    {
        header("Content-type:text/html;charset=utf-8");
        echo '<pre>';
        print_r($data);
        echo '</pre>';
        if ($is_exit) {
            exit;
        }
    }

    /**
     * 收藏店铺
     * @param int $uid
     * @param int $shopId
     * @param string $gender
     * @author sefon 2016-4-28 22:09:30
     * @return mixed
     */
    public static function shopFav($uid, $shopId, $gender = '')
    {
        $param = Yohobuy::param();
        $param['method'] = 'app.favorite.add';
        $param['uid'] = $uid;
        $param['id'] = $shopId;
        $param['fav_id'] = $shopId;
        $param['type'] = 'shop';
        if (!empty($gender)) {
            $param['gender'] = $gender;
        }
        $param['client_secret'] = Sign::getSign($param);
        return Yohobuy::get(API_URL, $param);
    }

    /**
     * 取消收藏店铺
     * @param int $uid
     * @param int $shopId
     * @param string $gender
     * @author sefon 2016-4-28 22:09:30
     * @return mixed
     */
    public static function cancelShopFav($uid, $shopId, $gender = '')
    {
        $param = Yohobuy::param();
        $param['method'] = 'app.favorite.cancel';
        $param['uid'] = $uid;
        $param['id'] = $shopId;
        $param['fav_id'] = $shopId;
        $param['type'] = 'shop';
        if ($gender) {
            $param['gender'] = $gender;
        }
        $param['client_secret'] = Sign::getSign($param);
        return Yohobuy::get(API_URL, $param);
    }

    /**
     * 根据brandid获取相关店铺
     * @param int $brandId
     * @author sefon 2016-4-28 13:41:09
     * @return array
     */
    public static function getShopByBrandId($brandId, $cache = 600)
    {
        $param = Yohobuy::param();
        $param['method'] = 'app.shop.queryShopsByBrandId';
        $param['brand_id'] = $brandId;
        $param['client_secret'] = Sign::getSign($param);
        return Yohobuy::get(API_URL, $param);
    }
}