因考虑不破坏原来数据表的结构,我们另建立四个数据表来单独使用,通过用户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='会员流水账表'; ~~~ 这里数据表创建完毕。