Example #1
0
/**
 *  获取用户指定范围的订单列表  chen-0915
 *
 * @access  public
 * @param   int         $user_id        用户ID号
 * @param   int         $num            列表最大数量
 * @param   int         $start          列表起始位置
 * @param   string      $where          不同定单的判断条件
 * @param   int         $comment        完成的订单,是否评论的标记。1:已评价,2:待评价
 * @param   int         $all            
 * @return  array       $order_list     订单列表
 */
function get_all_orders($user_id, $num = 10, $start = 0, $where = '', $comment = 0, $all = 0)
{
    include_once ROOT_PATH . 'includes/lib_sundries.php';
    /* 取得订单列表 */
    $arr = array();
    $sql = "SELECT order_id, order_sn, discount, order_status, shipping_status, pay_status,shipping_fee, add_time, integral, tax, " . "(goods_amount + shipping_fee + insure_fee + pay_fee + pack_fee + card_fee + tax - discount) AS total_fee " . " FROM " . $GLOBALS['ecs']->table('order_info') . " WHERE user_id = '{$user_id}' " . $where . " ORDER BY add_time DESC";
    switch ($all) {
        case 0:
            $res = $GLOBALS['db']->SelectLimit($sql, $num, $start);
            break;
        case 1:
            $res = $GLOBALS['db']->SelectLimit($sql, 1000, 0);
            break;
    }
    while ($row = $GLOBALS['db']->fetchRow($res)) {
        $goods_sql = "select goods_id,goods_name,goods_attr,goods_number,send_number,goods_price,packageBuyId,packageBuyDiscount from " . $GLOBALS['ecs']->table('order_goods') . " where order_id = " . $row['order_id'] . " order by packageBuyId asc";
        $goods_res = $GLOBALS['db']->getAll($goods_sql);
        $row['goods_id_list'] = '';
        $row['goods_name_list'] = '';
        $row['packageBuyDiscountMoney'] = 0.0;
        $row['goods_number'] = 0;
        for ($i = 0; $i < count($goods_res); $i++) {
            if ($i == 0) {
                $row['goods_id_list'] = $goods_res[$i]['goods_id'];
                $row['goods_name_list'] = $goods_res[$i]['goods_name'];
            } else {
                $row['goods_id_list'] .= ',' . $goods_res[$i]['goods_id'];
                $row['goods_name_list'] .= ',' . $goods_res[$i]['goods_name'];
            }
            $thumb_sql = "select goods_thumb from " . $GLOBALS['ecs']->table('goods') . " where goods_id = " . $goods_res[$i]['goods_id'];
            $thumb = $GLOBALS['db']->getAll($thumb_sql);
            $goods_res[$i]['url'] = build_uri('goods', array('gid' => $goods_res[$i]['goods_id']), $goods_res[$i]['goods_name']);
            $goods_res[$i]['goods_thumb'] = $thumb[0]['goods_thumb'];
            $goods_res[$i]['packageBuy_id'] = $goods_res[$i]['packageBuyId'];
            unset($goods_res[$i]['packageBuyId']);
            calcPackageBuyVal($i, $goods_res);
            //$goods_res[$i]['packageBuy'] =
            $goods_res[$i]['packageBuyDiscount'] = strval($goods_res[$i]['packageBuyDiscount']);
            if ($goods_res[$i]['packageBuy_id'] != 0) {
                $row['packageBuyDiscountMoney'] += floatval($goods_res[$i]['goods_price']) * $goods_res[$i]['goods_number'];
            }
            $row['goods_number'] += $goods_res[$i]['goods_number'];
        }
        $row['packageBuyDiscountMoney'] *= 1.0 - floatval($goods_res[0]['packageBuyDiscount']);
        $row['goods'] = $goods_res;
        $row['shipping_status'] = $row['shipping_status'] == SS_SHIPPED_ING ? SS_PREPARING : $row['shipping_status'];
        $row['status'] = getOrderStatus($row['order_status'], $row['shipping_status'], $row['pay_status'], $comment, $row['order_id']);
        if ($row['status'] == '-1') {
            continue;
        }
        //$tmp = $row['order_status'];
        $row['order_status'] = $GLOBALS['_LANG']['os'][$row['order_status']] . ',' . $GLOBALS['_LANG']['ps'][$row['pay_status']] . ',' . $GLOBALS['_LANG']['ss'][$row['shipping_status']];
        /*	   
        if($row['order_status'] == '已确认,已付款,配货中'	)
        {
          echo $tmp."  ".$row['shipping_status']."   ".$row['pay_status']."<br/>";
           echo $row['status']."<br/>";
        }
        */
        $row['one_goods_name'] = getOrderOneGoodName($row['goods_name_list']);
        $row['one_goods_id'] = getOrderOneGoodId($row['goods_id_list']);
        $row['packageBuyDiscountRate'] = intval($goods_res[0]['packageBuyDiscount'] * 10);
        $arr[] = array('order_id' => $row['order_id'], 'integral' => $row['integral'], 'packageBuyDiscountRate' => $row['packageBuyDiscountRate'], 'packageBuyDiscountMoney' => price_format($row['packageBuyDiscountMoney']), 'discount' => price_format($row['discount']), 'order_sn' => $row['order_sn'], 'order_time' => local_date('Y-m-d', $row['add_time']), 'order_status' => $row['order_status'], 'status' => $row['status'], 'goods_number' => $row['goods_number'], 'shipping_fee' => $row['shipping_fee'], 'total_fee' => price_format($row['total_fee'], false), 'goods' => $row['goods'], 'goods_id_list' => $row['goods_id_list'], 'one_goods_id' => $row['one_goods_id'], 'goods_name_list' => $row['goods_name_list'], 'one_goods_name' => $row['one_goods_name'], 'tax' => $row['tax'], 'one_goods_thumb' => $row['goods'][0]['goods_thumb']);
    }
    return $arr;
}
Example #2
0
/**
 * 取得订单商品
 * @param   int     $order_id   订单id
 * @return  array   订单商品数组
 */
function order_goods($order_id)
{
    $sql = "SELECT rec_id, goods_id, packageBuyId, packageBuyDiscount, goods_name, goods_sn, market_price, goods_number, " . "goods_price, goods_attr, is_real, parent_id, is_gift, " . "goods_price * goods_number AS subtotal, extension_code " . "FROM " . $GLOBALS['ecs']->table('order_goods') . " WHERE order_id = '{$order_id}' order by packageBuyId asc";
    $res = $GLOBALS['db']->query($sql);
    while ($row = $GLOBALS['db']->fetchRow($res)) {
        if ($row['extension_code'] == 'package_buy') {
            $row['package_goods_list'] = get_package_goods($row['goods_id']);
        }
        $row['packageBuy_id'] = $row['packageBuyId'];
        unset($row['packageBuyId']);
        $sql = "select goods_thumb from " . $GLOBALS['ecs']->table('goods') . " where goods_id=" . $row['goods_id'];
        $row['goods_thumb'] = $GLOBALS['db']->getOne($sql);
        $row['url'] = build_uri('goods', array('gid' => $row['goods_id']), $row['goods_name']);
        $goods_list[] = $row;
    }
    include_once ROOT_PATH . 'includes/lib_sundries.php';
    foreach ($goods_list as $k => $val) {
        calcPackageBuyVal($k, $goods_list);
    }
    return $goods_list;
}