Authored by whb

PC修改代码

<?php
namespace Product;
use Api\Yohobuy;
use Configs\WebCacheConfig;
use WebPlugin\Helpers;
use WebPlugin\HelperSearch;
use WebPlugin\Images;
use WebPlugin\Cache;
use LibModels\Web\Product\SearchData;
use Index\HomeModel;
/**
* sale首页模板数据模型
*
* @name SaleModel
* @package models
* @copyright yoho.inc
* @version 1.0 (2015-12-17 13:54:56)
* @author sefon
*/
class SearchModel
{
/**
* 搜索相关页面公共条件处理
*
* @param $param array(
* 'brand' => int (品牌页必传)
* 'promotion' => int (sale页必传)
* 'new' => string (new页必传)
* 'folder_id' => string (搜索品牌系列参数,品牌页选传)
* ...(用户输入的参数,如没有可不传)
* )
* @param $option array(
* 'reviewNum' => int (底部浏览记录显示个数)
* 'controller' => string (说明当前控制器名)
* 'action' => string (说明当前方法名)
* ...(其他一些排序参数,如没有可不传)
* )
* @return array
*/
public static function searchCondition($param = array(), $option = array())
{
$data = array();
/* 过滤请求参数 */
$condition = filter_input_array(INPUT_GET, array(
'query' => FILTER_FLAG_NO_ENCODE_QUOTES ,
'keyword' => FILTER_FLAG_NO_ENCODE_QUOTES ,
'brand' => FILTER_SANITIZE_STRING,
'sort' => FILTER_VALIDATE_INT,
'category' => FILTER_VALIDATE_INT,
'channel' => FILTER_VALIDATE_INT,
'msort' => FILTER_SANITIZE_STRING,
'misort' => FILTER_SANITIZE_STRING,
'color' => FILTER_VALIDATE_INT,
'size' => FILTER_DEFAULT,
'style' => FILTER_DEFAULT,
'price' => FILTER_DEFAULT,
'gender' => FILTER_SANITIZE_STRING,
'p_d' => FILTER_DEFAULT,
'shelve_time' => FILTER_DEFAULT,
'new' => FILTER_DEFAULT,
'specialoffer' => FILTER_DEFAULT,
'limited' => FILTER_DEFAULT,
'order' => FILTER_DEFAULT,
'viewNum' => FILTER_VALIDATE_INT,
'rowNum' => FILTER_VALIDATE_INT,
'specialsale_id' => FILTER_VALIDATE_INT,
'new' => FILTER_SANITIZE_STRING,
'series_id' => FILTER_VALIDATE_INT,
'series' => FILTER_VALIDATE_INT,
'folder_id' => FILTER_VALIDATE_INT,
'page' => FILTER_VALIDATE_INT), false);
//接收高级选项
foreach ($_GET as $key =>$val) {
if (strpos($key, 'parameter_') !== false) {
$condition[$key] = (int) $val;
}
}
//keyword=>query关键字
if (isset($condition['keyword']) && !empty($condition['keyword'])) {
$condition['query'] = rawurldecode($condition['keyword']);
}
//关键字
if (isset($condition['query']) && !empty($condition['query'])) {
$condition['query'] = rawurldecode($condition['query']);
$condition['query'] = HelperSearch::stripTags($condition['query']);
}
$data['userInput'] = $condition;
//品牌
if (isset($condition['brand']) && !empty($condition['brand'])) {
$condition['brand'] = rawurldecode($condition['brand']);
}
//性别
if (isset($condition['gender']) && !empty($condition['gender'])) {
$condition['gender'] = rawurldecode($condition['gender']);
} else {
$condition['gender'] = '';
}
//每页显示商品数
$viewNumArray = array(60, 100, 200);
if(!isset($condition['viewNum']) || empty($condition['viewNum'])){
$condition['viewNum'] =60;
}
if (!in_array($condition['viewNum'], $viewNumArray)) {
$condition['viewNum'] = 60;
}
//每行显示的商品数量
if(!isset($condition['rowNum']) || empty($condition['rowNum'])){
$condition['rowNum'] =5;
}
if ($condition['rowNum'] == 6) {
$imgSize = array(195, 260);
$minImgSize = array(50, 67);
}
else {
$condition['rowNum'] = 5;
$imgSize = array(235, 314);
$minImgSize = array(60, 80);
}
//自定义搜索价格
if (isset($condition['price']) && !empty($condition['price'])) {
$price = explode(',', $condition['price']);
if (!$price[0]) {
$price[0] = 0;
}
if (!isset($price[1]) || empty($price[1])) {
$price[1] = 99999;
}
$condition['price'] = implode(',', $price);
}
//返回搜索条件
$condition['needFilter'] = 1;
//过滤赠品
$condition['attribute_not'] = 2;
//默认排序
if (!isset($condition['order']) || empty($condition['order'])) {
//如果新品到着没传排序方式,默认按s_t_desc(新品)顺序排序
if ($option['controller'] == 'List' && $option['action'] == 'new') {
$condition['order'] = 's_t_desc';
}else{
$condition['order'] = 's_n_desc';
}
}
$options = array(
'imgSize' => $imgSize,
'minImgSize' => $minImgSize,
'rowNum' =>$condition['rowNum'],
'viewNum' =>$condition['viewNum'],
);
//每页记录数减1,下一页占位
$condition['viewNum'] = $condition['viewNum'] - 1;
$condition = array_merge($condition, $param);
$data['condition'] = $condition;
$data['options'] = array_merge($options, $option);
//调用商品分类的参数
if (isset($condition['msort'])) {
unset($condition['msort']);
}
if (isset($condition['misort'])) {
unset($condition['misort']);
}
$data['sortCondition'] = $condition;
// 清空不再使用的变更
$condition = array();
return $data;
}
/**
* 搜索list-sale页数据
* @param $customCondition array(
* 'p_d' => string (如果没有传入折扣,则默认展示0.01~0.99折商品)
* )
* @param $customOptions array(
* 'reviewNum' => int (底部浏览记录显示个数)
* 'controller' => string (说明当前控制器名)
* 'action' => string (说明当前方法名)
* ) 排序条件
* @return array() (处理后的list首页数据)
*/
public static function getListData($customCondition = array(), $customOptions = array())
{
$searchCondition = self::searchCondition($customCondition, $customOptions);
// 组合搜索商品url
$urlList['product'] = SearchData::getProductUrl($searchCondition['condition']);
// 组合搜索分类url
$sortCondition = array();
if (isset($searchCondition['condition']['misort']) && !empty($searchCondition['condition']['misort'])) {
$sortCondition['needSmallSort'] = 1;
}
$urlList['sort'] = SearchData::getClassesUrl($sortCondition);
// 组合搜索折扣区间url
$urlList['discount'] = SearchData::getDiscountUrl();
$data = Yohobuy::getMulti($urlList);
// 组织模板数据
$result = HelperSearch::getList($data, $searchCondition['options'], $searchCondition['userInput']);
// 清空不使用的变量
$searchCondition = array();
$data = array();
return $result;
}
/**
* 搜索页面获取搜索数据
*
* @param $customCondition array() 搜索条件
* @param $customOptions array(
* 'reviewNum' => int (底部浏览记录显示个数)
* 'controller' => string (说明当前控制器名)
* 'action' => string (说明当前方法名)
* ) 排序条件
* @return array
*/
public static function searchData($customCondition, $customOptions)
{
$searchCondition = self::searchCondition($customCondition, $customOptions);
$urlList = array();
// 组合搜索商品url
$urlList['product'] = SearchData::getProductUrl($searchCondition['condition']);
// 组合搜索分类url
$urlList['sort'] = SearchData::getClassesUrl(array_merge($searchCondition['sortCondition'],array('needSmallSort'=>1)));
// 组合搜索店铺url
if (isset($searchCondition['condition']['query'])) {
$param['keyword'] = $searchCondition['condition']['query'];
$urlList['shop'] = SearchData::getShopUrl($param);
}
$data = Yohobuy::getMulti($urlList);
//获取品牌商品分类
if (isset($data['shop']) && !empty($data['shop'])) {
$shopSortParam['brand'] = $data['shop']['id'];
$shopSort = SearchData::getClassesData($shopSortParam);
if (isset($shopSort['code']) && $shopSort['code'] == 200) {
$data['shopSort'] = $shopSort['data']['sort'];
}
}
// 组织模板数据
$result = HelperSearch::getList($data, $searchCondition['options'], $searchCondition['userInput']);
// 清空不使用的变量
$searchCondition = array();
$data = array();
return $result;
}
/**
* 根据product_sn查询产品图片信息
*
* @param $productSkn
* @param $options array()
* @param $goodsId 封面图对应的goodsId
* @author sefon 2015-12-28 18:09:28
* @return array
*/
public static function getProductPic($productSkn, $options, $goodsId)
{
$condition = array();
$condition['query'] = $productSkn;
//返回搜索条件
$condition['needFilter'] = 0;
//获取产品数据
$data = SearchData::searchElasticByCondition($condition);
if (isset($data['code']) && $data['code'] === 200 && !empty($data['data']['product_list'])) {
//组织数据结构
$data = HelperSearch::getProductPic($data['data']['product_list'], $options, $goodsId);
}
else {
$data = array();
}
$res = array('pics' => $data);
return $res;
}
/**
* 查询搜索提示
*
* @param $query
* @return array
*/
public static function getSuggest($query)
{
$data = '';
$result = SearchData::getSuggest($query);
if (isset($result['code']) && $result['code'] == 200 && !empty($result['suggest']['items'])) {
$data = array();
$link = '';
foreach ($result['suggest']['items'] as $v) {
$link = Helpers::url('', array('query' => $v['item']), 'search');
$data[] = '<li><a style="display: block;" href="' . $link . '" class="clearfix clear search-item" title="'.$v['item'].'" act="' . $link . '"><span class="searchvalue" >'.$v['item'].'</span><span class="valuenum">约'.$v['frequency'].'个商品</span></a></li>';
}
}
return $data;
}
/**
* 获取分类的尺码
*/
public static function getSortSize($condition)
{
//当前页面的搜索条件
$old = array();
$url = explode('?', $_SERVER['HTTP_REFERER']);
if (isset($url[1])) {
$old = explode('&', $url[1]);
}
if (!empty($old)) {
foreach ($old as $val) {
$con = explode('=', $val);
if ($con[0] == 'channel' && in_array($con[1], array(1,2))) {
$condition['gender'] = urldecode($con[1]);
} else {
$condition[$con[0]] = urldecode($con[1]);
}
}
}
//分类,把销售分类转为物理分类
if (isset($condition['msort']) && !empty($condition['msort'])) {
$category = self::getRelateSort();
$condition['sort'] = $category[$condition['msort']]['sort'];
}
//返回搜索条件
$condition['needFilter'] = 1;
$condition['viewNum'] = 1;
unset($condition['msort']);
$result = SearchData::searchElasticByCondition($condition);
if (isset($result['code']) && $result['code'] == 200 && isset($result['data']['filter']) && !empty($result['data']['filter'])) {
return HelperSearch::size($result['data']['filter'], true);
}
}
/**
* @param $keyword
* @return array
*/
public static function searchError($keyword)
{
$keyword = HelperSearch::stripTags($keyword);
$keyword = HelperSearch::mbSubstr($keyword, 300);
$data = array(
//初始化js
'searchListPage' => true,
'search' => array(
'keyWord' => $keyword,
'searchActionUrl' => 'http://search.yohobuy.com',
'latestWalk' => 7,
'pathNav' => Array(
'0'=>array(
'href' => '/',
'name' => '首页'
),
'1'=>array(
'name' => '搜索“<span id="nav_keyword">'.$keyword.'</span>”共<span id="nav_keyword_count">0</span>个结果'
)
)
)
);
return $data;
}
/**
* 浏览记录(根据skn查询浏览记录商品信息)
* @param string $skn (多个skn,','号隔开)
* @return array
* @return int $limit
* @autor sefon 2016-4-18 16:06:06
*/
public static function historyProduct($skn, $limit)
{
$result = array();
$param['query'] = implode(',', $skn);
$skn = array_flip($skn);
$param['viewNum'] = $limit;
$data = SearchData::searchElasticByCondition($param);
if (!isset($data['code']) || $data['code'] != 200 || !isset($data['data']['product_list']) || empty($data['data']['product_list'])) {
return $result;
}
foreach ($data['data']['product_list'] as $key => $productVal) {
$product = array();
$backUp = array();
foreach ($productVal['goods_list'] as $goodsVal) {
if ($goodsVal['is_default'] == 'Y') {
$product['default_goods'] = $goodsVal['goods_id'];
$product['default_image'] = $goodsVal['images_url'];
break;
}
$backUp['default_goods'] = $goodsVal['goods_id'];
$backUp['default_image'] = $goodsVal['images_url'];
}
if (empty($product['default_goods'])) {
$product = $backUp;
}
$product['url'] = Helpers::getUrlBySkc($productVal['product_id'], $product['default_goods'], $productVal['cn_alphabet']);
$product['pic_url'] = Images::getImageUrl($product['default_image'], 150, 200);
$product['market_price'] = $productVal['market_price'] != $productVal['sales_price'] ? $productVal['market_price'] : '';
$product['price'] = $productVal['sales_price'];
$product['product_name'] = $productVal['product_name'];
unset($product['default_goods']);
unset($product['default_image']);
$result[$skn[$productVal['product_skn']]] = $product;
}
ksort($result);
return $result;
}
<?php
namespace Product;
use Api\Yohobuy;
use Configs\WebCacheConfig;
use WebPlugin\Helpers;
use WebPlugin\HelperSearch;
use WebPlugin\Images;
use WebPlugin\Cache;
use LibModels\Web\Product\SearchData;
use Index\HomeModel;
/**
* sale首页模板数据模型
*
* @name SaleModel
* @package models
* @copyright yoho.inc
* @version 1.0 (2015-12-17 13:54:56)
* @author sefon
*/
class SearchModel
{
/**
* 搜索相关页面公共条件处理
*
* @param $param array(
* 'brand' => int (品牌页必传)
* 'promotion' => int (sale页必传)
* 'new' => string (new页必传)
* 'folder_id' => string (搜索品牌系列参数,品牌页选传)
* ...(用户输入的参数,如没有可不传)
* )
* @param $option array(
* 'reviewNum' => int (底部浏览记录显示个数)
* 'controller' => string (说明当前控制器名)
* 'action' => string (说明当前方法名)
* ...(其他一些排序参数,如没有可不传)
* )
* @return array
*/
public static function searchCondition($param = array(), $option = array())
{
$data = array();
/* 过滤请求参数 */
$condition = filter_input_array(INPUT_GET, array(
'query' => FILTER_FLAG_NO_ENCODE_QUOTES ,
'keyword' => FILTER_FLAG_NO_ENCODE_QUOTES ,
'brand' => FILTER_SANITIZE_STRING,
'sort' => FILTER_VALIDATE_INT,
'category' => FILTER_VALIDATE_INT,
'channel' => FILTER_VALIDATE_INT,
'msort' => FILTER_SANITIZE_STRING,
'misort' => FILTER_SANITIZE_STRING,
'color' => FILTER_VALIDATE_INT,
'size' => FILTER_DEFAULT,
'style' => FILTER_DEFAULT,
'price' => FILTER_DEFAULT,
'gender' => FILTER_SANITIZE_STRING,
'p_d' => FILTER_DEFAULT,
'shelve_time' => FILTER_DEFAULT,
'new' => FILTER_DEFAULT,
'specialoffer' => FILTER_DEFAULT,
'limited' => FILTER_DEFAULT,
'order' => FILTER_DEFAULT,
'viewNum' => FILTER_VALIDATE_INT,
'rowNum' => FILTER_VALIDATE_INT,
'specialsale_id' => FILTER_VALIDATE_INT,
'new' => FILTER_SANITIZE_STRING,
'series_id' => FILTER_VALIDATE_INT,
'series' => FILTER_VALIDATE_INT,
'folder_id' => FILTER_VALIDATE_INT,
'page' => FILTER_VALIDATE_INT), false);
//接收高级选项
foreach ($_GET as $key =>$val) {
if (strpos($key, 'parameter_') !== false) {
$condition[$key] = (int) $val;
}
}
//keyword=>query关键字
if (isset($condition['keyword']) && !empty($condition['keyword'])) {
$condition['query'] = rawurldecode($condition['keyword']);
}
//关键字
if (isset($condition['query']) && !empty($condition['query'])) {
$condition['query'] = rawurldecode($condition['query']);
$condition['query'] = HelperSearch::stripTags($condition['query']);
}
$data['userInput'] = $condition;
//品牌
if (isset($condition['brand']) && !empty($condition['brand'])) {
$condition['brand'] = rawurldecode($condition['brand']);
}
//性别
if (isset($condition['gender']) && !empty($condition['gender'])) {
$condition['gender'] = rawurldecode($condition['gender']);
} else {
$condition['gender'] = '';
}
//每页显示商品数
$viewNumArray = array(60, 100, 200);
if(!isset($condition['viewNum']) || empty($condition['viewNum'])){
$condition['viewNum'] =60;
}
if (!in_array($condition['viewNum'], $viewNumArray)) {
$condition['viewNum'] = 60;
}
//每行显示的商品数量
if(!isset($condition['rowNum']) || empty($condition['rowNum'])){
$condition['rowNum'] =5;
}
if ($condition['rowNum'] == 6) {
$imgSize = array(195, 260);
$minImgSize = array(50, 67);
}
else {
$condition['rowNum'] = 5;
$imgSize = array(235, 314);
$minImgSize = array(60, 80);
}
//自定义搜索价格
if (isset($condition['price']) && !empty($condition['price'])) {
$price = explode(',', $condition['price']);
if (!$price[0]) {
$price[0] = 0;
}
if (!isset($price[1]) || empty($price[1])) {
$price[1] = 99999;
}
$condition['price'] = implode(',', $price);
}
//返回搜索条件
$condition['needFilter'] = 1;
//过滤赠品
$condition['attribute_not'] = 2;
//默认排序
if (!isset($condition['order']) || empty($condition['order'])) {
//如果新品到着没传排序方式,默认按s_t_desc(新品)顺序排序
if ($option['controller'] == 'List' && $option['action'] == 'new') {
$condition['order'] = 's_t_desc';
}else{
$condition['order'] = 's_n_desc';
}
}
$options = array(
'imgSize' => $imgSize,
'minImgSize' => $minImgSize,
'rowNum' =>$condition['rowNum'],
'viewNum' =>$condition['viewNum'],
);
//每页记录数减1,下一页占位
$condition['viewNum'] = $condition['viewNum'] - 1;
$condition = array_merge($condition, $param);
$data['condition'] = $condition;
$data['options'] = array_merge($options, $option);
//调用商品分类的参数
if (isset($condition['msort'])) {
unset($condition['msort']);
}
if (isset($condition['misort'])) {
unset($condition['misort']);
}
$data['sortCondition'] = $condition;
// 清空不再使用的变更
$condition = array();
return $data;
}
/**
* 搜索list-sale页数据
* @param $customCondition array(
* 'p_d' => string (如果没有传入折扣,则默认展示0.01~0.99折商品)
* )
* @param $customOptions array(
* 'reviewNum' => int (底部浏览记录显示个数)
* 'controller' => string (说明当前控制器名)
* 'action' => string (说明当前方法名)
* ) 排序条件
* @return array() (处理后的list首页数据)
*/
public static function getListData($customCondition = array(), $customOptions = array())
{
$searchCondition = self::searchCondition($customCondition, $customOptions);
// 组合搜索商品url
$urlList['product'] = SearchData::getProductUrl($searchCondition['condition']);
// 组合搜索分类url
$sortCondition = array();
if (isset($searchCondition['condition']['misort']) && !empty($searchCondition['condition']['misort'])) {
$sortCondition['needSmallSort'] = 1;
}
$urlList['sort'] = SearchData::getClassesUrl($sortCondition);
// 组合搜索折扣区间url
$urlList['discount'] = SearchData::getDiscountUrl();
$data = Yohobuy::getMulti($urlList);
// 组织模板数据
$result = HelperSearch::getList($data, $searchCondition['options'], $searchCondition['userInput']);
// 清空不使用的变量
$searchCondition = array();
$data = array();
return $result;
}
/**
* 搜索页面获取搜索数据
*
* @param $customCondition array() 搜索条件
* @param $customOptions array(
* 'reviewNum' => int (底部浏览记录显示个数)
* 'controller' => string (说明当前控制器名)
* 'action' => string (说明当前方法名)
* ) 排序条件
* @return array
*/
public static function searchData($customCondition, $customOptions)
{
$searchCondition = self::searchCondition($customCondition, $customOptions);
$urlList = array();
// 组合搜索商品url
$urlList['product'] = SearchData::getProductUrl($searchCondition['condition']);
// 组合搜索分类url
$urlList['sort'] = SearchData::getClassesUrl(array_merge($searchCondition['sortCondition'],array('needSmallSort'=>1)));
// 组合搜索店铺url
if (isset($searchCondition['condition']['query'])) {
$param['keyword'] = $searchCondition['condition']['query'];
$urlList['shop'] = SearchData::getShopUrl($param);
}
$data = Yohobuy::getMulti($urlList);
//获取品牌商品分类
if (isset($data['shop']) && !empty($data['shop'])) {
$shopSortParam['brand'] = $data['shop']['id'];
$shopSort = SearchData::getClassesData($shopSortParam);
if (isset($shopSort['code']) && $shopSort['code'] == 200) {
$data['shopSort'] = $shopSort['data']['sort'];
}
}
// 组织模板数据
$result = HelperSearch::getList($data, $searchCondition['options'], $searchCondition['userInput']);
// 清空不使用的变量
$searchCondition = array();
$data = array();
return $result;
}
/**
* 根据product_sn查询产品图片信息
*
* @param $productSkn
* @param $options array()
* @author sefon 2015-12-28 18:09:28
* @return array
*/
public static function getProductPic($productSkn, $options)
{
$condition = array();
$condition['query'] = $productSkn;
//返回搜索条件
$condition['needFilter'] = 0;
//获取产品数据
$data = SearchData::searchElasticByCondition($condition);
if (isset($data['code']) && $data['code'] === 200 && !empty($data['data']['product_list'])) {
//组织数据结构
$data = HelperSearch::getProductPic($data['data']['product_list'], $options);
}
else {
$data = array();
}
$res = array('pics' => $data);
return $res;
}
/**
* 查询搜索提示
*
* @param $query
* @return array
*/
public static function getSuggest($query)
{
$data = '';
$result = SearchData::getSuggest($query);
if (isset($result['code']) && $result['code'] == 200 && !empty($result['suggest']['items'])) {
$data = array();
$link = '';
foreach ($result['suggest']['items'] as $v) {
$link = Helpers::url('', array('query' => $v['item']), 'search');
$data[] = '<li><a style="display: block;" href="' . $link . '" class="clearfix clear search-item" title="'.$v['item'].'" act="' . $link . '"><span class="searchvalue" >'.$v['item'].'</span><span class="valuenum">约'.$v['frequency'].'个商品</span></a></li>';
}
}
return $data;
}
/**
* 获取分类的尺码
*/
public static function getSortSize($condition)
{
//当前页面的搜索条件
$old = array();
$url = explode('?', $_SERVER['HTTP_REFERER']);
if (isset($url[1])) {
$old = explode('&', $url[1]);
}
if (!empty($old)) {
foreach ($old as $val) {
$con = explode('=', $val);
if ($con[0] == 'channel' && in_array($con[1], array(1,2))) {
$condition['gender'] = urldecode($con[1]);
} else {
$condition[$con[0]] = urldecode($con[1]);
}
}
}
//分类,把销售分类转为物理分类
if (isset($condition['msort']) && !empty($condition['msort'])) {
$category = self::getRelateSort();
$condition['sort'] = $category[$condition['msort']]['sort'];
}
//返回搜索条件
$condition['needFilter'] = 1;
$condition['viewNum'] = 1;
unset($condition['msort']);
$result = SearchData::searchElasticByCondition($condition);
if (isset($result['code']) && $result['code'] == 200 && isset($result['data']['filter']) && !empty($result['data']['filter'])) {
return HelperSearch::size($result['data']['filter'], true);
}
}
/**
* @param $keyword
* @return array
*/
public static function searchError($keyword)
{
$keyword = HelperSearch::stripTags($keyword);
$keyword = HelperSearch::mbSubstr($keyword, 300);
$data = array(
//初始化js
'searchListPage' => true,
'search' => array(
'keyWord' => $keyword,
'searchActionUrl' => 'http://search.yohobuy.com',
'latestWalk' => 7,
'pathNav' => Array(
'0'=>array(
'href' => '/',
'name' => '首页'
),
'1'=>array(
'name' => '搜索“<span id="nav_keyword">'.$keyword.'</span>”共<span id="nav_keyword_count">0</span>个结果'
)
)
)
);
return $data;
}
/**
* 浏览记录(根据skn查询浏览记录商品信息)
* @param string $skn (多个skn,','号隔开)
* @return array
* @return int $limit
* @autor sefon 2016-4-18 16:06:06
*/
public static function historyProduct($skn, $limit)
{
$result = array();
$param['query'] = implode(',', $skn);
$skn = array_flip($skn);
$param['viewNum'] = $limit;
$data = SearchData::searchElasticByCondition($param);
if (!isset($data['code']) || $data['code'] != 200 || !isset($data['data']['product_list']) || empty($data['data']['product_list'])) {
return $result;
}
foreach ($data['data']['product_list'] as $key => $productVal) {
$product = array();
$backUp = array();
foreach ($productVal['goods_list'] as $goodsVal) {
if ($goodsVal['is_default'] == 'Y') {
$product['default_goods'] = $goodsVal['goods_id'];
$product['default_image'] = $goodsVal['images_url'];
break;
}
$backUp['default_goods'] = $goodsVal['goods_id'];
$backUp['default_image'] = $goodsVal['images_url'];
}
if (empty($product['default_goods'])) {
$product = $backUp;
}
$product['url'] = Helpers::getUrlBySkc($productVal['product_id'], $product['default_goods'], $productVal['cn_alphabet']);
$product['pic_url'] = Images::getImageUrl($product['default_image'], 150, 200);
$product['market_price'] = $productVal['market_price'] != $productVal['sales_price'] ? $productVal['market_price'] : '';
$product['price'] = $productVal['sales_price'];
$product['product_name'] = $productVal['product_name'];
unset($product['default_goods']);
unset($product['default_image']);
$result[$skn[$productVal['product_skn']]] = $product;
}
ksort($result);
return $result;
}
}
\ No newline at end of file
... ...