假設我有3個不同的電荷時間表一個房間3種類型的成員關係:書寫配置步驟功能
普通
0 - 1時間:10 $每小時
1 - 5小時:$ 9元小時
5 - 12小時:每小時
會員8 $
0 - 2小時:$每小時8
1 - 5小時:$ 7,00小時
5 - 12小時:每小時
高級
0 $ 6 - 1小時:每小時4美元
1 - 5小時:每小時3美元
5-12小時:每小時2美元
這些費用可以在前端配置。
動態存儲它們並執行計算的最佳實踐是什麼?
我有一個想法,但我相信有更好的在那裏:
SQL表: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
在僞代碼
然後,
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
Python中的一個例子(Django)是:
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
你是什麼意思的「動態存儲」?這些價值可能經常改變? – vmonteco
是的值可以改變。 – bryansis2010