Attualmente sto creando un sito di e-commerce con PHP/MySQL. Recentemente, ho lavorato all'integrazione del Carrello acquisti. Il cliente voleva assicurarsi che lo stock fosse disponibile per i potenziali acquirenti, così ho creato un sistema di gestione delle scorte. Il carrello acquisti funziona come segue:Gestione carrello e magazzino
- Il client aggiunge una quantità di un articolo a il suo carrello.
- La quantità dell'articolo è riservata a disponibile nel database.
- Nessun altro può acquistare riservato azioni.
- Le scorte rimangono riservate fino all'ordine del processo del cliente - in cui lo stock è quindi rimosso dal database.
- Se il cliente abbandona il carrello, le scorte rimangono riservate.
- Se un altro cliente desidera acquistare un articolo, ma solo lo stock disponibile è riservato da un altro cliente, il cliente può rubare lo stock prenotato se è rimasto inattivo per 20 minuti.
La mia domanda è, quali sono le migliori pratiche per questo tipo di scenario? Sto facendo questo correttamente? La cosa principale è che il cliente non vuole vendere azioni che non ha.
Sto cercando di avere una discussione su come migliorare la funzionalità o su ciò che altri stanno facendo per raggiungere questo obiettivo.
Grazie per il consiglio. Ho intenzione di rielaborare la funzionalità. Sapevo che non era il modo migliore per farlo. Il congelamento delle scorte probabilmente non è una buona idea, a meno che non vendiate prodotti unici, come i biglietti per i concerti. – jgallant
Sì, come con il controllo del codice sorgente e le transazioni del database, impostazione predefinita per il blocco ottimistico a meno che non si abbia una buona ragione per fare diversamente. – Jerph