Esempio n. 1
0
 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;
 }
Esempio n. 2
0
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();
Esempio n. 3
0
    $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);
Esempio n. 4
0
 $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;
     }