Authored by 梁志锋

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

... ... @@ -40,11 +40,11 @@ class CartData
$param['selected'] = 'Y';
$param['promotion_id'] = $promotionId;
if ($uid !== null) {
if (!empty($uid)) {
$param['uid'] = $uid;
}
if ($shoppingKey !== null) {
$param['shoppingKey'] = $shoppingKey;
$param['shopping_key'] = $shoppingKey;
}
$param['client_secret'] = Sign::getSign($param);
... ...
... ... @@ -570,6 +570,7 @@ class Helpers
$oneGoods = array();
foreach ($cartGoods as $key => $value) {
$oneGoods = array();
$oneGoods['id'] = $value['product_sku'];
$oneGoods['skn'] = $value['product_skn'];
$oneGoods['name'] = $value['product_name'];
... ...
... ... @@ -3,7 +3,7 @@
{{#if advanceBuyPage}}
{{# advanceBuy}}
<div class="advance-block" data-promotion-id="{{promotionId}}">
<p class="title">{{title}}</p>
<p class="title">{{promotionTitle}}</p>
{{#goods}}
{{> cart/gift-advance-good}}
{{/goods}}
... ...
... ... @@ -70,10 +70,17 @@
{{#if yohoCoin}}
<span class="desc">可抵¥{{yohoCoin}}</span>
{{#if useYohoCoin}}
<span class="coin-check">
<em>- ¥ {{yohoCoin}}</em>
<i class="iconfont checkbox icon-cb-checked"></i>
</span>
{{else}}
<span class="coin-check">
<em style="display: none;">- ¥ {{yohoCoin}}</em>
<i class="iconfont checkbox icon-checkbox"></i>
</span>
{{/if}}
{{^}}
<span class="not-used coin-check">
无YOHO币可用
... ...
... ... @@ -415,6 +415,7 @@ class CartModel
$oneGoods['gift'] = true;
} elseif ($single['goods_type'] == 'price_gift') {
$oneGoods['advanceBuy'] = true;
$oneGoods['price'] = Helpers::transPrice($single['sale_price']);
}
$result['goods'][] = $oneGoods;
... ... @@ -440,7 +441,8 @@ class CartModel
}
// 有货币
$result['yohoCoin'] = (isset($orderCompute['use_yoho_coin']) && !empty($orderCompute['use_yoho_coin'])) ? $orderCompute['use_yoho_coin'] : $payReturn['yoho_coin'];
$result['yohoCoin'] = $payReturn['yoho_coin'];
$result['useYohoCoin'] = isset($orderCompute['use_yoho_coin']) ? $orderCompute['use_yoho_coin'] : $payReturn['yoho_coin'];
// 订单数据
if (isset($payReturn['shopping_cart_data']) && !empty($payReturn['shopping_cart_data'])) {
... ... @@ -662,16 +664,9 @@ class CartModel
$colorNum += $one['storage_number'];
$sizeStorageStr .= $one['storage_number'] . '/';
$sizeList[$val['color_id']][] = $oneSize;
$sizeList[$val['product_skc']][] = $oneSize;
$colorStorageGroup[$one['size_name']][$val['color_name']] = $one['storage_number'];
}
// 统计尺码对应的各个颜色的库存量
foreach ($sizes as $colorId => $sizeArr) {
foreach ($sizeArr as $key => $value) {
$sizeList[$colorId][$key]['colorNumStr'] = implode('/', array_values($colorStorageGroup[ $sizeArr['name'] ]) );
}
$colorStorageGroup[$val['product_skc']][$one['size_name']] = $one['storage_number'];
}
// 颜色
... ... @@ -695,9 +690,24 @@ class CartModel
$totalStorageNum += $colorNum;
}
// 遍历所有尺码,统计出该尺码的每个颜色的库存量,没有时添0,不能空着,因为JS中需要判断
foreach ($sizeList as $skc => $sizeArr) {
foreach ($sizeArr as $key => $value) {
$sizeStorageStr = '';
foreach ($colorStorageGroup as $colorArr) {
if (isset($colorArr[ $value['name'] ])) {
$sizeStorageStr .= $colorArr[ $value['name'] ] . '/';
} else {
$sizeStorageStr .= '0/';
}
}
$sizeList[$skc][$key]['colorNumStr'] = rtrim($sizeStorageStr, '/');
}
}
// 格式化尺码对应的各个颜色分组
foreach ($colors as $color) {
$sizes[]['size'] = $sizeList[$color['id']];
$sizes[]['size'] = $sizeList[$color['skcId']];
}
$data['thumbs'] = $thumbImageList;
... ...
... ... @@ -36,7 +36,7 @@ class IndexController extends AbstractAction
public function indexAction()
{
$this->setTitle('购物车');
$this->setNavHeader('购物车');
$this->setNavHeader('购物车', true, '');
$shoppingKey = Helpers::getShoppingKeyByCookie();
$uid = $this->getUid(true);
... ... @@ -275,14 +275,20 @@ class IndexController extends AbstractAction
$this->setNavHeader('确认订单', Helpers::url('/cart/index/index'), false); // 不显示右上角home按钮
// 购物车商品为空跳转到购物车页面
$cartType = $this->get('cartType', 'ordinary');
$cartKey = 'commonCart';
if ($cartType === 'advance') {
$cartKey = 'preSellCart';
}
$shoppingKey = Helpers::getShoppingKeyByCookie();
$uid = $this->getUid(true);
$cartGoods = CartModel::getCartData($uid, $shoppingKey);
if (empty($cartGoods) || isset($cartGoods['isEmptyCart'])) {
if (isset($cartGoods['isEmptyCart']) || empty($cartGoods[$cartKey])) {
$this->go(Helpers::url('/cart/index/index'));
}
$cartType = $this->get('cartType', 'ordinary');
$cookieData = $this->getCookie('order-info', null);
$uid = $this->getUid(true);
$data = array(
... ... @@ -451,7 +457,7 @@ class IndexController extends AbstractAction
// 设置加入购物车凭证到客户端浏览器
if (!$shoppingKey && isset($result['data']['shopping_key'])) {
$this->setCookie('_spk', $result['data']['shopping_key']);
$this->setCookie('_Spk', $result['data']['shopping_key']);
}
}
... ...