2011-02-01 65 views
0

正如標題所述,我怎樣才能阻止兩個預約同一預約時間的用戶。我該如何阻止兩個預約同一預約時間的人

例如,兩個用戶在日誌中記錄,他們都可以看到1pm的預約可用。他們都試圖預約自己進入預約時間。

我該如何阻止這種情況發生,並確保只有一個用戶可以預訂,然後刷新屏幕以顯示下一個可用預訂時間給其他用戶。

謝謝。

+4

如果有人告訴你,會你接受他們的答案? – sasfrog 2011-02-01 09:30:27

回答

3

這是一個相當經典的用例。您只需在特定時間顯示預約計劃即可。這可以保持不變,或者您可以設置一個定期流程(例如,每五秒鐘)以使用新信息更新計劃。

然後,當用戶/操作員決定預訂一個空閒時間段時,它會嘗試執行(原子)更新,如果其他人滑入(使用主鍵或其他唯一約束),將會失敗。更新操作的原子性保證只有一個人可以預訂時隙。如果更新有效,瞧,你有你的時間預訂。

如果失敗,請通知用戶該事實,然後加載新的預約計劃。

沖洗並重復,直到用戶預訂或他們漫步,心懷不滿。

0

我不認爲這是最佳的。你爲什麼不選擇第一次點擊/首次投放模式? 如果您有10個或更多用戶查看同一頁面,可能會發生什麼情況?查看頁面的用戶並不意味着他會點擊一個時間段。因此,恕我直言,等待用戶真正點擊,然後最終通知其他用戶他們正在查看的時間段已被預訂(如果有人在回答問題時有人回答問題時發生StackOverFlow)