积分系统数据库表该什么设计
我最近在做一个积分系统
主要涉及的业务如下:
1.每日签到添加积分
连续签到得到的积分不同
如第1天签到10积分, 第2天签到20积分
2.每天抽奖获取积分(获取到的积分就是在某两个数之间取随机数)
每天两次免费抽奖机会,超过的话就要消耗积分才能抽奖
3.评论, 回复, 登录, 注册, 完善资料等添加积分
4.可以用积分兑换商品
目前设计的表如下
1.积分类型表 (每天签到, 抽奖, 评论, 回复, 登录等都属于积分类型)
id -- 积分类型id
name -- 积分类型名
explain --积分类型描述
grade -- 每次获取积分数
count -- 每天限制次数(超过就不能再获取积分)
inputTime -- 创建时间
2.积分明细表
id
typeId 积分类型id
grade 积分值(为正表示获取到的积分, 为负表示消耗的积分)
memberId 用户id
explain 描述
inputTime 创建时间
问题就是积分类型表这个表该怎么设计会好点
因为有些类型如注册, 完善资料获取到的积分是确定的
注册送50积分, 完善资料送50积分
但有些类型如每日签到, 抽奖获取到的积分都是不确定的
签到是第1天10积分,连续签到第2天就20积分
注册, 完善资料这些都是属于一次性任务, 做完了就不能再做了
每天签到, 抽奖, 评论, 回复这些都属于每天任务, 每天都有限制次数。
抽奖又比较特殊点限制次数是免费次数, 超过了就要消耗积分
以上, 怎么设计积分类型表会好点?
我只是初出茅庐的新手, 今天第一次发帖, 请各位大神多多指教