From 03d32a62b37bee5e8893d95e43bd4a3014a38246 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=97=B5=E5=AE=AA=E7=91=9E?= <9198107+min-xianrui@user.noreply.gitee.com> Date: Tue, 27 May 2025 13:41:58 +0800 Subject: [PATCH] add --- .gitignore | 2 + db/xm_examination.sql | 271 +++ files/1721114905635-柴犬.jpeg | Bin 0 -> 27632 bytes files/1728484762449-柴犬.jpeg | Bin 0 -> 27632 bytes files/1728484862680-柯基.jpeg | Bin 0 -> 38745 bytes files/1728486694570-柴犬.jpeg | Bin 0 -> 27632 bytes files/1728486728196-拉布拉多.jpeg | Bin 0 -> 31354 bytes files/1728486753434-柯基.jpeg | Bin 0 -> 38745 bytes files/1728545484737-Java基础入门课程.jpg | Bin 0 -> 346394 bytes files/1728545691210-Java基础入门课程.jpg | Bin 0 -> 346394 bytes files/1728545950698-Vue最新教程.jpg | Bin 0 -> 157569 bytes files/1728545989297-Java入学课程.jpg | Bin 0 -> 279817 bytes files/1728563597926-2.png | Bin 0 -> 41205 bytes files/1728563732106-2.png | Bin 0 -> 41205 bytes files/1728564558044-9.png | Bin 0 -> 5283 bytes files/1728564626540-10.png | Bin 0 -> 39624 bytes files/1728564833337-10.png | Bin 0 -> 39624 bytes files/1728566947212-柴犬.jpeg | Bin 0 -> 27632 bytes files/1728568543079-7.png | Bin 0 -> 41176 bytes files/1728568566399-right.jpg | Bin 0 -> 14955 bytes pom.xml | 78 + .../com/example/SpringbootApplication.java | 13 + .../java/com/example/common/Constants.java | 7 + src/main/java/com/example/common/Result.java | 70 + .../com/example/common/config/CorsConfig.java | 25 + .../example/common/config/JWTInterceptor.java | 81 + .../com/example/common/config/WebConfig.java | 21 + .../example/common/enums/ResultCodeEnum.java | 26 + .../com/example/common/enums/RoleEnum.java | 10 + .../example/controller/AdminController.java | 87 + .../example/controller/ArticleController.java | 93 + .../example/controller/CourseController.java | 87 + .../controller/ExamPlanController.java | 87 + .../example/controller/FileController.java | 96 + .../example/controller/NoticeController.java | 87 + .../controller/QuestionController.java | 87 + .../controller/QuestionTypeController.java | 87 + .../example/controller/ScoreController.java | 94 + .../example/controller/StudentController.java | 87 + .../example/controller/TeacherController.java | 87 + .../controller/TestPaperController.java | 100 + .../com/example/controller/WebController.java | 79 + src/main/java/com/example/entity/Account.java | 59 + src/main/java/com/example/entity/Admin.java | 79 + src/main/java/com/example/entity/Answer.java | 70 + src/main/java/com/example/entity/Article.java | 77 + src/main/java/com/example/entity/Course.java | 58 + .../java/com/example/entity/ExamPlan.java | 40 + src/main/java/com/example/entity/Notice.java | 40 + .../java/com/example/entity/Question.java | 153 ++ .../java/com/example/entity/QuestionType.java | 31 + src/main/java/com/example/entity/Score.java | 135 ++ src/main/java/com/example/entity/Student.java | 88 + src/main/java/com/example/entity/Teacher.java | 79 + .../java/com/example/entity/TestPaper.java | 210 +++ .../example/exception/CustomException.java | 35 + .../exception/GlobalExceptionHandler.java | 28 + .../java/com/example/mapper/AdminMapper.java | 24 + .../com/example/mapper/ArticleMapper.java | 23 + .../java/com/example/mapper/CourseMapper.java | 21 + .../com/example/mapper/ExamPlanMapper.java | 21 + .../java/com/example/mapper/NoticeMapper.java | 21 + .../com/example/mapper/QuestionMapper.java | 26 + .../example/mapper/QuestionTypeMapper.java | 23 + .../java/com/example/mapper/ScoreMapper.java | 21 + .../com/example/mapper/StudentMapper.java | 24 + .../com/example/mapper/TeacherMapper.java | 24 + .../com/example/mapper/TestPaperMapper.java | 21 + .../com/example/service/AdminService.java | 103 + .../com/example/service/ArticleService.java | 68 + .../com/example/service/CourseService.java | 63 + .../com/example/service/ExamPlanService.java | 55 + .../com/example/service/NoticeService.java | 55 + .../com/example/service/QuestionService.java | 63 + .../example/service/QuestionTypeService.java | 66 + .../com/example/service/ScoreService.java | 165 ++ .../com/example/service/StudentService.java | 113 ++ .../com/example/service/TeacherService.java | 109 ++ .../com/example/service/TestPaperService.java | 209 +++ .../java/com/example/utils/TokenUtils.java | 84 + src/main/resources/application.yml | 19 + src/main/resources/mapper/AdminMapper.xml | 71 + src/main/resources/mapper/ArticleMapper.xml | 60 + src/main/resources/mapper/CourseMapper.xml | 55 + src/main/resources/mapper/ExamPlanMapper.xml | 51 + src/main/resources/mapper/NoticeMapper.xml | 51 + src/main/resources/mapper/QuestionMapper.xml | 86 + .../resources/mapper/QuestionTypeMapper.xml | 46 + src/main/resources/mapper/ScoreMapper.xml | 66 + src/main/resources/mapper/StudentMapper.xml | 76 + src/main/resources/mapper/TeacherMapper.xml | 71 + src/main/resources/mapper/TestPaperMapper.xml | 61 + ui/.env.development | 1 + ui/.env.production | 1 + ui/.gitignore | 28 + ui/index.html | 13 + ui/jsconfig.json | 8 + ui/package.json | 28 + ui/public/favicon.ico | Bin 0 -> 11206 bytes ui/src/App.vue | 3 + ui/src/assets/css/front.css | 57 + ui/src/assets/css/global.css | 21 + ui/src/assets/css/index.scss | 7 + ui/src/assets/css/manager.css | 108 ++ ui/src/assets/imgs/404.jpg | Bin 0 -> 156674 bytes ui/src/assets/imgs/avatar.png | Bin 0 -> 4097 bytes ui/src/assets/imgs/bg.jpg | Bin 0 -> 62673 bytes ui/src/assets/imgs/carousel-1.jpg | Bin 0 -> 74454 bytes ui/src/assets/imgs/carousel-2.jpg | Bin 0 -> 126907 bytes ui/src/assets/imgs/carousel-3.jpg | Bin 0 -> 106481 bytes ui/src/assets/imgs/logo.png | Bin 0 -> 11206 bytes ui/src/main.js | 19 + ui/src/router/index.js | 49 + ui/src/utils/request.js | 53 + ui/src/views/404.vue | 10 + ui/src/views/Front.vue | 86 + ui/src/views/Login.vue | 99 + ui/src/views/Manager.vue | 104 ++ ui/src/views/Register.vue | 103 + ui/src/views/front/Exam.vue | 91 + ui/src/views/front/Forum.vue | 71 + ui/src/views/front/ForumDetail.vue | 35 + ui/src/views/front/Home.vue | 150 ++ ui/src/views/front/MyShare.vue | 198 ++ ui/src/views/front/Person.vue | 158 ++ ui/src/views/front/Score.vue | 60 + ui/src/views/front/TestPaper.vue | 123 ++ ui/src/views/front/TestPaperView.vue | 90 + ui/src/views/manager/Admin.vue | 187 ++ ui/src/views/manager/Course.vue | 182 ++ ui/src/views/manager/ExamPlan.vue | 159 ++ ui/src/views/manager/Home.vue | 71 + ui/src/views/manager/Notice.vue | 159 ++ ui/src/views/manager/Password.vue | 76 + ui/src/views/manager/Person.vue | 105 ++ ui/src/views/manager/Question.vue | 254 +++ ui/src/views/manager/QuestionType.vue | 160 ++ ui/src/views/manager/Score.vue | 140 ++ ui/src/views/manager/Share.vue | 106 ++ ui/src/views/manager/Student.vue | 201 ++ ui/src/views/manager/Teacher.vue | 187 ++ ui/src/views/manager/TestPaper.vue | 252 +++ ui/vite.config.js | 103 + ui/yarn.lock | 1661 +++++++++++++++++ 144 files changed, 10836 insertions(+) create mode 100644 db/xm_examination.sql create mode 100644 files/1721114905635-柴犬.jpeg create mode 100644 files/1728484762449-柴犬.jpeg create mode 100644 files/1728484862680-柯基.jpeg create mode 100644 files/1728486694570-柴犬.jpeg create mode 100644 files/1728486728196-拉布拉多.jpeg create mode 100644 files/1728486753434-柯基.jpeg create mode 100644 files/1728545484737-Java基础入门课程.jpg create mode 100644 files/1728545691210-Java基础入门课程.jpg create mode 100644 files/1728545950698-Vue最新教程.jpg create mode 100644 files/1728545989297-Java入学课程.jpg create mode 100644 files/1728563597926-2.png create mode 100644 files/1728563732106-2.png create mode 100644 files/1728564558044-9.png create mode 100644 files/1728564626540-10.png create mode 100644 files/1728564833337-10.png create mode 100644 files/1728566947212-柴犬.jpeg create mode 100644 files/1728568543079-7.png create mode 100644 files/1728568566399-right.jpg create mode 100644 pom.xml create mode 100644 src/main/java/com/example/SpringbootApplication.java create mode 100644 src/main/java/com/example/common/Constants.java create mode 100644 src/main/java/com/example/common/Result.java create mode 100644 src/main/java/com/example/common/config/CorsConfig.java create mode 100644 src/main/java/com/example/common/config/JWTInterceptor.java create mode 100644 src/main/java/com/example/common/config/WebConfig.java create mode 100644 src/main/java/com/example/common/enums/ResultCodeEnum.java create mode 100644 src/main/java/com/example/common/enums/RoleEnum.java create mode 100644 src/main/java/com/example/controller/AdminController.java create mode 100644 src/main/java/com/example/controller/ArticleController.java create mode 100644 src/main/java/com/example/controller/CourseController.java create mode 100644 src/main/java/com/example/controller/ExamPlanController.java create mode 100644 src/main/java/com/example/controller/FileController.java create mode 100644 src/main/java/com/example/controller/NoticeController.java create mode 100644 src/main/java/com/example/controller/QuestionController.java create mode 100644 src/main/java/com/example/controller/QuestionTypeController.java create mode 100644 src/main/java/com/example/controller/ScoreController.java create mode 100644 src/main/java/com/example/controller/StudentController.java create mode 100644 src/main/java/com/example/controller/TeacherController.java create mode 100644 src/main/java/com/example/controller/TestPaperController.java create mode 100644 src/main/java/com/example/controller/WebController.java create mode 100644 src/main/java/com/example/entity/Account.java create mode 100644 src/main/java/com/example/entity/Admin.java create mode 100644 src/main/java/com/example/entity/Answer.java create mode 100644 src/main/java/com/example/entity/Article.java create mode 100644 src/main/java/com/example/entity/Course.java create mode 100644 src/main/java/com/example/entity/ExamPlan.java create mode 100644 src/main/java/com/example/entity/Notice.java create mode 100644 src/main/java/com/example/entity/Question.java create mode 100644 src/main/java/com/example/entity/QuestionType.java create mode 100644 src/main/java/com/example/entity/Score.java create mode 100644 src/main/java/com/example/entity/Student.java create mode 100644 src/main/java/com/example/entity/Teacher.java create mode 100644 src/main/java/com/example/entity/TestPaper.java create mode 100644 src/main/java/com/example/exception/CustomException.java create mode 100644 src/main/java/com/example/exception/GlobalExceptionHandler.java create mode 100644 src/main/java/com/example/mapper/AdminMapper.java create mode 100644 src/main/java/com/example/mapper/ArticleMapper.java create mode 100644 src/main/java/com/example/mapper/CourseMapper.java create mode 100644 src/main/java/com/example/mapper/ExamPlanMapper.java create mode 100644 src/main/java/com/example/mapper/NoticeMapper.java create mode 100644 src/main/java/com/example/mapper/QuestionMapper.java create mode 100644 src/main/java/com/example/mapper/QuestionTypeMapper.java create mode 100644 src/main/java/com/example/mapper/ScoreMapper.java create mode 100644 src/main/java/com/example/mapper/StudentMapper.java create mode 100644 src/main/java/com/example/mapper/TeacherMapper.java create mode 100644 src/main/java/com/example/mapper/TestPaperMapper.java create mode 100644 src/main/java/com/example/service/AdminService.java create mode 100644 src/main/java/com/example/service/ArticleService.java create mode 100644 src/main/java/com/example/service/CourseService.java create mode 100644 src/main/java/com/example/service/ExamPlanService.java create mode 100644 src/main/java/com/example/service/NoticeService.java create mode 100644 src/main/java/com/example/service/QuestionService.java create mode 100644 src/main/java/com/example/service/QuestionTypeService.java create mode 100644 src/main/java/com/example/service/ScoreService.java create mode 100644 src/main/java/com/example/service/StudentService.java create mode 100644 src/main/java/com/example/service/TeacherService.java create mode 100644 src/main/java/com/example/service/TestPaperService.java create mode 100644 src/main/java/com/example/utils/TokenUtils.java create mode 100644 src/main/resources/application.yml create mode 100644 src/main/resources/mapper/AdminMapper.xml create mode 100644 src/main/resources/mapper/ArticleMapper.xml create mode 100644 src/main/resources/mapper/CourseMapper.xml create mode 100644 src/main/resources/mapper/ExamPlanMapper.xml create mode 100644 src/main/resources/mapper/NoticeMapper.xml create mode 100644 src/main/resources/mapper/QuestionMapper.xml create mode 100644 src/main/resources/mapper/QuestionTypeMapper.xml create mode 100644 src/main/resources/mapper/ScoreMapper.xml create mode 100644 src/main/resources/mapper/StudentMapper.xml create mode 100644 src/main/resources/mapper/TeacherMapper.xml create mode 100644 src/main/resources/mapper/TestPaperMapper.xml create mode 100644 ui/.env.development create mode 100644 ui/.env.production create mode 100644 ui/.gitignore create mode 100644 ui/index.html create mode 100644 ui/jsconfig.json create mode 100644 ui/package.json create mode 100644 ui/public/favicon.ico create mode 100644 ui/src/App.vue create mode 100644 ui/src/assets/css/front.css create mode 100644 ui/src/assets/css/global.css create mode 100644 ui/src/assets/css/index.scss create mode 100644 ui/src/assets/css/manager.css create mode 100644 ui/src/assets/imgs/404.jpg create mode 100644 ui/src/assets/imgs/avatar.png create mode 100644 ui/src/assets/imgs/bg.jpg create mode 100644 ui/src/assets/imgs/carousel-1.jpg create mode 100644 ui/src/assets/imgs/carousel-2.jpg create mode 100644 ui/src/assets/imgs/carousel-3.jpg create mode 100644 ui/src/assets/imgs/logo.png create mode 100644 ui/src/main.js create mode 100644 ui/src/router/index.js create mode 100644 ui/src/utils/request.js create mode 100644 ui/src/views/404.vue create mode 100644 ui/src/views/Front.vue create mode 100644 ui/src/views/Login.vue create mode 100644 ui/src/views/Manager.vue create mode 100644 ui/src/views/Register.vue create mode 100644 ui/src/views/front/Exam.vue create mode 100644 ui/src/views/front/Forum.vue create mode 100644 ui/src/views/front/ForumDetail.vue create mode 100644 ui/src/views/front/Home.vue create mode 100644 ui/src/views/front/MyShare.vue create mode 100644 ui/src/views/front/Person.vue create mode 100644 ui/src/views/front/Score.vue create mode 100644 ui/src/views/front/TestPaper.vue create mode 100644 ui/src/views/front/TestPaperView.vue create mode 100644 ui/src/views/manager/Admin.vue create mode 100644 ui/src/views/manager/Course.vue create mode 100644 ui/src/views/manager/ExamPlan.vue create mode 100644 ui/src/views/manager/Home.vue create mode 100644 ui/src/views/manager/Notice.vue create mode 100644 ui/src/views/manager/Password.vue create mode 100644 ui/src/views/manager/Person.vue create mode 100644 ui/src/views/manager/Question.vue create mode 100644 ui/src/views/manager/QuestionType.vue create mode 100644 ui/src/views/manager/Score.vue create mode 100644 ui/src/views/manager/Share.vue create mode 100644 ui/src/views/manager/Student.vue create mode 100644 ui/src/views/manager/Teacher.vue create mode 100644 ui/src/views/manager/TestPaper.vue create mode 100644 ui/vite.config.js create mode 100644 ui/yarn.lock diff --git a/.gitignore b/.gitignore index 9154f4c..326f057 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,5 @@ hs_err_pid* replay_pid* +.idea +target \ No newline at end of file diff --git a/db/xm_examination.sql b/db/xm_examination.sql new file mode 100644 index 0000000..afaff92 --- /dev/null +++ b/db/xm_examination.sql @@ -0,0 +1,271 @@ +/* + Navicat Premium Data Transfer + + Source Server : localhost_3306 + Source Server Type : MySQL + Source Server Version : 80013 + Source Host : localhost:3306 + Source Schema : xm_examination + + Target Server Type : MySQL + Target Server Version : 80013 + File Encoding : 65001 + + Date: 12/10/2024 22:52:44 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for admin +-- ---------------------------- +DROP TABLE IF EXISTS `admin`; +CREATE TABLE `admin` ( + `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '账号', + `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '密码', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '姓名', + `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '头像', + `role` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '角色', + `phone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '电话', + `email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '邮箱', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '管理员表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of admin +-- ---------------------------- +INSERT INTO `admin` VALUES (1, 'admin', 'admin', '管理员', 'http://localhost:9090/files/download/1721114905635-柴犬.jpeg', 'ADMIN', '18899990011', 'admin2@xm.com'); + +-- ---------------------------- +-- Table structure for article +-- ---------------------------- +DROP TABLE IF EXISTS `article`; +CREATE TABLE `article` ( + `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '帖子标题', + `img` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '帖子主图', + `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '帖子内容', + `time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '发布时间', + `student_id` int(10) NULL DEFAULT NULL COMMENT '学生ID', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '帖子信息表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of article +-- ---------------------------- +INSERT INTO `article` VALUES (2, '关于学习Java枚举的笔记经验分享', 'http://localhost:9090/files/download/1728563732106-2.png', '
基于Springboot3+Vue3的在线考试系统
角色:管理员、教师、学生
功能模块:
登录注册:(已完成)
个人中心:(已完成)
修改密码:(已完成)
管理员信息:(已完成)
教师信息:(已完成)
学生信息:(已完成)
考试安排:(已完成)
题型管理:包括单选、多选、判断、填空、简答(已完成)
课程管理:(已完成)
学习交流管理:
题库管理:题库里的题目需要根据课程进行分类,不同的课程都得有对应的题库,教师可以给自己的课程题库里新增试题(已完成)
组卷:选择课程出卷时,支持随机和人工从题库里抽选题目,组成试卷
试卷预览:
成绩管理:
自动阅卷:客观题自动阅卷,主观题(简答)可以支持手动给分
前台学生:
查看考试安排、查看试卷
在线答题:试卷每种题型在线展示,供学生答题
学习交流:发布学习心得
基于Springboot3+Vue3的在线考试系统
角色:管理员、教师、学生
功能模块:
登录注册:(已完成)
个人中心:(已完成)
修改密码:(已完成)
管理员信息:(已完成)
教师信息:(已完成)
学生信息:(已完成)
考试安排:(已完成)
题型管理:包括单选、多选、判断、填空、简答(已完成)
课程管理:(已完成)
学习交流管理:
题库管理:题库里的题目需要根据课程进行分类,不同的课程都得有对应的题库,教师可以给自己的课程题库里新增试题(已完成)
组卷:选择课程出卷时,支持随机和人工从题库里抽选题目,组成试卷
试卷预览:
成绩管理:
自动阅卷:客观题自动阅卷,主观题(简答)可以支持手动给分
前台学生:
查看考试安排、查看试卷
在线答题:试卷每种题型在线展示,供学生答题
学习交流:发布学习心得
哈哈哈
呵呵呵
嘿嘿嘿
嘎嘎嘎
啦啦啦
', '2024-10-10 21:55:52', 1); +INSERT INTO `article` VALUES (7, '前端三件套html,css,js学习心得', 'http://localhost:9090/files/download/1728568566399-right.jpg', '哈哈哈
哈哈哈
嘿嘿黑
呵呵呵
嘎嘎嘎
', '2024-10-10 21:56:13', 1); + +-- ---------------------------- +-- Table structure for course +-- ---------------------------- +DROP TABLE IF EXISTS `course`; +CREATE TABLE `course` ( + `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '课程名称', + `img` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '课程封面', + `score` int(10) NULL DEFAULT NULL COMMENT '课程学分', + `teacher_id` int(10) NULL DEFAULT NULL COMMENT '教师ID', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '课程信息表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of course +-- ---------------------------- +INSERT INTO `course` VALUES (2, 'Java基础入门课', 'http://localhost:9090/files/download/1728545691210-Java基础入门课程.jpg', 3, 1); +INSERT INTO `course` VALUES (3, 'Vue最新实战教程', 'http://localhost:9090/files/download/1728545950698-Vue最新教程.jpg', 3, 1); +INSERT INTO `course` VALUES (4, 'Java入学课程', 'http://localhost:9090/files/download/1728545989297-Java入学课程.jpg', 3, 2); + +-- ---------------------------- +-- Table structure for exam_plan +-- ---------------------------- +DROP TABLE IF EXISTS `exam_plan`; +CREATE TABLE `exam_plan` ( + `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '标题', + `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '内容', + `time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '发布时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '考试安排表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of exam_plan +-- ---------------------------- +INSERT INTO `exam_plan` VALUES (1, '关于第一学期期末考试的安排', '考试时间:xxxx-xx-xx,考试地点:xxxx。注意事项:xxxx', '2024-10-10 14:21:13'); +INSERT INTO `exam_plan` VALUES (2, '关于考试考场纪律和作弊处罚措施', '本着公平公正原则,考试过程严禁作弊,请监考老师以及同学严格遵守,一旦发现,会取消该门课的考试资格,等待补考,如果补考作弊,该门课需要重修!', '2024-10-10 14:21:28'); +INSERT INTO `exam_plan` VALUES (3, '信息工程学院期末考试安排', '本着公平公正原则,考试过程严禁作弊,请监考老师以及同学严格遵守,一旦发现,会取消该门课的考试资格,等待补考,如果补考作弊,该门课需要重修!', '2024-10-10 14:21:40'); +INSERT INTO `exam_plan` VALUES (4, '软件学院期末考试安排', '考试时间:xxxx-xx-xx,考试地点:xxxx。注意事项:xxxx', '2024-10-10 14:21:51'); +INSERT INTO `exam_plan` VALUES (5, '经济管理学期末考试安排', '考试时间:xxxx-xx-xx,考试地点:xxxx。注意事项:xxxx', '2024-10-10 14:22:05'); +INSERT INTO `exam_plan` VALUES (6, '物流工程学院考试安排', '考试时间:xxxx-xx-xx,考试地点:xxxx。注意事项:xxxx', '2024-10-12 22:35:08'); + +-- ---------------------------- +-- Table structure for notice +-- ---------------------------- +DROP TABLE IF EXISTS `notice`; +CREATE TABLE `notice` ( + `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '公告标题', + `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '公告内容', + `time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '发布时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '系统公告表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of notice +-- ---------------------------- +INSERT INTO `notice` VALUES (1, '今天天气真的不错', '今天好开心呀!因为天气很好,我又可以肆无忌惮的跟着武哥和青哥学习了!!真的好开心!', '2024-07-16 15:51:17'); +INSERT INTO `notice` VALUES (2, '项目所有功能开发完毕!', '我的项目所有的功能都开发完啦!真的很有成就感!', '2024-07-16 15:52:22'); +INSERT INTO `notice` VALUES (3, '项目功能都测试完成,准备上线!', '经过半个月的学习和练习,终于把这个项目完成了,可以打包上线了!', '2024-07-16 15:52:56'); + +-- ---------------------------- +-- Table structure for question +-- ---------------------------- +DROP TABLE IF EXISTS `question`; +CREATE TABLE `question` ( + `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '题目名称', + `course_id` int(10) NULL DEFAULT NULL COMMENT '课程ID', + `teacher_id` int(10) NULL DEFAULT NULL COMMENT '教师ID', + `type_id` int(10) NULL DEFAULT NULL COMMENT '题型ID', + `option_a` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '选项A', + `option_b` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '选项B', + `option_c` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '选项C', + `option_d` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '选项D', + `answer` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '题目答案', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '题目信息表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of question +-- ---------------------------- +INSERT INTO `question` VALUES (2, 'Java是世界上最好的语言!', 2, 1, 3, NULL, NULL, NULL, NULL, '正确'); +INSERT INTO `question` VALUES (3, '下面哪一项不是Java基本数据类型?', 2, 1, 1, 'int', 'int', 'float', 'let', 'D'); +INSERT INTO `question` VALUES (4, '下面哪些选项是Java的特点?', 2, 1, 2, 'Java是后端语言', 'Java是前端语言', 'Java是强类型语言', 'Java是弱类型语言', 'A,C'); +INSERT INTO `question` VALUES (5, 'Java语言的创造者是______。', 2, 1, 4, NULL, NULL, NULL, NULL, 'James Gosling'); +INSERT INTO `question` VALUES (6, '请写一个冒泡排序算法。', 2, 1, 5, NULL, NULL, NULL, NULL, 'public void bubbleSort(int[] source) {\n for(int i = source.length - 1; i > 0; i--) {\n for(int j = 0; j < i; j++) {\n if(a[j] > a[j+1])\n swap(source, j, j+1); \n }\n }\n}'); +INSERT INTO `question` VALUES (7, '所有的Java项目里都有一个启动的______方法。', 4, 2, 4, NULL, NULL, NULL, NULL, 'main'); + +-- ---------------------------- +-- Table structure for question_type +-- ---------------------------- +DROP TABLE IF EXISTS `question_type`; +CREATE TABLE `question_type` ( + `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '题型名称', + `score` int(10) NULL DEFAULT NULL COMMENT '题型分数', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '题型信息表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of question_type +-- ---------------------------- +INSERT INTO `question_type` VALUES (1, '单选题', 4); +INSERT INTO `question_type` VALUES (2, '多选题', 5); +INSERT INTO `question_type` VALUES (3, '判断题', 2); +INSERT INTO `question_type` VALUES (4, '填空题', 4); +INSERT INTO `question_type` VALUES (5, '简答题', 20); + +-- ---------------------------- +-- Table structure for score +-- ---------------------------- +DROP TABLE IF EXISTS `score`; +CREATE TABLE `score` ( + `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '试卷名称', + `course_id` int(10) NULL DEFAULT NULL COMMENT '课程ID', + `teacher_id` int(10) NULL DEFAULT NULL COMMENT '教师ID', + `student_id` int(10) NULL DEFAULT NULL COMMENT '学生ID', + `paper_id` int(10) NULL DEFAULT NULL COMMENT '试卷ID', + `score` int(10) NULL DEFAULT NULL COMMENT '成绩得分', + `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '状态', + `answer` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '提交结果', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '成绩信息表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of score +-- ---------------------------- +INSERT INTO `score` VALUES (2, 'Java基础入门课小测验2', 2, 1, 1, 2, 13, '已阅卷', '[{\"typeName\":\"单选题\",\"questionId\":3,\"score\":4,\"answer\":\"D\",\"newAnswer\":\"D\"},{\"typeName\":\"多选题\",\"questionId\":4,\"score\":5,\"answer\":\"A,C\",\"newAnswer\":\"A,C\"},{\"typeName\":\"判断题\",\"questionId\":2,\"score\":2,\"answer\":\"正确\",\"newAnswer\":\"正确\"},{\"typeName\":\"填空题\",\"questionId\":5,\"score\":4,\"answer\":\"James Gosling\",\"newAnswer\":\"张三\"},{\"typeName\":\"简答题\",\"questionId\":6,\"score\":20,\"answer\":\"public void bubbleSort(int[] source) {\\n for(int i = source.length - 1; i > 0; i--) {\\n for(int j = 0; j < i; j++) {\\n if(a[j] > a[j+1])\\n swap(source, j, j+1); \\n }\\n }\\n}\",\"newAnswer\":\"public static void main() \"}]'); +INSERT INTO `score` VALUES (3, 'Java基础入门课小测验3', 2, 1, 1, 3, NULL, '待阅卷', '[{\"typeName\":\"单选题\",\"questionId\":3,\"score\":4,\"answer\":\"D\",\"newAnswer\":\"D\"},{\"typeName\":\"多选题\",\"questionId\":4,\"score\":5,\"answer\":\"A,C\",\"newAnswer\":\"A,C\"},{\"typeName\":\"简答题\",\"questionId\":6,\"score\":20,\"answer\":\"public void bubbleSort(int[] source) {\\n for(int i = source.length - 1; i > 0; i--) {\\n for(int j = 0; j < i; j++) {\\n if(a[j] > a[j+1])\\n swap(source, j, j+1); \\n }\\n }\\n}\",\"newAnswer\":\"public void bubbleSort(int[] source) {\\n for(int i = source.length - 1; i > 0; i--) {\\n for(int j = 0; j < i; j++) {\\n if(a[j] > a[j+1])\\n swap(source, j, j+1); \\n }\\n }\\n}\"}]'); +INSERT INTO `score` VALUES (4, 'Java基础入门课小测验1', 2, 1, 1, 1, 20, '已阅卷', '[{\"typeName\":\"判断题\",\"questionId\":2,\"score\":2,\"answer\":\"正确\",\"newAnswer\":\"正确\"},{\"typeName\":\"单选题\",\"questionId\":3,\"score\":4,\"answer\":\"D\",\"newAnswer\":\"D\"},{\"typeName\":\"多选题\",\"questionId\":4,\"score\":5,\"answer\":\"A,C\",\"newAnswer\":\"C,A\"},{\"typeName\":\"填空题\",\"questionId\":5,\"score\":4,\"answer\":\"James Gosling\",\"newAnswer\":\"James Gosling\"},{\"typeName\":\"简答题\",\"questionId\":6,\"score\":20,\"answer\":\"public void bubbleSort(int[] source) {\\n for(int i = source.length - 1; i > 0; i--) {\\n for(int j = 0; j < i; j++) {\\n if(a[j] > a[j+1])\\n swap(source, j, j+1); \\n }\\n }\\n}\",\"newAnswer\":\"public static void main( ) {\\n System.print......\\n 老师我不会了,给我点辛苦分吧~\\n}\"}]'); + +-- ---------------------------- +-- Table structure for student +-- ---------------------------- +DROP TABLE IF EXISTS `student`; +CREATE TABLE `student` ( + `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '账号', + `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '密码', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '姓名', + `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '头像', + `role` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '角色', + `phone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '电话', + `email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '邮箱', + `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '状态', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '学生信息表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of student +-- ---------------------------- +INSERT INTO `student` VALUES (1, 'zhangsan', '123456', '张三', 'http://localhost:9090/files/download/1728486694570-柴犬.jpeg', 'STUDENT', '18899990000', 'zhangsan@xm.com', '审核通过'); +INSERT INTO `student` VALUES (2, 'lisi', '123456', '李四', 'http://localhost:9090/files/download/1728486728196-拉布拉多.jpeg', 'STUDENT', '18899995555', 'lisi@xm.com', '审核通过'); +INSERT INTO `student` VALUES (3, 'wangwu', '123456', '王五', 'http://localhost:9090/files/download/1728486753434-柯基.jpeg', 'STUDENT', '18844445555', 'wangwu@xm.com', '审核通过'); +INSERT INTO `student` VALUES (4, 'zhaoliu', '123456', 'zhaoliu', NULL, 'STUDENT', NULL, NULL, '待审核'); + +-- ---------------------------- +-- Table structure for teacher +-- ---------------------------- +DROP TABLE IF EXISTS `teacher`; +CREATE TABLE `teacher` ( + `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '账号', + `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '密码', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '姓名', + `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '头像', + `role` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '角色', + `phone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '电话', + `email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '邮箱', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '教师信息表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of teacher +-- ---------------------------- +INSERT INTO `teacher` VALUES (1, 'zhang', '123456', '张老师', 'http://localhost:9090/files/download/1728484762449-柴犬.jpeg', 'TEACHER', '18800001111', 'zhang@xm.com'); +INSERT INTO `teacher` VALUES (2, 'li', '123456', '李老师', 'http://localhost:9090/files/download/1728484862680-柯基.jpeg', 'TEACHER', '18877776666', 'li@xm.com'); +INSERT INTO `teacher` VALUES (3, 'zhao', '123456', 'zhao', NULL, 'TEACHER', NULL, NULL); + +-- ---------------------------- +-- Table structure for test_paper +-- ---------------------------- +DROP TABLE IF EXISTS `test_paper`; +CREATE TABLE `test_paper` ( + `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '试卷名称', + `course_id` int(10) NULL DEFAULT NULL COMMENT '课程ID', + `teacher_id` int(10) NULL DEFAULT NULL COMMENT '教师ID', + `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '类型', + `start` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '开始时间', + `end` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '结束时间', + `time` int(10) NULL DEFAULT NULL COMMENT '考试时长', + `question_ids` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '题目IDs', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '试卷信息表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of test_paper +-- ---------------------------- +INSERT INTO `test_paper` VALUES (1, 'Java基础入门课小测验1', 2, 1, '手动选题', '2024-10-11', '2024-10-26', 60, '[2,3,4,5,6]'); +INSERT INTO `test_paper` VALUES (2, 'Java基础入门课小测验2', 2, 1, '自动组卷', '2024-10-11', '2024-10-26', 60, '[3,4,2,5,6]'); +INSERT INTO `test_paper` VALUES (3, 'Java基础入门课小测验3', 2, 1, '自动组卷', '2024-10-11', '2024-10-24', 60, '[3,4,6]'); +INSERT INTO `test_paper` VALUES (4, 'Java基础入门小测验4', 2, 1, '手动选题', '2024-10-12', '2025-11-13', 60, '[3,4,2,6]'); +INSERT INTO `test_paper` VALUES (5, 'Java基础入门小测验5', 2, 1, '自动组卷', '2024-10-12', '2025-10-09', 60, '[3,4,2,5,6]'); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/files/1721114905635-柴犬.jpeg b/files/1721114905635-柴犬.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..ec1ef01094428190071440c2cba3dae0f4246ea3 GIT binary patch literal 27632 zcmb5V_g53&7cLx81Vuo)bftHscThlj?}Sb$(tB?z&Cq)dAT@NP_n`ES5PF1ss39OC zB|xYz-}kQj2i!eB%vy8K?3uM^&N=%$&$I8B@Bah5R8vw_0z7*32%z$C0PYb01;7jZ zXV0JEy?FlYIpK>JL?rZNBrji*FjLb~&~vf!aC5S9aPSGsi}MM{336~qYDvl|Dyylh z@rvmh>#7*ZtEwsg&&i_~goGr-Bur#vOv-OL-YWk;+x-s!3I3zAM`w>8F#&K$9z7;` zbUz570|0OyKfLWD!2dOz$ACvqaG&DgKeS4{d<4LGgoFDS=gCtXoJUU{y5f)k9=~}) zD)3$x*T#$K^HZ|aV!_6rvm5`&<(ZH5@F-Ypg%m*EUmk9z{-4_i`@fDK&W~^&Kf!%y zdPDO6H~jCxfXDx*!y^)$$8Q8k-;+II(zUr?1-y8;jzjX81Rw|ar}W?Uj((2u%22;* zSd$P#dDv-^jEmv;Zs-o*ig7%dCR+jU&O~ose(IRYG<0C@4x3LNkyF>{nk!ljGdGK- z-^vP($)#p?po6~cDE?pzexqd0Y9_PZ+gP2K4k^V{7c@Mjo8Iq}@MfsVq}HM45nf(> zy-3blMe=m78IbO4Gm=$^oOX<#7-GSj0v`(w)3!`DK~ZPOWXt{&Mu^O`G}m#ei)M(6I1-Y)+=Rr&qO~w~w6K
zHtJ0yeFLlE%-XUp?-l<5A~Oc|{g(z)5{>a_sW#pOjJ3%B01J=;
4c=JZObW@D
zk^caE;7pm9U(|RmA5qfQ;&kIPsL08I^6SYR?rI_(vIzfLFDwKIUfWZXKlfzQAQ(#&>8EQBt>zp47b|AIly+kG1A2=c3ku}J
z-5?Yf_u>v<)=`KN`5aCE6P@-YQ>Q4@{1eZ_f=Qz5;xr#GMT&ZV0^C!Uj%Li%K;3O;
z*vfdC$mA(1f0WktbAB&(WH$8>jjupWz(aZ