public static function getProducts($user_id) { $user_id = (int) $user_id; if (!$user_id) { return array(); } $rs = self::getList("user_id='{$user_id}' AND status=0", 'sku_id, qt', 'update_time DESC'); foreach ($rs as $k => $v) { $rs[$k]['sku'] = $skus = ProductsSku::getData($v['sku_id']); $pic = ProductsPic::getOne(array('sku' => $skus['sku']), 'path', 'sort DESC'); $rs[$k]['sku']['pic'] = $pic['path']; $item = ProductsSku::getSkuItem($skus['item'], 'title'); $rs[$k]['sku']['title'] = $item['title']; } return $rs; }
if (!$userstatus) { header("Location: /sign/?a=bccl"); exit; } $userid = isset($_SESSION['userid']) ? (int) $_SESSION['userid'] : 0; $product_ids = isset($_POST['product_ids']) ? $_POST['product_ids'] : array(); $qts = isset($_POST['qts']) ? $_POST['qts'] : array(); $skus = array(); $total = 0.0; foreach ($product_ids as $sku_id => $product_id) { $qt = isset($qts[$sku_id]) ? (int) $qts[$sku_id] : 0; if ($qt < 1) { continue; } $skus[$sku_id]['qt'] = $qt; $skus[$sku_id]['info'] = $info = ProductsSku::getData($sku_id); $current_price = isset($info['current_price']) ? $info['current_price'] : 0.0; $pic = ProductsPic::getOne(array('sku' => $info['sku']), 'path', 'sort DESC'); $skus[$sku_id]['info']['pic'] = $pic['path']; $item = ProductsSku::getSkuItem($info['item'], 'title'); $skus[$sku_id]['info']['title'] = $item['title']; $total = $total + $qt * $current_price; } //var_dump($product_ids,$skus);exit; $userlevel = Users::getLevel($userid); $discount = $userlevel['discount']; $newtotal = $total * $discount; $address = ReceiverAddress::getInfoByUser($userid); //var_dump($address); $yunfei = 0.0; $token = ABase::token();
$item = isset($info['item']) ? $info['item'] : ''; $sku = ProductsSku::getItemFirstSku($item); $skuid = isset($sku['id']) ? (int) $sku['id'] : 0; if (!$skuid) { header("Location: /html/404.html?002"); exit; } header("Location: /product/?id={$skuid}"); exit; } else { $id = isset($_GET['id']) ? (int) $_GET['id'] : 0; if (!$id) { header("Location: /html/404.html?003"); exit; } $sku = ProductsSku::getData($id); if (!$sku) { header("Location: /html/404.html?004"); exit; } $item_code = $sku['item']; $item = ProductsItem::getOne(array('item' => $item_code, 'status' => 1)); if (!$item) { header("Location: /html/404.html?005"); exit; } $sku['iteminfo'] = $item; $sku_code = $sku['sku']; $pics = ProductsPic::getSkuPics($sku_code, 'path', 'sort DESC LIMIT 0,3'); $sku['pics'] = $pics; $sku['order_num'] = OrdersProducts::getSkuAllNum($sku_code);
$len = count($sku_ids); if ($len > 1) { $title = "合并| {$len} 笔订单"; } $newtotal = $total * $discount; $address = ReceiverAddress::getData($addressid); unset($address['id']); $address['module_id'] = 3; //---DB::Debug(); DB::tranBegin('pay'); //事务开始 $address_id = ReceiverAddress::insert($address); $data = array('order_code' => $order_code, 'user_code' => $user_code, 'discount' => $discount, 'amount' => $newtotal, 'receiver_address_id' => $address_id, 'create_time' => time()); $order_id = Orders::insert($data); foreach ($sku_ids as $sku_id => $qt) { $product_sku = ProductsSku::getData($sku_id, 'sku'); $product_sku = isset($product_sku['sku']) ? $product_sku['sku'] : ''; $stocknum = ProductsStock::getSkuStock($product_sku); if (!$product_sku || $stocknum < $qt) { DB::rollBack(); Templates::Assign('errormsg', "订单保存失败,[{$product_sku}] 库存不足,错误代码 PY001"); Templates::Display('error.html'); exit; } $data = array('order_code' => $order_code, 'product_sku' => $product_sku, 'product_num' => $qt); OrdersProducts::insert($data); Cart::clearCart($userid, $sku_id); $locked = ProductsStockLock::add($order_code, $product_sku, $qt); if (!$locked) { break; }