首页 > 数据库技术 > 详细

记录下mysql数据库积分过期表设计

时间:2019-12-28 15:01:27      阅读:608      评论:0      收藏:0      [点我收藏+]

主要两张表

用户积分表

用户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后返回计算后的可用

 

暂时可满足我们的需求, 有什么问题一起探讨

记录下mysql数据库积分过期表设计

原文:https://www.cnblogs.com/chreun/p/12111560.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!