/** *生成订单 */ 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']); }
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'); }
/** * 生成订单 * */ 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']); }
/** * 生成订单 * */ 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']); }
/** * 创建促销活动延期订单 * @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']); }
/** * 品牌申请自动生成定单 * @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; } }
/** * 购物车更新商品数量 */ 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)); }