记录下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