會員33元乙個月,
1,一次性充值3個月會員送3個月普通**,
2,一次性充值6個月會員送6個月白金**。
3,一次性充值1年會員送一年鑽石**。
普通**:拉乙個人註冊能獲得5元獎勵,拉乙個人充值普通**能得到20元獎勵,拉乙個人充值白金**能獲得30元獎勵,拉乙個人來充值鑽石**能獲得40元獎勵,
白金**:拉乙個人來註冊能獲得10元獎勵,拉乙個人充值普通**能得到20元獎勵,拉乙個人充值白金**能獲得40元獎勵,拉乙個人來充值鑽石**能獲得60元獎勵,
鑽石**:拉乙個人來註冊能獲得20元獎勵,拉乙個人充值普通**能得到20元獎勵,拉乙個人充值白金**能獲得40元獎勵,拉乙個人來充值鑽石**能獲得80元獎勵,
理想效果,例如:
現在是白金 開始時間10.17 結束時間1.17 持續時間3個月
記錄:充 鑽石 開始時間1.10 結束時間5.17 持續時間4個月
記錄:新建資料 白金 開始時間5.17 結束時間5.24 持續時間7天
修改:白金 開始時間10.17 結束時間1.17 持續時間3個月-》改結束時間為1.10,(持續時間)時間2個月23天
最終效果提前展示如下:
以上是需求,分析後知道這個充值會員分等級。解決問題前我的分析:
會員型別:1:普通會員(1-2):2:普通**(3-5):3:白金**(6-11):4:鑽石**(>=12)
單位:月份
原則:先大後小
假如先充值乙個月會員(普通會員),後再充值六個月(白金**),實際的白金**時間是六個月,普通會員乙個月,正常情況,先享受六個月白金**(保留普通會員的剩餘時間),再享受乙個月普通會員
假如先充值了三個月(普通**),後再充值了六個月(白金**),實際的白金**時間是六個月,普通**三個月,正常情況,先享受六個月白金**(保留普通會員的剩餘時間),再享受三個月普通**
假設四種型別不分順序,在乙個月內不同時間出現,而且四種型別還有可能重複出現,問會員各個型別時間到期時由高型別向低型別切換,應該記錄哪些內容?
要求:時間和型別無縫切換,改變會員的型別(理想狀態是一秒不差)
其中涉及的資料表:
1,使用者表:記錄和展示使用者的會員時間和型別
2,充值記錄表:記錄充值的記錄
3,持續時間記錄表:用於記錄使用者的會員持續時間,各個時間段對應不同的型別(核心表)
4,支付記錄表:記錄支付記錄
解決這個問題,我的核心思想是:
乙個時間段對應一條記錄乙個型別,始終判斷第一條記錄是否是當前的會員型別,如果是,什麼也不做,如果不是,就改變會員型別為第一條記錄的型別。如果沒有記錄則表明,會員期限已過,消除會員狀態和型別等操作。
1:先儲存充值記錄,並記錄在表(3),表3儲存的字段有:會員持續時間,開始時間,結束時間,會員型別
2:查詢會員結束時間大於現在時間的所有記錄,按照會員型別由大到小排序,在這裡分為兩種情況,第一種是只有兩條資料的情況,第二種是大於兩條記錄的情況
3:當是第一種情況時,判斷第一條是否是新插入的資料,如果是立即結束當前的會員記錄,把結束時間改為當前時間,在建立一條新,型別和結束的這條記錄型別一樣,開始時間為第一條資料的結束時間,結束時間為總的結束時間;如果不是新插入的資料,只用改變新插入的資料的開始時間為第一條的結束時間
4:當是第二種情況時,判斷三種情況,新插入的資料是否是在第一條、中間位置,最後一條,前兩種情況時,後邊的資料的開始時間都是上一條資料的結束時間,結束時間都是開始時間+持續時間(此處要用到遞迴)
會所會員消費管理系統解決方案
會所會員消費管理系統目前有兩種版本,一為網路版,利用pos機實現聯機或離線刷卡功能 二為單機版,利用外帶非接觸讀寫卡器的台式電腦實現簡易的會員卡管理。會所會員管理系統分為三個分系統 第一分系統為會員資料 會員卡管理部分。包含兩個子模組。第一,會員管理模組 此模組主要功能包括對持卡會員入會 登出管理 ...
http 返回碼 405 解決方案之一
今天做網路請求資料的時候遇到返回碼405,當時就傻了 故事是這樣的 我用post請求訪問乙個url,服務端資料是乙個json的txt檔案,理論上直接訪問,返回json,然後解析就沒事了,可是今天很無語.居然給我返回405.問了很多人,他們給我提供了各種思路,都不奏效.最後聽乙個好哥們叫我試試換get...
http 返回碼 405 解決方案之一
今天做網路請求資料的時候遇到返回碼405,當時就傻了 故事是這樣的 我用post請求訪問乙個url,服務端資料是乙個json的txt檔案,理論上直接訪問,返回json,然後解析就沒事了,可是今天很無語.居然給我返回405.問了很多人,他們給我提供了各種思路,都不奏效.最後聽乙個好哥們叫我試試換get...