SearchData.php 2.55 KB
<?php
namespace LibModels\Wap\Product;

use Api\Yohobuy;
use Api\Sign;

/**
 * 搜索有关数据操作类
 * 
 * @name SearchData
 * @package Library/LibModels/wap/Product
 * @copyright yoho.inc
 * @version 1.0 (2015-10-8)
 * @author gtskk <rocky.zhang@yoho.cn>
 */
class SearchData
{

	/**
	 * 模糊搜索提供的关键词
	 * 
	 * @param  string $keyword 关键词
	 * @return array          根据跟定关键词搜索到的结果,包括数据数目count和提供的关键词keyword
	 */
	public static function searchFuzzyDatas($keyword)
	{
		// 构建必传参数
		$param = Yohobuy::param();

		$param['keyword'] = $keyword;
		$param['method'] = 'app.search.fuzzy';
        $param['client_secret'] = Sign::getSign($param);
        
        return Yohobuy::get(Yohobuy::API_URL, $param);
	}

	/**
	 * 根据跟定查询数据搜索数据列表
	 * 
	 * @param  string  $query  查询条件, 默认为null
	 * @param  string  $brand  品牌,默认为null
	 * @param  string  $gender 性别,默认为null,"1,3"表示男, "2,3"表示女, "1,2,3"表示全部
	 * @param  string  $p_d    折扣,默认为null
	 * @param  string  $misort 商品分类,默认为null
	 * @param  string  $msort  商品分类,默认为null
	 * @param  string  $order  排序方式,默认为按照时间倒序排列s_t_desc,
	 *                        	s_t_asc表示按时间正序排列,
	 *                         	s_p_asc表示按价格正序排列,
	 *                          s_p_desc表示按价格倒序排列,
	 *                          p_d_asc表示按折扣正序排列,
	 *                          p_d_desc表示按折扣倒序排列
	 * @param  integer $page   指定查询是多少页,默认为第一页
	 * @param  integer $limit  指定查询多少个,默认是60哥
	 * @return array           搜索到的数据
	 */
	public static function searchLiDatas($query = null, $brand = null, $gender = null, $p_d = null, $misort = null, $msort = null, $order = 's_t_desc', $page = 1, $limit = 60)
	{
		// 构建必传参数
		$param = Yohobuy::param();

		is_null($query) || $param['query'] = $query;
		is_null($brand) || $param['brand'] = $brand;
		is_null($gender) || $param['gender'] = $gender;
		is_null($p_d) || $param['p_d'] = $p_d;
		is_null($misort) || $param['misort'] = $misort;
		is_null($msort) || $param['msort'] = $msort;
		$param['method'] = 'app.search.li';
		$param['order'] = $order;
		$param['page'] = $page;
		$param['limit'] = $limit;
        $param['client_secret'] = Sign::getSign($param);
        
        return Yohobuy::get(Yohobuy::API_URL, $param);
	}
    
}