Я создаю приложение, в котором пользователи могут вращать колесо фортуны.Когда им повезет и они получат определенное поле, они могут выиграть купон.
Я хотел сохранить эти купоны в Firebase Firestore со следующими свойствами:
{
"code" : 381939,
"expire_date" : xxx,
"value" : 5,
"currency" : "EUR"
}
Я думал, что когда кто-товращает колесо фортуны, случайный купон / документ будет выбран из базы данных.Если купонов нет, колесо фортуны должно быть неактивно.Поэтому я думаю, что мне нужно разместить кнопку «проверить наличие купонов» или аналогичную, чтобы проверить, остались ли купоны.Когда они есть, колесо будет установлено активным.
Тогда есть два сценария: 1) они выигрывают: купон будет назначен пользователю и удален из базы данных 2) потерян: купонбудет храниться в базе данных.
К сожалению, я не думаю, что это будет работать очень хорошо, когда многие пользователи хотят использовать колесо фортуны одновременно, потому что несколько пользователей могут читать один и тот же документ / купон.
Так можно ли "заблокировать" документ, чтобы никто другой не мог его прочитать, после того, как кто-то его прочитает?Или как я могу быть уверен, что каждый пользователь будет читать разные купоны / документы из базы данных, чтобы не было пользователей, разделяющих этот купон?
Надеюсь, вы понимаете мой вопрос.
Если вынужна дополнительная информация, просто скажите мне.