會員充值 》解決方案之一

2022-06-21 13:00:08 字數 1786 閱讀 2550

會員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...