Zadejte hledaný výraz...

E-shop, jakou cestou ukládat objednávky?

David Musil
verified
rating uzivatele
(69 hodnocení)
23. 8. 2017 16:31:19
Ahoj,
jak efektivně ukládat objednávky na eshopu, abychom neplnili databázi zbytečnými daty a neduplikovali jsme je? Pokud mám jeden výrobek za 500 Kč a lidé ho kupují, já ho pak zlevním na 450 Kč, musím těmto lidem ukázat i za půl roku cenu produktu 500 Kč. To znamená ukládat jen IDčka produktů v relační tabulce s ID objednávky nestačí. Pak by zobrazená cena byla vždy ta současná a ne původní za kterou nakoupili. Dělám to tak, že nakopčím celý záznam produktu včetně ceny pod danou objednávku. I kdyby se třeba později změnil název, tak aby bylo jasné co to bylo. ID ani kód produktů se nezmění, takže dohledat se to dá zpětně vždy.
Můj systém si tak ale možná zbytečně zasírá databázi. Uvědomuju si, že je to špatně řešeno. Je něco efektivnějšího? Třeba ukládat jen ceny k daným produktům v objednávce? Jak to děláte vy?
Díky za rady.
23. 8. 2017 16:31:19
https://webtrh.cz/diskuse/e-shop-jakou-cestou-ukladat-objednavky#reply1296800
hm
verified
rating uzivatele
(20 hodnocení)
23. 8. 2017 16:43:24
je samozrejme moznost ukladat historii produktu, v podstate kdyz se neoc zmeni, udelas si do historie zaznam samozrejme vsehcno musi mit datum a cas, pak jses pri vypisovani objednavky schopen "rekonstruovat" jak produkt vypadal v dobe objednavky, protoze mas jeho kompletni historii :) a ja bych to asi udelal tak,protoze diky tomu budes vedte komplet co vis ted, tedy muzes vedet i jaky byl v te dobe treba popis toho produktu, jen to nebude duplikovane pod kazdou objednavkou... A produkty samozrejme nikdy nemazat, ale "skryvat"
23. 8. 2017 16:43:24
https://webtrh.cz/diskuse/e-shop-jakou-cestou-ukladat-objednavky#reply1296799
Peter Nižník
verified
rating uzivatele
(5 hodnocení)
23. 8. 2017 16:45:51
Napsal Aleš Jiříček;1406429
je samozrejme moznost ukladat historii produktu, v podstate kdyz se neoc zmeni, udelas si do historie zaznam samozrejme vsehcno musi mit datum a cas, pak jses pri vypisovani schopen "rekonstruovat" jak produkt vypadal v dobe objednavky, protoze mas jeho kompletni historii :) a ja bych to asi udelal tak,protoze diky tomu budes vedte komplet co vis ted, tedy muzes vedet i jaky byl v te dobe popis toho produktu napriklad, jen to nebude duplikovane pod kazdou objednavkou...
Netreba zabudat ze toto je potrebné aj pre dopravy a moznosti platby, kde tiez nemoze byt navaznost pokial sa zmeni cena, podobne pre vouchery atd
Opencart to riesi priamo tym ze cele texty tak ako boli v case objednania vlozi do tabulky a k tomu ma navazne produkty zase s celym textom a cenou a rovnako aj dopravu/platby
23. 8. 2017 16:45:51
https://webtrh.cz/diskuse/e-shop-jakou-cestou-ukladat-objednavky#reply1296798
hm
verified
rating uzivatele
(20 hodnocení)
23. 8. 2017 16:49:05
jo, to dava smysl, ze nejspis tech veci bude vic, ja nevim jak to kde je, jen me to ted tak narychlo napadlo jak bych to asi resil ja...
23. 8. 2017 16:49:05
https://webtrh.cz/diskuse/e-shop-jakou-cestou-ukladat-objednavky#reply1296797
node
verified
rating uzivatele
(5 hodnocení)
23. 8. 2017 17:51:02
Objednavka nema s produktom uz nic spolocne. Kosik ano, ten linkuje na produkty ktore v nom su, ale objednavka je uz skoro immutable(ak neratam zmenu stavu). Ta ma len vsetky metadata o produktoch, doprave a platbe ktore platili v case vytvorenia ale nelinkuje uz relane na nic. Resp. ma len soft linky.
To je ako faktura. Ked ju raz vystavis tak uz ju nemenis..cca. Spravne, ak neratam stavy, by sa objednavka nemala uz dat nijako editovat ale ak zakanzik nieco chce zmenit, stornuje sa a z nej sa vytvori nova. Lebo sa ti moze stat ze si dal zakanzikovi mnozstevnu zlavu(automaticky) a on potom zavola ze chce o jedne kus menej. Lenze to operator uz nemusi o tej zlave vediet alebo ju nema moznost upravit cez UI, nehovoriac o percentualnych vypoctoch...a podobne veci.
23. 8. 2017 17:51:02
https://webtrh.cz/diskuse/e-shop-jakou-cestou-ukladat-objednavky#reply1296796
David Musil
verified
rating uzivatele
(69 hodnocení)
23. 8. 2017 18:19:12
Napsal node;1406439
Objednavka nema s produktom uz nic spolocne. Kosik ano, ten linkuje na produkty ktore v nom su, ale objednavka je uz skoro immutable(ak neratam zmenu stavu). Ta ma len vsetky metadata o produktoch, doprave a platbe ktore platili v case vytvorenia ale nelinkuje uz relane na nic. Resp. ma len soft linky.
To je ako faktura. Ked ju raz vystavis tak uz ju nemenis..cca. Spravne, ak neratam stavy, by sa objednavka nemala uz dat nijako editovat ale ak zakanzik nieco chce zmenit, stornuje sa a z nej sa vytvori nova. Lebo sa ti moze stat ze si dal zakanzikovi mnozstevnu zlavu(automaticky) a on potom zavola ze chce o jedne kus menej. Lenze to operator uz nemusi o tej zlave vediet alebo ju nema moznost upravit cez UI, nehovoriac o percentualnych vypoctoch...a podobne veci.
Nevim, zda jsi mel uplne pochopil. Mne nejde o nejake zmeny na vystavene fakture. Je jasne, ze ta se nemeni. Ja potrebuji pouze mit uchovanou historii cen produktu a pokud mam objednavku sparovanou s kosikem a kosik s produkty, je jasne, ze kdyz si danou objednavku otevru tri dny po objednani, potrebuju tam videt puvodni cenu produktu a ne tu, co je tam ted, protoze mi dodavatel dal treba vetsi slevu.
23. 8. 2017 18:19:12
https://webtrh.cz/diskuse/e-shop-jakou-cestou-ukladat-objednavky#reply1296795
Hitman1
verified
rating uzivatele
(38 hodnocení)
23. 8. 2017 18:29:55
Souhlasím s nodem (jestli jsem ho správně pochopil) - historii cen přece nemusíš nikde uchovávat, aby i po 10ti letech odkaz z objednávky v mailu vedl na produkt za původní cenu.
V situaci kdy je objednávka hotová se propíše kód produktu, název, aktuální cena, případně obrázek a to se zašle na email - uloží do db. A v té chvíli už se může produkt změnit a ničemu to nevadí. Položky objednávky se samozdřejmě ukládají do zvláštní tabulky a neodkazují se na stejné místo v db kde je produkt, který je vystaven.
23. 8. 2017 18:29:55
https://webtrh.cz/diskuse/e-shop-jakou-cestou-ukladat-objednavky#reply1296794
Martin
verified
rating uzivatele
(62 hodnocení)
23. 8. 2017 22:57:42
Objednávku rozhodně nepovažuji za "immutable".
Já to mám v entitách, ale v relační DB je to stejné. Prostě mám entitu objednávka, entitu produkt a když se ten produkt prodá, tak se vytvoří nová entita, kde která má vazbu 1:N na objednávku a vazbu 1:N na produkt. K tomu navíc entita obsahuje datum prodeje, cenu za jakou bylo prodáno, počet kusů a případně další věci co jsou potřeba.
23. 8. 2017 22:57:42
https://webtrh.cz/diskuse/e-shop-jakou-cestou-ukladat-objednavky#reply1296793
Levin
verified
rating uzivatele
24. 8. 2017 10:35:13
Co takhle ukládat řádky faktury zvlášť do své tabulky. Každý řádek objednávky by měl cizí klíč na tu danou objednávku a tam už si navolíš za sloupce co chceš.
24. 8. 2017 10:35:13
https://webtrh.cz/diskuse/e-shop-jakou-cestou-ukladat-objednavky#reply1296792
aheadnology
verified
rating uzivatele
24. 8. 2017 17:27:33
Napsal Aleš Jiříček;1406429
je samozrejme moznost ukladat historii produktu, v podstate kdyz se neoc zmeni, udelas si do historie zaznam samozrejme vsehcno musi mit datum a cas, pak jses pri vypisovani objednavky schopen "rekonstruovat" jak produkt vypadal v dobe objednavky, protoze mas jeho kompletni historii :) a ja bych to asi udelal tak,protoze diky tomu budes vedte komplet co vis ted, tedy muzes vedet i jaky byl v te dobe treba popis toho produktu, jen to nebude duplikovane pod kazdou objednavkou... A produkty samozrejme nikdy nemazat, ale "skryvat"
Přesně tak. Jinými slovy bych to nazval "verzování produktu".
Je na tobě, jestli máš jednu tabulku, kde má každý produkt jednu nebo více verzí - a nebo jestli máš dvě tabulky: tabulku produktů a tabulku jejich verzí.
Do aktuální živé nabídky eshopu samozřejmě vypisuješ nejposlednější povolenou verzi každého produktu.
Samozřejmě, Tvé stávající řešení mi připadá o fous bezpečnější (z hlediska pohlídání si úplnosti všech transakcí).
24. 8. 2017 17:27:33
https://webtrh.cz/diskuse/e-shop-jakou-cestou-ukladat-objednavky#reply1296791
Pro odpověď se přihlašte.
Přihlásit