Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> system rabatow dla grup klientow
trucksweb
post 12.04.2011, 20:15:04
Post #1





Grupa: Zarejestrowani
Postów: 1 199
Pomógł: 31
Dołączył: 22.03.2004
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


tworze wlasnie modul rabatow dla grup klientow dla sklepu i pojawil sie przede mna problem.

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 ?

Ten post edytował trucksweb 12.04.2011, 20:22:04


--------------------
Rozmawia dwóch dyrektorów:
- Jaki jest twój ideał sekretarki?
- 20-letnia dziewczyna z 30-letnim doświadczeniem.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
uupah5
post 12.04.2011, 22:08:32
Post #2





Grupa: Zarejestrowani
Postów: 207
Pomógł: 18
Dołączył: 4.09.2010
Skąd: warszawa

Ostrzeżenie: (0%)
-----


pisząc z palucha:

Rabat
id
rabat_wartosc
rabat_typ (enum: wartosc,procent)
rabat_nazwa (dla marketoidów)
rabat_data_od (datatime)
rabat_data_do
rabat_wartosc_od
rabat_wartosc_do
aktywny (1/0)

Rabat_User_Grupa
id
id_rabat
id_user
id_grupa

sprawdzenie czy user ma prawo do jakiegoś rabatu, czy to z racji indywidualnego czy grupowego, to odwołanie się do Rabat_User_Grupa z id usera lub id grupy do jakiej należy
oraz do Rabat gdzie sprawdzamy dodatkowo czy now() between rabat_data_od and between rabat_data_do oraz wartosc_koszyka_usera between rabat_wartosc_od and rabat_wartosc_do oraz oczywiście aktywny=1

aplikacja powinna zadbać o rozwiązanie konfliktów typu - user ma kilka rabatów indywidualnych i grupowych, o różnych wartościach i typach (np 50% i -50zł)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 01:36