NewsaleData.php 6.04 KB
<?php
namespace LibModels\wap\Product;

use Api\Yohobuy;
use Api\Sign;
use Plugin\Helpers;

/**
 * 新品到着,折扣专区接口操作类
 * 
 * @name NewsaleData
 * @package Library/LibModels/Channel
 * @copyright yoho.inc
 * @version 1.0 (2015-10-8)
 * @author gtskk <rocky.zhang@yoho.cn>
 */
class NewsaleData
{

	/**
	 * 获取新品到着,折扣专区焦点图数据
	 * @param  string $contentCode 	内容位置码
	 * @return array              	新品到着焦点图有关数据
	 */
	public static function getNewsaleFocus($contentCode)
	{
		// 构建必传参数
		$param = Yohobuy::param();

		$param['content_code'] = $contentCode;
        $param['client_secret'] = Sign::getSign($param);
        
        return Yohobuy::get(Yohobuy::SERVICE_URL.'operations/api/v5/resource/get', $param);
	}

	/**
	 * 获取新品到着商品数据
	 * 
	 * @param  string $gender 		"1,3"表示男, "2,3"表示女, "1,2,3"表示全部
	 * @param  string $channel 		1表示男, 2表示女
	 * @param  integer $limit    	查询返回的最大限制数, 默认为50
	 * @param  integer $page 		分页第几页, 默认第1页
	 * @return array           		新品到着商品数据
	 */
	public static function getNewProducts($gender, $channel, $limit = 50, $page = 1)
	{
		$param = Yohobuy::param();
		$param['method'] = 'app.search.newProduct';
		$param['gender'] = $gender;
		$param['page'] = $page;
		$param['limit'] = $limit;
		$param['yh_channel'] = $channel;
		$param['client_secret'] = Sign::getSign($param);

		// 构建url地址列表
		$urlList = array();
		$param['dayLimit'] = 1;
		$urlList['new'] = Yohobuy::httpBuildQuery(Yohobuy::API_URL,$param);
		$param['dayLimit'] = 2;
		$urlList['week'] = Yohobuy::httpBuildQuery(Yohobuy::API_URL,$param);
		$param['dayLimit'] = 3;
		$urlList['sale'] = Yohobuy::httpBuildQuery(Yohobuy::API_URL,$param);
		// var_dump($urlList);exit;
		
		return Yohobuy::getMulti($urlList);
	}

	/**
	 * 筛选新品到着商品
	 * 
	 * @param  
	 * @param  array $selectParams  筛选条件参数,可传递的条件参数有:
	 *                              string gender  "1,3"表示男, "2,3"表示女, "1,2,3"表示全部
	 *                              integer brand  品牌Id
	 *                              integer sort   品类Id
	 *                              integer color  颜色Id
	 *                              integer size   尺码Id
	 *                              string price   价格
	 *                              string p_d     折扣
	 * @param  string $channel 		1表示男, 2表示女
	 * @param  integer $dayLimit 	限制读取多少天,默认为1天
	 * @param  integer $limit    	查询返回的最大限制数, 默认为50
	 * @param  integer $page 		分页第几页, 默认第1页
	 * @return array          		筛选出来的新品到着商品
	 */
	public static function selectNewProducts(array $selectParams, $channel, $dayLimit = 1, $limit = 50, $page = 1)
	{
		$selectItems = array(
			'gender',
			'brand',
			'sort',
			'color',
			'size',
			'price',
			'p_d'
		);

		$param = Yohobuy::param();
		$param['method'] = 'app.search.newProduct';
		$param['dayLimit'] = $dayLimit;
		$param['page'] = $page;
		$param['limit'] = $limit;
		$param['yh_channel'] = $channel;

		// 拉取筛选参数
		$queriedParams = Helpers::array_get($selectParams, $selectItems);
		$param = array_merge($param, $queriedParams);
		$param['client_secret'] = Sign::getSign($param);

		return Yohobuy::get(Yohobuy::API_URL, $param);
	}


	/**
	 * 获取折扣专区商品数据
	 * 
	 * @param  string $gender 		"1,3"表示男, "2,3"表示女, "1,2,3"表示全部
	 * @param  string $channel 		1表示男, 2表示女
	 * @param  integer $limit    	查询返回的最大限制数, 默认为50
	 * @param  integer $page 		分页第几页, 默认第1页
	 * @return array           		折扣专区商品数据
	 */
	public static function getSaleProducts($gender, $channel, $limit = 50, $page = 1)
	{
		$param = Yohobuy::param();
		$param['method'] = 'app.search.sales';
		$param['gender'] = $gender;
		$param['page'] = $page;
		$param['limit'] = $limit;
		$param['yh_channel'] = $channel;
		$param['client_secret'] = Sign::getSign($param);

		// 构建url地址列表
		$urlList = array();
		$param['p_d'] = '0.1,0.3';
		$urlList['new'] = Yohobuy::httpBuildQuery(Yohobuy::API_URL,$param);
		$param['p_d'] = '0.4,0.6';
		$urlList['week'] = Yohobuy::httpBuildQuery(Yohobuy::API_URL,$param);
		$param['p_d'] = '0.7,0.9';
		$urlList['sale'] = Yohobuy::httpBuildQuery(Yohobuy::API_URL,$param);
		$param['p_d'] = '0.1,0.9';
		$urlList['sale'] = Yohobuy::httpBuildQuery(Yohobuy::API_URL,$param);
		// var_dump($urlList);exit;
		
		return Yohobuy::getMulti($urlList);
	}

	/**
	 * 筛选折扣专区商品
	 * 
	 * @param  
	 * @param  array $selectParams  筛选条件参数,可传递的条件参数有:
	 *                              string gender  "1,3"表示男, "2,3"表示女, "1,2,3"表示全部
	 *                              integer brand  品牌Id
	 *                              integer sort   品类Id
	 *                              integer color  颜色Id
	 *                              integer size   尺码Id
	 *                              string price   价格
	 * @param  string $channel 		1表示男, 2表示女
	 * @param  integer $discount 	折扣
	 * @param  integer $limit    	查询返回的最大限制数, 默认为50
	 * @param  integer $page 		分页第几页, 默认第1页
	 * @return array          		筛选出来的折扣专区商品
	 */
	public static function selectSaleProducts(array $selectParams, $channel, $discount, $limit = 50, $page = 1)
	{
		$selectItems = array(
			'gender',
			'brand',
			'sort',
			'color',
			'size',
			'price'
		);

		$param = Yohobuy::param();
		$param['method'] = 'app.search.sales';
		$param['yh_channel'] = $channel;
		$param['p_d'] = $discount;
		$param['page'] = $page;
		$param['limit'] = $limit;

		// 拉取筛选参数
		$queriedParams = Helpers::array_get($selectParams, $selectItems);
		$param = array_merge($param, $queriedParams);
		$param['client_secret'] = Sign::getSign($param);

		return Yohobuy::get(Yohobuy::API_URL, $param);
	}
    
}