signin+userlevelsystem

Change-Id: I4d2b2660b23521817ae2ed6a55c6c322a20385ec
diff --git a/src/main/resources/schema.sql b/src/main/resources/schema.sql
index 1ee0c87..051ce5e 100644
--- a/src/main/resources/schema.sql
+++ b/src/main/resources/schema.sql
@@ -4,7 +4,11 @@
   `user_name` VARCHAR(255) NOT NULL,
   `password` VARCHAR(255) NOT NULL,
   `email` VARCHAR(255) NOT NULL UNIQUE,
-  `passkey` VARCHAR(255) NOT NULL UNIQUE
+  `passkey` VARCHAR(255) NOT NULL UNIQUE,
+  `user_level` ENUM('lv1', 'lv2', 'lv3', 'vip') DEFAULT 'lv1',
+  `signin_count` INT DEFAULT 0,
+  `last_signin_date` DATE,
+  INDEX `idx_user_level` (`user_level`)  -- 按等级查询优化
 );
 -- 用户统计表
 CREATE TABLE IF NOT EXISTS `user_stats` (
@@ -158,4 +162,12 @@
     FOREIGN KEY (`post_id`) REFERENCES `posts`(`post_id`),
     FOREIGN KEY (`user_id`) REFERENCES `users`(`user_id`),
     FOREIGN KEY (`resolved_by`) REFERENCES `users`(`user_id`)
-);
\ No newline at end of file
+);
+
+CREATE TABLE IF NOT EXISTS `user_signin` (
+    `signin_id` BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '签到记录ID',
+    `user_id` BIGINT NOT NULL COMMENT '用户ID',
+    `signin_date` DATE NOT NULL COMMENT '签到日期',
+    FOREIGN KEY (`user_id`) REFERENCES `users`(`user_id`) ON DELETE CASCADE,
+    UNIQUE KEY `unique_user_daily_signin` (`user_id`, `signin_date`)  -- 唯一约束:用户每日只能签到一次
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
\ No newline at end of file