2011-08-18 20 views
1

我有一個Product數據庫表,其中列如product_idpriceinventory_count如何在客戶在線下單時處理數據庫價格變化?

用戶點擊以一定的價格購買某種產品。我的程序生成一個確認頁面,列出產品和價格。一切都很好,用戶點擊「確認」。我的程序更新該產品的inventory_count,並向用戶的信用卡收取產品price中列出的金額。

但是在生成確認頁之後但在用戶單擊「確認」之前,該產品的價格已更改。因此,用戶可能在確認頁面中看到價格爲10美元的價格,但在點擊「確認」後,產品表中的price已更改爲11美元,這就是他將收取的費用。

處理這種情況的最佳方法是什麼?如果這是相關的,我正在使用MySQL和Python。

+0

嗯......有趣的情況。我會將價格保留在用戶的購物車(客戶端)中,並將價格與進行信用處理的頁面上的服務器端進行比較。如果存在差異,請將用戶重定向到「價格已更改」的新頁面。 – PlagueEditor

回答

3

使用您打算實際收取的價格爲暫掛購買創建新表格,並在生成確認頁面時向其添加項目。從Product表的inventory_count當你添加一個項目到Pending表,那麼你可以重新增量inventory_count

扣除,如果購買不通過。

1

我認爲你應該避免這樣的情況(如果我是你的顧客,我會感到失望)。 但是,如果你不能,當客戶按下確認時,做最後的價格檢查,並顯示消息給用戶,如果它改變。

3

你肯定應該從顧客最後一次有機會改變主意時的價格中繼承價格。我相信這也是一個法律問題,你不太看好。

無論如何,在客戶確認後不能很難實施最後一張支票,對嗎?也許你可能會發現價格已經發生變化的通知。

+1

對於最後一次檢查+1和一條錯誤消息。 – bentayloruk

相關問題