簽到做為,一個促進用戶粘性的手段已經很成熟了。
這里說下,個人的一些設計表思路
添加用戶配置表。主鍵關聯User表,即可。
CREATE TABLE `cft_user_signin` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
`user_id` int(11) DEFAULT NULL COMMENT '用戶id',//關聯主用戶表。想當於是主鍵表的外鍵關系表。
`days` int(10) DEFAULT NULL COMMENT '連續簽到天數',//判斷用戶是否連續簽到
`last_signin_time` int(10) DEFAULT NULL COMMENT '最后一次簽到時間',//最后一次簽到時間
`signin_nums` int(2) DEFAULT '0' COMMENT '可補簽次數',//用戶有沒有補簽的機會。
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='用戶簽到個人配置表';
CREATE TABLE `cft_user_signin_log` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',//自增id
`user_id` int(11) DEFAULT NULL COMMENT '用戶id',//用戶id,做為獲取用戶簽到情況的表
`signin_content` text COMMENT '簽到獎勵內容',//用戶已經獲得的內容,或者其他序列化的參數。
`add_time` int(10) DEFAULT NULL COMMENT '簽到時間',//用戶正常簽到的時間,補簽時,用pacht_time,替換add_time,
`signintype` enum('簽到','補簽') DEFAULT '簽到' COMMENT '簽到類型1=簽到2=補簽',//簽到記錄類型
`patch_time` int(10) DEFAULT NULL COMMENT '補簽的時間',//補簽遺漏的時間。當前時間的前一天,或者好幾天。
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='用戶簽到日志記錄';
//以上這些,僅做記錄。如有幫助,那是最好。