/** * 返回某个订单可执行的操作列表,包括权限判断 * @param array $order 订单信息 order_status, shipping_status, pay_status * @param bool $is_cod 支付方式是否货到付款 * @return array 可执行的操作 confirm, pay, unpay, prepare, ship, unship, receive, cancel, invalid, return, drop * 格式 array('confirm' => true, 'pay' => true) */ function operable_list($order) { /* 取得订单状态、发货状态、付款状态 */ $os = $order['order_status']; $ss = $order['shipping_status']; $ps = $order['pay_status']; /* 取得订单操作权限 */ $actions = $_SESSION['action_list']; if ($actions == 'all') { $priv_list = array('os' => true, 'ss' => true, 'ps' => true, 'edit' => true); } else { $actions = ',' . $actions . ','; $priv_list = array('os' => strpos($actions, ',order_os_edit,') !== false, 'ss' => strpos($actions, ',order_ss_edit,') !== false, 'ps' => strpos($actions, ',order_ps_edit,') !== false, 'edit' => strpos($actions, ',order_edit,') !== false); } /* 取得订单支付方式是否货到付款 */ $payment = payment_info($order['pay_id']); $is_cod = $payment['is_cod'] == 1; /* 根据状态返回可执行操作 */ $list = array(); if (OS_UNCONFIRMED == $os) { /* 状态:未确认 => 未付款、未发货 */ if ($priv_list['os']) { $list['confirm'] = true; // 确认 $list['invalid'] = true; // 无效 $list['cancel'] = true; // 取消 if ($is_cod) { /* 货到付款 */ if ($priv_list['ss']) { $list['prepare'] = true; // 配货 $list['split'] = true; // 分单 } } else { /* 不是货到付款 */ if ($priv_list['ps']) { $list['pay'] = true; // 付款 } } } } elseif (OS_CONFIRMED == $os || OS_SPLITED == $os || OS_SPLITING_PART == $os) { /* 状态:已确认 */ if (PS_UNPAYED == $ps) { /* 状态:已确认、未付款 */ if (SS_UNSHIPPED == $ss || SS_PREPARING == $ss) { /* 状态:已确认、未付款、未发货(或配货中) */ if ($priv_list['os']) { $list['cancel'] = true; // 取消 $list['invalid'] = true; // 无效 } if ($is_cod) { /* 货到付款 */ if ($priv_list['ss']) { if (SS_UNSHIPPED == $ss) { $list['prepare'] = true; // 配货 } $list['split'] = true; // 分单 } } else { /* 不是货到付款 */ if ($priv_list['ps']) { $list['pay'] = true; // 付款 } } } elseif (SS_SHIPPED_ING == $ss || SS_SHIPPED_PART == $ss) { // 部分分单 if (OS_SPLITING_PART == $os) { $list['split'] = true; // 分单 } $list['to_delivery'] = true; // 去发货 } else { /* 状态:已确认、未付款、已发货或已收货 => 货到付款 */ if ($priv_list['ps']) { $list['pay'] = true; // 付款 } if ($priv_list['ss']) { if (SS_SHIPPED == $ss) { $list['receive'] = true; // 收货确认 } $list['unship'] = true; // 设为未发货 if ($priv_list['os']) { $list['return'] = true; // 退货 } } } } else { /* 状态:已确认、已付款和付款中 */ if (SS_UNSHIPPED == $ss || SS_PREPARING == $ss) { /* 状态:已确认、已付款和付款中、未发货(配货中) => 不是货到付款 */ if ($priv_list['ss']) { if (SS_UNSHIPPED == $ss) { $list['lack_goods'] = true; $list['fast_deliver'] = true; $list['prepare'] = true; // 配货 } $list['split'] = true; // 分单 } if ($priv_list['ps']) { $list['unpay'] = true; // 设为未付款 if ($priv_list['os']) { $list['cancel'] = true; // 取消 } } } elseif (SS_SHIPPED_ING == $ss || SS_SHIPPED_PART == $ss) { // 部分分单 if (OS_SPLITING_PART == $os) { $list['split'] = true; // 分单 } $list['to_delivery'] = true; // 去发货 } else { /* 状态:已确认、已付款和付款中、已发货或已收货 */ if ($priv_list['ss']) { if (SS_SHIPPED == $ss) { $list['receive'] = true; // 收货确认 } if (!$is_cod) { $list['unship'] = true; // 设为未发货 } } if ($priv_list['ps'] && $is_cod) { $list['unpay'] = true; // 设为未付款 } if ($priv_list['os'] && $priv_list['ss'] && $priv_list['ps']) { $list['return'] = true; // 退货(包括退款) } } } } elseif (OS_CANCELED == $os) { /* 状态:取消 */ if ($priv_list['os']) { $list['confirm'] = true; } if ($priv_list['edit']) { $list['remove'] = true; } } elseif (OS_INVALID == $os) { /* 状态:无效 */ if ($priv_list['os']) { $list['confirm'] = true; } if ($priv_list['edit']) { $list['remove'] = true; } } elseif (OS_RETURNED == $os) { /* 状态:退货 */ if ($priv_list['os']) { $list['confirm'] = true; } } /* 修正发货操作 */ if (!empty($list['split'])) { /* 如果是团购活动且未处理成功,不能发货 */ if ($order['extension_code'] == 'group_buy') { include_once ROOT_PATH . 'includes/lib_goods.php'; $group_buy = group_buy_info(intval($order['extension_id'])); if ($group_buy['status'] != GBS_SUCCEED) { unset($list['split']); unset($list['to_delivery']); } } /* 如果部分发货 不允许 取消 订单 */ if (order_deliveryed($order['order_id'])) { $list['return'] = true; // 退货(包括退款) unset($list['cancel']); // 取消 } } /* 售后 */ $list['after_service'] = true; return $list; }
/** * 取得某订单应该赠送的积分数 * @param array $order 订单 * @return int 积分数 */ function integral_to_give($order) { /* 判断是否团购 */ if ($order['extension_code'] == 'group_buy') { include_once ROOT_PATH . 'includes/lib_goods.php'; $group_buy = group_buy_info(intval($order['extension_id'])); return array('custom_points' => $group_buy['gift_integral'], 'rank_points' => $order['goods_amount']); } else { $sql = "SELECT SUM(og.goods_number * IF(g.give_integral > -1, g.give_integral, og.goods_price)) AS custom_points, SUM(og.goods_number * IF(g.rank_integral > -1, g.rank_integral, og.goods_price)) AS rank_points " . "FROM " . $GLOBALS['ecs']->table('order_goods') . " AS og, " . $GLOBALS['ecs']->table('goods') . " AS g " . "WHERE og.goods_id = g.goods_id " . "AND og.order_id = '{$order['order_id']}' " . "AND og.goods_id > 0 " . "AND og.parent_id = 0 " . "AND og.is_gift = 0 AND og.extension_code != 'package_buy'"; return $GLOBALS['db']->getRow($sql); } }
} /* 查询:取得参数:团购活动id */ $group_buy_id = isset($_POST['group_buy_id']) ? intval($_POST['group_buy_id']) : 0; if ($group_buy_id <= 0) { ecs_header("Location: ./\n"); exit; } /* 查询:取得数量 */ $number = isset($_POST['number']) ? intval($_POST['number']) : 1; $number = $number < 1 ? 1 : $number; /* 查询:取得团购活动信息 */ $group_buy = group_buy_info($group_buy_id, $number); if (empty($group_buy)) { ecs_header("Location: ./\n"); exit; } /* 查询:检查团购活动是否是进行中 */ if ($group_buy['status'] != GBS_UNDER_WAY) { show_message($_LANG['gb_error_status'], '', '', 'error'); } /* 查询:取得团购商品信息 */ $goods = goods_info($group_buy['goods_id']); if (empty($goods))
$smarty->assign('cod_disabled', $cod_disabled); /* 取得支付列表 */ if ($order['shipping_id'] == 0) { $cod = true; $cod_fee = 0; } else { $shipping = shipping_info($order['shipping_id']); $cod = $shipping['support_cod']; if ($cod) { /* 如果是团购,且保证金大于0,不能使用货到付款 */ if ($flow_type == CART_GROUP_BUY_GOODS) { $group_buy_id = $_SESSION['extension_id']; if ($group_buy_id <= 0) { show_message('error group_buy_id'); } $group_buy = group_buy_info($group_buy_id); if (empty($group_buy)) { show_message('group buy not exists: ' . $group_buy_id); } if ($group_buy['deposit'] > 0) { $cod = false; $cod_fee = 0; /* 赋值保证金 */ $smarty->assign('gb_deposit', $group_buy['deposit']); } } if ($cod) { $shipping_area_info = shipping_area_info($order['shipping_id'], $region); $cod_fee = $shipping_area_info['pay_fee']; } } else {
/** * 取得某页的所有团购活动 * @param int $size 每页记录数 * @param int $page 当前页 * @return array */ function group_buy_list($size, $page) { /* 取得团购活动 */ $gb_list = array(); $now = gmtime(); $sql = "SELECT b.*, IFNULL(g.goods_thumb, '') AS goods_thumb, b.act_id AS group_buy_id, " . "b.start_time AS start_date, b.end_time AS end_date " . "FROM " . $GLOBALS['ecs']->table('goods_activity') . " AS b " . "LEFT JOIN " . $GLOBALS['ecs']->table('goods') . " AS g ON b.goods_id = g.goods_id " . "WHERE b.act_type = '" . GAT_GROUP_BUY . "' " . "AND b.start_time <= '{$now}' AND b.is_finished < 3 ORDER BY b.act_id DESC"; $res = $GLOBALS['db']->selectLimit($sql, $size, ($page - 1) * $size); while ($group_buy = $GLOBALS['db']->fetchRow($res)) { $ext_info = unserialize($group_buy['ext_info']); $group_buy = array_merge($group_buy, $ext_info); /* 格式化时间 */ $group_buy['formated_start_date'] = local_date($GLOBALS['_CFG']['time_format'], $group_buy['start_date']); $group_buy['formated_end_date'] = local_date($GLOBALS['_CFG']['time_format'], $group_buy['end_date']); /* 格式化保证金 */ $group_buy['formated_deposit'] = price_format($group_buy['deposit'], false); /* 处理价格阶梯 */ $price_ladder = $group_buy['price_ladder']; if (!is_array($price_ladder) || empty($price_ladder)) { $price_ladder = array(array('amount' => 0, 'price' => 0)); } else { foreach ($price_ladder as $key => $amount_price) { $price_ladder[$key]['formated_price'] = price_format($amount_price['price']); } } $group_buy['price_ladder'] = $price_ladder; $group_buy_info = group_buy_info($group_buy['group_buy_id']); $group_buy['formated_cur_price'] = $group_buy_info['formated_cur_price']; $tg = group_buy_stat($group_buy['group_buy_id'], 0); $group_buy['num'] = $tg['total_order']; /* 处理图片 */ if (empty($group_buy['goods_thumb'])) { $group_buy['goods_thumb'] = get_image_path($group_buy['goods_id'], $group_buy['goods_thumb'], true); } /* 处理链接 */ $group_buy['url'] = build_uri('group_buy', array('gbid' => $group_buy['group_buy_id'])); /* 加入数组 */ $gb_list[] = $group_buy; } return $gb_list; }
public function checkout () { global $ecs,$db,$_CFG; /*------------------------------------------------------ */ //-- 订单确认 /*------------------------------------------------------ */ #取得购物类型 $flow_type = isset($_SESSION['flow_type']) ? intval($_SESSION['flow_type']) : CART_GENERAL_GOODS; /* #团购标志 if ($flow_type == CART_GROUP_BUY_GOODS) { $smarty->assign('is_group_buy', 1); } #积分兑换商品 elseif ($flow_type == CART_EXCHANGE_GOODS) { $smarty->assign('is_exchange_goods', 1); } else { */ #正常购物流程 清空其他购物流程情况 $_SESSION['flow_order']['extension_code'] = ''; /*}*/ /* 检查购物车中是否有商品 */ $sql = "SELECT COUNT(*) FROM " . $ecs->table('cart') ." WHERE session_id = '" . SESS_ID . "' " . "AND parent_id = 0 AND is_gift = 0 AND rec_type = '$flow_type'"; if ($db->getOne($sql) == 0) { $msg = rpcLang('flow.php', 'no_goods_in_cart'); jsonExit("{\"status\":\"$msg\"}"); } /* * 检查用户是否已经登录 * 如果用户已经登录了则检查是否有默认的收货地址 * 如果没有登录则跳转到登录和注册页面 */ if (empty($_SESSION['direct_shopping']) && $_SESSION['user_id'] == 0) { $msg = rpcLang('user.php', 'nologin'); jsonExit("{\"status\":\"$msg\"}"); } $consignee = get_consignee($_SESSION['user_id']); #检查收货人信息是否完整 if (!check_consignee_info($consignee, $flow_type)) { $msg = rpcLang('flow.php', 'user_address_not_full'); jsonExit("{\"status\":\"$msg\"}"); } //$_SESSION['flow_consignee'] = $consignee; #对商品信息赋值 $cart_goods = cart_goods($flow_type); // 取得商品列表,计算合计 /* $smarty->assign('goods_list', $cart_goods); #对是否允许修改购物车赋值 if ($flow_type != CART_GENERAL_GOODS || $_CFG['one_step_buy'] == '1') { $smarty->assign('allow_edit_cart', 0); } else { $smarty->assign('allow_edit_cart', 1); } #取得购物流程设置 $smarty->assign('config', $_CFG); */ /* * 取得订单信息 */ $order = flow_order_info(); /* 计算折扣 */ if ($flow_type != CART_EXCHANGE_GOODS && $flow_type != CART_GROUP_BUY_GOODS) { $discount = compute_discount(); } /* * 计算订单的费用 */ $total = order_fee($order, $cart_goods, $consignee); #取得配送列表 $region = array($consignee['country'], $consignee['province'], $consignee['city'], $consignee['district']); #快递方式集合 $shipping_list = available_shipping_list($region); #购物车重量 $cart_weight_price = cart_weight_price($flow_type); $insure_disabled = true; $cod_disabled = true; #查看购物车中是否全为免运费商品,若是则把运费赋为零s $sql = 'SELECT count(*) FROM ' . $ecs->table('cart') . " WHERE `session_id` = '" . SESS_ID. "' AND `extension_code` != 'package_buy' AND `is_shipping` = 0"; $shipping_count = $db->getOne($sql); foreach ($shipping_list AS $key => $val) { $shipping_cfg = unserialize_config($val['configure']); $shipping_fee = ($shipping_count == 0 AND $cart_weight_price['free_shipping'] == 1) ? 0 : shipping_fee($val['shipping_code'], unserialize($val['configure']), $cart_weight_price['weight'], $cart_weight_price['amount'], $cart_weight_price['number']); $shipping_list[$key]['format_shipping_fee'] = price_format($shipping_fee, false); $shipping_list[$key]['shipping_fee'] = $shipping_fee; $shipping_list[$key]['free_money'] = price_format($shipping_cfg['free_money'], false); $shipping_list[$key]['insure_formated'] = strpos($val['insure'], '%') === false ? price_format($val['insure'], false) : $val['insure']; #当前的配送方式是否支持保价 if ($val['shipping_id'] == $order['shipping_id']) { $insure_disabled = ($val['insure'] == 0); $cod_disabled = ($val['support_cod'] == 0); } } #取得支付列表 if ($order['shipping_id'] == 0) { $cod = true; $cod_fee = 0; } else { $shipping = shipping_info($order['shipping_id']); $cod = $shipping['support_cod']; if ($cod) { #如果是团购,且保证金大于0,不能使用货到付款 if ($flow_type == CART_GROUP_BUY_GOODS) { $group_buy_id = $_SESSION['extension_id']; if ($group_buy_id <= 0) { show_message('error group_buy_id'); } $group_buy = group_buy_info($group_buy_id); if (empty($group_buy)) { show_message('group buy not exists: ' . $group_buy_id); } if ($group_buy['deposit'] > 0) { $cod = false; $cod_fee = 0; #赋值保证金 $smarty->assign('gb_deposit', $group_buy['deposit']); } } if ($cod) { $shipping_area_info = shipping_area_info($order['shipping_id'], $region); $cod_fee = $shipping_area_info['pay_fee']; } } else { $cod_fee = 0; } } # 给货到付款的手续费加<span id>,以便改变配送的时候动态显示 $payment_list = available_payment_list(1, $cod_fee); if(isset($payment_list)) { foreach ($payment_list as $key => $payment) { if ($payment['is_cod'] == '1') { $payment_list[$key]['format_pay_fee'] = '<span id="ECS_CODFEE">' . $payment['format_pay_fee'] . '</span>'; } #如果有易宝神州行支付 如果订单金额大于300 则不显示 if ($payment['pay_code'] == 'yeepayszx' && $total['amount'] > 300) { unset($payment_list[$key]); } #如果有余额支付 if ($payment['pay_code'] == 'balance') { #如果未登录,不显示 if ($_SESSION['user_id'] == 0) { unset($payment_list[$key]); } else { if ($_SESSION['flow_order']['pay_id'] == $payment['pay_id']) { $smarty->assign('disable_surplus', 1); } } } } } $pack_list = array(); $card_list = array(); /* 取得包装与贺卡 */ if ($total['real_goods_count'] > 0) { #只有有实体商品,才要判断包装和贺卡 if (!isset($_CFG['use_package']) || $_CFG['use_package'] == '1') { #如果使用包装,取得包装列表及用户选择的包装 $pack_list = pack_list(); } #如果使用贺卡,取得贺卡列表及用户选择的贺卡 if (!isset($_CFG['use_card']) || $_CFG['use_card'] == '1') { $card_list = card_list(); } } /* $user_info = user_info($_SESSION['user_id']); #如果使用余额,取得用户余额 if ((!isset($_CFG['use_surplus']) || $_CFG['use_surplus'] == '1') && $_SESSION['user_id'] > 0 && $user_info['user_money'] > 0) { // 能使用余额 $smarty->assign('allow_use_surplus', 1); $smarty->assign('your_surplus', $user_info['user_money']); } #如果使用积分,取得用户可用积分及本订单最多可以使用的积分 if ((!isset($_CFG['use_integral']) || $_CFG['use_integral'] == '1') && $_SESSION['user_id'] > 0 && $user_info['pay_points'] > 0 && ($flow_type != CART_GROUP_BUY_GOODS && $flow_type != CART_EXCHANGE_GOODS)) { // 能使用积分 $smarty->assign('allow_use_integral', 1); $smarty->assign('order_max_integral', flow_available_points()); // 可用积分 $smarty->assign('your_integral', $user_info['pay_points']); // 用户积分 }*/ #如果使用红包,取得用户可以使用的红包及用户选择的红包 if ((!isset($_CFG['use_bonus']) || $_CFG['use_bonus'] == '1') && ($flow_type != CART_GROUP_BUY_GOODS && $flow_type != CART_EXCHANGE_GOODS)) { #取得用户可用红包 $user_bonus = zy_user_bonus($_SESSION['user_id'], $total['goods_price']); if (!empty($user_bonus)) { foreach ($user_bonus AS $key => $val) { $user_bonus[$key]['bonus_money_formated'] = price_format($val['type_money'], false); } } #能使用红包 //$smarty->assign('allow_use_bonus', 1); } /* # 如果使用缺货处理,取得缺货处理列表 if (!isset($_CFG['use_how_oos']) || $_CFG['use_how_oos'] == '1') { if (is_array($GLOBALS['_LANG']['oos']) && !empty($GLOBALS['_LANG']['oos'])) { $smarty->assign('how_oos_list', $GLOBALS['_LANG']['oos']); } }*/ #如果能开发票,取得发票内容列表 if ((!isset($_CFG['can_invoice']) || $_CFG['can_invoice'] == '1') && isset($_CFG['invoice_content']) && trim($_CFG['invoice_content']) != '' && $flow_type != CART_EXCHANGE_GOODS) { $inv_content_list = explode("\n", str_replace("\r", '', $_CFG['invoice_content'])); $inv_type_list = array(); foreach ($_CFG['invoice_type']['type'] as $key => $type) { if (!empty($type)) { $inv_type_list[$type] = $type . ' [' . floatval($_CFG['invoice_type']['rate'][$key]) . '%]'; } } $inv_content_list = implode(",", $inv_content_list); $inv_list = array ('inv_content_list'=>$inv_content_list,'inv_type_list'=>$inv_type_list); } #保存session $_SESSION['flow_order'] = $order; /* $pay_code = rpcLang('flow.php', 'pay_code_name'); foreach ($payment_list as $value) { foreach ($value as $k=>$v){ if (strpos($v, $pay_code) !== false) { $payment_list = $value; $payment_list = preg_replace('/<.*?>|\[.*?\]/', '', $payment_list); $payment_list = array($payment_list); } } }*/ $checkout_order = array('cart_goods'=>$cart_goods, 'total'=>$total, 'pack_list'=>$pack_list, 'card_list'=>$card_list, 'shipping_list'=>$shipping_list, 'payment_list'=>$payment_list, 'inv_list'=>$inv_list, 'consignee'=>$consignee,); if (!empty($user_bonus)) { $checkout_order ['user_bonus'] = $user_bonus; } // print_r($checkout_order);die; jsonExit($checkout_order); }
if (!empty($_REQUEST['goods_id']) && empty($_POST['goods'])) { if (!is_numeric($_REQUEST['goods_id']) || intval($_REQUEST['goods_id']) <= 0) { ecs_header("Location:./\n"); } $goods_id = intval($_REQUEST['goods_id']); exit; } $result = array('error' => 0, 'message' => '', 'content' => '', 'goods_id' => ''); $json = new JSON(); if (empty($_POST['goods'])) { $result['error'] = 1; die($json->encode($result)); } $goods = $json->decode($_POST['goods']); /* 查询:取得团购活动信息 */ $group_buy = group_buy_info($goods->goods_id, $goods->number); if (empty($group_buy)) { ecs_header("Location: ./\n"); exit; } /* 查询:检查团购活动是否是进行中 */ if ($group_buy['status'] != GBS_UNDER_WAY) { $result['error'] = 10; //该活动已结束 $result['goods_id'] = $goods->goods_id; $result['parent'] = $goods->parent; $result['message'] = $spe_array; die($json->encode($result)); } /* 查询:取得团购商品信息 */ $goods = goods_info($group_buy['goods_id']);
/** * 取得某订单应该赠送的积分数 * @param array $order 订单 * @return int 积分数 */ function integral_to_give2($order) { /* 判断是否团购 */ if ($order['extension_code'] == 'group_buy') { include_once ROOT_PATH . 'includes/lib_goods.php'; $group_buy = group_buy_info(intval($order['extension_id'])); return array('custom_points' => $group_buy['gift_integral'], 'rank_points' => $order['goods_amount']); } else { $sql1 = "SELECT SUM(og.goods_number * IF(g.give_integral < 0, og.goods_price*(g.give_integral/10)*(-1), g.give_integral)) AS custom_points, SUM(og.goods_number * og.goods_price) AS rank_points " . "FROM " . $GLOBALS['ecs']->table('order_goods') . " AS og, " . $GLOBALS['ecs']->table('goods') . " AS g " . "WHERE og.goods_id = g.goods_id " . "AND og.order_id = '{$order['order_id']}' " . "AND og.goods_id > 0 " . "AND og.parent_id = 0 " . "AND og.is_integral = 0 " . "AND og.is_gift = 0"; /*$sql = "SELECT SUM(og.goods_number * IF(g.give_integral > -1, g.give_integral, og.goods_price)) AS custom_points, SUM(og.goods_number * og.goods_price) AS rank_points " . "FROM " . $GLOBALS['ecs']->table('order_goods') . " AS og, " . $GLOBALS['ecs']->table('goods') . " AS g " . "WHERE og.goods_id = g.goods_id " . "AND og.order_id = '$order[order_id]' " . "AND og.goods_id > 0 " . "AND og.parent_id = 0 " . "AND og.is_gift = 0"; */ $res1 = $GLOBALS['db']->getRow($sql1); //print_r($res1); $sql2 = "SELECT SUM(og.goods_number * g.integral) AS custom_points, SUM(og.goods_number * og.goods_price) AS rank_points " . "FROM " . $GLOBALS['ecs']->table('order_goods') . " AS og, " . $GLOBALS['ecs']->table('goods') . " AS g " . "WHERE og.goods_id = g.goods_id " . "AND og.order_id = '{$order['order_id']}' " . "AND og.goods_id > 0 " . "AND og.parent_id = 0 " . "AND og.is_integral = 1 " . "AND g.cat_id <> 4 " . "AND og.is_gift = 0"; $res2 = $GLOBALS['db']->getRow($sql2); //print_r($res2); $sql3 = "SELECT SUM(og.goods_number * og.goods_price) AS custom_points, SUM(og.goods_number * og.goods_price) AS rank_points " . "FROM " . $GLOBALS['ecs']->table('order_goods') . " AS og, " . $GLOBALS['ecs']->table('goods') . " AS g " . "WHERE og.goods_id = g.goods_id " . "AND og.order_id = '{$order['order_id']}' " . "AND og.goods_id > 0 " . "AND og.parent_id = 0 " . "AND og.is_integral = 1 " . "AND g.cat_id = 4 " . "AND og.is_gift = 0"; $res3 = $GLOBALS['db']->getRow($sql3); //print_r($res3); if ($order['discount'] == 0) { $res['custom_points'] = $res1['custom_points'] + $order['shipping_fee'] / 10 + $order['pay_fee'] / 10 - $res2['custom_points'] - $res3['custom_points']; $res['rank_points'] = $res1['rank_points'] + $res2['rank_points'] + $res3['rank_points']; } else { $res['custom_points'] = $res1['custom_points'] * 0.95 + $order['shipping_fee'] / 10 + $order['pay_fee'] / 10 - $res2['custom_points'] - $res3['custom_points']; $res['rank_points'] = $res1['rank_points'] + $res2['rank_points'] + $res3['rank_points']; } return $res; } }
$result['one_step_buy'] = $_CFG['one_step_buy']; } else { $result['message'] = $err->last_message(); $result['error'] = $err->error_no; $result['package_id'] = stripslashes($package->package_id); } } $result['confirm_type'] = !empty($_CFG['cart_confirm']) ? $_CFG['cart_confirm'] : 2; die($json->encode($result)); } elseif ($_REQUEST['step'] == 'update_group_cart') { include_once 'includes/cls_json.php'; $json = new JSON(); $result = array('error' => ", 'content' => "); $rec_id = $_GET['rec_id']; $number = $_GET['number']; $group_buy = group_buy_info($_SESSION['extension_id'], $number); if (!is_numeric($number)) { $result['error'] = '1'; $result['content'] = '请输入合法数量'; die($json->encode($result)); } if ($group_buy['restrict_amount'] > 0 && $number > $group_buy['restrict_amount'] - $group_buy['valid_goods']) { $result['error'] = '1'; $restrict_amount = $group_buy['restrict_amount'] - $group_buy['valid_goods']; $result['content'] = '您最多可买' . $restrict_amount . '件'; die($json->encode($result)); } $sql = "UPDATE " . $GLOBALS['ecs']->table('cart') . " SET goods_number = '{$number}' WHERE rec_id = {$rec_id}"; $GLOBALS['db']->query($sql); $subtotal = $GLOBALS['db']->getONE("select goods_price * goods_number AS subtotal from " . $GLOBALS['ecs']->table('cart') . " where rec_id = {$rec_id}"); $cart_amount = cart_amount($_SESSION['flow_type']);