Angenommen, ich habe 3 verschiedene Ladepläne für ein Zimmer für drei Arten von Mitgliedschaften:Schreiben Konfigurierbare Schritt Funktionen
Normale
0 - 1 in Zeiten: 10 $ pro Stunde
1 bis 5 Stunden : $ 9 pro Stunde
5-12 Stunden: 8 $ pro Stunde
Mitglied
0 - 1 Stunde: 8 $ pro Stunde
1 bis 5 Stunden: $ 7 pro Stunde
5-12 Stunden: 6 pro Stunde
$ Premium-
0 - 1 Stunden: $ 4 pro Stunde
1 - 5 Stunden: $ 3 pro Stunde
5 - 12 Stunden: $ 2 pro Stunde
Dies sind Gebühren, die am Frontend konfiguriert werden können.
Was sind Best Practices, um sie dynamisch zu speichern und die Berechnung durchzuführen?
Ich habe eine Idee, aber ich glaube, es gibt besser da draußen:
SQL Tabelle: membership_rates
membership,min_hr,max_hr,rate
normal,0,1,10
normal,1,5,9
normal,5,12,8
member,0,1,8
member,1,5,7
member,5,12,6
premium,0,1,4
premium,1,5,3
premium,5,12,2
Dann in dem Pseudo-Code,
find out membership type
query the rates for the membership type in an array
while rent_amt is larger than max_hr of the query:
rate = selected_rate from the bracket
find next smaller rate
return the rate * the no. of hours used
Ein Beispiel in Python (Django) ist:
amt_used = rent.amt_used
membership = member.membership
rates = Rates.objects.filter(membership=membership).order_by(max_rate)
rate = 0
while amt_used > rates.max_hr:
rate = rates.rate
return amt_used * rate
Was meinen Sie mit "dynamisch gespeichert"? Diese Werte können sich oft ändern? – vmonteco
ja die Werte können geändert werden. – bryansis2010