2016-04-19 24 views
1

我有一個Order模型,用戶可以創建和修改。閱讀模型列表並阻止新創作

管理員用戶可以獲取所有日期的列表併發送列表。

我希望在管理員發送清單之前,它會關閉當天的訂單,以便訂單在第二天關閉。

目前,我真的不知道如何避免競爭條件: - 管理員關閉訂單並獲取列表 - 用戶同時提交訂單並認爲他的訂單已考慮在內。

到目前爲止,我還想到解決的辦法是:

  • 管理員點擊一個按鈕,提交這表明訂單休市一天
  • 當窗體發佈虛假訂單,列表的訂單被檢索
  • 發佈訂單時,我會先檢查是否存在虛假訂單。如果存在,驗證將失敗。

但我認爲競爭條件仍然有可能。

有沒有可能在數據庫級別管理它?例如,關閉命令時,在數據庫中添加約束條件(新訂單的日期必須至少爲第二天的數據)?

回答