points_record (积分表)
user_id (用户ID)
point (点数)
used (已使用了多少)
expire (截止日期)
每獲得一次積分就在這個表裏添加一條記錄
消費積分時,就更新 used 的值
獲得積分(這個是偽代碼):
INSERT user_id=id, point=point, used=0, expire=now() 30 days
使用積分:
1. 先取得所有可用積分,並按截止日期排序:
SELECT user_id=id, expire > now(), point > used ORDER_BY expire
2. 計算 sum( point - used ) 看可用積分夠不夠
3. 如果可用積分是夠的,就依次更新各條記錄中的 used 的值,直到把要使用的積分扣夠
每獲得一次積分就在這個表裏添加一條記錄
消費積分時,就更新 used 的值
獲得積分(這個是偽代碼):
INSERT user_id=id, point=point, used=0, expire=now() 30 days
使用積分:
1. 先取得所有可用積分,並按截止日期排序:
SELECT user_id=id, expire > now(), point > used ORDER_BY expire
2. 計算 sum( point - used ) 看可用積分夠不夠
3. 如果可用積分是夠的,就依次更新各條記錄中的 used 的值,直到把要使用的積分扣夠