コード例 #1
0
ファイル: pay.php プロジェクト: isonz/fxptpcn
    $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;
        }
    }
    if (!$locked) {
        DB::tranStop();
    }
    $commit_status = DB::tranEnd('pay');
    //--- end tran
    if (!$order_id || !$commit_status) {
        Templates::Assign('errormsg', "订单保存失败,[{$product_sku}] 库存不足,错误代码 PAY002");
        Templates::Display('error.html');
        exit;
    }
} else {