Beispiel #1
0
 //记录订单所需支付的总金额
 //用来展示用的数组数据
 $split_order = array();
 $split_order['sub_order_count'] = count($order_info);
 //生成订单
 foreach ($order_info as $ok => $order) {
     $cart_goods = $cart_goods_new[$ok]['goodlist'];
     $id_ext_new = " AND rec_id in (" . implode(',', array_keys($cart_goods)) . ") ";
     //获取当前订单中各个商品对应的仓库并保存morestock_morecity start
     $order['store_id'] = 0;
     $order['sub_id'] = "|";
     $sqlg = "select goods_id,goods_attr_id from " . $ecs->table('cart') . " WHERE {$sql_where} AND rec_type = '{$flow_type}' {$id_ext_new} ";
     $retg = $db->query($sqlg);
     if ($retg) {
         while ($rowg = $db->fetchRow($retg)) {
             $stock_info = get_goods_send_stock($rowg['goods_id'], trim($rowg['goods_attr_id']));
             $order['store_id'] = $stock_info['parent_id'];
             $order['sub_id'] .= $stock_info['store_id'] . "|";
         }
     }
     //morestock_morecity end
     //获取佣金id
     $order['rebate_id'] = get_order_rebate($ok);
     //下单来源
     $order['froms'] = WEB_FROM;
     $order['parent_order_id'] = $parent_order_id;
     /* 插入订单表 */
     $error_no = 0;
     do {
         $order['order_sn'] = get_order_sn();
         //获取新订单号
Beispiel #2
0
         die($GLOBALS['db']->errorMsg());
     }
 } while ($error_no == 1062);
 //如果是订单号重复则重新提交数据
 $new_order_id = $db->insert_id();
 $order['order_id'] = $new_order_id;
 $parent_order_id = $parent_order_id > 0 ? $parent_order_id : $new_order_id;
 /* 插入订单商品 下面这个SQL有修改 by www.ecshop68.com 注意末尾那个字段 */
 /* 代码增加_start  By www.68ecshop.com */
 $sql = "INSERT INTO " . $ecs->table('order_goods') . "( " . "order_id, goods_id, goods_name, goods_sn, product_id, goods_number, market_price, " . "goods_price, goods_attr, is_real, extension_code, parent_id, is_gift, goods_attr_id, package_attr_id) " . " SELECT '{$new_order_id}', goods_id, goods_name, goods_sn, product_id, goods_number, market_price, " . "goods_price, goods_attr, is_real, extension_code, parent_id, is_gift, goods_attr_id, package_attr_id " . " FROM " . $ecs->table('cart') . " WHERE {$sql_where} AND rec_type = '{$flow_type}' {$id_ext_new} ";
 /* 代码增加_end  By www.68ecshop.com */
 $db->query($sql);
 //更新订单商品表中商品出库的仓库id
 $order_goods_insert_id = $db->insert_id();
 $order_goods_info = $db->getRow('select goods_id,goods_attr_id from ' . $ecs->table('order_goods') . ' where rec_id=' . $order_goods_insert_id);
 $goods_stock_info = get_goods_send_stock($order_goods_info['goods_id'], trim($order_goods_info['goods_attr_id']));
 if ($goods_stock_info['store_id'] > 0) {
     $db->query('update ' . $ecs->table('order_goods') . ' set send_store_id=' . $goods_stock_info['store_id'] . ' where rec_id=' . $order_goods_insert_id);
 }
 /* 修改拍卖活动状态 */
 if ($order['extension_code'] == 'auction') {
     $sql = "UPDATE " . $ecs->table('goods_activity') . " SET is_finished='2' WHERE act_id=" . $order['extension_id'];
     $db->query($sql);
 }
 /* 处理余额、积分、红包 */
 if ($order['user_id'] > 0 && $order['surplus'] > 0) {
     log_account_change($order['user_id'], $order['surplus'] * -1, 0, 0, 0, sprintf($_LANG['pay_order'], $order['order_sn']));
 }
 if ($order['user_id'] > 0 && $order['integral'] > 0) {
     log_account_change($order['user_id'], 0, 0, 0, $order['integral'] * -1, sprintf($_LANG['pay_order'], $order['order_sn']));
 }