W którym momencie usuwać ilość produktu

0

Witam, borykam się z problemem, w którym momencie usunąć ilość danego produktu? podczas realizacji zamówienia(tworzenia faktury), czy już podczas dodawania produktu do koszyka.
Dajmy na to, mamy 100 sztuk danego produktu, ktoś doda do koszyka 80 sztuk (pokazywana ilość to dalej 100 - dostępna dla wszystkich zalogowanych użytkowników), co w momencie kiedy druga osoba doda 90sztuk do koszyka i zrealizuje zamówienie? co z tymi 80 sztukami, które do koszyka dodał pierwszy użytkownik ?

Z góry dziękuje za wszelkie podpowiedzi jak ten problem rozwiązać.

0

Użyj mechanizmu tranzakcji. Podczas gdy ktoś klika "zakończ" czyli ostatecznie tworzy zamówienie dodaj w transakcji żeby w zapytaniu sql się ilość produktów odejmowała

UPDATE xxx SET COUNT = COUNT-5

Jeżeli ustawisz że count może być tylko dodatni powinieneś wywołać wyjątek, przechwycić w bloku try w którym jest tranzakcja, a w catch zrobić rollbacka wraz z wyświetleniem błędu. To co było w transakcji zostanie cofnięte.

Aha w transakcji muszą być wszystkie zapytania generujące zamówienie.

0

Zdejmuj ze stanu dopiero w momencie, gdy zamówienie zostanie zrealizowane (wysłane / spakowane). W najgorszym przypadku będziesz musiał zadzwonić do klienta i wyjaśnić sprawę, lecz i tak jest to lepsze niż sytuacja, w której jakiś śmieszek wyłącza z dostępności wszystkie produkty z Twojego sklepu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1