Наилучшая практика для выпуска инвентаря в базе данных

Я создаю приложение для продажи билетов, которое отслеживает инвентарь билетов, деактивируя их, когда конкретный билет распродан.

Я ' Мне интересно, как лучше всего вернуть инвентарь в магазин, когда заказ был оставлен на полпути.

Текущий поток:

  • Пользователи добавляют элементов в заказ как line_items , и заказ помечается как завершенный при успешной оплате
  • элементов имеет amount_available , который обновляется на основе их line_items
  • Я периодически просматриваю заказов без каких-либо действий в течение> 20 минут, удалите эти заказы ' line_item s и обновите amount_available

Похоже, мне что-то не хватает с этим. Во-первых, я теряю возможность подробно просматривать брошенные заказы (у меня все еще есть платежи / отклонения и т. Д., Но нет позиций). И если пользователь попытается возобновить старый заказ через 21 минуту, ему придется начать заново.

И наоборот, он связывает инвентарь на 20 минут, что может привести к потере продаж, когда выставка почти распродана.

Любое понимание будет очень благодарно. Спасибо.

5
задан Alex Dunae 25 February 2011 в 18:13
поделиться