記錄下mysql數據庫積分過期表設計


主要兩張表

用戶積分表

用戶ID 可用 已用 更新日期
1 1000 5000 2019-12-11

 

 

積分日志表

自增ID 用戶ID 積分金額 是否過期 創建日期
1 1 10000 1 2018-12-10

 

 

一 . 加積分

1.增加用戶積分表的可用;

2.寫日志

二 . 減積分

1.使用積分是 +已用 -可用;

三 . 查積分

1.每次從用戶積分表來取當前可用時判斷下更新日期是否是當天, 當天直接返回

2.否則查更新日期距離當天多少天,設為D

3.取最新過期的過期時間往前推D天,取該段時間內獲取的過期積分總額,設為E

4.如果沒有過期的,直接將更新日期設為當天同時返回可用

5.有過期的, 已用 = max(0, 已用 - E),  可用 = max(可用 - max(0, E - 已用 ), 0),更新日期=當天,落地DB后返回計算后的可用

 

暫時可滿足我們的需求, 有什么問題一起探討


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM