Autor Zpráva
slovakCZ
Profil
AHoj,

chtel bych se zeptat, jak resit situaci, kdy mam eshop, produkty drzim skladem a zakaznik si da produkt do kosiku.. v takovem pripade bych rad, aby se stalo nasledujici:
- aktualni pocet kusu skladem je 10 kusu
- po pridani produktu do kosiku bude skladem jiz jen 9 kusu
- zakaznik ma 30minut na to, aby si produkt objednal, v opacnem pripade se rezervace zrusi a na eshopu bude opet videt, ze je skladem 10 kusu

ma to napriklad zoot.cz (zkuste si neco do kosiku pridat a pote do kosiku prejit.. je to tam hezky videt).

Nevim ale, jak tohle resit, jestli je vhodne, spoustet cron kazdou minutu a kontrolovat, jake produkty jsou "rezervovany" a kdy expiruji.. v pripade, ze expirovaly, tak rezervaci zrusit.. moc se mi nelibi ta myslenka, ze by se kazdou minutu mel spoustet nejaky cron ktery by tohle resil... nenapada vas nejake elegantnejsi reseni?


dekuji,

TNi
peta
Profil
Pri kazdem zobrazeni detailu zbozi (stranka, kde zobrazuje i pocet kusu na sklade) se daji smazat vsechny kosiky z databaze, co uz expirovali a doplnit z nich zbozi. muzres to omezit, pokud je kusu mene nez 5, tak to ma delat.
30 min blokovat zbozi, pokud je na skladu posledni, mi prijde neunosne.
A co, kdyz si objednam 100 kusu kazdeho zbozi, pouziji k tomu script, ktery mi takto vyklika treba 50 ruznych druhu? A zkusim to kazdych 10 minut opakovat? To ti zablokuji cely shop, ne? Nedovolim ti nic prodat, protoze si vsechno dam do kosiku a jen nevyplnim objednavku a neposlu ji.
Ja bych tohle do shopu nedaval.
slovakCZ
Profil
peta:
samozrejme i na tohle jsem myslel.. vyresene to nemam zatim stoprocentne, ale blokovat 100 kusu zbozi je samozrejme nesmysl.. ta myslenka byla trosku jina, omezovat to na akcni produkty, ktere se na eshopu objevi a behem jednoho dne jsou pryc... tam to dle meho dava smysl... na jine produkty ne.

co se tyce toho implementace, tak navrhovanym resenim si nejsem sto procentne jisty. Uvazoval jsem o nem, ale musel bych takto kosik promazavat na vice strankach.. na:
- vyhledavani (i tam zobrazuju pocty ksuu sklade)
- detail kategorie (klasicky vypis zbozi)
- detial produktu
- wishlist
- kosik (konkretne ve funkci, kdy je mozne kosik odeslat kamaradovi emailem at vidi, co jsem si do kosiku dal ja.. i zde se zobrazuji kusy skladem)
- pak jeste nemam promyslene XML feedy pro heureku, zbozi atd.. zda to resit i v nich
juriad
Profil
Nevyjmenovávej jednotlivé stránky, určitě máš nějakou funkci, která ti zjistí dostupnost produktu (počet kusů). Ta bude počítat počet rezervovaných kusů.
Rezervované nikde nebudou explicitně uloženy, bude to jen vlastnost položek v košíku závislá na čase.

něco jako (pseudo-php-kód):
function getPočetKusů($idProduktu, $akcni) {
  $početNaSkladu = query "SELECT pocet FROM sklad WHERE produktId = ".$idProduktu;
  if($akcni) {
    $početRezervovaných = query "SELECT SUM(pocet) FROM kosik WHERE produktId = ".$idProduktu." AND vlozeno > DATE_SUB(UTC_TIMESTAMP(), INTERVAL 30 MINUTE);"
    return $početNaSkladu - $početRezervovaných;
  }
  return $početNaSkladu;
}

Pokud budeš zjišťovat počet kusů touto funkcí, vždy dostaneš správnou hodnotu. A ve zbytku aplikace nemusíš nic řešit.
slovakCZ
Profil
juriad:
ano, to mas sice pravdu, stranky jsem vyjmenovaval z jineho duvodu.. na strance muze byt az 100 polozek a nevim co je efektivnejsi.. zda pro kazdou polozku (pro tech 100 polozek pri jednom requestu) provadet fce getPocetKusu() a nebo poustet 1x za minutu cron, ktery to vyresi..

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: