用戶簽到表的設計思路與數據庫實現


簽到做為,一個促進用戶粘性的手段已經很成熟了。

這里說下,個人的一些設計表思路
添加用戶配置表。主鍵關聯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='用戶簽到日志記錄';
//以上這些,僅做記錄。如有幫助,那是最好。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM