实现登录注册接口
Change-Id: I3d57cca89cac8945d562f6a39127b3454c1cd9ac
diff --git a/src/main/resources/schema.sql b/src/main/resources/schema.sql
new file mode 100644
index 0000000..8bb0c85
--- /dev/null
+++ b/src/main/resources/schema.sql
@@ -0,0 +1,45 @@
+CREATE TABLE `user` (
+ `user_id` INT PRIMARY KEY AUTO_INCREMENT,
+ `username` VARCHAR(255) NOT NULL UNIQUE,
+ `email` VARCHAR(255) NOT NULL UNIQUE,
+ `password` VARCHAR(255) NOT NULL,
+ `address` VARCHAR(255),
+ `role` VARCHAR(50) NOT NULL DEFAULT 'user',
+ `profile_pic` VARCHAR(255),
+ `registration_date` DATETIME NOT NULL, -- 推荐用时间类型(而非字符串)
+ `identification_number` VARCHAR(18), -- 身份证号建议用 VARCHAR(18)
+ `avatar` VARCHAR(255),
+ `isfollowed` BOOLEAN NOT NULL DEFAULT FALSE,
+ INDEX `idx_user_id` (`user_id`) -- 可选:主键通常自带索引
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+CREATE TABLE invite_code (
+ code VARCHAR(20) PRIMARY KEY,
+ max_uses INT NOT NULL,
+ remaining_uses INT NOT NULL,
+ expiry_time DATETIME NOT NULL,
+ created_by INT NOT NULL,
+ created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+ FOREIGN KEY (created_by) REFERENCES user(user_id)
+);
+
+CREATE TABLE user_follow (
+ follower_id INT NOT NULL,
+ followed_id INT NOT NULL,
+ created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+ PRIMARY KEY (follower_id, followed_id),
+ FOREIGN KEY (follower_id) REFERENCES user(user_id),
+ FOREIGN KEY (followed_id) REFERENCES user(user_id)
+);
+
+INSERT INTO `user` (
+ username, email, password, registration_date, identification_number, role
+) VALUES (
+ 'admin', 'admin@example.com', 'admin123', NOW(), 87654321, 'admin'
+ );
+
+INSERT INTO invite_code (
+ code, max_uses, remaining_uses, expiry_time, created_by
+) VALUES
+ ('WELCOME2025', 5, 5, '2026-01-01 00:00:00', 1),
+ ('INVITEONLY', 3, 3, '2025-12-31 23:59:59', 1);
\ No newline at end of file