release: 提交版修改
This commit is contained in:
1208
web/docs/API接口设计.md
Normal file
1208
web/docs/API接口设计.md
Normal file
File diff suppressed because it is too large
Load Diff
106
web/docs/init.sql
Normal file
106
web/docs/init.sql
Normal file
@@ -0,0 +1,106 @@
|
||||
-- 创建数据库
|
||||
CREATE DATABASE IF NOT EXISTS `campus_activity`
|
||||
DEFAULT CHARACTER SET utf8mb4
|
||||
COLLATE utf8mb4_general_ci;
|
||||
|
||||
USE `campus_activity`;
|
||||
|
||||
-- 创建用户表
|
||||
CREATE TABLE `user` (
|
||||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '用户ID',
|
||||
`username` VARCHAR(50) NOT NULL COMMENT '登录用户名',
|
||||
`password` VARCHAR(255) NOT NULL COMMENT '密码',
|
||||
`name` VARCHAR(50) NOT NULL COMMENT '真实姓名',
|
||||
`student_id` VARCHAR(20) DEFAULT NULL COMMENT '学号',
|
||||
`email` VARCHAR(100) DEFAULT NULL COMMENT '邮箱',
|
||||
`phone` VARCHAR(20) DEFAULT NULL COMMENT '手机号',
|
||||
`avatar` VARCHAR(255) DEFAULT NULL COMMENT '头像URL',
|
||||
`role` TINYINT NOT NULL DEFAULT 0 COMMENT '角色:0-学生,1-管理员',
|
||||
`status` TINYINT DEFAULT 1 COMMENT '状态:0-禁用,1-正常',
|
||||
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`updated_at` DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`deleted` TINYINT DEFAULT 0 COMMENT '逻辑删除',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_username` (`username`),
|
||||
UNIQUE KEY `uk_student_id` (`student_id`),
|
||||
KEY `idx_role` (`role`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='用户表';
|
||||
|
||||
-- 创建活动表
|
||||
CREATE TABLE `activity` (
|
||||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '活动ID',
|
||||
`title` VARCHAR(100) NOT NULL COMMENT '活动名称',
|
||||
`description` TEXT DEFAULT NULL COMMENT '活动简介',
|
||||
`cover_image` VARCHAR(255) DEFAULT NULL COMMENT '封面图片',
|
||||
`start_time` DATETIME NOT NULL COMMENT '开始时间',
|
||||
`end_time` DATETIME NOT NULL COMMENT '结束时间',
|
||||
`registration_deadline` DATETIME DEFAULT NULL COMMENT '报名截止时间',
|
||||
`location` VARCHAR(200) NOT NULL COMMENT '活动地点',
|
||||
`max_participants` INT NOT NULL COMMENT '报名人数上限',
|
||||
`current_participants` INT DEFAULT 0 COMMENT '当前报名人数',
|
||||
`status` TINYINT DEFAULT 0 COMMENT '状态:0-未开始,1-报名中,2-进行中,3-已结束',
|
||||
`category` VARCHAR(50) DEFAULT NULL COMMENT '活动分类',
|
||||
`admin_id` BIGINT NOT NULL COMMENT '创建者ID',
|
||||
`qr_code` VARCHAR(255) DEFAULT NULL COMMENT '签到二维码',
|
||||
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`updated_at` DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`deleted` TINYINT DEFAULT 0 COMMENT '逻辑删除',
|
||||
`version` INT DEFAULT 0 COMMENT '乐观锁版本号',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_status` (`status`),
|
||||
KEY `idx_start_time` (`start_time`),
|
||||
KEY `idx_admin_id` (`admin_id`),
|
||||
CONSTRAINT `fk_activity_admin` FOREIGN KEY (`admin_id`) REFERENCES `user` (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='活动表';
|
||||
|
||||
-- 创建报名表
|
||||
CREATE TABLE `registration` (
|
||||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '报名ID',
|
||||
`user_id` BIGINT NOT NULL COMMENT '用户ID',
|
||||
`activity_id` BIGINT NOT NULL COMMENT '活动ID',
|
||||
`ticket_code` VARCHAR(100) DEFAULT NULL COMMENT '电子票唯一码',
|
||||
`ticket_pdf_url` VARCHAR(255) DEFAULT NULL COMMENT '电子票PDF地址',
|
||||
`status` TINYINT DEFAULT 1 COMMENT '状态:0-已取消,1-已报名,2-已签到',
|
||||
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '报名时间',
|
||||
`updated_at` DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`canceled_at` DATETIME DEFAULT NULL COMMENT '取消时间',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_user_activity` (`user_id`, `activity_id`),
|
||||
UNIQUE KEY `uk_ticket_code` (`ticket_code`),
|
||||
KEY `idx_activity_id` (`activity_id`),
|
||||
CONSTRAINT `fk_registration_user` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`),
|
||||
CONSTRAINT `fk_registration_activity` FOREIGN KEY (`activity_id`) REFERENCES `activity` (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='报名表';
|
||||
|
||||
-- 创建签到表
|
||||
CREATE TABLE `check_in` (
|
||||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '签到ID',
|
||||
`registration_id` BIGINT NOT NULL COMMENT '报名ID',
|
||||
`user_id` BIGINT NOT NULL COMMENT '用户ID',
|
||||
`activity_id` BIGINT NOT NULL COMMENT '活动ID',
|
||||
`check_in_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '签到时间',
|
||||
`check_in_method` TINYINT DEFAULT 0 COMMENT '签到方式:0-扫码,1-管理员代签',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_registration_id` (`registration_id`),
|
||||
KEY `idx_activity_id` (`activity_id`),
|
||||
KEY `idx_user_id` (`user_id`),
|
||||
CONSTRAINT `fk_checkin_registration` FOREIGN KEY (`registration_id`) REFERENCES `registration` (`id`),
|
||||
CONSTRAINT `fk_checkin_user` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`),
|
||||
CONSTRAINT `fk_checkin_activity` FOREIGN KEY (`activity_id`) REFERENCES `activity` (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='签到表';
|
||||
|
||||
-- 创建评价表
|
||||
CREATE TABLE `review` (
|
||||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '评价ID',
|
||||
`user_id` BIGINT NOT NULL COMMENT '用户ID',
|
||||
`activity_id` BIGINT NOT NULL COMMENT '活动ID',
|
||||
`rating` TINYINT NOT NULL COMMENT '评分(1-5)',
|
||||
`content` TEXT DEFAULT NULL COMMENT '评论内容',
|
||||
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '评价时间',
|
||||
`updated_at` DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_user_activity` (`user_id`, `activity_id`),
|
||||
KEY `idx_activity_id` (`activity_id`),
|
||||
CONSTRAINT `fk_review_user` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`),
|
||||
CONSTRAINT `fk_review_activity` FOREIGN KEY (`activity_id`) REFERENCES `activity` (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='评价表';
|
||||
107
web/docs/需求文档.md
Normal file
107
web/docs/需求文档.md
Normal file
@@ -0,0 +1,107 @@
|
||||
# 校园活动组织与报名系统 - 需求文档
|
||||
|
||||
## 1. 课程信息
|
||||
|
||||
- **课程名称**: 校园活动组织与报名系统
|
||||
- **课题来源**: 教师自拟
|
||||
- **课题类型**: 综合型
|
||||
- **完成时间**: 2025年X月X日
|
||||
- **课题分组**: 2-3人一组
|
||||
|
||||
## 2. 目的和意义
|
||||
|
||||
1. 软件工程方法的综合运用能力
|
||||
2. Java语言解决实际问题的能力
|
||||
3. 数据库设计与系统集成能力
|
||||
4. 规范化文档编写能力
|
||||
|
||||
## 3. 需求概要
|
||||
|
||||
系统面向校园内的活动组织与参与场景,实现活动从发布 → 报名 → 签到 → 评价 → 统计分析的一体化管理。
|
||||
|
||||
## 4. 用户角色说明
|
||||
|
||||
### 4.1 普通学生用户
|
||||
- 浏览活动
|
||||
- 报名/取消报名
|
||||
- 签到
|
||||
- 对活动进行评分与评论
|
||||
|
||||
### 4.2 活动管理员
|
||||
- 发布活动
|
||||
- 管理报名信息
|
||||
- 查看签到与评价
|
||||
- 导出活动数据
|
||||
|
||||
## 5. 功能模块
|
||||
|
||||
### 5.1 活动发布与管理模块
|
||||
|
||||
管理员可以创建并管理校园活动,至少包含以下信息:
|
||||
- 活动名称
|
||||
- 活动简介
|
||||
- 活动时间(开始时间、结束时间)
|
||||
- 活动地点
|
||||
- 报名人数上限
|
||||
- 活动状态(未开始/报名中/已结束)
|
||||
|
||||
**功能列表**:
|
||||
- 新增活动
|
||||
- 修改活动信息
|
||||
- 删除活动(或逻辑删除)
|
||||
- 查询活动列表(按时间或状态)
|
||||
- 以日历形式展示活动
|
||||
- 检测活动时间冲突并提示
|
||||
|
||||
### 5.2 报名与取消报名模块
|
||||
|
||||
学生可以对活动进行报名和取消报名操作。
|
||||
|
||||
**功能列表**:
|
||||
- 学生报名活动,报名成功后自动生成电子票(PDF),包含活动信息、学生姓名、二维码
|
||||
- 系统检查:
|
||||
- 是否已报名
|
||||
- 是否时间冲突
|
||||
- 是否超过人数上限
|
||||
- 学生取消报名(活动未开始前)
|
||||
|
||||
### 5.3 签到管理(二维码)模块
|
||||
|
||||
系统需支持活动签到功能。
|
||||
|
||||
**功能列表**:
|
||||
- 管理员为某个活动生成签到二维码
|
||||
- 学生通过"扫码"或者管理员扫学生电子票完成签到
|
||||
- 系统记录签到时间
|
||||
|
||||
### 5.4 活动评分与评论模块
|
||||
|
||||
活动结束后,学生可对参加过的活动进行评价。
|
||||
|
||||
**功能列表**:
|
||||
- 评分(如1-5分)
|
||||
- 评论内容
|
||||
- 每个学生对同一活动只能评价一次
|
||||
- 管理员可查看所有评价
|
||||
|
||||
### 5.5 数据统计与导出
|
||||
|
||||
系统需具备基本统计能力,例如每个活动的报名人数、实际签到人数、平均评分。管理员可导出活动数据(如CSV或Excel)。
|
||||
|
||||
## 6. 提交成果
|
||||
|
||||
### 6.1 文档
|
||||
包括软件需求分析说明书、软件设计说明书、软件使用手册。
|
||||
|
||||
### 6.2 作品
|
||||
可以采用基于Java桌面应用(Swing/JavaFX)、前后端分离系统(后端Java)。
|
||||
|
||||
## 7. 评分标准
|
||||
|
||||
1. **功能完整性**: 50%
|
||||
2. **数据库设计**: 20%
|
||||
3. **软件文档规范性**: 30%
|
||||
|
||||
## 8. 答辩要求
|
||||
|
||||
答辩时交付纸质软件过程文档(每组1份)。
|
||||
@@ -30,7 +30,7 @@
|
||||
<van-cell-group class="menu-group" inset v-if="authStore.isLoggedIn">
|
||||
<van-cell title="我的报名" is-link to="/registrations/my" />
|
||||
<van-cell title="我的评价" is-link to="/reviews/my" />
|
||||
<van-cell title="修改密码" is-link to="/auth/password" />
|
||||
<!-- <van-cell title="修改密码" is-link to="/auth/password" /> -->
|
||||
</van-cell-group>
|
||||
|
||||
<van-cell-group class="menu-group" inset v-if="user?.role === 1">
|
||||
|
||||
Reference in New Issue
Block a user