微服务学习系列11:带过期时间的积分系统表设计

系列文章目录


目录

系列文章目录

前言

一、积分记录表 score_record

二、积分可用表score_usable 设计

三、场景模拟

2023-04-20当天记录

总结


前言

在积分系统中,用户的积分使用规则一般会加上过期时间,提高用户的使用频率。


一、积分记录表 score_record

此表对应的是业务操作引起的积分变化记录

字段名类型长度说明
idBIGINT20主键ID
typesmallint11积分记录类型
valueINT11积分值
actionTINYINT2动作 1: 增加  2:扣减
expire_timeDATETIME3过期时间
reasonVARCHAR128积分增减原因
user_idBIGINT20用户ID
create_timeDATETIMECURRENT_TIMESTAMP 创建时间
deletedTINYINT2删除标记

二、积分可用表score_usable 设计

此表对应的是可用的积分记录,当前积分根据此表值计算得出

字段名类型长度说明
idBIGINT20主键
valueINT11积分值
expire_timeDATETIME3过期时间
user_idBIGINT20用户ID
create_timeDATETIMECURRENT_TIMESTAMP创建时间
deletedTINYINT2删除标记

三、场景模拟

2023-04-20当天记录

某用户积分记录表如下

主键IDuser_id积分值valueaction过期时间创建时间积分记录类型
115012023-04-252023-04-201  扫码获取
215012023-04-272023-04-201  扫码获取
3110012023-04-272023-04-202  活动获取
412022023-04-202023-04-203  积分兑换扣减

可用积分表

主键IDuser_id可用积分值过期时间创建时间deleted
11302023-04-252023-04-20未删除
211502023-04-272023-04-20未删除

总结

  • 积分优先扣除最早过期的且小面值的积分

  • 每天需要定时扫码可用积分表,将过期积分删除,并在积分记录表标注好过期记录以及扣减积分详情表记录扣减值

  • 积分总额可直接根据可用积分值计算(即使过期积分没即使删除,也可以通过计算过滤来实现)

     参考:有过期时间的积分系统表设计 - 简书

会员体系中,积分过期的设计方案 - Funcy1122的个人空间 - OSCHINA - 中文开源技术交流社区

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值