zalozmy, ze firma moze dodawac dowolna ilosc rabatow dla grup:
poczatkujacy_klienci
aktywni_klienci
przy czym:
- rabat moze obowiazywac od - do
- dodatkowo moze obejmowac jakis przedzial wartosci koszyka z calej historii zakupow w sklepie
czyli wchodzimy sobie do ustawiania rabatow, ustawia nam sie data jutrzejsza bo chyba tak najlepiej zaczac naliczanie rabatow.
Wybieramy grupe "poczatkujacy_klienci" i okreslamy przedzial od jutra +7dni.
teraz pytanie, jak to zapisac w bazie, zeby potem ladnie przy zamowieniu i raportach wyciagnac wartosc rabatow ?
myslalem zeby miec dwie tabele:
discount
id_discount
discount
basket_history_value
date_from
date_to
spec_discount_group
id_user_group
id_discount
ograniczam przy edycji zmiane pola: discount,i date_to (nie mniejsza niz data nastepna od jutra)
nie wiem czy to jest dobre rozwiazanie.
moge miec takze rabaty indywidualne dla uzytkownikow. Tutaj bez ograniczen czasowych.
user
id_user
discount
teraz jak zapisywac historie zmian tej wartosc rabatu dla uzytkownika ?
zrobic nowa tabele
user_discount_history
id_user
discount
date
i przy kazdej zmianie robic insert do niej ?
ale wtedy moge miec tak
1, 20, 01-01-2010
1, 30, 02-01-2010
1, 60, 10-01-2010
czyli zniakaja mi jakies tam dni, a tego wolabym uniknac, zeby przy generowaniu raportow sie nie pomylic
mozecie mi doradzic ?