Authored by 梁志锋

Merge branch 'beta/wap' of http://git.dev.yoho.cn/web/yohobuy into beta/wap

... ... @@ -24,11 +24,11 @@ class Yohobuy
// const YOHOBUY_URL = 'http://www.yohobuy.com/';
//java API
/**const API_URL = 'http://apih5.yoho.cn/';
const API_URL2 = 'http://apih5.yoho.cn/';
const SERVICE_URL = 'http://serviceh5.yoho.cn/';
const YOHOBUY_URL = 'http://www.yohobuy.com/';
const API_OLD = 'http://api2.open.yohobuy.com/';**/
// const API_URL = 'http://apih5.yoho.cn/';
// const API_URL2 = 'http://apih5.yoho.cn/';
// const SERVICE_URL = 'http://serviceh5.yoho.cn/';
// const YOHOBUY_URL = 'http://www.yohobuy.com/';
// const API_OLD = 'http://api2.open.yohobuy.com/';
/* 测试环境 */
const API_URL = 'http://testapi.yoho.cn:28078/'; // 'http://192.168.102.205:8080/gateway/'
... ...
... ... @@ -75,7 +75,7 @@ class Cache
// 当接口异常,一级缓存没取到数据的情况
if ($node === 'slave') {
$incrementKey = self::makeKey('_increment_' . $key, 'slave');
$incrementValue = HoodCache::Memcached('slave')->get($incrementKey, 'slave');
$incrementValue = HoodCache::Memcached('slave')->get($incrementKey);
// 接口调用失败累计5次之后,回填二级缓存数据到一级缓存, 重置计数值为0
if (is_int($incrementValue) && $incrementValue > 5) {
HoodCache::Memcached('master')->set(self::makeKey($key, 'master'), $result, 300);
... ...
... ... @@ -18,7 +18,7 @@ server
#cc: e0323a9039add2978bf5b49550572c7c oo:e47ca7a09cf6781e29634502345930a7
#acecl:7ea6bdf07376a928c5d4677789c45463 opqcl:352f028bd6ecf28de1c285c573642659
default_type application/json;
return 200 '{"code":200,"message":"Config Success","md5":"1231231231231","data":{"ae":"e0323a9039add2978bf5b49550572c7c","url":"http://m.yohobuy.com","tl":"352f028bd6ecf28de1c285c573642659"}}';
return 200 '{"code":200,"message":"Config Success","md5":"e0323a9039add2978bf5b49550572cff","data":{"ae":"e0323a9039add2978bf5b49550572c7c","url":"http://m.yohobuy.com","tl":"352f028bd6ecf28de1c285c573642659"}}';
}
# hotfix
location = /hf/v1 {
... ...
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
... ... @@ -79,8 +79,8 @@ function loadData($parent, url, page) {
page: page
},
success: function(data) {
var $loadingMask = $parent.closest('.fav-type').find('.fav-content-loading');
var $loadingMask = $parent.closest('.fav-type').find('.fav-content-loading');
if (url === 'favBrand') {
$brandLoadMore.addClass('hide');
} else {
... ... @@ -91,23 +91,23 @@ function loadData($parent, url, page) {
$loadingMask.addClass('hide');
$parent.closest('.fav-type').find('.fav-null-box').removeClass('hide');
} else if (data === 'end') {
//处理data等于end时如果loadingMask存在且没有hide样式的情况
if ($loadingMask && !$loadingMask.hasClass('hide')) {
//处理data等于end时如果loadingMask存在且没有hide样式的情况
if ($loadingMask && !$loadingMask.hasClass('hide')) {
$loadingMask.addClass('hide');
$parent.closest('.fav-type').find('.fav-null-box').removeClass('hide');
}
//$parent.closest('.fav-type').find('.fav-null-box').removeClass('hide');
}
$parent.closest('.fav-type').find('.fav-load-background')
.removeClass('fav-load-background').html('没有更多了');
.removeClass('fav-load-background').html('没有更多了');
// hf: fixes bug to 修改没有数据还调接口,加载错误页面问题
brandLockId = true;
lockId = true;
} else if (data.length > 10) {
$parent.append(data);
//如果有数据loadingMask会被remove掉
//如果有数据loadingMask会被remove掉
$loadingMask.remove();
if (url === 'favBrand') {
initSwiper(data);//如果是收藏品牌需要初始化swiper
... ...
... ... @@ -113,6 +113,11 @@ class SearchController extends AbstractAction
$classNames = Category\ClassModel::getClassNames();
do {
// 品类名称为空时跳出
if (empty($classNames)) {
break;
}
/* 精确查一级品类 */
$sorts = array_keys($classNames['first'], $query, true);
if (isset($sorts[0])) {
... ...
... ... @@ -188,31 +188,48 @@ class UserModel
$favProduct = UserData::favoriteProductData($uid, $page, $limit);
// 处理用户收藏的商品数据
if (isset($favProduct['data']) && $page <= $favProduct['data']['page_total']) {
$datas = array();
$product = array();
foreach ($favProduct['data']['product_list'] as $val) {
if (empty($val['product_skn'])) {
continue;
}
do {
// 开始就没获取到数据或者获取的数据为空时的处理
if ((!$favProduct || isset($favProduct['data']['product_list']) && empty($favProduct['data']['product_list'])) && $page == 1) {
break;
}
// 加载第二页以及第二页之后的数据时接口不返回时的处理
if ($page > 1 && !$favProduct) {
$result['end'] = true;
break;
}
if ($page <= $favProduct['data']['page_total']) {
$datas = array();
$product = array();
$product['fav_id'] = $val['product_id'];
$product['link'] = isset($val['goodsId'], $val['cnAlphabet']) ? Helpers::url('/product/pro_' . $val['product_id'] . '_' . $val['goodsId'] . '/' . $val['cnAlphabet'] . '.html') : '';
$product['imgUrl'] = !empty($val['image']) ? Helpers::getImageUrl($val['image'], 447, 596) : '';
;
$product['title'] = $val['product_name'];
$product['price'] = '¥' . Helpers::transPrice($val['market_price']);
$product['discountPrice'] = ($val['market_price'] - $val['sales_price'] > 0) ? '¥' . Helpers::transPrice($val['sales_price']) : false;
$product['savePrice'] = ($val['price_down'] > 0) ? '¥' . Helpers::transPrice($val['price_down']) : false;
$product['sellOut'] = ($val['storage'] <= 0);
$datas[] = $product;
}
!empty($datas) && $result['hasFavProduct'] = $datas;
} else if (($page > 1 && !$favProduct) || $page > $favProduct['data']['page_total']) {
$result['end'] = true;
}
foreach ($favProduct['data']['product_list'] as $val) {
if (empty($val['product_skn'])) {
continue;
}
$product = array();
$product['fav_id'] = $val['product_id'];
$product['link'] = isset($val['goodsId'], $val['cnAlphabet']) ? Helpers::url('/product/pro_' . $val['product_id'] . '_' . $val['goodsId'] . '/' . $val['cnAlphabet'] . '.html') : '';
$product['imgUrl'] = !empty($val['image']) ? Helpers::getImageUrl($val['image'], 447, 596) : '';
;
$product['title'] = $val['product_name'];
$product['price'] = '¥' . Helpers::transPrice($val['market_price']);
$product['discountPrice'] = ($val['market_price'] - $val['sales_price'] > 0) ? '¥' . Helpers::transPrice($val['sales_price']) : false;
$product['savePrice'] = ($val['price_down'] > 0) ? '¥' . Helpers::transPrice($val['price_down']) : false;
$product['sellOut'] = ($val['storage'] <= 0);
$datas[] = $product;
}
if (!empty($datas)) {
$result['hasFavProduct'] = $datas;
}
} else {
$result['end'] = true;
}
} while (false);
return $result;
}
... ... @@ -234,40 +251,56 @@ class UserModel
$favBrand = UserData::favoriteBrandData($uid, $gender, $page, $limit);
// 处理用户收藏的品牌数据
if (isset($favBrand['data']) && $page <= $favBrand['data']['page_total']) {
$datas = array();
$brand = array();
foreach ($favBrand['data']['brand_list'] as $val) {
$brand = array();
$brand['id'] = $val['brand_id'];
$brand['brandImg'] = !empty($val['brand_ico']) ? Images::getImageUrl($val['brand_ico'], 47, 47) : '';
$brand['brandName'] = $val['brand_name'];
$brand['update'] = $val['new_product_num'];
$brand['discount'] = $val['product_discount_num'];
$brand['link'] = Helpers::url('', array(), $val['brand_domain']);
// 处理品牌产品
$product = array();
foreach ($val['new_product'] as $one) {
if (empty($one['product_skn'])) {
continue;
}
do {
// 开始就没获取到数据或者获取的数据为空时的处理
if ((!$favBrand || isset($favBrand['data']['total']) && empty($favBrand['data']['total'])) && $page == 1) {
break;
}
// 加载第二页以及第二页之后的数据时接口不返回时的处理
if ($page > 1 && !$favBrand) {
$result['end'] = true;
break;
}
if ($page <= $favBrand['data']['page_total']) {
$datas = array();
$brand = array();
foreach ($favBrand['data']['brand_list'] as $val) {
$brand = array();
$brand['id'] = $val['brand_id'];
$brand['brandImg'] = !empty($val['brand_ico']) ? Images::getImageUrl($val['brand_ico'], 47, 47) : '';
$brand['brandName'] = $val['brand_name'];
$brand['update'] = $val['new_product_num'];
$brand['discount'] = $val['product_discount_num'];
$brand['link'] = Helpers::url('', array(), $val['brand_domain']);
// 处理品牌产品
$product = array();
$product['link'] = isset($one['goods'][0], $one['cnAlphabet']) ? Helpers::url('/product/pro_' . $one['product_id'] . '_' . $one['goods'][0]['id'] . '/' . $one['cnAlphabet'] . '.html') : '';
$product['imgUrl'] = (isset($one['default_images']) && !empty($one['default_images'])) ? Images::getImageUrl($one['default_images'], 235, 314) : '';
$product['price'] = '¥' . Helpers::transPrice($one['market_price']);
$product['discount'] = ($one['market_price'] > $one['sales_price']) ? '¥' . Helpers::transPrice($one['sales_price']) : false;
foreach ($val['new_product'] as $one) {
if (empty($one['product_skn'])) {
continue;
}
$product = array();
$product['link'] = isset($one['goods'][0], $one['cnAlphabet']) ? Helpers::url('/product/pro_' . $one['product_id'] . '_' . $one['goods'][0]['id'] . '/' . $one['cnAlphabet'] . '.html') : '';
$product['imgUrl'] = (isset($one['default_images']) && !empty($one['default_images'])) ? Images::getImageUrl($one['default_images'], 235, 314) : '';
$product['price'] = '¥' . Helpers::transPrice($one['market_price']);
$product['discount'] = ($one['market_price'] > $one['sales_price']) ? '¥' . Helpers::transPrice($one['sales_price']) : false;
$brand['productList'][] = $product;
}
$brand['productList'][] = $product;
$datas[] = $brand;
}
$datas[] = $brand;
if (!empty($datas)) {
$result['hasFavBrand'] = $datas;
}
} else {
$result['end'] = true;
}
!empty($datas) && $result['hasFavBrand'] = $datas;
} else if (($page > 1 && !$favBrand) || $page > $favBrand['data']['page_total']) {
$result['end'] = true;
}
} while (false);
return $result;
}
... ... @@ -331,7 +364,7 @@ class UserModel
$record = array();
$record['product_name'] = $val['product_name'];
$record['product_id'] = $val['product_id'];
$record['product_skn'] = $val['product_skn'];
$record['link'] = Helpers::url('/product/show_' . $val['product_skn'] . '.html');
$record['image'] = !empty($val['image']) ? Helpers::getImageUrl($val['image'], 447, 596) : '';
$record['sales_price'] = Helpers::transPrice($val['sales_price']);
... ...