예제 #1
0
 /**
  *生成订单
  */
 public function groupbuy_quota_create_orderOp()
 {
     $logic_buy = uk86_logic('buy_promotion');
     $result = $logic_buy->createPromotionVrOrder($_POST, '1', $_SESSION['member_id'], $_SESSION['member_name'], $_SESSION['member_email']);
     //转向到商城支付页面
     uk86_redirect('index.php?act=store_groupbuy&op=groupbuy_quota_add_pay&order_id=' . $result['data']['order_id']);
 }
예제 #2
0
 public function indexOp()
 {
     $model_cart = Model('cart');
     $logic_buy_1 = uk86_logic('buy_1');
     //购物车列表
     $cart_list = $model_cart->listCart('db', array('buyer_id' => $_SESSION['member_id']));
     //购物车列表 [得到最新商品属性及促销信息]
     $cart_list = $logic_buy_1->getGoodsCartList($cart_list);
     //购物车商品以店铺ID分组显示,并计算商品小计,店铺小计与总价由JS计算得出
     $store_cart_list = array();
     foreach ($cart_list as $cart) {
         $cart['goods_total'] = uk86_ncPriceFormat($cart['goods_price'] * $cart['goods_num']);
         $store_cart_list[$cart['store_id']][] = $cart;
     }
     Tpl::output('store_cart_list', $store_cart_list);
     //店铺信息
     $store_list = Model('store')->getStoreMemberIDList(array_keys($store_cart_list));
     Tpl::output('store_list', $store_list);
     //取得店铺级活动 - 可用的满即送活动
     $mansong_rule_list = $logic_buy_1->getMansongRuleList(array_keys($store_cart_list));
     Tpl::output('mansong_rule_list', $mansong_rule_list);
     //取得哪些店铺有满免运费活动
     $free_freight_list = $logic_buy_1->getFreeFreightActiveList(array_keys($store_cart_list));
     Tpl::output('free_freight_list', $free_freight_list);
     Tpl::showpage('cart.index');
 }
예제 #3
0
파일: buy.php 프로젝트: wangjiang988/ukshop
 /**
  * 生成订单
  *
  */
 public function buy_step2Op()
 {
     $logic_buy = uk86_logic('buy');
     $result = $logic_buy->buyStep2($_POST, $_SESSION['member_id'], $_SESSION['member_name'], $_SESSION['member_email']);
     if (!$result['state']) {
         uk86_showMessage($result['msg'], 'index.php?act=cart', 'html', 'error');
     }
     //转向到商城支付页面
     uk86_redirect('index.php?act=buy&op=pay&pay_sn=' . $result['data']['pay_sn']);
 }
예제 #4
0
 /**
  * 生成订单
  *
  */
 public function buy_step2Op()
 {
     $logic_buy = uk86_logic('buy');
     $_POST['order_from'] = 2;
     $result = $logic_buy->buyStep2($_POST, $_SESSION['member_id'], $_SESSION['member_name'], $_SESSION['member_email']);
     if (!$result['state']) {
         $this->wap_showDialog($result['msg'], 'error', $_POST['ref_url']);
     }
     //转向到商城支付页面
     uk86_redirect('index.php?act=wap_buy&op=pay&pay_sn=' . $result['data']['pay_sn']);
 }
예제 #5
0
 /**
  * 创建促销活动延期订单
  * @author wangjiang
  */
 public function quota_create_orderOp()
 {
     $logic_buy = uk86_logic('buy_promotion');
     //		  `goods_type` int(4) NOT NULL DEFAULT '1' COMMENT '1抢购2.限时,3满送,4优惠套餐,5推荐站位,6卡卷包',
     $result = $logic_buy->createPromotionVrOrder($_POST, $_GET['type'], $_SESSION['member_id'], $_SESSION['member_name'], $_SESSION['member_email']);
     //转向到商城支付页面
     $_SESSION['out_act_' . $result['data']['order_id']] = $_GET['act'];
     uk86_redirect('index.php?act=' . $_GET['act'] . '&op=quota_add_pay&order_id=' . $result['data']['order_id']);
 }
예제 #6
0
 /**
  * 品牌申请自动生成定单
  * @author wangjiang 
  */
 private function generateNopayPmOrder($brand)
 {
     $logic_buy = uk86_logic('buy_promotion');
     $post['quantity'] = 1;
     //购买数量
     $post['buyer_msg'] = '系统生成订单';
     $post['price'] = C('default_brand_price') * $post['quantity'];
     $post['unit_price'] = C('default_brand_price');
     //第二个参数设置为7 表示品牌申请订单
     $order_info = $logic_buy->createPromotionVrOrder($post, '7', $_SESSION['member_id'], 'info');
     //没有生成成功 返回NULL
     if (empty($order_info)) {
         return NULL;
     }
     //生成订单后,与品牌绑定
     $model_brand = Model('brand');
     $update['order_id'] = $order_info['order_id'];
     $update['order_sn'] = $order_info['order_sn'];
     $r = $model_brand->editBrand(array('brand_id' => $brand['brand_id']), $update);
     if ($r) {
         //生成订单后  要将本次act存入session,支付后可跳转回来。
         return $order_info;
     } else {
         //没有修改成功,删除刚才生成的订单
         Model('pm_order')->delOrder($order_info['order_id']);
         return NULL;
     }
 }
예제 #7
0
 /**
  * 购物车更新商品数量
  */
 public function updateOp()
 {
     $cart_id = intval(abs($_GET['cart_id']));
     $quantity = intval(abs($_GET['quantity']));
     if (empty($cart_id) || empty($quantity)) {
         exit(json_encode(array('msg' => Uk86Language::uk86_get('cart_update_buy_fail', 'UTF-8'))));
     }
     $model_cart = Model('cart');
     $model_goods = Model('goods');
     $logic_buy_1 = uk86_logic('buy_1');
     //存放返回信息
     $return = array();
     $cart_info = $model_cart->getCartInfo(array('cart_id' => $cart_id, 'buyer_id' => $_SESSION['member_id']));
     if ($cart_info['bl_id'] == '0') {
         //普通商品
         $goods_id = intval($cart_info['goods_id']);
         $goods_info = $logic_buy_1->getGoodsOnlineInfo($goods_id, $quantity);
         if (empty($goods_info)) {
             $return['state'] = 'invalid';
             $return['msg'] = '商品已被下架';
             $return['subtotal'] = 0;
             Uk86QueueClient::push('delCart', array('buyer_id' => $_SESSION['member_id'], 'cart_ids' => array($cart_id)));
             exit(json_encode($return));
         }
         //抢购
         $logic_buy_1->getGroupbuyInfo($goods_info);
         //限时折扣
         $logic_buy_1->getXianshiInfo($goods_info, $quantity);
         $quantity = $goods_info['goods_num'];
         if (intval($goods_info['goods_storage']) < $quantity) {
             $return['state'] = 'shortage';
             $return['msg'] = '库存不足';
             $return['goods_num'] = $goods_info['goods_num'];
             $return['goods_price'] = $goods_info['goods_price'];
             $return['subtotal'] = $goods_info['goods_price'] * $quantity;
             $model_cart->editCart(array('goods_num' => $goods_info['goods_storage']), array('cart_id' => $cart_id, 'buyer_id' => $_SESSION['member_id']));
             exit(json_encode($return));
         }
     } else {
         //优惠套装商品
         $model_bl = Model('p_bundling');
         $bl_goods_list = $model_bl->getBundlingGoodsList(array('bl_id' => $cart_info['bl_id']));
         $goods_id_array = array();
         foreach ($bl_goods_list as $goods) {
             $goods_id_array[] = $goods['goods_id'];
         }
         $goods_list = $model_goods->getGoodsOnlineListAndPromotionByIdArray($goods_id_array);
         //如果其中有商品下架,删除
         if (count($goods_list) != count($goods_id_array)) {
             $return['state'] = 'invalid';
             $return['msg'] = '该优惠套装已经无效,建议您购买单个商品';
             $return['subtotal'] = 0;
             Uk86QueueClient::push('delCart', array('buyer_id' => $_SESSION['member_id'], 'cart_ids' => array($cart_id)));
             exit(json_encode($return));
         }
         //如果有商品库存不足,更新购买数量到目前最大库存
         foreach ($goods_list as $goods_info) {
             if ($quantity > $goods_info['goods_storage']) {
                 $return['state'] = 'shortage';
                 $return['msg'] = '该优惠套装部分商品库存不足,建议您降低购买数量或购买库存足够的单个商品';
                 $return['goods_num'] = $goods_info['goods_storage'];
                 $return['goods_price'] = $cart_info['goods_price'];
                 $return['subtotal'] = $cart_info['goods_price'] * $quantity;
                 $model_cart->editCart(array('goods_num' => $goods_info['goods_storage']), array('cart_id' => $cart_id, 'buyer_id' => $_SESSION['member_id']));
                 exit(json_encode($return));
                 break;
             }
         }
         $goods_info['goods_price'] = $cart_info['goods_price'];
     }
     $data = array();
     $data['goods_num'] = $quantity;
     $data['goods_price'] = $goods_info['goods_price'];
     $update = $model_cart->editCart($data, array('cart_id' => $cart_id, 'buyer_id' => $_SESSION['member_id']));
     if ($update) {
         $return = array();
         $return['state'] = 'true';
         $return['subtotal'] = $goods_info['goods_price'] * $quantity;
         $return['goods_price'] = $goods_info['goods_price'];
         $return['goods_num'] = $quantity;
     } else {
         $return = array('msg' => Uk86Language::uk86_get('cart_update_buy_fail', 'UTF-8'));
     }
     exit(json_encode($return));
 }