sql >> Database teknologi >  >> RDS >> Mysql

Kontrol af samtidig betaling

Ideelt set bør du have en stock felt i dit Product model for at holde antallet af tilgængelige mængder for det pågældende produkt.

Når nogen afgiver en ordre, en separat order instans skal oprettes med antallet af mængder af Product specificeret. Lagerbeholdningen bør kun reduceres, når tilbagekaldet er modtaget for den order eller der modtages en webhook, der bekræfter betalingen.

Dette ville ikke forhindre andre kunder i at afgive ordrer på det samme produkt, indtil varen faktisk er blevet solgt.

En anden tilgang kunne være at reducere lagerbeholdningen, når kunden går til tilbagekaldssiden, og frigive lagerbeholdningen, hvis betalingen ikke modtages inden for et bestemt tidsrum. Baggrundsopgave ville være påkrævet til dette.

Bemærk: brug F objekt fra django.models mens beholdningen reduceres for at reducere beholdningen fra DB-værdien og ikke instansattributten.



  1. MySQL Indlæs data i fil, når betingelserne er opfyldt

  2. Hvordan genererer jeg et tilfældigt tidsinterval og tilføjer det til en mysql datetime ved hjælp af php?

  3. timestampdiff-ækvivalent i JPQL (uden at bruge kriterier)

  4. Hent data fra lagret procedure, som har flere resultatsæt