-- MySQL dump 10.13  Distrib 8.0.41, for Linux (x86_64)
--
-- Host: 127.0.0.1    Database: SAMS
-- ------------------------------------------------------
-- Server version	8.0.41-0ubuntu0.22.04.1

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!50503 SET NAMES utf8mb4 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Table structure for table `ams_activity`
--

DROP TABLE IF EXISTS `ams_activity`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `ams_activity` (
  `act_id` bigint NOT NULL AUTO_INCREMENT COMMENT '活动ID',
  `title` varchar(100) NOT NULL COMMENT '活动标题',
  `description` text COMMENT '活动描述',
  `start_time` datetime NOT NULL COMMENT '开始时间',
  `end_time` datetime NOT NULL COMMENT '结束时间',
  `location` varchar(255) DEFAULT NULL COMMENT '地点',
  `budget` decimal(10,2) DEFAULT '0.00' COMMENT '预算',
  `max_participants` int DEFAULT NULL COMMENT '最大参与人数',
  `creator_id` bigint NOT NULL COMMENT '创建者ID',
  `college_id` bigint DEFAULT NULL COMMENT '所属院系ID',
  `club_id` bigint DEFAULT NULL COMMENT '所属社团ID',
  `visibility` enum('public','private') DEFAULT 'public' COMMENT '是否公开',
  `status` enum('DRAFT','PENDING_CLUB','PENDING_DEPARTMENT','PENDING_COLLEGE','APPROVED','ONGOING','COMPLETED','CANCELLED') DEFAULT 'DRAFT' COMMENT '活动状态',
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updated_at` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
  `activity_type` enum('COLLEGE','DEPARTMENT','CLUB_INTERNAL','CLUB_EXTERNAL') DEFAULT 'DEPARTMENT' COMMENT '活动类型（COLLEGE: 校级, DEPARTMENT: 院级, CLUB_INTERNAL: 社团内部, CLUB_EXTERNAL: 社团外部)',
  `current_approver_id` bigint DEFAULT NULL COMMENT '当前审批人ID',
  `cover_image` varchar(255) DEFAULT NULL COMMENT '活动封面图片URL',
  `banner_images` text COMMENT '活动轮播图片URLs，多个URL用逗号分隔',
  `detail_images` text COMMENT '活动详情图片URLs，多个URL用逗号分隔',
  `attachments` text COMMENT '活动附件URLs，多个URL用逗号分隔',
  PRIMARY KEY (`act_id`),
  KEY `creator_id` (`creator_id`),
  KEY `club_id` (`club_id`),
  KEY `ams_activity_ibfk_3` (`college_id`),
  CONSTRAINT `ams_activity_ibfk_1` FOREIGN KEY (`creator_id`) REFERENCES `sys_user` (`user_id`),
  CONSTRAINT `ams_activity_ibfk_2` FOREIGN KEY (`club_id`) REFERENCES `sms_club` (`club_id`),
  CONSTRAINT `ams_activity_ibfk_3` FOREIGN KEY (`college_id`) REFERENCES `sms_college` (`college_id`) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='活动表';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `ams_activity`
--

LOCK TABLES `ams_activity` WRITE;
/*!40000 ALTER TABLE `ams_activity` DISABLE KEYS */;
/*!40000 ALTER TABLE `ams_activity` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `ams_approval`
--

DROP TABLE IF EXISTS `ams_approval`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `ams_approval` (
  `appr_id` bigint NOT NULL AUTO_INCREMENT COMMENT '审批ID',
  `act_id` bigint NOT NULL COMMENT '活动ID',
  `user_id` bigint NOT NULL COMMENT '发起者ID',
  `approver_id` bigint NOT NULL COMMENT '审批人ID',
  `reason` text COMMENT '拒绝原因（如果适用）',
  `status` enum('APPROVED','REJECTED','PENDING') DEFAULT 'PENDING' COMMENT '审批状态',
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  PRIMARY KEY (`appr_id`),
  KEY `act_id` (`act_id`),
  KEY `user_id` (`user_id`),
  KEY `approver_id` (`approver_id`),
  CONSTRAINT `ams_approval_ibfk_1` FOREIGN KEY (`act_id`) REFERENCES `ams_activity` (`act_id`),
  CONSTRAINT `ams_approval_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `sys_user` (`user_id`),
  CONSTRAINT `ams_approval_ibfk_3` FOREIGN KEY (`approver_id`) REFERENCES `sys_user` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='活动审批表';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `ams_approval`
--

LOCK TABLES `ams_approval` WRITE;
/*!40000 ALTER TABLE `ams_approval` DISABLE KEYS */;
/*!40000 ALTER TABLE `ams_approval` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `ams_comment`
--

DROP TABLE IF EXISTS `ams_comment`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `ams_comment` (
  `comment_id` bigint NOT NULL AUTO_INCREMENT COMMENT '评论ID',
  `user_id` bigint NOT NULL COMMENT '用户ID',
  `act_id` bigint NOT NULL COMMENT '活动ID',
  `parent_comment_id` bigint DEFAULT NULL COMMENT '父评论ID（为空表示是顶级评论）',
  `content` text NOT NULL COMMENT '评论内容',
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '评论时间',
  PRIMARY KEY (`comment_id`),
  KEY `user_id` (`user_id`),
  KEY `act_id` (`act_id`),
  KEY `ams_comment_ibfk_3` (`parent_comment_id`),
  CONSTRAINT `ams_comment_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `sys_user` (`user_id`) ON DELETE CASCADE,
  CONSTRAINT `ams_comment_ibfk_2` FOREIGN KEY (`act_id`) REFERENCES `ams_activity` (`act_id`) ON DELETE CASCADE,
  CONSTRAINT `ams_comment_ibfk_3` FOREIGN KEY (`parent_comment_id`) REFERENCES `ams_comment` (`comment_id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='活动评论表';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `ams_comment`
--

LOCK TABLES `ams_comment` WRITE;
/*!40000 ALTER TABLE `ams_comment` DISABLE KEYS */;
/*!40000 ALTER TABLE `ams_comment` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `ams_reaction`
--

DROP TABLE IF EXISTS `ams_reaction`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `ams_reaction` (
  `reaction_id` bigint NOT NULL AUTO_INCREMENT COMMENT '点赞/点踩ID',
  `user_id` bigint NOT NULL COMMENT '用户ID',
  `act_id` bigint NOT NULL COMMENT '活动ID',
  `reaction_type` enum('like','dislike') NOT NULL COMMENT '反应类型（like: 点赞, dislike: 点踩）',
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '反应时间',
  PRIMARY KEY (`reaction_id`),
  UNIQUE KEY `uniq_user_activity_reaction` (`user_id`,`act_id`),
  KEY `act_id` (`act_id`),
  CONSTRAINT `ams_reaction_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `sys_user` (`user_id`) ON DELETE CASCADE,
  CONSTRAINT `ams_reaction_ibfk_2` FOREIGN KEY (`act_id`) REFERENCES `ams_activity` (`act_id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='活动点赞/点踩表';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `ams_reaction`
--

LOCK TABLES `ams_reaction` WRITE;
/*!40000 ALTER TABLE `ams_reaction` DISABLE KEYS */;
/*!40000 ALTER TABLE `ams_reaction` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `ams_registration`
--

DROP TABLE IF EXISTS `ams_registration`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `ams_registration` (
  `reg_id` bigint NOT NULL AUTO_INCREMENT COMMENT '报名ID',
  `act_id` bigint NOT NULL COMMENT '活动ID',
  `user_id` bigint NOT NULL COMMENT '用户ID',
  `role` enum('organizer','participant') DEFAULT 'participant' COMMENT '角色（organizer: 组织者, participant: 参与者）',
  `status` enum('registered','cancelled','attended','absent') DEFAULT 'registered' COMMENT '报名状态',
  `register_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '报名时间',
  `attend_time` datetime DEFAULT NULL COMMENT '参与时间',
  PRIMARY KEY (`reg_id`),
  KEY `act_id` (`act_id`),
  KEY `user_id` (`user_id`),
  CONSTRAINT `ams_registration_ibfk_1` FOREIGN KEY (`act_id`) REFERENCES `ams_activity` (`act_id`),
  CONSTRAINT `ams_registration_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `sys_user` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='活动报名表';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `ams_registration`
--

LOCK TABLES `ams_registration` WRITE;
/*!40000 ALTER TABLE `ams_registration` DISABLE KEYS */;
/*!40000 ALTER TABLE `ams_registration` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `sms_club`
--

DROP TABLE IF EXISTS `sms_club`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `sms_club` (
  `club_id` bigint NOT NULL AUTO_INCREMENT COMMENT '社团ID',
  `club_name` varchar(50) NOT NULL COMMENT '社团名称',
  `description` text COMMENT '社团简介',
  `category` enum('文化艺术','学术科技','社会公益','其他') NOT NULL COMMENT '社团类型',
  `college_id` bigint NOT NULL COMMENT '所属院系',
  `leader_id` bigint DEFAULT NULL COMMENT '负责人ID',
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `logo_image` varchar(255) DEFAULT NULL COMMENT '社团Logo图片URL',
  `banner_images` text COMMENT '社团主页轮播图片URLs，多个URL用逗号分隔',
  `activity_images` text COMMENT '社团活动照片URLs，多个URL用逗号分隔',
  PRIMARY KEY (`club_id`),
  KEY `college_id` (`college_id`),
  KEY `leader_id` (`leader_id`),
  CONSTRAINT `sms_club_ibfk_1` FOREIGN KEY (`college_id`) REFERENCES `sms_college` (`college_id`),
  CONSTRAINT `sms_club_ibfk_2` FOREIGN KEY (`leader_id`) REFERENCES `sys_user` (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='社团表';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `sms_club`
--

LOCK TABLES `sms_club` WRITE;
/*!40000 ALTER TABLE `sms_club` DISABLE KEYS */;
INSERT INTO `sms_club` VALUES (1,'编程爱好者协会','学习编程、算法与开发','学术科技',2,2,'2025-02-13 11:43:50',NULL,NULL,NULL),(2,'篮球社','喜欢打篮球的同学们','其他',3,3,'2025-02-13 11:43:50',NULL,NULL,NULL);
/*!40000 ALTER TABLE `sms_club` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `sms_club_user`
--

DROP TABLE IF EXISTS `sms_club_user`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `sms_club_user` (
  `suc_id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `user_id` bigint NOT NULL COMMENT '用户ID',
  `club_id` bigint NOT NULL COMMENT '社团ID',
  `is_active` tinyint(1) DEFAULT '1' COMMENT '是否活跃',
  `join_date` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '加入日期',
  PRIMARY KEY (`suc_id`),
  UNIQUE KEY `uniq_user_club` (`user_id`,`club_id`),
  KEY `club_id` (`club_id`),
  CONSTRAINT `sms_club_user_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `sys_user` (`user_id`),
  CONSTRAINT `sms_club_user_ibfk_2` FOREIGN KEY (`club_id`) REFERENCES `sms_club` (`club_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='社团用户关系表';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `sms_club_user`
--

LOCK TABLES `sms_club_user` WRITE;
/*!40000 ALTER TABLE `sms_club_user` DISABLE KEYS */;
/*!40000 ALTER TABLE `sms_club_user` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `sms_college`
--

DROP TABLE IF EXISTS `sms_college`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `sms_college` (
  `college_id` bigint NOT NULL AUTO_INCREMENT COMMENT '院系ID',
  `college_name` varchar(255) NOT NULL COMMENT '名称（高校或院系）',
  `parent_id` bigint DEFAULT NULL COMMENT '父院系ID（高校此值为空）',
  `email` varchar(50) DEFAULT '' COMMENT '邮箱',
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  PRIMARY KEY (`college_id`),
  KEY `parent_id` (`parent_id`),
  CONSTRAINT `sms_college_ibfk_1` FOREIGN KEY (`parent_id`) REFERENCES `sms_college` (`college_id`) ON DELETE SET NULL
) ENGINE=InnoDB AUTO_INCREMENT=33 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='高校及院系表';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `sms_college`
--

LOCK TABLES `sms_college` WRITE;
/*!40000 ALTER TABLE `sms_college` DISABLE KEYS */;
INSERT INTO `sms_college` VALUES (1,'山东建筑大学',NULL,'contact@sdu.edu.cn','2025-02-13 11:40:45'),(2,'计算机科学与技术学院',1,'cs@sdu.edu.cn','2025-02-13 11:40:45'),(3,'土木工程学院',1,'civil@sdu.edu.cn','2025-02-13 11:40:45'),(4,'管理工程学院',1,'contact4@sdu.edu.cn','2025-02-13 11:51:12'),(5,'热能工程学院',1,'contact5@sdu.edu.cn','2025-02-13 11:51:12'),(6,'市政与环境工程学院',1,'contact6@sdu.edu.cn','2025-02-13 11:51:12'),(7,'机电工程学院',1,'contact7@sdu.edu.cn','2025-02-13 11:51:12'),(8,'理学院',1,'contact8@sdu.edu.cn','2025-02-13 11:51:12'),(9,'商学院',1,'contact9@sdu.edu.cn','2025-02-13 11:51:12'),(10,'交通工程学院',1,'contact10@sdu.edu.cn','2025-02-13 11:51:12'),(11,'艺术学院',1,'contact11@sdu.edu.cn','2025-02-13 11:51:12'),(12,'法学院',1,'contact12@sdu.edu.cn','2025-02-13 11:51:12'),(13,'外国语学院',1,'contact13@sdu.edu.cn','2025-02-13 11:51:12'),(20,'山东大学',NULL,'contact@su.edu.cn','2025-02-13 11:52:27'),(21,'计算机科学与技术学院',2,'cs@sdu.edu.cn','2025-02-13 11:52:48'),(22,'土木工程学院',2,'civil@sdu.edu.cn','2025-02-13 11:52:48'),(23,'管理工程学院',2,'contact4@sdu.edu.cn','2025-02-13 11:52:48'),(24,'热能工程学院',2,'contact5@sdu.edu.cn','2025-02-13 11:52:48'),(25,'市政与环境工程学院',2,'contact6@sdu.edu.cn','2025-02-13 11:52:48'),(26,'机电工程学院',2,'contact7@sdu.edu.cn','2025-02-13 11:52:48'),(27,'理学院',2,'contact8@sdu.edu.cn','2025-02-13 11:52:48'),(28,'商学院',2,'contact9@sdu.edu.cn','2025-02-13 11:52:48'),(29,'交通工程学院',2,'contact10@sdu.edu.cn','2025-02-13 11:52:48'),(30,'艺术学院',2,'contact11@sdu.edu.cn','2025-02-13 11:52:48'),(31,'法学院',2,'contact12@sdu.edu.cn','2025-02-13 11:52:48'),(32,'外国语学院',2,'contact13@sdu.edu.cn','2025-02-13 11:52:48');
/*!40000 ALTER TABLE `sms_college` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `sms_college_leader`
--

DROP TABLE IF EXISTS `sms_college_leader`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `sms_college_leader` (
  `college_id` bigint NOT NULL COMMENT '院系ID',
  `user_id` bigint NOT NULL COMMENT '负责人ID',
  `assigned_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '指派时间',
  PRIMARY KEY (`college_id`,`user_id`),
  KEY `user_id` (`user_id`),
  CONSTRAINT `sms_college_leader_ibfk_1` FOREIGN KEY (`college_id`) REFERENCES `sms_college` (`college_id`) ON DELETE CASCADE,
  CONSTRAINT `sms_college_leader_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `sys_user` (`user_id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='院系负责人表';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `sms_college_leader`
--

LOCK TABLES `sms_college_leader` WRITE;
/*!40000 ALTER TABLE `sms_college_leader` DISABLE KEYS */;
/*!40000 ALTER TABLE `sms_college_leader` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `sys_file`
--

DROP TABLE IF EXISTS `sys_file`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `sys_file` (
  `file_id` bigint NOT NULL AUTO_INCREMENT COMMENT '文件ID',
  `file_name` varchar(255) NOT NULL COMMENT '文件名称',
  `file_path` varchar(255) NOT NULL COMMENT '存储路径',
  `file_type` enum('document','club_image','other') NOT NULL COMMENT '文件类型',
  `uploaded_by` bigint NOT NULL COMMENT '上传者ID',
  `visibility` enum('public','private') DEFAULT 'private' COMMENT '文件可见性',
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '上传时间',
  PRIMARY KEY (`file_id`),
  KEY `uploaded_by` (`uploaded_by`),
  CONSTRAINT `sys_file_ibfk_1` FOREIGN KEY (`uploaded_by`) REFERENCES `sys_user` (`user_id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='系统文件表';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `sys_file`
--

LOCK TABLES `sys_file` WRITE;
/*!40000 ALTER TABLE `sys_file` DISABLE KEYS */;
/*!40000 ALTER TABLE `sys_file` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `sys_logs`
--

DROP TABLE IF EXISTS `sys_logs`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `sys_logs` (
  `log_id` bigint NOT NULL AUTO_INCREMENT COMMENT '日志ID',
  `user_id` bigint NOT NULL COMMENT '用户ID',
  `action` varchar(255) NOT NULL COMMENT '操作类型',
  `description` text COMMENT '描述',
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '操作时间',
  PRIMARY KEY (`log_id`),
  KEY `idx_user_id` (`user_id`),
  CONSTRAINT `sys_logs_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `sys_user` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='系统日志表';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `sys_logs`
--

LOCK TABLES `sys_logs` WRITE;
/*!40000 ALTER TABLE `sys_logs` DISABLE KEYS */;
/*!40000 ALTER TABLE `sys_logs` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `sys_notification`
--

DROP TABLE IF EXISTS `sys_notification`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `sys_notification` (
  `notification_id` bigint NOT NULL AUTO_INCREMENT COMMENT '通知ID',
  `sender_id` bigint DEFAULT NULL COMMENT '发送者ID',
  `title` varchar(255) NOT NULL COMMENT '通知标题',
  `content` text NOT NULL COMMENT '通知内容',
  `type` enum('SYSTEM','ACTIVITY','CLUB') NOT NULL DEFAULT 'SYSTEM' COMMENT '通知类型（SYSTEM: 系统通知, ACTIVITY: 活动通知, CLUB: 社团通知）',
  `source_id` bigint DEFAULT NULL COMMENT '关联ID（活动ID或社团ID）',
  `status` enum('DRAFT','PUBLISHED','WITHDRAWN') DEFAULT 'DRAFT' COMMENT '通知状态',
  `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`notification_id`),
  KEY `sys_notification_ibfk_2` (`sender_id`),
  CONSTRAINT `sys_notification_ibfk_2` FOREIGN KEY (`sender_id`) REFERENCES `sys_user` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='系统通知表';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `sys_notification`
--

LOCK TABLES `sys_notification` WRITE;
/*!40000 ALTER TABLE `sys_notification` DISABLE KEYS */;
/*!40000 ALTER TABLE `sys_notification` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `sys_notification_receiver`
--

DROP TABLE IF EXISTS `sys_notification_receiver`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `sys_notification_receiver` (
  `nr_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `notification_id` bigint NOT NULL COMMENT '通知ID',
  `receiver_id` bigint NOT NULL COMMENT '接收者ID',
  `is_read` tinyint(1) DEFAULT '0' COMMENT '是否已读',
  `read_time` datetime DEFAULT NULL COMMENT '阅读时间',
  PRIMARY KEY (`nr_id`),
  UNIQUE KEY `uniq_notification_receiver` (`notification_id`,`receiver_id`),
  KEY `idx_receiver_id` (`receiver_id`),
  CONSTRAINT `sys_notification_receiver_ibfk_1` FOREIGN KEY (`notification_id`) REFERENCES `sys_notification` (`notification_id`) ON DELETE CASCADE,
  CONSTRAINT `sys_notification_receiver_ibfk_2` FOREIGN KEY (`receiver_id`) REFERENCES `sys_user` (`user_id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='通知接收者关联表';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `sys_notification_receiver`
--

LOCK TABLES `sys_notification_receiver` WRITE;
/*!40000 ALTER TABLE `sys_notification_receiver` DISABLE KEYS */;
/*!40000 ALTER TABLE `sys_notification_receiver` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `sys_role`
--

DROP TABLE IF EXISTS `sys_role`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `sys_role` (
  `role_id` bigint NOT NULL AUTO_INCREMENT COMMENT '角色ID',
  `role_name` varchar(30) NOT NULL COMMENT '角色名称',
  `role_key` varchar(64) NOT NULL COMMENT '角色标识',
  `role_desc` varchar(255) DEFAULT NULL COMMENT '角色描述',
  `status` enum('active','inactive') DEFAULT 'active' COMMENT '状态',
  PRIMARY KEY (`role_id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用户角色表';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `sys_role`
--

LOCK TABLES `sys_role` WRITE;
/*!40000 ALTER TABLE `sys_role` DISABLE KEYS */;
INSERT INTO `sys_role` VALUES (0,'系统管理员','ADMIN','最高权限，管理所有用户与活动','active'),(1,'参与者','PARTICIPANT','普通用户，可以报名活动、评论、点赞','active'),(2,'校级管理员','COLLEGE_ADMIN','管理校级活动及院系','active'),(3,'院级管理员','DEPARTMENT_ADMIN','管理院系活动','active'),(4,'社团管理员','CLUB_ADMIN','管理社团活动','active');
/*!40000 ALTER TABLE `sys_role` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `sys_user`
--

DROP TABLE IF EXISTS `sys_user`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `sys_user` (
  `user_id` bigint NOT NULL AUTO_INCREMENT COMMENT '用户ID',
  `nick_name` varchar(30) DEFAULT '' COMMENT '用户昵称',
  `user_name` varchar(30) NOT NULL COMMENT '真实姓名',
  `password` varchar(100) NOT NULL COMMENT '用户密码',
  `school_id` char(12) NOT NULL COMMENT '学号/教职工号',
  `college_id` bigint DEFAULT NULL COMMENT '所属院系',
  `email` varchar(50) DEFAULT '' COMMENT '用户邮箱',
  `avatar` varchar(100) DEFAULT '' COMMENT '头像地址',
  `status` enum('active','inactive','banned') DEFAULT 'active' COMMENT '账号状态',
  PRIMARY KEY (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='系统用户表';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `sys_user`
--

LOCK TABLES `sys_user` WRITE;
/*!40000 ALTER TABLE `sys_user` DISABLE KEYS */;
INSERT INTO `sys_user` VALUES (1,'张三','zhangsan','$2a$10$s.VV5gOYzptj/W8H3bayie4.Hbz0oQdTau0XuuT1TN/HACCOmgUqW','202511110001',2,'zhangsan@example.com','','active'),(2,'李四','lisi','$2a$10$s.VV5gOYzptj/W8H3bayie4.Hbz0oQdTau0XuuT1TN/HACCOmgUqW','202511110002',2,'lisi@example.com','','active'),(3,'王五','wangwu','$2a$10$s.VV5gOYzptj/W8H3bayie4.Hbz0oQdTau0XuuT1TN/HACCOmgUqW','202511110003',2,'wangwu@example.com','','active'),(4,'赵六','zhaoliu','$2a$10$s.VV5gOYzptj/W8H3bayie4.Hbz0oQdTau0XuuT1TN/HACCOmgUqW','202511110004',3,'zhaoliu@example.com','','active'),(6,'用户6','user6','$2a$10$s.VV5gOYzptj/W8H3bayie4.Hbz0oQdTau0XuuT1TN/HACCOmgUqW','202588456301',4,'user6@example.com','','active'),(7,'用户7','user7','$2a$10$s.VV5gOYzptj/W8H3bayie4.Hbz0oQdTau0XuuT1TN/HACCOmgUqW','202598705123',5,'user7@example.com','','active'),(8,'用户8','user8','$2a$10$s.VV5gOYzptj/W8H3bayie4.Hbz0oQdTau0XuuT1TN/HACCOmgUqW','202556098765',6,'user8@example.com','','active'),(9,'用户9','user9','$2a$10$s.VV5gOYzptj/W8H3bayie4.Hbz0oQdTau0XuuT1TN/HACCOmgUqW','202512340987',7,'user9@example.com','','active');
/*!40000 ALTER TABLE `sys_user` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `sys_user_role`
--

DROP TABLE IF EXISTS `sys_user_role`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `sys_user_role` (
  `user_id` bigint NOT NULL COMMENT '用户ID',
  `role_id` bigint NOT NULL COMMENT '角色ID',
  PRIMARY KEY (`user_id`,`role_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用户和角色关联表';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `sys_user_role`
--

LOCK TABLES `sys_user_role` WRITE;
/*!40000 ALTER TABLE `sys_user_role` DISABLE KEYS */;
INSERT INTO `sys_user_role` VALUES (1,0),(2,2),(3,3),(3,4),(4,4),(6,1),(7,1),(8,1),(9,1);
/*!40000 ALTER TABLE `sys_user_role` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2025-03-25 21:02:25
