Beispiel #1
0
 /**
  * 往购物车里面增加一个商品
  *
  * @param int    $goodsId    商品ID
  * @param int    $buyCount   购买数量
  * @param string $specStr    商品组合列表 比如 "白色,ML码,男款",用逗号分隔
  * @param string $goodsSn    商品的 sn 号
  */
 public function addGoods($goodsId, $buyCount, $specStr = null, $goodsSn = null)
 {
     // 先删除旧的记录
     $this->removeGoods($goodsId, $specStr);
     // 添加商品
     $orderGoods = new OrderGoods();
     $orderGoods->setValue('goods_id', $goodsId);
     $orderGoods->setValue('goods_number', $buyCount);
     $orderGoods->setValue('goods_attr', $specStr);
     if (!empty($goodsSn)) {
         $orderGoods->setValue('goods_sn', $goodsSn);
     }
     $this->orderGoodsArray[] = $orderGoods;
     // 对商品做排序
     $orderIdMapArray = array();
     foreach ($this->orderGoodsArray as $orderGoodsItem) {
         if (!isset($orderIdMapArray[$orderGoodsItem->getValue('goods_id')])) {
             $orderIdMapArray[$orderGoodsItem->getValue('goods_id')] = array();
         }
         $orderIdMapArray[$orderGoodsItem->getValue('goods_id')][] = $orderGoodsItem;
     }
     $this->orderGoodsArray = array();
     foreach ($orderIdMapArray as $array) {
         $this->orderGoodsArray = array_merge($this->orderGoodsArray, $array);
     }
     unset($orderIdMapArray);
 }