Merhaba herkese iyi forumlar.
PostgreSql ile Rezervasyon sistemi kodluyorum. Ödeme almadan önce kullanıcının bilgilerini alıyorum. Eğer ödeme başarılı ise rezervasyonu onaylıyorum ve artık kimse o saat aralığında rezerve yapamıyor. Sorunum ise; ödeme ekranı gelene kadar şifre girilene kadar başka birisi aynı saat dilimini rezerve edebilirse ne olur?
Yani ilk kullanıcı ödemeyi tamamladığında bankadan para kesildiği vakit başka birisi o saat dilimini satın almış olabilir.
Hem para kesilmiş hem de rezerve edilmemiş oluyor.
Ödeme ekranında şifre girilmediği ödemenin onaylanmadığı durumunu da dikkate alırsak, nasıl bir kısıtlama getirebilirim?
Süre konulabilir ama PostgreSql desteklemiyor diye biliyorum, önerilerinizi bekliyorum teşekkürler.
Rezervasyon Sistemi Aynı Anda Alınması Sorunu
4
●165
- 17-05-2020, 19:19:16Kullanıcı rezerve edeceği günü saati girdiğinde ve ödeme ekranına geçtiği anda geçiçi olarak o saat kapatılabilir.
Eğer ödeme başarılı ile yapılırsa kalıcı olarak kapatılır, eğer kullanıcı ödeme aşamasına geçti ve başarılı olarak 10dk içerisinde ödeme yapmadıysa geçici rezerve kaldırılabilir.
Son işlem (10dk süreyi) cron ile gerçekleşebilir - 17-05-2020, 19:24:25Biri bir saat aralığını seçince başka kullanıcılar için askıya alsanız olmaz mı? Mesela 5 dakika süre koydunuz diyelim. Ben o aralığı açınca beş dakika boyunca benden başkası alamasın + ben de bir işim çıkar da 5 dakika içinde alamazsam benim de secimim iptal olsa garanti olur
- 17-05-2020, 19:32:05Teşekkürler yorumunuz için. Her 10dk bir cron çalıştırabilirim. Ya da her sipariş için 10 dk sonrasına bakabilirim. Sistemi yorar mı peki her 10dk da bir sorgu yapmak?Hayko adlı üyeden alıntı: mesajı görüntüle
- 17-05-2020, 20:01:2210dk yerine her dakika da 1 çalıştırabilirsiniz. Sonuçta basit bir sorgu olacak.mustafaz adlı üyeden alıntı: mesajı görüntüle
Veritabanın da direk güncelleme yazılabilir, SQL sorgusu tek satır olabilir. Fikir vermesi açısından kabaca

Eğer 10dk 1 tetiklerseniz ve süreyi kontrol etmezseniz 1dk önce rezervasyon yapan adamda boşa düşer. Onun için rezervasyon tarihi baz alarak her dk çalıştırmak daha sağlıklı.
