因考虑不破坏原来数据表的结构,我们另建立四个数据表来单独使用,通过用户id联系起来,这样其实也可以用到其他的thinkphp5的系统,
首先声明这只是一个简单的签到,想要更复杂的可以再另写。
clt_sign 签到表 【每个用户的当天签到情况】
~~~
CREATE TABLE `clt_sign` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`uid` int(11) NOT NULL COMMENT '用户ID',
`sign_time` int(11) NOT NULL DEFAULT '0' COMMENT '签到时间',
`sign_last_time` int(11) NOT NULL DEFAULT '0' COMMENT '上一次签到时间',
`point` int(11) NOT NULL DEFAULT '0' COMMENT '积分',
`continues` int(11) NOT NULL DEFAULT '0' COMMENT '连续签到天数',
`succession` int(11) NOT NULL DEFAULT '0' COMMENT '成功签到天数',
`days` int(11) NOT NULL DEFAULT '0' COMMENT '总签到天数',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 AVG_ROW_LENGTH=16384 COMMENT='签到表';
~~~
clt_sign_rule 签到规则表【这里是一个简单的签到,所以算法没那么复杂,可自己按喜好设计】
~~~
CREATE TABLE `clt_sign_rule` (
`id` int(10) unsigned NOT NULL,
`sign_point` int(10) NOT NULL COMMENT '签到送积分',
`sign_cycle` int(10) NOT NULL COMMENT '周期',
`increasing` int(10) NOT NULL COMMENT '递增',
`ceiling` int(10) NOT NULL COMMENT '封顶',
`sign_open` tinyint(1) NOT NULL COMMENT '状态',
`first_sign_point` int(10) NOT NULL COMMENT '首次签到送积分',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AVG_ROW_LENGTH=16384 COMMENT='签到规则表';
~~~
clt_user_account 会员账户统计表
~~~
CREATE TABLE `clt_user_account` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`uid` int(11) NOT NULL COMMENT '会员uid',
`point` int(11) NOT NULL DEFAULT '0' COMMENT '会员积分',
`user_sum_point` int(11) NOT NULL DEFAULT '0' COMMENT '会员累计积分',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 AVG_ROW_LENGTH=3276 COMMENT='会员账户统计表';
~~~
clt_user_account_records 会员流水账表 用与记录每次签到积分流水,这里可以存储通过其他途径获取积分的流水,例如:产生方式1.商城订单2.订单退还3.兑换4.充值5.签到6.分享7.注册8.提现9提现退还'等等,现在我们只用到签到,所以from_type=5
~~~
CREATE TABLE `clt_user_account_records` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`uid` int(11) NOT NULL DEFAULT '0' COMMENT '用户ID',
`account_type` int(11) NOT NULL DEFAULT '1' COMMENT '账户类型1.积分2.余额3.购物币',
`number` decimal(10,0) NOT NULL DEFAULT '0' COMMENT '数量',
`from_type` smallint(6) NOT NULL DEFAULT '0' COMMENT '产生方式1.商城订单2.订单退还3.兑换4.充值5.签到6.分享7.注册8.提现9提现退还',
`data_id` int(11) NOT NULL DEFAULT '0' COMMENT '相关表的数据ID',
`text` varchar(255) NOT NULL DEFAULT '' COMMENT '数据相关内容描述文本',
`create_time` int(11) DEFAULT '0' COMMENT '创建时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 AVG_ROW_LENGTH=108 COMMENT='会员流水账表';
~~~
这里数据表创建完毕。