![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 4.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Ten temat to w zasadzie prośba o poradę dot. modyfikacji dostępności sztuk produktu w sklepie internetowym. Nie znalazłem nigdzie na forum wątku dotyczącego mojego problemu ani lepszego miejsca na zadanie pytania. Mianowicie jestem w trakcie pisania sklepu internetowego. W tabeli z produktami przechowuję również liczbę dostępnych towarów w magazynie. Gdy klient klika w ikonke koszyka przy danym produkcie, liczba sztuk tego produktu powinna się automatycznie zmniejszyć jako że w tym samym czasie również inne osoby mogą dodać ten produkt do koszyka i skrypt powinien wiedzieć ile sztuk produktu w tym momencie jest dostępnych. Tak naprawdę nie wiemy, czy klient nie zrezygnuje z zakupów (wtedy dostępność sztuk powinniśmy zwiększyć o liczbę sztuk pobranych przez klienta do koszyka). Jak macie to rozwiązane? Dodatkowa tymczasowa tabela z id produktu i ilością sztuk, która jest na bieżąco modyfikowana i przy realizacji zamówienia głowna tabela produktów jest dopiero aktualizowana (a dokładnie pole z liczbą dostępnych sztuk)? Właściwie klient może w każdej chwili zamknąć okno przeglądarki i nie wiemy co dalej? Proszę, naprowadźcie mnie na dobre rozwiązanie, nie chciałbym się później obudzić z ręką w nocniku ![]() Pozdr. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Ilość dostępnych produktów zmniejszaj dopiero w momencie złożenia zamówienia przez klienta. Musisz też przy składaniu zamówienia postawić jakiś walidator, który sprawdzi, czy towar który klient zamawia jest jeszcze na stanie. Nie możesz tego sprawdzać tylko w momencie dodawania produktu do koszyka, bo w międzyczasie (pomiędzy dodaniem, a złożeniem zamówienia) inny klient może złożyć zamówienie, które wyczerpie limit produktów na stanie.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 4.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za odpowiedź. Tak też na początku planowałem, z tym że...
Scenariusz: klient X wchodzi do sklepu, znajduje dany produkt, którego jest raptem 5 sztuk i do koszyka dodaj wszystkie 5 sztuk. 5 sekund później klient Y wybiera dokładnie ten sam produkt (widzi, że jest dostępny, bo klient X nie zdążył w 5 sekund złożyć jeszcze zamówienia) i powiedzmy do koszyka dodaje 3 sztuki. I w tym momencie trwa walka kto szybciej złoży zamówienie. Oczywiście na samym końcu sprawdzam jeszcze raz dostępność produktów i w przypadku, gdy klient Y złożył zamówienie szybciej niż klient X to klient X przy składaniu zamówienia powinien zostać poinformowany, że niestety ktoś go wyprzedził i zamiast 5 sztuk może nabyć tylko 2 sztuki? (bo Y kupił 3 przed nim). Jeśli tak generalnie funkcjonują sklepy to OK, ja nie mam z tym problemu i z chęcią tak to rozwiążę, chciałbym tylko poznać jeszcze czyjąś opinię w tym temacie. Dzięki ![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Dokładnie tak jak napisałeś. Odnieś to do zwykłego sklepu. Wzięcie towaru z półki (włożenie do koszyka) i zasuwanie do kasy (złożenie zamówienia) wygląda nieco inaczej, bo druga osoba nie weźmie towaru z półki (bo poprzednia zapieprza z nim już do kasy). Ale przykład: mamy na półce 10 produktów, a 5 pierwszych sprzedanych sztuk tego towaru objętych jest promocją. Pierwszy kolo bierze 5 sztuk, drugi 3 i obaj zasuwają do kasy. W tym momencie nie ma znaczenia kto pierwszy wziął towar do ręki tylko kto pierwszy go kupi. Jeśli ten z 5 sztukami to drugi nie dostanie rabatu (limit wyczerpany). Jeśli ten z 3 sztukami to ten z 5 sztukami dostanie rabat na 2 spośród posiadanych 5 sztuk.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 13:52 |