因考慮不破壞原來數據表的結構,我們另建立四個數據表來單獨使用,通過用戶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='會員流水賬表';
~~~
這里數據表創建完畢。