diff --git a/pom.xml b/pom.xml index 98f8d7d..85d25d5 100644 --- a/pom.xml +++ b/pom.xml @@ -57,6 +57,28 @@ + + + org.apache.poi + poi + 4.1.2 + + + + org.apache.poi + poi-ooxml + 4.1.2 + + + + org.apache.poi + poi-ooxml-schemas + 4.1.2 + + + + + com.aliyun.oss aliyun-sdk-oss @@ -154,6 +176,13 @@ org.springframework.boot spring-boot-starter-data-redis + + com.fasterxml.jackson.core + jackson-databind + 2.12.5 + compile + + @@ -181,6 +210,17 @@ + + org.apache.maven.plugins + maven-resources-plugin + 2.6 + + UTF-8 + + docx + + + diff --git a/sql/teaching_db.sql b/sql/teaching_db.sql deleted file mode 100644 index 2fc40e0..0000000 --- a/sql/teaching_db.sql +++ /dev/null @@ -1,566 +0,0 @@ -/* - Navicat Premium Data Transfer - - Source Server : localhost_3306 - Source Server Type : MySQL - Source Server Version : 80037 - Source Host : localhost:3306 - Source Schema : teaching_db - - Target Server Type : MySQL - Target Server Version : 80037 - File Encoding : 65001 - - Date: 12/06/2024 15:14:04 -*/ - -SET NAMES utf8mb4; -SET FOREIGN_KEY_CHECKS = 0; - --- ---------------------------- --- Table structure for course_objectives --- ---------------------------- -CREATE TABLE `course_objectives` ( - `id` varchar(36) NOT NULL COMMENT '内部编号', - `pid` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '0' COMMENT '父级节点 默认0没有', - `has_child` int(1) DEFAULT '0' COMMENT '是否有子节点 添加子节点变1,默认0没有', - `name` varchar(200) DEFAULT NULL COMMENT '目标名称', - `type` int(5) DEFAULT NULL COMMENT '目标类型', - `course_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '课程id', - `requireid` varchar(32) DEFAULT NULL COMMENT '毕业要求id', - `temp` text COMMENT '毕业要求', - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; - --- ---------------------------- --- Records of course_objectives --- ---------------------------- -INSERT INTO `course_objectives` VALUES ('3e42492c201d2a9378be5af2edc92b47', '2024-06-06 16:17:39', NULL, '0', '0', '近代史纲要课程总体目标', NULL, 'd8d7bb93f100164659cac44ef2c4f55a', NULL, NULL); -INSERT INTO `course_objectives` VALUES ('43f2c4b4a10a47784e50e772b9d10457', '2024-05-31 17:39:13', NULL, '0', '0', '测试课程课程总体目标', NULL, '6f5de6dd8c8d5d9d02a63c8444b9d5bb', NULL, NULL); -INSERT INTO `course_objectives` VALUES ('503dc084653ffd003cb404b62266dc7c', '2024-06-06 15:58:43', NULL, 'da6e7283befa8965dae0f0f39ea7f24e', '0', '知识目标', 'c126ef1a66733ab7a4ba12aba0eb7f82', NULL, NULL, NULL); -INSERT INTO `course_objectives` VALUES ('53b27c94fe8af02ac8b23d9be9a2e329', '2024-06-03 11:32:19', NULL, 'da6e7283befa8965dae0f0f39ea7f24e', '0', '思政目标', '71f73bd999f678bcbbdb101e23277feb', NULL, NULL, NULL); -INSERT INTO `course_objectives` VALUES ('7a302cd72d653647778840b42f4e076a', '2024-06-03 10:43:13', NULL, '0', '0', '软件构造课程总体目标', NULL, 'ee2447b4463a5ad3f47e1744d912a824', NULL, NULL); -INSERT INTO `course_objectives` VALUES ('aa839ff1345a04f95b4efcca02494cab', '2024-06-06 16:45:22', NULL, '0', '0', '毛概课程总体目标', NULL, '72e1ad71bb855ba328f8c17964697354', NULL, NULL); -INSERT INTO `course_objectives` VALUES ('b41fa8332f39cca11d35635bd9fac720', '2024-05-31 11:24:33', NULL, '0', '0', '计算机导论课程总体目标', NULL, '2fa0fd63262230639d2c45a3acd9045c', NULL, NULL); -INSERT INTO `course_objectives` VALUES ('c84dc451086f7938c28a4f757957f415', '2024-06-06 15:58:19', NULL, 'da6e7283befa8965dae0f0f39ea7f24e', '0', '价值目标', '410fc58cd757cd248941af1bea6888e5', NULL, NULL, NULL); -INSERT INTO `course_objectives` VALUES ('d452f583115465d067a1719458690b95', '2024-05-31 11:16:37', NULL, '0', '0', '计算机组成原理总体目标', NULL, '36c34a4225526dd20ee3840da61d3701', NULL, NULL); -INSERT INTO `course_objectives` VALUES ('da6e7283befa8965dae0f0f39ea7f24e', '2024-05-31 20:49:52', '2024-06-06 15:58:43', '0', '1', '离散数学及其应用课程总体目标', NULL, 'de3100cad98f76be3176dd39aa748a9e', NULL, NULL); - --- ---------------------------- --- Table structure for courses --- ---------------------------- -DROP TABLE IF EXISTS `courses`; -CREATE TABLE `courses` ( - `id` varchar(36) NOT NULL COMMENT '内部编号', - `create_time` datetime DEFAULT NULL COMMENT '创建时间', - `update_time` datetime DEFAULT NULL COMMENT '更新时间', - `img` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '课程封面', - `category` varchar(50) DEFAULT NULL COMMENT '课程类别', - `nature` varchar(50) DEFAULT NULL COMMENT '课程性质', - `name` varchar(100) DEFAULT NULL COMMENT '课程名称', - `code` varchar(50) DEFAULT NULL COMMENT '课程编码', - `semester` varchar(50) DEFAULT NULL COMMENT '开课学期', - `credit` decimal(4,2) DEFAULT NULL COMMENT '课程学分', - `classhours` int(5) DEFAULT NULL COMMENT '课程学时', - `theoryhours` int(5) DEFAULT NULL COMMENT '理论学时', - `practicehours` int(5) DEFAULT NULL COMMENT '实践学时', - `experimenthours` int(5) DEFAULT NULL COMMENT '实验学时', - `otherhours` int(5) DEFAULT NULL COMMENT '其他学时', - `weeks` int(11) DEFAULT NULL COMMENT '上课周数', - `assessmenttype` varchar(32) DEFAULT NULL COMMENT '考核类型', - `assessmentway` varchar(32) DEFAULT NULL COMMENT '考核方式', - `teacher` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '负责教师', - `teachermethod` text COMMENT '教学方法', - `teacherway` text COMMENT '教学方式', - `description` text COMMENT '课程简介', - `status` int(1) DEFAULT '0' COMMENT '课程状态 0未在修改 1在修改中', - PRIMARY KEY (`id`), - UNIQUE KEY `code` (`code`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; - --- ---------------------------- --- Records of courses --- ---------------------------- -insert into `courses`(`id`,`create_time`,`update_time`,`img`,`category`,`nature`,`name`,`code`,`semester`,`credit`,`classhours`,`theoryhours`,`practicehours`,`experimenthours`,`otherhours`,`weeks`,`assessmenttype`,`assessmentway`,`teacher`,`teachermethod`,`teacherway`,`description`,`status`) values ('2fa0fd63262230639d2c45a3acd9045c','2024-05-30 20:58:34',NULL,'','1','1','计算机导论1.0','111007',NULL,'4.60',64,NULL,NULL,NULL,NULL,NULL,'1','1','2140110334,2140110339','暂定','线下授课',NULL,0), - ('36c34a4225526dd20ee3840da61d3701','2024-05-28 20:58:36',NULL,'','1','1','计算机组成原理','111006',NULL,'4.00',64,NULL,NULL,NULL,NULL,NULL,'1','1','2140110334,2140110339','暂定','线下授课',NULL,0), - ('51d973f1cf0bad437da57d31f83a3232','2024-06-07 18:42:08',NULL,'','1','1','Test课程2','111014',NULL,'3.50',48,NULL,NULL,NULL,NULL,NULL,'1','1','2140110334','暂定','线下授课',NULL,0), - ('6f5de6dd8c8d5d9d02a63c8444b9d5bb','2024-05-26 20:58:40',NULL,'','1','1','测试课程','111008',NULL,'4.00',64,NULL,NULL,NULL,NULL,NULL,'1','1','2140110334,2140110339','暂定','线下授课',NULL,0), - ('72e1ad71bb855ba328f8c17964697354','2024-06-06 16:45:22',NULL,'http://teaching-edu123.oss-cn-beijing.aliyuncs.com/KdxGCt8rKbruw3zEDTdkA.jpg','1','1','毛概','111012',NULL,'3.70',48,NULL,NULL,NULL,NULL,NULL,'1','1','2140110334','暂定','线下授课',NULL,0), - ('8721e6864387eb99b04692f125ac0a9f','2024-05-27 20:58:43',NULL,'','1','1','SQLServer数据库教程','111004',NULL,'4.00',0,NULL,NULL,NULL,NULL,NULL,'1','1','2140110334,2140110327','暂定111','线下机房授课',NULL,0), - ('90ce365ae4e362f616776550e04ae0b4','2024-05-24 20:58:48',NULL,'','1','1','JavaEE','111002',NULL,'4.00',0,NULL,NULL,NULL,NULL,NULL,'1','1','2140110334,2140110327','暂定','线下机房授课',NULL,0), - ('a2ba84374d86e85208c5906a96ea8205','2024-05-24 20:58:48',NULL,'https://teaching-edu123.oss-cn-beijing.aliyuncs.com/Borovets_ZH-CN5914681811_UHD.jpg','1','1','JavaWeb','111003',NULL,'4.00',0,NULL,NULL,NULL,NULL,NULL,'1','1','2140110334,2140110327','暂定','线下机房授课',NULL,0), - ('d511d26df8de551bc85ce765089771b4','2024-05-24 20:58:48',NULL,'','1','1','高级编程','111001',NULL,'4.00',0,NULL,NULL,NULL,NULL,NULL,'1','1','2140110334,2140110327','暂定','线下机房授课',NULL,0), - ('d8d7bb93f100164659cac44ef2c4f55a','2024-06-06 16:17:39',NULL,'','1','1','近代史纲要','111011',NULL,'2.60',48,NULL,NULL,NULL,NULL,NULL,'1','1','2140110334','暂定','线下授课',NULL,0), - ('de3100cad98f76be3176dd39aa748a9e','2024-05-31 20:49:52',NULL,'http://teaching-edu123.oss-cn-beijing.aliyuncs.com/E96JlmbPeqvzVcPvg43Lb.jpg','1','1','离散数学及其应用','111009',NULL,'2.00',64,NULL,NULL,NULL,NULL,NULL,'1','1','2140110334','暂定','线下授课',NULL,0); - --- ---------------------------- --- Table structure for know --- ---------------------------- -DROP TABLE IF EXISTS `know`; -CREATE TABLE `know` ( - `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'id', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '知识点名称', - `info` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '简介', - `content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '知识点内容', - `img` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '知识点图片', - `hour` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '知识点学时', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of know --- ---------------------------- - --- ---------------------------- --- Table structure for know_relationship --- ---------------------------- -DROP TABLE IF EXISTS `know_relationship`; -CREATE TABLE `know_relationship` ( - `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '主键id', - `chapterId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '章节id', - `courseId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '课程id', - `knowId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '知识点id', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of know_relationship --- ---------------------------- - --- ---------------------------- --- Table structure for learning_records --- ---------------------------- -DROP TABLE IF EXISTS `learning_records`; -CREATE TABLE `learning_records` ( - `id` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL COMMENT '学习记录id', - `user_id` varchar(36) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NULL DEFAULT NULL COMMENT '用户id', - `courses_id` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NULL DEFAULT NULL COMMENT '课程id', - `chapter_id` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NULL DEFAULT NULL COMMENT '章节id', - `knowledge_point_id` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NULL DEFAULT NULL COMMENT '知识点id', - `resource_id` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NULL DEFAULT NULL COMMENT '资源id', - `access_time` datetime NULL DEFAULT NULL COMMENT '访问时间', - `learning_method1` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NULL DEFAULT '0' COMMENT '学习方式:打开; 1,打开过,2未打开', - `learning_method2` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NULL DEFAULT '0' COMMENT '学习方式:下载; 1下载过, 2未下载', - `video_duration` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NULL DEFAULT NULL COMMENT '视频学习时长', - `is_completed` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NULL DEFAULT NULL COMMENT '是否完成观看:1,已完成,0未完成', - `content` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NULL DEFAULT NULL COMMENT '记录封面图片', - `address` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NULL DEFAULT NULL COMMENT '资源地址', - `status` varchar(2) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NULL DEFAULT '1' COMMENT '是否存在: 1存在;0不存在;', - `parent_node` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NULL DEFAULT NULL COMMENT '父节点', - `type` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NULL DEFAULT NULL COMMENT '类型, 如:1,课程; 2,章节; 3,知识点; 4,学习资源', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = MyISAM AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_unicode_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of learning_records --- ---------------------------- -INSERT INTO `learning_records` VALUES ('1', '1', '290bf0217c6a1569abf225289c7e11ea', NULL, NULL, NULL, '2024-05-31 21:35:11', NULL, '1', NULL, NULL, 'https://teaching-edu123.oss-cn-beijing.aliyuncs.com/Borovets_ZH-CN5914681811_UHD.jpg', '/portal', '1', NULL, '1'); -INSERT INTO `learning_records` VALUES ('2', '2', 'd511d26df8de551bc85ce765089771b4', NULL, NULL, NULL, '2024-05-31 00:00:00', NULL, '0', NULL, NULL, 'https://teaching-edu123.oss-cn-beijing.aliyuncs.com/Borovets_ZH-CN5914681811_UHD.jpg', '/portal', '1', NULL, '1'); -INSERT INTO `learning_records` VALUES ('3', '1', 'd511d26df8de551bc85ce765089771b4', NULL, NULL, NULL, '2024-05-31 00:00:00', NULL, '1', NULL, NULL, 'https://teaching-edu123.oss-cn-beijing.aliyuncs.com/Borovets_ZH-CN5914681811_UHD.jpg', '/portal', '1', NULL, '1'); -INSERT INTO `learning_records` VALUES ('4', '1', '1', '', '', '', '2024-06-07 10:49:42', '1', '0', '', '', 'https://teaching-edu123.oss-cn-beijing.aliyuncs.com/Borovets_ZH-CN5914681811_UHD.jpg', '/portal', '0', '', '2'); -INSERT INTO `learning_records` VALUES ('5', '1', '2', NULL, NULL, NULL, '2024-05-02 00:00:00', NULL, '1', NULL, NULL, 'https://teaching-edu123.oss-cn-beijing.aliyuncs.com/Borovets_ZH-CN5914681811_UHD.jpg', '/portal', '1', NULL, '1'); -INSERT INTO `learning_records` VALUES ('6', '1', '3', NULL, NULL, NULL, '2024-06-04 10:10:49', NULL, '0', NULL, NULL, 'https://teaching-edu123.oss-cn-beijing.aliyuncs.com/Borovets_ZH-CN5914681811_UHD.jpg', '/portal', '1', NULL, '1'); -INSERT INTO `learning_records` VALUES ('7', '1', '4', NULL, NULL, NULL, '2024-06-04 10:12:01', NULL, '1', NULL, NULL, 'https://teaching-edu123.oss-cn-beijing.aliyuncs.com/Borovets_ZH-CN5914681811_UHD.jpg', '/portal', '0', NULL, '1'); -INSERT INTO `learning_records` VALUES ('96', '1', '5', NULL, NULL, NULL, '2024-05-30 20:46:21', NULL, '0', NULL, NULL, 'https://teaching-edu123.oss-cn-beijing.aliyuncs.com/Borovets_ZH-CN5914681811_UHD.jpg', '/portal', '1', NULL, '1'); -INSERT INTO `learning_records` VALUES ('8', '2', '3', NULL, NULL, NULL, '2024-06-04 10:15:01', NULL, '1', NULL, NULL, 'https://teaching-edu123.oss-cn-beijing.aliyuncs.com/Borovets_ZH-CN5914681811_UHD.jpg', 'https://www.taobao.com/', '1', NULL, '1'); -INSERT INTO `learning_records` VALUES ('75', '2', '4', NULL, NULL, NULL, '2024-06-04 10:17:16', NULL, '0', NULL, NULL, 'https://teaching-edu123.oss-cn-beijing.aliyuncs.com/Borovets_ZH-CN5914681811_UHD.jpg', 'https://www.taobao.com/', '1', NULL, '1'); -INSERT INTO `learning_records` VALUES ('71', '2', '5', NULL, NULL, NULL, '2024-06-04 12:01:48', NULL, '1', NULL, NULL, 'https://teaching-edu123.oss-cn-beijing.aliyuncs.com/Borovets_ZH-CN5914681811_UHD.jpg', 'https://www.taobao.com/', '1', NULL, '1'); -INSERT INTO `learning_records` VALUES ('1797841286352658434', '3', '5', '', '', '', '2024-06-06 16:59:38', '1', '1', '', '', '', '/portal', '1', '', '1'); -INSERT INTO `learning_records` VALUES ('1798911495222161409', '1', '1', '', '', '', '2024-06-07 10:54:57', '1', '0', '', '', 'https://teaching-edu123.oss-cn-beijing.aliyuncs.com/Borovets_ZH-CN5914681811_UHD.jpg', '/portal', '0', '', '1'); -INSERT INTO `learning_records` VALUES ('1797984330104299521', '3', '1', NULL, NULL, NULL, '2024-06-04 21:30:44', NULL, '1', '1', '1', 'https://teaching-edu123.oss-cn-beijing.aliyuncs.com/Borovets_ZH-CN5914681811_UHD.jpg', 'https://www.baidu.com/', '1', NULL, '1'); - --- ---------------------------- --- Table structure for objective_contents --- ---------------------------- -CREATE TABLE `objective_contents` ( - `id` varchar(32) NOT NULL, - `objective_id` varchar(32) DEFAULT NULL COMMENT '对应的目标id', - `content` text COMMENT '内容', - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; - -/*Data for the table `objective_contents` */ - -insert into `objective_contents`(`id`,`objective_id`,`content`) values ('056b889ceb437abc96c759c2c9d61393','09f36bd3e0e65016f95281eb3d4f48a7','价值目标1'), - ('3f85eb79c29be4a15c729d98b17676a5','c84dc451086f7938c28a4f757957f415','价值目标3'), - ('406c85c99bd2d4b9f624ca3a67c3ce66','53b27c94fe8af02ac8b23d9be9a2e329','思政目标2'), - ('4ad5a1f0f584e35e7af6ef5142773990','503dc084653ffd003cb404b62266dc7c','知识目标1'), - ('4b4458cd64b0a1e21b54191a89e9f83d','c84dc451086f7938c28a4f757957f415','价值目标2'), - ('53d9d78b41051696314c0b1c0efa5313','503dc084653ffd003cb404b62266dc7c','知识目标3'), - ('6689ed187bcbd36309510a21ea492225','da6e7283befa8965dae0f0f39ea7f24e','总目标3'), - ('93cc64742c6ae993b6c8d8e0e6784758','09f36bd3e0e65016f95281eb3d4f48a7','价值目标2'), - ('979e59083e81f28145e1162069ffebb8','c84dc451086f7938c28a4f757957f415','价值目标1'), - ('9efcc83089e6de9945499876d1a6235a','da6e7283befa8965dae0f0f39ea7f24e','总目标1'), - ('bdacef102860e3dd3c1c3dcd3c3ef395','8d87cbacd499ad8b171e72a3aeeb7cab','思政目标2'), - ('c6b3fc522a5479e28cd3f0c9b971a871','53b27c94fe8af02ac8b23d9be9a2e329','思政目标3'), - ('dc31075d57f371970c5af09fd534a9af','da6e7283befa8965dae0f0f39ea7f24e','总目标2'), - ('eca937e6f047e3b6b06d67c5b4a9beff','53b27c94fe8af02ac8b23d9be9a2e329','思政目标1'), - ('f71f70ff7f6a83cf7be889eccd7015e1','8d87cbacd499ad8b171e72a3aeeb7cab','思政目标3'), - ('f890c64ee471b8a22db79e33d622ee79','8d87cbacd499ad8b171e72a3aeeb7cab','思政目标1'), - ('ffde482fac55e6dec5b60f6c6208d42c','503dc084653ffd003cb404b62266dc7c','知识目标2'); - --- ---------------------------- --- Table structure for objectives_type --- ---------------------------- -DROP TABLE IF EXISTS `objectives_type`; -CREATE TABLE `objectives_type` ( - `id` int(5) NOT NULL AUTO_INCREMENT, - `type_name` varchar(50) DEFAULT NULL COMMENT '类型名称', - PRIMARY KEY (`id`), - UNIQUE KEY `type_name` (`type_name`) -) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8; - -/*Data for the table `objectives_type` */ - -insert into `objectives_type`(`id`,`type_name`) values (4,'价值目标'), - (1,'思政目标'), - (2,'知识目标'), - (3,'素质目标'); - --- ---------------------------- --- Table structure for resource --- ---------------------------- -DROP TABLE IF EXISTS `resource`; -CREATE TABLE `resource` ( - `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '主键', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '资源名称', - `type` int NULL DEFAULT NULL COMMENT '资源类型', - `path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '资源路径', - `status` int NULL DEFAULT NULL COMMENT '资源状态', - `tags` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '标签', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of resource --- ---------------------------- - --- ---------------------------- --- Table structure for resource_relationship --- ---------------------------- -DROP TABLE IF EXISTS `resource_relationship`; -CREATE TABLE `resource_relationship` ( - `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '主键', - `courseId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '课程id', - `chapterId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '章节id', - `knowId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '知识点id', - `resourceId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '资源id', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of resource_relationship --- ---------------------------- - --- ---------------------------- --- Table structure for se_course_favour --- ---------------------------- -DROP TABLE IF EXISTS `se_course_favour`; -CREATE TABLE `se_course_favour` ( - `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'id', - `course_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '课程id', - `user_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '用户', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of se_course_favour --- ---------------------------- -INSERT INTO `se_course_favour` VALUES ('1796378327262564353', 'a2ba84374d86e85208c5906a96ea8205', '2'); -INSERT INTO `se_course_favour` VALUES ('1796454599099658242', '36c34a4225526dd20ee3840da61d3701', '2'); -INSERT INTO `se_course_favour` VALUES ('1796789887730647041', '2fa0fd63262230639d2c45a3acd9045c', '2'); -INSERT INTO `se_course_favour` VALUES ('1797497056650289154', 'd511d26df8de551bc85ce765089771b4', '1'); -INSERT INTO `se_course_favour` VALUES ('1797499380101767170', 'd511d26df8de551bc85ce765089771b4', '2'); -INSERT INTO `se_course_favour` VALUES ('1798221492412149761', 'd511d26df8de551bc85ce765089771b4', '5'); -INSERT INTO `se_course_favour` VALUES ('1798621775654993922', 'd511d26df8de551bc85ce765089771b4', '8'); -INSERT INTO `se_course_favour` VALUES ('1798632199670714369', 'de3100cad98f76be3176dd39aa748a9e', '2'); - --- ---------------------------- --- Table structure for se_course_thumb --- ---------------------------- -DROP TABLE IF EXISTS `se_course_thumb`; -CREATE TABLE `se_course_thumb` ( - `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `course_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, - `user_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of se_course_thumb --- ---------------------------- -INSERT INTO `se_course_thumb` VALUES ('1796343958854623233', '2', '1'); -INSERT INTO `se_course_thumb` VALUES ('1796344002215337985', '2', '2'); -INSERT INTO `se_course_thumb` VALUES ('1796362250491191298', '1', '2'); -INSERT INTO `se_course_thumb` VALUES ('1796437673614974977', '6', '2'); -INSERT INTO `se_course_thumb` VALUES ('1796445964822847489', '7', '4'); - --- ---------------------------- --- Table structure for se_know_favour --- ---------------------------- -DROP TABLE IF EXISTS `se_know_favour`; -CREATE TABLE `se_know_favour` ( - `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `course_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, - `know_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, - `user_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of se_know_favour --- ---------------------------- -INSERT INTO `se_know_favour` VALUES ('1796378889450295297', '1', '2', '3'); - --- ---------------------------- --- Table structure for se_know_thumb --- ---------------------------- -DROP TABLE IF EXISTS `se_know_thumb`; -CREATE TABLE `se_know_thumb` ( - `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `course_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, - `know_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, - `user_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of se_know_thumb --- ---------------------------- -INSERT INTO `se_know_thumb` VALUES ('1796347057337982977', '1', '2', '2'); -INSERT INTO `se_know_thumb` VALUES ('1796347303317135361', '2', '2', '3'); -INSERT INTO `se_know_thumb` VALUES ('1796347343968329730', '2', '3', '3'); -INSERT INTO `se_know_thumb` VALUES ('1796347380697849857', '1', '3', '3'); - --- ---------------------------- --- Table structure for se_resource_favour --- ---------------------------- -DROP TABLE IF EXISTS `se_resource_favour`; -CREATE TABLE `se_resource_favour` ( - `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `course_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, - `resource_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, - `user_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of se_resource_favour --- ---------------------------- -INSERT INTO `se_resource_favour` VALUES ('1796379012112715778', '1', '2', '3'); - --- ---------------------------- --- Table structure for se_resource_thumb --- ---------------------------- -DROP TABLE IF EXISTS `se_resource_thumb`; -CREATE TABLE `se_resource_thumb` ( - `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `course_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, - `resource_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, - `user_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of se_resource_thumb --- ---------------------------- -INSERT INTO `se_resource_thumb` VALUES ('1796366535710904322', '2', '1', '1'); - --- ---------------------------- --- Table structure for ums_admin --- ---------------------------- -DROP TABLE IF EXISTS `ums_admin`; -CREATE TABLE `ums_admin` ( - `id` int NOT NULL AUTO_INCREMENT COMMENT '主键', - `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '用户名', - `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '密码', - `phone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '手机号', - `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '昵称', - `icon` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '头像', - `create_time` datetime NULL DEFAULT NULL COMMENT '注册时间', - `status` int NULL DEFAULT 1 COMMENT '帐号启用状态:0->禁用;1->启用', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of ums_admin --- ---------------------------- -INSERT INTO `ums_admin` VALUES (1, 'xiao1111', '', '', '', '1111', '2024-06-03 13:30:29', 0); -INSERT INTO `ums_admin` VALUES (2, '123', '$2a$10$ACn80kN2ZEREGH3yOce9mui/KoWQllCHjNVXzXzrTI3gKJi/LB/YK', '123456789', '', '', '2024-06-05 23:23:45', 1); -INSERT INTO `ums_admin` VALUES (3, 'youhang', '$2a$10$TYJcMWBdDmmYfV/Kxi771ee7krjYJCLzI8O6MyjCofty9Y0OPLEna', '13547534472', 'yy', '', '2024-06-12 15:09:10', 1); - --- ---------------------------- --- Table structure for ums_admin_role_relation --- ---------------------------- -DROP TABLE IF EXISTS `ums_admin_role_relation`; -CREATE TABLE `ums_admin_role_relation` ( - `id` int NOT NULL AUTO_INCREMENT, - `admin_id` int NULL DEFAULT NULL, - `role_id` int NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of ums_admin_role_relation --- ---------------------------- -INSERT INTO `ums_admin_role_relation` VALUES (1, 1, 2); - --- ---------------------------- --- Table structure for ums_menu --- ---------------------------- -DROP TABLE IF EXISTS `ums_menu`; -CREATE TABLE `ums_menu` ( - `id` int NOT NULL AUTO_INCREMENT, - `parent_id` int NULL DEFAULT NULL COMMENT '父级ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '菜单名称', - `level` int NULL DEFAULT NULL COMMENT '菜单级数', - `sort` int NULL DEFAULT NULL COMMENT '菜单排序', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '前端名称', - `icon` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '前端图标', - `hidden` int NULL DEFAULT NULL COMMENT '前端隐藏', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of ums_menu --- ---------------------------- - --- ---------------------------- --- Table structure for ums_resource --- ---------------------------- -DROP TABLE IF EXISTS `ums_resource`; -CREATE TABLE `ums_resource` ( - `id` int NOT NULL AUTO_INCREMENT, - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '资源名称', - `url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '资源URL', - `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述', - `category_id` int NULL DEFAULT NULL COMMENT '资源分类ID', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of ums_resource --- ---------------------------- -INSERT INTO `ums_resource` VALUES (1, '2024-06-04 09:56:19', '首页', '/home/advertise/**', NULL, 1); - --- ---------------------------- --- Table structure for ums_resource_category --- ---------------------------- -DROP TABLE IF EXISTS `ums_resource_category`; -CREATE TABLE `ums_resource_category` ( - `id` int NOT NULL AUTO_INCREMENT, - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '分类名称', - `sort` int NULL DEFAULT NULL COMMENT '排序', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of ums_resource_category --- ---------------------------- -INSERT INTO `ums_resource_category` VALUES (1, '2024-06-04 09:57:23', '首页模块', 0); - --- ---------------------------- --- Table structure for ums_role --- ---------------------------- -DROP TABLE IF EXISTS `ums_role`; -CREATE TABLE `ums_role` ( - `id` int NOT NULL AUTO_INCREMENT, - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '名称', - `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述', - `admin_count` int NULL DEFAULT NULL COMMENT '后台用户数量', - `create_time` datetime NOT NULL COMMENT '创建时间', - `status` int NULL DEFAULT 1 COMMENT '启用状态:0->禁用;1->启用', - `sort` int NULL DEFAULT 0, - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of ums_role --- ---------------------------- -INSERT INTO `ums_role` VALUES (1, '老师', '能查看自己和所有学生的信息', 0, '2024-06-04 09:59:47', 1, 0); -INSERT INTO `ums_role` VALUES (2, '学生', '只能查看自己信息', 0, '2024-06-04 10:02:15', 1, 0); - --- ---------------------------- --- Table structure for ums_role_menu_relation --- ---------------------------- -DROP TABLE IF EXISTS `ums_role_menu_relation`; -CREATE TABLE `ums_role_menu_relation` ( - `id` int NOT NULL AUTO_INCREMENT, - `role_id` int NULL DEFAULT NULL COMMENT '角色ID', - `menu_id` int NULL DEFAULT NULL COMMENT '菜单ID', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of ums_role_menu_relation --- ---------------------------- - --- ---------------------------- --- Table structure for ums_role_resource_relation --- ---------------------------- -DROP TABLE IF EXISTS `ums_role_resource_relation`; -CREATE TABLE `ums_role_resource_relation` ( - `id` int NOT NULL AUTO_INCREMENT, - `role_id` int NULL DEFAULT NULL COMMENT '角色ID', - `resource_id` int NULL DEFAULT NULL COMMENT '资源ID', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of ums_role_resource_relation --- ---------------------------- -INSERT INTO `ums_role_resource_relation` VALUES (1, 1, 1); -INSERT INTO `ums_role_resource_relation` VALUES (2, 2, 1); - --- ---------------------------- --- Table structure for ums_student --- ---------------------------- -DROP TABLE IF EXISTS `ums_student`; -CREATE TABLE `ums_student` ( - `id` int NOT NULL, - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '姓名', - `sex` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '性别', - `nationality` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '民族', - `number` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '学号', - `birthday` datetime NULL DEFAULT NULL COMMENT '生日', - `phone` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '手机号', - `faculty` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '院系', - `major` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '专业', - `year` date NULL DEFAULT NULL COMMENT '入学年份', - `class` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '班级', - `user_id` int NULL DEFAULT NULL COMMENT 'user_id', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of ums_student --- ---------------------------- - --- ---------------------------- --- Table structure for ums_teacher --- ---------------------------- -DROP TABLE IF EXISTS `ums_teacher`; -CREATE TABLE `ums_teacher` ( - `id` int NOT NULL, - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '姓名', - `sex` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '性别', - `nationality` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '民族', - `profession` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '专业', - `education` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '学历', - `degree` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '学位', - `professional_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '职称', - `emergency_contact` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '手机号', - `join_work_time` datetime NULL DEFAULT NULL COMMENT '参加工作时间', - `political_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '政治面貌', - `user_id` int NULL DEFAULT NULL COMMENT 'user_id', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of ums_teacher --- ---------------------------- - -SET FOREIGN_KEY_CHECKS = 1; diff --git a/sql/teaching_db5.0.sql b/sql/teaching_db5.0.sql deleted file mode 100644 index cabf9fb..0000000 --- a/sql/teaching_db5.0.sql +++ /dev/null @@ -1,607 +0,0 @@ -/* - Navicat Premium Data Transfer - - Source Server : localhost_3306 - Source Server Type : MySQL - Source Server Version : 80026 (8.0.26) - Source Host : localhost:3306 - Source Schema : teaching_db - - Target Server Type : MySQL - Target Server Version : 80026 (8.0.26) - File Encoding : 65001 - - Date: 12/06/2024 16:15:18 -*/ - -SET NAMES utf8mb4; -SET FOREIGN_KEY_CHECKS = 0; - --- ---------------------------- --- Table structure for course_objectives --- ---------------------------- -DROP TABLE IF EXISTS `course_objectives`; -CREATE TABLE `course_objectives` ( - `id` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '内部编号', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', - `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', - `pid` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '父级节点 默认0没有', - `has_child` varchar(3) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '是否有子节点 添加子节点变1,默认0没有', - `name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '目标名称', - `type` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '目标类型', - `course_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '课程id', - `requireid` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '毕业要求id', - `temp` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '毕业要求', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of course_objectives --- ---------------------------- -INSERT INTO `course_objectives` VALUES ('3e42492c201d2a9378be5af2edc92b47', '2024-06-06 16:17:39', NULL, '0', '0', '近代史纲要课程总体目标', NULL, 'd8d7bb93f100164659cac44ef2c4f55a', NULL, NULL); -INSERT INTO `course_objectives` VALUES ('43f2c4b4a10a47784e50e772b9d10457', '2024-05-31 17:39:13', NULL, '0', '0', '测试课程课程总体目标', NULL, '6f5de6dd8c8d5d9d02a63c8444b9d5bb', NULL, NULL); -INSERT INTO `course_objectives` VALUES ('503dc084653ffd003cb404b62266dc7c', '2024-06-06 15:58:43', NULL, 'da6e7283befa8965dae0f0f39ea7f24e', '0', '知识目标', 'c126ef1a66733ab7a4ba12aba0eb7f82', NULL, NULL, NULL); -INSERT INTO `course_objectives` VALUES ('53b27c94fe8af02ac8b23d9be9a2e329', '2024-06-03 11:32:19', NULL, 'da6e7283befa8965dae0f0f39ea7f24e', '0', '思政目标', '71f73bd999f678bcbbdb101e23277feb', NULL, NULL, NULL); -INSERT INTO `course_objectives` VALUES ('7a302cd72d653647778840b42f4e076a', '2024-06-03 10:43:13', NULL, '0', '0', '软件构造课程总体目标', NULL, 'ee2447b4463a5ad3f47e1744d912a824', NULL, NULL); -INSERT INTO `course_objectives` VALUES ('aa839ff1345a04f95b4efcca02494cab', '2024-06-06 16:45:22', NULL, '0', '0', '毛概课程总体目标', NULL, '72e1ad71bb855ba328f8c17964697354', NULL, NULL); -INSERT INTO `course_objectives` VALUES ('b41fa8332f39cca11d35635bd9fac720', '2024-05-31 11:24:33', NULL, '0', '0', '计算机导论课程总体目标', NULL, '2fa0fd63262230639d2c45a3acd9045c', NULL, NULL); -INSERT INTO `course_objectives` VALUES ('c84dc451086f7938c28a4f757957f415', '2024-06-06 15:58:19', NULL, 'da6e7283befa8965dae0f0f39ea7f24e', '0', '价值目标', '410fc58cd757cd248941af1bea6888e5', NULL, NULL, NULL); -INSERT INTO `course_objectives` VALUES ('d452f583115465d067a1719458690b95', '2024-05-31 11:16:37', NULL, '0', '0', '计算机组成原理总体目标', NULL, '36c34a4225526dd20ee3840da61d3701', NULL, NULL); -INSERT INTO `course_objectives` VALUES ('da6e7283befa8965dae0f0f39ea7f24e', '2024-05-31 20:49:52', '2024-06-06 15:58:43', '0', '1', '离散数学及其应用课程总体目标', NULL, 'de3100cad98f76be3176dd39aa748a9e', NULL, NULL); - --- ---------------------------- --- Table structure for courses --- ---------------------------- -DROP TABLE IF EXISTS `courses`; -CREATE TABLE `courses` ( - `id` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '内部编号', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `img` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '课程封面', - `category` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '课程类别', - `nature` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '课程性质', - `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '课程名称', - `code` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '课程编码', - `semester` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '开课学期', - `credit` decimal(5, 2) NULL DEFAULT NULL COMMENT '课程学分', - `classhours` int NULL DEFAULT NULL COMMENT '课程学时', - `theoryhours` int NULL DEFAULT NULL COMMENT '理论学时', - `practicehours` int NULL DEFAULT NULL COMMENT '实践学时', - `experimenthours` int NULL DEFAULT NULL COMMENT '实验学时', - `otherhours` int NULL DEFAULT NULL COMMENT '其他学时', - `weeks` int NULL DEFAULT NULL COMMENT '上课周数', - `assessmenttype` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '考核类型', - `assessmentway` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '考核方式', - `teacher` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '负责教师', - `teachermethod` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '教学方法', - `teacherway` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '教学方式', - `description` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '课程简介', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of courses --- ---------------------------- -INSERT INTO `courses` VALUES ('2fa0fd63262230639d2c45a3acd9045c', '2024-05-30 20:58:34', NULL, '', '1', '1', '计算机导论12', '111007', NULL, 4.50, 64, NULL, NULL, NULL, NULL, NULL, '1', '1', '2140110334,2140110339', '暂定', '线下授课', NULL); -INSERT INTO `courses` VALUES ('36c34a4225526dd20ee3840da61d3701', '2024-05-28 20:58:36', NULL, '', '1', '1', '计算机组成原理', '111006', NULL, 4.00, 64, NULL, NULL, NULL, NULL, NULL, '1', '1', '2140110334,2140110339', '暂定', '线下授课', NULL); -INSERT INTO `courses` VALUES ('6f5de6dd8c8d5d9d02a63c8444b9d5bb', '2024-05-26 20:58:40', NULL, '', '1', '1', '测试课程', '111008', NULL, 4.00, 64, NULL, NULL, NULL, NULL, NULL, '1', '1', '2140110334,2140110339', '暂定', '线下授课', NULL); -INSERT INTO `courses` VALUES ('72e1ad71bb855ba328f8c17964697354', '2024-06-06 16:45:22', NULL, 'http://teaching-edu123.oss-cn-beijing.aliyuncs.com/KdxGCt8rKbruw3zEDTdkA.jpg', '1', '1', '毛概', '111012', NULL, 3.60, 48, NULL, NULL, NULL, NULL, NULL, '1', '1', '2140110334', '暂定', '线下授课', NULL); -INSERT INTO `courses` VALUES ('8721e6864387eb99b04692f125ac0a9f', '2024-05-27 20:58:43', NULL, '', '1', '1', 'SQLServer数据库教程', '111004', NULL, 4.00, 0, NULL, NULL, NULL, NULL, NULL, '1', '1', '2140110334,2140110327', '暂定111', '线下机房授课', NULL); -INSERT INTO `courses` VALUES ('90ce365ae4e362f616776550e04ae0b4', '2024-05-24 20:58:48', NULL, '', '1', '1', 'JavaEE', '111002', NULL, 4.00, 0, NULL, NULL, NULL, NULL, NULL, '1', '1', '2140110334,2140110327', '暂定', '线下机房授课', NULL); -INSERT INTO `courses` VALUES ('a2ba84374d86e85208c5906a96ea8205', '2024-05-24 20:58:48', NULL, 'https://teaching-edu123.oss-cn-beijing.aliyuncs.com/Borovets_ZH-CN5914681811_UHD.jpg', '1', '1', 'JavaWeb', '111003', NULL, 4.00, 0, NULL, NULL, NULL, NULL, NULL, '1', '1', '2140110334,2140110327', '暂定', '线下机房授课', NULL); -INSERT INTO `courses` VALUES ('d511d26df8de551bc85ce765089771b4', '2024-05-24 20:58:48', NULL, '', '1', '1', '高级编程', '111001', NULL, 4.00, 0, NULL, NULL, NULL, NULL, NULL, '1', '1', '2140110334,2140110327', '暂定', '线下机房授课', NULL); -INSERT INTO `courses` VALUES ('d8d7bb93f100164659cac44ef2c4f55a', '2024-06-06 16:17:39', NULL, '', '1', '1', '近代史纲要', '111011', NULL, 2.60, 48, NULL, NULL, NULL, NULL, NULL, '1', '1', '2140110334', '暂定', '线下授课', NULL); -INSERT INTO `courses` VALUES ('de3100cad98f76be3176dd39aa748a9e', '2024-05-31 20:49:52', NULL, 'http://teaching-edu123.oss-cn-beijing.aliyuncs.com/E96JlmbPeqvzVcPvg43Lb.jpg', '1', '1', '离散数学及其应用', '111009', NULL, 2.00, 64, NULL, NULL, NULL, NULL, NULL, '1', '1', '2140110334', '暂定', '线下授课', NULL); - --- ---------------------------- --- Table structure for know --- ---------------------------- -DROP TABLE IF EXISTS `know`; -CREATE TABLE `know` ( - `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'id', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '知识点名称', - `info` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '简介', - `content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '知识点内容', - `img` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '知识点图片', - `hour` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '知识点学时', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of know --- ---------------------------- - --- ---------------------------- --- Table structure for know_relationship --- ---------------------------- -DROP TABLE IF EXISTS `know_relationship`; -CREATE TABLE `know_relationship` ( - `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '主键id', - `chapterId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '章节id', - `courseId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '课程id', - `knowId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '知识点id', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of know_relationship --- ---------------------------- - --- ---------------------------- --- Table structure for learning_records --- ---------------------------- -DROP TABLE IF EXISTS `learning_records`; -CREATE TABLE `learning_records` ( - `id` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT '学习记录id', - `user_id` varchar(36) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '用户id', - `courses_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '课程id', - `chapter_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '章节id', - `knowledge_point_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '知识点id', - `resource_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '资源id', - `access_time` datetime NULL DEFAULT NULL COMMENT '访问时间', - `learning_method1` varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT '0' COMMENT '学习方式:打开; 1,打开过,2未打开', - `learning_method2` varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT '0' COMMENT '学习方式:下载; 1下载过, 2未下载', - `video_duration` varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '视频学习时长', - `is_completed` varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '是否完成观看:1,已完成,0未完成', - `content` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '记录封面图片', - `address` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '资源地址', - `status` varchar(2) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT '1' COMMENT '是否存在: 1存在;0不存在;', - `parent_node` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '父节点', - `type` varchar(10) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '类型, 如:1,课程; 2,章节; 3,知识点; 4,学习资源', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = MyISAM AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of learning_records --- ---------------------------- -INSERT INTO `learning_records` VALUES ('1', '1', '290bf0217c6a1569abf225289c7e11ea', NULL, NULL, NULL, '2024-05-31 21:35:11', NULL, '1', NULL, NULL, 'https://teaching-edu123.oss-cn-beijing.aliyuncs.com/Borovets_ZH-CN5914681811_UHD.jpg', '/portal', '1', NULL, '1'); -INSERT INTO `learning_records` VALUES ('2', '2', 'd511d26df8de551bc85ce765089771b4', NULL, NULL, NULL, '2024-05-31 00:00:00', NULL, '0', NULL, NULL, 'https://teaching-edu123.oss-cn-beijing.aliyuncs.com/Borovets_ZH-CN5914681811_UHD.jpg', '/portal', '1', NULL, '1'); -INSERT INTO `learning_records` VALUES ('3', '1', 'd511d26df8de551bc85ce765089771b4', NULL, NULL, NULL, '2024-05-31 00:00:00', NULL, '1', NULL, NULL, 'https://teaching-edu123.oss-cn-beijing.aliyuncs.com/Borovets_ZH-CN5914681811_UHD.jpg', '/portal', '1', NULL, '1'); -INSERT INTO `learning_records` VALUES ('4', '1', '1', '', '', '', '2024-06-07 10:49:42', '1', '0', '', '', 'https://teaching-edu123.oss-cn-beijing.aliyuncs.com/Borovets_ZH-CN5914681811_UHD.jpg', '/portal', '0', '', '2'); -INSERT INTO `learning_records` VALUES ('5', '1', '2', NULL, NULL, NULL, '2024-05-02 00:00:00', NULL, '1', NULL, NULL, 'https://teaching-edu123.oss-cn-beijing.aliyuncs.com/Borovets_ZH-CN5914681811_UHD.jpg', '/portal', '1', NULL, '1'); -INSERT INTO `learning_records` VALUES ('6', '1', '3', NULL, NULL, NULL, '2024-06-04 10:10:49', NULL, '0', NULL, NULL, 'https://teaching-edu123.oss-cn-beijing.aliyuncs.com/Borovets_ZH-CN5914681811_UHD.jpg', '/portal', '1', NULL, '1'); -INSERT INTO `learning_records` VALUES ('7', '1', '4', NULL, NULL, NULL, '2024-06-04 10:12:01', NULL, '1', NULL, NULL, 'https://teaching-edu123.oss-cn-beijing.aliyuncs.com/Borovets_ZH-CN5914681811_UHD.jpg', '/portal', '0', NULL, '1'); -INSERT INTO `learning_records` VALUES ('96', '1', '5', NULL, NULL, NULL, '2024-05-30 20:46:21', NULL, '0', NULL, NULL, 'https://teaching-edu123.oss-cn-beijing.aliyuncs.com/Borovets_ZH-CN5914681811_UHD.jpg', '/portal', '1', NULL, '1'); -INSERT INTO `learning_records` VALUES ('8', '2', '3', NULL, NULL, NULL, '2024-06-04 10:15:01', NULL, '1', NULL, NULL, 'https://teaching-edu123.oss-cn-beijing.aliyuncs.com/Borovets_ZH-CN5914681811_UHD.jpg', 'https://www.taobao.com/', '1', NULL, '1'); -INSERT INTO `learning_records` VALUES ('75', '2', '4', NULL, NULL, NULL, '2024-06-04 10:17:16', NULL, '0', NULL, NULL, 'https://teaching-edu123.oss-cn-beijing.aliyuncs.com/Borovets_ZH-CN5914681811_UHD.jpg', 'https://www.taobao.com/', '1', NULL, '1'); -INSERT INTO `learning_records` VALUES ('71', '2', '5', NULL, NULL, NULL, '2024-06-04 12:01:48', NULL, '1', NULL, NULL, 'https://teaching-edu123.oss-cn-beijing.aliyuncs.com/Borovets_ZH-CN5914681811_UHD.jpg', 'https://www.taobao.com/', '1', NULL, '1'); -INSERT INTO `learning_records` VALUES ('1797841286352658434', '3', '5', '', '', '', '2024-06-06 16:59:38', '1', '1', '', '', '', '/portal', '1', '', '1'); -INSERT INTO `learning_records` VALUES ('1798911495222161409', '1', '1', '', '', '', '2024-06-07 10:54:57', '1', '0', '', '', 'https://teaching-edu123.oss-cn-beijing.aliyuncs.com/Borovets_ZH-CN5914681811_UHD.jpg', '/portal', '0', '', '1'); -INSERT INTO `learning_records` VALUES ('1797984330104299521', '3', '1', NULL, NULL, NULL, '2024-06-04 21:30:44', NULL, '1', '1', '1', 'https://teaching-edu123.oss-cn-beijing.aliyuncs.com/Borovets_ZH-CN5914681811_UHD.jpg', 'https://www.baidu.com/', '1', NULL, '1'); - --- ---------------------------- --- Table structure for objective_contents --- ---------------------------- -DROP TABLE IF EXISTS `objective_contents`; -CREATE TABLE `objective_contents` ( - `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, - `objective_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '对应的目标id', - `content` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '内容', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of objective_contents --- ---------------------------- -INSERT INTO `objective_contents` VALUES ('3f85eb79c29be4a15c729d98b17676a5', 'c84dc451086f7938c28a4f757957f415', '价值目标3'); -INSERT INTO `objective_contents` VALUES ('406c85c99bd2d4b9f624ca3a67c3ce66', '53b27c94fe8af02ac8b23d9be9a2e329', '思政目标2'); -INSERT INTO `objective_contents` VALUES ('4ad5a1f0f584e35e7af6ef5142773990', '503dc084653ffd003cb404b62266dc7c', '知识目标1'); -INSERT INTO `objective_contents` VALUES ('4b4458cd64b0a1e21b54191a89e9f83d', 'c84dc451086f7938c28a4f757957f415', '价值目标2'); -INSERT INTO `objective_contents` VALUES ('53d9d78b41051696314c0b1c0efa5313', '503dc084653ffd003cb404b62266dc7c', '知识目标3'); -INSERT INTO `objective_contents` VALUES ('6689ed187bcbd36309510a21ea492225', 'da6e7283befa8965dae0f0f39ea7f24e', '总目标3'); -INSERT INTO `objective_contents` VALUES ('979e59083e81f28145e1162069ffebb8', 'c84dc451086f7938c28a4f757957f415', '价值目标1'); -INSERT INTO `objective_contents` VALUES ('9efcc83089e6de9945499876d1a6235a', 'da6e7283befa8965dae0f0f39ea7f24e', '总目标1'); -INSERT INTO `objective_contents` VALUES ('c6b3fc522a5479e28cd3f0c9b971a871', '53b27c94fe8af02ac8b23d9be9a2e329', '思政目标3'); -INSERT INTO `objective_contents` VALUES ('dc31075d57f371970c5af09fd534a9af', 'da6e7283befa8965dae0f0f39ea7f24e', '总目标2'); -INSERT INTO `objective_contents` VALUES ('eca937e6f047e3b6b06d67c5b4a9beff', '53b27c94fe8af02ac8b23d9be9a2e329', '思政目标1'); -INSERT INTO `objective_contents` VALUES ('ffde482fac55e6dec5b60f6c6208d42c', '503dc084653ffd003cb404b62266dc7c', '知识目标2'); - --- ---------------------------- --- Table structure for objectives_type --- ---------------------------- -DROP TABLE IF EXISTS `objectives_type`; -CREATE TABLE `objectives_type` ( - `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, - `type_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '类型名称', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `type_name`(`type_name` ASC) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of objectives_type --- ---------------------------- -INSERT INTO `objectives_type` VALUES ('410fc58cd757cd248941af1bea6888e5', '价值目标'); -INSERT INTO `objectives_type` VALUES ('71f73bd999f678bcbbdb101e23277feb', '思政目标'); -INSERT INTO `objectives_type` VALUES ('c126ef1a66733ab7a4ba12aba0eb7f82', '知识目标'); -INSERT INTO `objectives_type` VALUES ('2350f69ef928cd2949e7fc05b05bd0c3', '素质目标'); - --- ---------------------------- --- Table structure for resource --- ---------------------------- -DROP TABLE IF EXISTS `resource`; -CREATE TABLE `resource` ( - `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '主键', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '资源名称', - `type` int NULL DEFAULT NULL COMMENT '资源类型', - `path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '资源路径', - `status` int NULL DEFAULT NULL COMMENT '资源状态', - `tags` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '标签', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of resource --- ---------------------------- - --- ---------------------------- --- Table structure for resource_relationship --- ---------------------------- -DROP TABLE IF EXISTS `resource_relationship`; -CREATE TABLE `resource_relationship` ( - `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '主键', - `courseId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '课程id', - `chapterId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '章节id', - `knowId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '知识点id', - `resourceId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '资源id', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of resource_relationship --- ---------------------------- - --- ---------------------------- --- Table structure for se_course_favour --- ---------------------------- -DROP TABLE IF EXISTS `se_course_favour`; -CREATE TABLE `se_course_favour` ( - `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'id', - `course_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '课程id', - `user_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '用户', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of se_course_favour --- ---------------------------- -INSERT INTO `se_course_favour` VALUES ('1796378327262564353', 'a2ba84374d86e85208c5906a96ea8205', '2'); -INSERT INTO `se_course_favour` VALUES ('1796454599099658242', '36c34a4225526dd20ee3840da61d3701', '2'); -INSERT INTO `se_course_favour` VALUES ('1796789887730647041', '2fa0fd63262230639d2c45a3acd9045c', '2'); -INSERT INTO `se_course_favour` VALUES ('1797497056650289154', 'd511d26df8de551bc85ce765089771b4', '1'); -INSERT INTO `se_course_favour` VALUES ('1797499380101767170', 'd511d26df8de551bc85ce765089771b4', '2'); -INSERT INTO `se_course_favour` VALUES ('1798221492412149761', 'd511d26df8de551bc85ce765089771b4', '5'); -INSERT INTO `se_course_favour` VALUES ('1798621775654993922', 'd511d26df8de551bc85ce765089771b4', '8'); -INSERT INTO `se_course_favour` VALUES ('1798632199670714369', 'de3100cad98f76be3176dd39aa748a9e', '2'); - --- ---------------------------- --- Table structure for se_course_thumb --- ---------------------------- -DROP TABLE IF EXISTS `se_course_thumb`; -CREATE TABLE `se_course_thumb` ( - `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `course_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, - `user_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of se_course_thumb --- ---------------------------- -INSERT INTO `se_course_thumb` VALUES ('1796343958854623233', '2', '1'); -INSERT INTO `se_course_thumb` VALUES ('1796344002215337985', '2', '2'); -INSERT INTO `se_course_thumb` VALUES ('1796362250491191298', '1', '2'); -INSERT INTO `se_course_thumb` VALUES ('1796437673614974977', '6', '2'); -INSERT INTO `se_course_thumb` VALUES ('1796445964822847489', '7', '4'); - --- ---------------------------- --- Table structure for se_know_favour --- ---------------------------- -DROP TABLE IF EXISTS `se_know_favour`; -CREATE TABLE `se_know_favour` ( - `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `course_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, - `know_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, - `user_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of se_know_favour --- ---------------------------- -INSERT INTO `se_know_favour` VALUES ('1796378889450295297', '1', '2', '3'); - --- ---------------------------- --- Table structure for se_know_thumb --- ---------------------------- -DROP TABLE IF EXISTS `se_know_thumb`; -CREATE TABLE `se_know_thumb` ( - `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `course_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, - `know_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, - `user_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of se_know_thumb --- ---------------------------- -INSERT INTO `se_know_thumb` VALUES ('1796347057337982977', '1', '2', '2'); -INSERT INTO `se_know_thumb` VALUES ('1796347303317135361', '2', '2', '3'); -INSERT INTO `se_know_thumb` VALUES ('1796347343968329730', '2', '3', '3'); -INSERT INTO `se_know_thumb` VALUES ('1796347380697849857', '1', '3', '3'); - --- ---------------------------- --- Table structure for se_resource_favour --- ---------------------------- -DROP TABLE IF EXISTS `se_resource_favour`; -CREATE TABLE `se_resource_favour` ( - `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `course_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, - `resource_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, - `user_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of se_resource_favour --- ---------------------------- -INSERT INTO `se_resource_favour` VALUES ('1796379012112715778', '1', '2', '3'); - --- ---------------------------- --- Table structure for se_resource_thumb --- ---------------------------- -DROP TABLE IF EXISTS `se_resource_thumb`; -CREATE TABLE `se_resource_thumb` ( - `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, - `course_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, - `resource_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, - `user_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of se_resource_thumb --- ---------------------------- -INSERT INTO `se_resource_thumb` VALUES ('1796366535710904322', '2', '1', '1'); - --- ---------------------------- --- Table structure for ums_admin --- ---------------------------- -DROP TABLE IF EXISTS `ums_admin`; -CREATE TABLE `ums_admin` ( - `id` int NOT NULL AUTO_INCREMENT COMMENT '主键', - `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '用户名', - `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '密码', - `phone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '手机号', - `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '昵称', - `icon` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '头像', - `create_time` datetime NULL DEFAULT NULL COMMENT '注册时间', - `status` int NULL DEFAULT 1 COMMENT '帐号启用状态:0->禁用;1->启用', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of ums_admin --- ---------------------------- -INSERT INTO `ums_admin` VALUES (2, '123', '$2a$10$ACn80kN2ZEREGH3yOce9mui/KoWQllCHjNVXzXzrTI3gKJi/LB/YK', '123456789', '', '', '2024-06-05 23:23:45', 1); -INSERT INTO `ums_admin` VALUES (3, 'youhang', '$2a$10$TYJcMWBdDmmYfV/Kxi771ee7krjYJCLzI8O6MyjCofty9Y0OPLEna', '13547534472', 'yy', '', '2024-06-12 15:09:10', 1); -INSERT INTO `ums_admin` VALUES (4, 'xiao1111', '$2a$10$lDwfuRcOuNNdSXhmcwV9w.2SUblbwlS4ipxHXmqzTpw54CvxTwtU.', '', '', '', '2024-06-12 16:13:34', 1); - --- ---------------------------- --- Table structure for ums_admin_role_relation --- ---------------------------- -DROP TABLE IF EXISTS `ums_admin_role_relation`; -CREATE TABLE `ums_admin_role_relation` ( - `id` int NOT NULL AUTO_INCREMENT, - `admin_id` int NULL DEFAULT NULL, - `role_id` int NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of ums_admin_role_relation --- ---------------------------- -INSERT INTO `ums_admin_role_relation` VALUES (1, 3, 2); -INSERT INTO `ums_admin_role_relation` VALUES (2, 4, 1); - --- ---------------------------- --- Table structure for ums_menu --- ---------------------------- -DROP TABLE IF EXISTS `ums_menu`; -CREATE TABLE `ums_menu` ( - `id` int NOT NULL AUTO_INCREMENT, - `parent_id` int NULL DEFAULT NULL COMMENT '父级ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '菜单名称', - `level` int NULL DEFAULT NULL COMMENT '菜单级数', - `sort` int NULL DEFAULT NULL COMMENT '菜单排序', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '前端名称', - `icon` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '前端图标', - `hidden` int NULL DEFAULT NULL COMMENT '前端隐藏', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 21 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of ums_menu --- ---------------------------- -INSERT INTO `ums_menu` VALUES (1, NULL, '2024-06-12 15:44:52', '个人中心', NULL, NULL, 'Home', NULL, NULL); -INSERT INTO `ums_menu` VALUES (2, NULL, '2024-06-12 15:45:19', '课程', NULL, NULL, 'Course', NULL, NULL); -INSERT INTO `ums_menu` VALUES (3, NULL, '2024-06-12 15:45:26', '学生', NULL, NULL, 'Student', NULL, NULL); -INSERT INTO `ums_menu` VALUES (4, NULL, '2024-06-12 15:45:34', '分组', NULL, NULL, 'Group', NULL, NULL); -INSERT INTO `ums_menu` VALUES (5, NULL, '2024-06-12 15:45:38', '消息', NULL, NULL, 'Message', NULL, NULL); -INSERT INTO `ums_menu` VALUES (6, NULL, '2024-06-12 15:45:44', '课程基本信息', NULL, NULL, 'BasicCourseInformation', NULL, NULL); -INSERT INTO `ums_menu` VALUES (7, NULL, '2024-06-12 15:46:48', '课程目标', NULL, NULL, 'CourseObjectives', NULL, NULL); -INSERT INTO `ums_menu` VALUES (8, NULL, '2024-06-12 15:46:53', '课程章节', NULL, NULL, 'CourseChapters', NULL, NULL); -INSERT INTO `ums_menu` VALUES (9, NULL, '2024-06-12 15:46:59', '知识点', NULL, NULL, 'KnowledgePoints', NULL, NULL); -INSERT INTO `ums_menu` VALUES (10, NULL, '2024-06-12 15:47:04', '课程图谱', NULL, NULL, 'CurriculumMap', NULL, NULL); -INSERT INTO `ums_menu` VALUES (11, NULL, '2024-06-12 15:47:10', '课程资源', NULL, NULL, 'CourseResources', NULL, NULL); -INSERT INTO `ums_menu` VALUES (12, NULL, '2024-06-12 15:47:16', '课程学习记录', NULL, NULL, 'LearningProcess', NULL, NULL); -INSERT INTO `ums_menu` VALUES (13, NULL, '2024-06-12 15:49:09', '课程收藏', NULL, NULL, 'CourseCollections', NULL, NULL); -INSERT INTO `ums_menu` VALUES (14, NULL, '2024-06-12 15:49:17', '课程点赞', NULL, NULL, 'Courselikes', NULL, NULL); -INSERT INTO `ums_menu` VALUES (15, NULL, '2024-06-12 15:50:03', '网站首页', NULL, NULL, 'WebHome', NULL, NULL); -INSERT INTO `ums_menu` VALUES (16, NULL, '2024-06-12 15:50:09', '课程首页', NULL, NULL, 'CourseHome', NULL, NULL); -INSERT INTO `ums_menu` VALUES (17, NULL, '2024-06-12 15:50:15', '学习路径推荐', NULL, NULL, 'LearningPathRecommendations', NULL, NULL); -INSERT INTO `ums_menu` VALUES (18, NULL, '2024-06-12 15:51:24', '知识点学习', NULL, NULL, 'KnowledgePointLearning', NULL, NULL); -INSERT INTO `ums_menu` VALUES (19, NULL, '2024-06-12 15:51:31', '课程报告', NULL, NULL, 'CourseReports', NULL, NULL); -INSERT INTO `ums_menu` VALUES (20, NULL, '2024-06-12 15:53:15', '学习过程', NULL, NULL, 'MyCourseStudyManagement', NULL, NULL); - --- ---------------------------- --- Table structure for ums_resource --- ---------------------------- -DROP TABLE IF EXISTS `ums_resource`; -CREATE TABLE `ums_resource` ( - `id` int NOT NULL AUTO_INCREMENT, - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '资源名称', - `url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '资源URL', - `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述', - `category_id` int NULL DEFAULT NULL COMMENT '资源分类ID', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of ums_resource --- ---------------------------- -INSERT INTO `ums_resource` VALUES (1, '2024-06-04 09:56:19', '首页', '/home/advertise/**', NULL, 1); - --- ---------------------------- --- Table structure for ums_resource_category --- ---------------------------- -DROP TABLE IF EXISTS `ums_resource_category`; -CREATE TABLE `ums_resource_category` ( - `id` int NOT NULL AUTO_INCREMENT, - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '分类名称', - `sort` int NULL DEFAULT NULL COMMENT '排序', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of ums_resource_category --- ---------------------------- -INSERT INTO `ums_resource_category` VALUES (1, '2024-06-04 09:57:23', '首页模块', 0); - --- ---------------------------- --- Table structure for ums_role --- ---------------------------- -DROP TABLE IF EXISTS `ums_role`; -CREATE TABLE `ums_role` ( - `id` int NOT NULL AUTO_INCREMENT, - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '名称', - `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述', - `admin_count` int NULL DEFAULT NULL COMMENT '后台用户数量', - `create_time` datetime NOT NULL COMMENT '创建时间', - `status` int NULL DEFAULT 1 COMMENT '启用状态:0->禁用;1->启用', - `sort` int NULL DEFAULT 0, - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of ums_role --- ---------------------------- -INSERT INTO `ums_role` VALUES (1, '老师', '能查看自己和所有学生的信息', 0, '2024-06-04 09:59:47', 1, 0); -INSERT INTO `ums_role` VALUES (2, '学生', '只能查看自己信息', 0, '2024-06-04 10:02:15', 1, 0); - --- ---------------------------- --- Table structure for ums_role_menu_relation --- ---------------------------- -DROP TABLE IF EXISTS `ums_role_menu_relation`; -CREATE TABLE `ums_role_menu_relation` ( - `id` int NOT NULL AUTO_INCREMENT, - `role_id` int NULL DEFAULT NULL COMMENT '角色ID', - `menu_id` int NULL DEFAULT NULL COMMENT '菜单ID', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 23 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of ums_role_menu_relation --- ---------------------------- -INSERT INTO `ums_role_menu_relation` VALUES (1, 1, 1); -INSERT INTO `ums_role_menu_relation` VALUES (2, 1, 2); -INSERT INTO `ums_role_menu_relation` VALUES (3, 1, 3); -INSERT INTO `ums_role_menu_relation` VALUES (4, 1, 4); -INSERT INTO `ums_role_menu_relation` VALUES (5, 1, 5); -INSERT INTO `ums_role_menu_relation` VALUES (6, 1, 6); -INSERT INTO `ums_role_menu_relation` VALUES (7, 1, 7); -INSERT INTO `ums_role_menu_relation` VALUES (8, 1, 8); -INSERT INTO `ums_role_menu_relation` VALUES (9, 1, 9); -INSERT INTO `ums_role_menu_relation` VALUES (10, 1, 10); -INSERT INTO `ums_role_menu_relation` VALUES (11, 2, 1); -INSERT INTO `ums_role_menu_relation` VALUES (12, 2, 5); -INSERT INTO `ums_role_menu_relation` VALUES (13, 2, 11); -INSERT INTO `ums_role_menu_relation` VALUES (14, 2, 12); -INSERT INTO `ums_role_menu_relation` VALUES (15, 2, 13); -INSERT INTO `ums_role_menu_relation` VALUES (16, 2, 14); -INSERT INTO `ums_role_menu_relation` VALUES (17, 2, 15); -INSERT INTO `ums_role_menu_relation` VALUES (18, 2, 16); -INSERT INTO `ums_role_menu_relation` VALUES (19, 2, 17); -INSERT INTO `ums_role_menu_relation` VALUES (20, 2, 18); -INSERT INTO `ums_role_menu_relation` VALUES (21, 2, 19); -INSERT INTO `ums_role_menu_relation` VALUES (22, 2, 20); - --- ---------------------------- --- Table structure for ums_role_resource_relation --- ---------------------------- -DROP TABLE IF EXISTS `ums_role_resource_relation`; -CREATE TABLE `ums_role_resource_relation` ( - `id` int NOT NULL AUTO_INCREMENT, - `role_id` int NULL DEFAULT NULL COMMENT '角色ID', - `resource_id` int NULL DEFAULT NULL COMMENT '资源ID', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of ums_role_resource_relation --- ---------------------------- -INSERT INTO `ums_role_resource_relation` VALUES (1, 1, 1); -INSERT INTO `ums_role_resource_relation` VALUES (2, 2, 1); - --- ---------------------------- --- Table structure for ums_student --- ---------------------------- -DROP TABLE IF EXISTS `ums_student`; -CREATE TABLE `ums_student` ( - `id` int NOT NULL, - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '姓名', - `sex` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '性别', - `nationality` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '民族', - `number` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '学号', - `birthday` datetime NULL DEFAULT NULL COMMENT '生日', - `phone` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '手机号', - `faculty` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '院系', - `major` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '专业', - `year` date NULL DEFAULT NULL COMMENT '入学年份', - `class` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '班级', - `user_id` int NULL DEFAULT NULL COMMENT 'user_id', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of ums_student --- ---------------------------- - --- ---------------------------- --- Table structure for ums_teacher --- ---------------------------- -DROP TABLE IF EXISTS `ums_teacher`; -CREATE TABLE `ums_teacher` ( - `id` int NOT NULL, - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '姓名', - `sex` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '性别', - `nationality` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '民族', - `profession` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '专业', - `education` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '学历', - `degree` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '学位', - `professional_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '职称', - `emergency_contact` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '手机号', - `join_work_time` datetime NULL DEFAULT NULL COMMENT '参加工作时间', - `political_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '政治面貌', - `user_id` int NULL DEFAULT NULL COMMENT 'user_id', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of ums_teacher --- ---------------------------- - -SET FOREIGN_KEY_CHECKS = 1; diff --git a/src/main/java/com/teaching/TeachingBackendApplication.java b/src/main/java/com/teaching/TeachingBackendApplication.java index 0db15d2..fd5e055 100644 --- a/src/main/java/com/teaching/TeachingBackendApplication.java +++ b/src/main/java/com/teaching/TeachingBackendApplication.java @@ -1,8 +1,10 @@ package com.teaching; +import cn.hutool.core.lang.generator.SnowflakeGenerator; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.Bean; @SpringBootApplication @MapperScan("com.teaching.backend.mapper") @@ -11,8 +13,11 @@ public class TeachingBackendApplication { public static void main(String[] args) { SpringApplication.run(TeachingBackendApplication.class, args); + } - + @Bean + SnowflakeGenerator snowflakeGenerator(){ + return new SnowflakeGenerator(1,0); } } diff --git a/src/main/java/com/teaching/backend/common/ErrorCode.java b/src/main/java/com/teaching/backend/common/ErrorCode.java index 99341f2..5ae2725 100644 --- a/src/main/java/com/teaching/backend/common/ErrorCode.java +++ b/src/main/java/com/teaching/backend/common/ErrorCode.java @@ -14,9 +14,12 @@ public enum ErrorCode { KONWID_NOT_EXIT(40002, "没有选择知识点"), OBJECTIVE_OR_CONTENT_EXIT(40003, "该记录已存在"), KNOW_NOT_EXIT(40004, "知识点不存在"), - TEACHER_NOT_EXIT(40005, "缺少教师信息"), + USERNAME_NOT_EXIT(40005, "缺少用户信息"), STUDENT_NOT_EXIT(40006, "缺少学生信息"), COURSES_NOT_EXIT(40007, "缺少课程信息"), + CONTENT_NOT_EXIT(40008, "内容id不存在"), + KNOWS_EXIT(40009, "该项下面存在关联的知识点"), + INVALID_ROLE(400010, "角色不存在"), NOT_LOGIN_ERROR(40100, "未登录"), NO_AUTH_ERROR(40101, "无权限"), diff --git a/src/main/java/com/teaching/backend/controller/CommonController.java b/src/main/java/com/teaching/backend/controller/CommonController.java index daceb35..af648df 100644 --- a/src/main/java/com/teaching/backend/controller/CommonController.java +++ b/src/main/java/com/teaching/backend/controller/CommonController.java @@ -2,19 +2,19 @@ package com.teaching.backend.controller; import com.aliyun.oss.OSS; import com.aliyun.oss.OSSClientBuilder; -import com.aliyun.oss.model.OSSObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; + import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.teaching.backend.common.BaseResponse; +import com.teaching.backend.common.ErrorCode; import com.teaching.backend.common.ResultUtils; -import com.teaching.backend.model.entity.FileTable; -import com.teaching.backend.service.FileTableService; -import org.apache.commons.io.FileUtils; -import org.apache.commons.io.IOUtils; +import com.teaching.backend.model.entity.CourseResources; +import com.teaching.backend.service.CourseResourcesService; + +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; @@ -22,9 +22,8 @@ import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; -import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; -import java.awt.*; + import java.io.*; import java.nio.file.Paths; import java.util.Date; @@ -44,7 +43,7 @@ public class CommonController { @Resource - private FileTableService fileTableService; + private CourseResourcesService courseResourcesService; @Value("${aliyun.oss.endpoint}") private String endpoint; @@ -60,21 +59,30 @@ public class CommonController { @PostMapping("/upload") - public BaseResponse upload(@RequestParam("courseId") String courseId, MultipartFile file) throws IOException { + public BaseResponse upload(MultipartFile file) throws IOException { +// if (file.getSize() > (10)) { +// return ResultUtils.error(690,"内容太大啦!"); +// } OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); String originalFilename = file.getOriginalFilename(); String suffix = originalFilename.substring(originalFilename.lastIndexOf(".")); - + Integer Filetype; String subDir; if (suffix.equalsIgnoreCase(".jpg") || suffix.equalsIgnoreCase(".jpeg") || suffix.equalsIgnoreCase(".png")) { subDir = "img/"; + Filetype=1 ; } else if (suffix.equalsIgnoreCase(".mp4") || suffix.equalsIgnoreCase(".avi") || suffix.equalsIgnoreCase(".mov")) { subDir = "video/"; - } else { + Filetype=2 ; + } else if (suffix.equalsIgnoreCase(".mp3") || suffix.equalsIgnoreCase(".wav") || suffix.equalsIgnoreCase(".flac")) { + subDir = "video/"; + Filetype = 3; + }else { subDir = "others/"; + Filetype=4; } @@ -84,9 +92,11 @@ public class CommonController { ossClient.putObject(bucketName, subDir + fileName, file.getInputStream()); - String objectUrl = ossClient.generatePresignedUrl(bucketName, subDir + fileName, new Date(System.currentTimeMillis() + 3600 * 1000)).toString(); +// String objectUrl = ossClient.generatePresignedUrl(bucketName, subDir + fileName, new Date(System.currentTimeMillis() + 3600 * 1000)).toString(); - fileTableService.updateFile(courseId, fileName, objectUrl); // 更新文件路径为OSS生成的URL + String objectUrl = "https://" + bucketName + "." + endpoint + "/" + subDir + fileName; + Integer type=Filetype; + courseResourcesService.updateFile(type, fileName, objectUrl); // 更新文件路径为OSS生成的URL ossClient.shutdown(); @@ -97,23 +107,25 @@ public class CommonController { //文件下载 @GetMapping("/download") - public BaseResponse download(@RequestParam String courseId, @RequestParam String path, HttpServletResponse response) throws IOException { + public BaseResponse download(@RequestParam String Id, @RequestParam String path, HttpServletResponse response) throws IOException { System.out.println("执行了下载的方法"); - fileTableService.download(courseId,path,response,endpoint,accessKeyId,accessKeySecret,bucketName); + courseResourcesService.download(Id,path,response,endpoint,accessKeyId,accessKeySecret,bucketName); return ResultUtils.success("成功"); } @GetMapping("/get/record") - public BaseResponse> pageBaseResponse(int page,int pageSize){ + public BaseResponse> pageBaseResponse(@RequestParam Integer type, Integer page,Integer pageSize){ + - Page pageInfo=new Page<>(page,pageSize); + Page pageInfo=new Page<>(page,pageSize); - LambdaQueryWrapper lambdaQueryWrapper=new LambdaQueryWrapper<>(); + LambdaQueryWrapper lambdaQueryWrapper=new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(type!=null,CourseResources::getType,type); - fileTableService.page(pageInfo, lambdaQueryWrapper); + courseResourcesService.page(pageInfo, lambdaQueryWrapper); return ResultUtils.success(pageInfo); diff --git a/src/main/java/com/teaching/backend/controller/FavourInformation/FavourInformationController.java b/src/main/java/com/teaching/backend/controller/FavourInformation/FavourInformationController.java new file mode 100644 index 0000000..ce6d646 --- /dev/null +++ b/src/main/java/com/teaching/backend/controller/FavourInformation/FavourInformationController.java @@ -0,0 +1,53 @@ +package com.teaching.backend.controller.FavourInformation; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.teaching.backend.common.BaseResponse; +import com.teaching.backend.common.ErrorCode; +import com.teaching.backend.common.PageRequest; +import com.teaching.backend.common.ResultUtils; +import com.teaching.backend.exception.BusinessException; +import com.teaching.backend.model.dto.favour.resourceFavour.ResourceFavourAddRequest; +import com.teaching.backend.model.entity.CourseResources; +import com.teaching.backend.model.entity.favour.SeCourseFavour; +import com.teaching.backend.model.entity.favour.SeResourceFavour; +import com.teaching.backend.service.CourseResourcesService; +import com.teaching.backend.service.favour.SeResourceFavourService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; +import java.util.stream.Collectors; + +/** + * ClassName: Get + * Package: com.teaching.backend.controller.FavourInformation + * Description: + * + * @Author 姜钧瀚 + * @Create 2024/6/13 18:15 + * @Version 1.0 + */ +@RestController +public class FavourInformationController{ + + + @Resource + CourseResourcesService courseResourcesService; + + + + @GetMapping("/Favour/get") + public BaseResponse> getInformation2(@RequestParam List resourceIdList , @RequestParam Integer type, PageRequest pageRequest) { + + int page=pageRequest.getCurrent(); + int pageSize=pageRequest.getPageSize(); + + Page resourcesPage=courseResourcesService.getresourceRecords(type,resourceIdList,page,pageSize); + + return ResultUtils.success(resourcesPage); + + } + + } diff --git a/src/main/java/com/teaching/backend/controller/WordController2.java b/src/main/java/com/teaching/backend/controller/WordController2.java new file mode 100644 index 0000000..c7533bb --- /dev/null +++ b/src/main/java/com/teaching/backend/controller/WordController2.java @@ -0,0 +1,132 @@ +package com.teaching.backend.controller; + +import com.aliyun.oss.OSS; +import com.aliyun.oss.OSSClientBuilder; +import com.aliyun.oss.model.GetObjectRequest; +import com.aliyun.oss.model.OSSObject; +import com.teaching.backend.utils.WordUtil; +import org.apache.poi.openxml4j.opc.OPCPackage; +import org.apache.poi.xwpf.usermodel.XWPFDocument; +import org.apache.poi.xwpf.usermodel.XWPFParagraph; +import org.apache.poi.xwpf.usermodel.XWPFRun; +import org.apache.poi.xwpf.usermodel.XWPFTable; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.util.ResourceUtils; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletResponse; +import java.io.*; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.util.*; + +@RestController +public class WordController2 { + @Value("${aliyun.oss.endpoint}") + private String endpoint; + + @Value("${aliyun.oss.accessKeyId}") + private String accessKeyId; + + @Value("${aliyun.oss.accessKeySecret}") + private String accessKeySecret; + + @Value("${aliyun.oss.bucketName}") + private String bucketName; + + @Value("${filename}") + private String templateFileName; // 模板文件名 + + @PostMapping("/Word/get") + public ResponseEntity createWord(@RequestParam("outputPath") String outputPath) { + String filename = "generatedWord.docx"; + + OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); + + InputStream templateStream = null; + //获取模版 + OSSObject ossObject = ossClient.getObject(new GetObjectRequest(bucketName, templateFileName)); + + templateStream = ossObject.getObjectContent(); + + WordUtil wordUtil = new WordUtil(); + wordUtil.setTemplateInputStream(templateStream); // 设置模板文件输入流 + + + Map dataMap = new HashMap<>(); + dataMap.put("username1", "姜钧瀚"); + + dataMap.put("img", "src/main/resources/static/3823.png"); + + + // 设置 Word 生成的输出目录 + wordUtil.setOutputDir(outputPath); + + String generatedFilePath = wordUtil.createWord(dataMap); + + if (generatedFilePath.equals("操作失败")) { + System.out.println("操作失败"); + return ResponseEntity.badRequest().body("操作失败".getBytes()); + } + + File file = new File(generatedFilePath); + byte[] fileContent; + try { + fileContent = Files.readAllBytes(file.toPath()); + } catch (IOException e) { + e.printStackTrace(); + return ResponseEntity.badRequest().body("文件读取失败".getBytes()); + } + + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.APPLICATION_OCTET_STREAM); + headers.setContentDispositionFormData("attachment", filename); + + //返回文件内容 + return new ResponseEntity<>(fileContent, headers, HttpStatus.OK); + } + + @PostMapping("/Word/get2") + private void downWord(HttpServletResponse response) throws IOException { + + // 读取模板文件并创建XWPFDocument对象 + File rootFile = new File(ResourceUtils.getURL("classpath:").getPath()); + File templateFile = new File(rootFile, "/word_template/ceshi2.docx"); + + try (FileInputStream fileInputStream = new FileInputStream(templateFile)) { + XWPFDocument word = new XWPFDocument(fileInputStream); + + // 填充数据等后续处理代码 + + Map params = new HashMap<>(); + params.put("username", "姜钧瀚"); + //处理正文 + + List paragraphs = word.getParagraphs(); + for (XWPFParagraph paragraph : paragraphs) { + List runs = paragraph.getRuns(); + for (XWPFRun run : runs) { + String text = run.getText(0); + for (String key : params.keySet()) { + if (text.contains(key)) { + run.setText(text.replaceAll(key, params.get(key)), 0); + } + } + } + } + // 导出Word + String fileName = "123123123.docx"; + response.setHeader("Content-Disposition", "attachment;filename=" + fileName); + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + word.write(response.getOutputStream()); + } + } + } + diff --git a/src/main/java/com/teaching/backend/controller/courses/CourseObjectivesController.java b/src/main/java/com/teaching/backend/controller/courses/CourseObjectivesController.java index 777e7b6..650af6a 100644 --- a/src/main/java/com/teaching/backend/controller/courses/CourseObjectivesController.java +++ b/src/main/java/com/teaching/backend/controller/courses/CourseObjectivesController.java @@ -51,7 +51,6 @@ public class CourseObjectivesController { } /** - * 禁止修改课程编码和名称 * @param courseObjectivesDTO * @return */ @@ -68,7 +67,7 @@ public class CourseObjectivesController { @ApiOperation("查询课程目标内容") @GetMapping("/list/{id}") public BaseResponse> queryCourseObjectivesTree(@PathVariable String id){ - List courseObjectivesTreeVO = courseObjectivesService.queryCourseObjectivesTree(id); + List courseObjectivesTreeVO = courseObjectivesService.queryCourseObjectivesTree(id); return ResultUtils.success(courseObjectivesTreeVO); } diff --git a/src/main/java/com/teaching/backend/controller/courses/CoursesController.java b/src/main/java/com/teaching/backend/controller/courses/CoursesController.java index 078809c..9bac23f 100644 --- a/src/main/java/com/teaching/backend/controller/courses/CoursesController.java +++ b/src/main/java/com/teaching/backend/controller/courses/CoursesController.java @@ -5,7 +5,7 @@ import com.teaching.backend.common.BaseResponse; import com.teaching.backend.common.ErrorCode; import com.teaching.backend.common.ResultUtils; import com.teaching.backend.exception.BusinessException; -import com.teaching.backend.mapper.UserMapper; + import com.teaching.backend.model.dto.courses.CoursesDTO; import com.teaching.backend.model.dto.courses.PageDTO; @@ -30,7 +30,7 @@ import java.util.*; * @author zjh * @since 2024-05-30 */ -@Api(tags = "教师管理课程接口") +@Api(tags = "课程管理接口") @RestController @RequestMapping("/coursesteacher") public class CoursesController { @@ -38,8 +38,7 @@ public class CoursesController { @Autowired ICoursesService coursesService; - @Autowired - UserMapper userMapper; + @ApiOperation("网站首页") @GetMapping("/index") @@ -91,7 +90,7 @@ public class CoursesController { return ResultUtils.success("编辑成功"); } - //TODO:删除功能暂未完善,数据表缺失 + //TODO:删除功能暂未完善,数据缺失 @ApiOperation("根据id删除课程") @DeleteMapping("/{id}") public BaseResponse deleteCourses(@PathVariable String id){ diff --git a/src/main/java/com/teaching/backend/controller/courses/ObjectiveContentsController.java b/src/main/java/com/teaching/backend/controller/courses/ObjectiveContentsController.java index 66afe28..0fd4b7f 100644 --- a/src/main/java/com/teaching/backend/controller/courses/ObjectiveContentsController.java +++ b/src/main/java/com/teaching/backend/controller/courses/ObjectiveContentsController.java @@ -36,8 +36,9 @@ public class ObjectiveContentsController { @ApiOperation("删除目标内容") @DeleteMapping("/{id}") public BaseResponse deleteContent(@PathVariable String id){ - objectiveContentsService.removeById(id); - return ResultUtils.success("删除成功"); +// objectiveContentsService.removeById(id); + String data = objectiveContentsService.deleteById(id); + return ResultUtils.success(data); } @ApiOperation("修改目标内容") diff --git a/src/main/java/com/teaching/backend/controller/courses/StudentCoursesController.java b/src/main/java/com/teaching/backend/controller/courses/StudentCoursesController.java index a59d349..92e9d5c 100644 --- a/src/main/java/com/teaching/backend/controller/courses/StudentCoursesController.java +++ b/src/main/java/com/teaching/backend/controller/courses/StudentCoursesController.java @@ -39,11 +39,5 @@ public class StudentCoursesController { return ResultUtils.success(data); } - @ApiOperation("查询课程列表") - @GetMapping("/page") - public BaseResponse> getCourses(CourseQuery courseQuery){ - PageDTO coursesList = studentCoursesService.queryCourses(courseQuery); - return ResultUtils.success(coursesList); - } } diff --git a/src/main/java/com/teaching/backend/controller/favour/SeResourceFavourController.java b/src/main/java/com/teaching/backend/controller/favour/SeResourceFavourController.java index 22e55b7..150191e 100644 --- a/src/main/java/com/teaching/backend/controller/favour/SeResourceFavourController.java +++ b/src/main/java/com/teaching/backend/controller/favour/SeResourceFavourController.java @@ -1,9 +1,13 @@ package com.teaching.backend.controller.favour; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.teaching.backend.common.BaseResponse; import com.teaching.backend.common.ErrorCode; +import com.teaching.backend.common.ResultUtils; import com.teaching.backend.exception.BusinessException; import com.teaching.backend.model.dto.favour.resourceFavour.ResourceFavourAddRequest; +import com.teaching.backend.model.dto.favour.resourceFavour.ResourceFavourQueryRequest; +import com.teaching.backend.model.entity.CourseResources; import com.teaching.backend.service.favour.SeResourceFavourService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -37,11 +41,28 @@ public class SeResourceFavourController { @PostMapping("/add") // 加上 HttpServletRequest request 在一个fitter里面进行鉴权操作 public BaseResponse doFavour(@RequestBody ResourceFavourAddRequest resourceFavourAddRequest) { - if (StringUtils.isAnyBlank(resourceFavourAddRequest.getCourseId(), resourceFavourAddRequest.getResourceId(), resourceFavourAddRequest.getUserId())) { + if (StringUtils.isAnyBlank(resourceFavourAddRequest.getCourseId(),resourceFavourAddRequest.getUserId())) { throw new BusinessException(ErrorCode.PARAMS_ERROR); } - return seResourceFavourService.doResourceFavour(resourceFavourAddRequest.getCourseId(), resourceFavourAddRequest.getResourceId(), resourceFavourAddRequest.getUserId()); + return seResourceFavourService.doResourceFavour(resourceFavourAddRequest.getCourseId(), resourceFavourAddRequest.getResourceId(), resourceFavourAddRequest.getUserId()); + } + + + + + /** + * 分页获取资源列表 + * + * @return + */ + @PostMapping("/list/page") + public BaseResponse> listPostByPage(@RequestBody ResourceFavourQueryRequest resourceFavourQueryRequest) { + Integer current = resourceFavourQueryRequest.getCurrent(); + Integer size = resourceFavourQueryRequest.getPageSize(); + String userId = resourceFavourQueryRequest.getUserId(); + Integer type = resourceFavourQueryRequest.getType(); + return ResultUtils.success(seResourceFavourService.listCourseFavourByPage(userId,type,current,size)); } diff --git a/src/main/java/com/teaching/backend/controller/umsAdmin/UmsAdminController.java b/src/main/java/com/teaching/backend/controller/umsAdmin/UmsAdminController.java index 13d1cf5..ce9bee8 100644 --- a/src/main/java/com/teaching/backend/controller/umsAdmin/UmsAdminController.java +++ b/src/main/java/com/teaching/backend/controller/umsAdmin/UmsAdminController.java @@ -2,15 +2,24 @@ package com.teaching.backend.controller.umsAdmin; import cn.hutool.core.collection.CollUtil; import com.teaching.backend.api.CommonResult; +import com.teaching.backend.common.BaseResponse; +import com.teaching.backend.common.ErrorCode; +import com.teaching.backend.common.ResultUtils; +import com.teaching.backend.exception.BusinessException; import com.teaching.backend.model.dto.UmsAdminParam; import com.teaching.backend.model.dto.UpdateAdminPasswordParam; +import com.teaching.backend.model.dto.courses.CoursesDTO; +import com.teaching.backend.model.dto.umsAdmin.UmsStudentAndTeacherDTO; +import com.teaching.backend.model.entity.courses.Courses; import com.teaching.backend.model.entity.umsAdmin.UmsAdmin; import com.teaching.backend.model.entity.umsAdmin.UmsRole; +import com.teaching.backend.model.vo.courses.TeacherInfVO; import com.teaching.backend.service.umsAdmin.UmsAdminService; import com.teaching.backend.service.umsAdmin.UmsRoleService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.ResponseEntity; @@ -166,4 +175,34 @@ public class UmsAdminController { } } + @ApiOperation("获取指定个人信息") + @PostMapping("/personal/info") + public CommonResult getByIdPersonalInfo(@RequestParam String id) { + if (id == null){ + return CommonResult.failed("参数为空"); + } + Object count = umsAdminService.getByIdPersonalInfo(id); + if (count == null) { + return CommonResult.failed(); + } + return CommonResult.success(count); + } + + @ApiOperation("修改指定个人信息") + @PostMapping("/update/PersonalInfo") + public CommonResult updatePersonalInfo(@RequestBody UmsStudentAndTeacherDTO umsStudentAndTeacherDTO) { + boolean count = umsAdminService.updatePersonalInfo(umsStudentAndTeacherDTO); + if (count == true) { + return CommonResult.success("修改成功"); + } + return CommonResult.failed(); + } + + @ApiOperation("获取教师信息列表,关联教师的username和name") + @GetMapping("/get_teacherinf_list") + public BaseResponse> getTeacherInfList(){ + List teacherInfVO = umsAdminService.getTeacherInfList(); + return ResultUtils.success(teacherInfVO); + } + } diff --git a/src/main/java/com/teaching/backend/mapper/FileTableMapper.java b/src/main/java/com/teaching/backend/mapper/CourseResourcesMapper.java similarity index 69% rename from src/main/java/com/teaching/backend/mapper/FileTableMapper.java rename to src/main/java/com/teaching/backend/mapper/CourseResourcesMapper.java index 9196283..773bddb 100644 --- a/src/main/java/com/teaching/backend/mapper/FileTableMapper.java +++ b/src/main/java/com/teaching/backend/mapper/CourseResourcesMapper.java @@ -1,7 +1,7 @@ package com.teaching.backend.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.teaching.backend.model.entity.FileTable; +import com.teaching.backend.model.entity.CourseResources; import org.apache.ibatis.annotations.Mapper; /** @@ -14,5 +14,5 @@ import org.apache.ibatis.annotations.Mapper; * @Version 1.0 */ @Mapper -public interface FileTableMapper extends BaseMapper { +public interface CourseResourcesMapper extends BaseMapper { } diff --git a/src/main/java/com/teaching/backend/mapper/ResourcesRelationshipMapper.java b/src/main/java/com/teaching/backend/mapper/ResourcesRelationshipMapper.java new file mode 100644 index 0000000..ed0286d --- /dev/null +++ b/src/main/java/com/teaching/backend/mapper/ResourcesRelationshipMapper.java @@ -0,0 +1,19 @@ +package com.teaching.backend.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.teaching.backend.model.entity.ResourceRelationship; +import org.apache.ibatis.annotations.Mapper; +import org.apache.tomcat.websocket.BackgroundProcess; + +/** + * ClassName: ResourcesRelationshipMapper + * Package: com.teaching.backend.mapper + * Description: + * + * @Author 姜钧瀚 + * @Create 2024/6/12 21:07 + * @Version 1.0 + */ +@Mapper +public interface ResourcesRelationshipMapper extends BaseMapper { +} diff --git a/src/main/java/com/teaching/backend/mapper/UserMapper.java b/src/main/java/com/teaching/backend/mapper/UserMapper.java deleted file mode 100644 index 92f37fc..0000000 --- a/src/main/java/com/teaching/backend/mapper/UserMapper.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.teaching.backend.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.teaching.backend.model.entity.User; -import org.apache.ibatis.annotations.Mapper; - -/** - * ClassName: UserMapper - * Package: com.teaching.backend.mapper - * Description: - * - * @Author 姜钧瀚 - * @Create 2024/6/3 17:47 - * @Version 1.0 - */ -@Mapper -public interface UserMapper extends BaseMapper { -} diff --git a/src/main/java/com/teaching/backend/mapper/courses/CourseObjectivesMapper.java b/src/main/java/com/teaching/backend/mapper/courses/CourseObjectivesMapper.java index 7de5035..4dc7e25 100644 --- a/src/main/java/com/teaching/backend/mapper/courses/CourseObjectivesMapper.java +++ b/src/main/java/com/teaching/backend/mapper/courses/CourseObjectivesMapper.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.teaching.backend.model.entity.courses.CourseObjectives; import com.teaching.backend.model.vo.courses.CourseObjectivesTreeVO; +import java.util.ArrayList; import java.util.List; /** @@ -17,4 +18,6 @@ import java.util.List; public interface CourseObjectivesMapper extends BaseMapper { List selectTreeNodes(String courseObjectivesId); + + void insertBatch(ArrayList courseObjectivesFList); } diff --git a/src/main/java/com/teaching/backend/mapper/courses/ObjectiveContentKnowMapper.java b/src/main/java/com/teaching/backend/mapper/courses/ObjectiveContentKnowMapper.java index 98d2b90..1222d1a 100644 --- a/src/main/java/com/teaching/backend/mapper/courses/ObjectiveContentKnowMapper.java +++ b/src/main/java/com/teaching/backend/mapper/courses/ObjectiveContentKnowMapper.java @@ -3,6 +3,8 @@ package com.teaching.backend.mapper.courses; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.teaching.backend.model.entity.courses.ObjectiveContentKnow; +import java.util.List; + /** *

* Mapper 接口 @@ -13,4 +15,5 @@ import com.teaching.backend.model.entity.courses.ObjectiveContentKnow; */ public interface ObjectiveContentKnowMapper extends BaseMapper { + void insertBatchSomeColumn(List objectiveContentKnowList); } diff --git a/src/main/java/com/teaching/backend/mapper/courses/StudentCoursesMapper.java b/src/main/java/com/teaching/backend/mapper/courses/StudentCoursesMapper.java index ea9cb28..b6042f9 100644 --- a/src/main/java/com/teaching/backend/mapper/courses/StudentCoursesMapper.java +++ b/src/main/java/com/teaching/backend/mapper/courses/StudentCoursesMapper.java @@ -1,8 +1,11 @@ package com.teaching.backend.mapper.courses; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.teaching.backend.model.entity.courses.ObjectiveContentKnow; import com.teaching.backend.model.entity.courses.StudentCourses; +import java.util.List; + /** *

* Mapper 接口 @@ -13,4 +16,5 @@ import com.teaching.backend.model.entity.courses.StudentCourses; */ public interface StudentCoursesMapper extends BaseMapper { + void insertBatchSomeColumn(List studentCoursesList); } diff --git a/src/main/java/com/teaching/backend/mapper/umsAdmin/UmsAdminMapper.java b/src/main/java/com/teaching/backend/mapper/umsAdmin/UmsAdminMapper.java index af4498b..c2f056d 100644 --- a/src/main/java/com/teaching/backend/mapper/umsAdmin/UmsAdminMapper.java +++ b/src/main/java/com/teaching/backend/mapper/umsAdmin/UmsAdminMapper.java @@ -2,8 +2,19 @@ package com.teaching.backend.mapper.umsAdmin; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.teaching.backend.model.entity.umsAdmin.UmsAdmin; +import com.teaching.backend.model.entity.umsAdmin.UmsRole; +import com.teaching.backend.model.entity.umsAdmin.UmsTeacher; +import com.teaching.backend.model.vo.umsAdmin.UmsStudentVO; import org.apache.ibatis.annotations.Mapper; @Mapper public interface UmsAdminMapper extends BaseMapper { + + boolean updateUserInformation(UmsAdmin umsadmin); + + UmsRole getByIdRoleInfo(String id); + + UmsTeacher getByIdTeacher(String id); + + UmsStudentVO getByIdStudent(String id); } diff --git a/src/main/java/com/teaching/backend/mapper/umsAdmin/UmsAdminRoleRelationMapper.java b/src/main/java/com/teaching/backend/mapper/umsAdmin/UmsAdminRoleRelationMapper.java index 402bcbf..a077cba 100644 --- a/src/main/java/com/teaching/backend/mapper/umsAdmin/UmsAdminRoleRelationMapper.java +++ b/src/main/java/com/teaching/backend/mapper/umsAdmin/UmsAdminRoleRelationMapper.java @@ -15,10 +15,10 @@ import java.util.List; */ @Mapper public interface UmsAdminRoleRelationMapper extends BaseMapper { -// /** -// * 批量插入用户角色关系 -// */ -// int insertList(@Param("list") List adminRoleRelationList); + /** + * 插入用户角色关系 + */ + boolean insert(@Param("adminId") Long adminId, @Param("roleId") Long roleId); /** * 获取用于所有角色 diff --git a/src/main/java/com/teaching/backend/mapper/umsAdmin/UmsStudentMapper.java b/src/main/java/com/teaching/backend/mapper/umsAdmin/UmsStudentMapper.java index 18cf8e3..146dfab 100644 --- a/src/main/java/com/teaching/backend/mapper/umsAdmin/UmsStudentMapper.java +++ b/src/main/java/com/teaching/backend/mapper/umsAdmin/UmsStudentMapper.java @@ -12,5 +12,6 @@ import com.teaching.backend.model.entity.umsAdmin.UmsStudent; * @since 2024-06-12 */ public interface UmsStudentMapper extends BaseMapper { + boolean updateStudentInfo(UmsStudent umsStudent); } diff --git a/src/main/java/com/teaching/backend/mapper/umsAdmin/UmsTeacherMapper.java b/src/main/java/com/teaching/backend/mapper/umsAdmin/UmsTeacherMapper.java index 357ede7..acbf47d 100644 --- a/src/main/java/com/teaching/backend/mapper/umsAdmin/UmsTeacherMapper.java +++ b/src/main/java/com/teaching/backend/mapper/umsAdmin/UmsTeacherMapper.java @@ -12,5 +12,6 @@ import com.teaching.backend.model.entity.umsAdmin.UmsTeacher; * @since 2024-06-12 */ public interface UmsTeacherMapper extends BaseMapper { + boolean updateTeacherInfo(UmsTeacher umsTeacher); } diff --git a/src/main/java/com/teaching/backend/model/dto/favour/resourceFavour/ResourceFavourAddRequest.java b/src/main/java/com/teaching/backend/model/dto/favour/resourceFavour/ResourceFavourAddRequest.java index 64c3277..ed35d48 100644 --- a/src/main/java/com/teaching/backend/model/dto/favour/resourceFavour/ResourceFavourAddRequest.java +++ b/src/main/java/com/teaching/backend/model/dto/favour/resourceFavour/ResourceFavourAddRequest.java @@ -18,7 +18,7 @@ public class ResourceFavourAddRequest implements Serializable { /** * 知识点 id */ - private String resourceId; + private Integer resourceId; /** * user id diff --git a/src/main/java/com/teaching/backend/model/dto/favour/resourceFavour/ResourceFavourQueryRequest.java b/src/main/java/com/teaching/backend/model/dto/favour/resourceFavour/ResourceFavourQueryRequest.java new file mode 100644 index 0000000..2d894b7 --- /dev/null +++ b/src/main/java/com/teaching/backend/model/dto/favour/resourceFavour/ResourceFavourQueryRequest.java @@ -0,0 +1,28 @@ +package com.teaching.backend.model.dto.favour.resourceFavour; + +import com.teaching.backend.common.PageRequest; +import lombok.Data; + +import java.io.Serializable; + +/** + * 资源收藏请求 + */ +@Data +public class ResourceFavourQueryRequest extends PageRequest implements Serializable { + + /** + * 用户 id + */ + private String userId; + + /** + * type + */ + private Integer type; + + + + + private static final long serialVersionUID = 1L; +} diff --git a/src/main/java/com/teaching/backend/model/dto/umsAdmin/UmsStudentAndTeacherDTO.java b/src/main/java/com/teaching/backend/model/dto/umsAdmin/UmsStudentAndTeacherDTO.java new file mode 100644 index 0000000..812fe34 --- /dev/null +++ b/src/main/java/com/teaching/backend/model/dto/umsAdmin/UmsStudentAndTeacherDTO.java @@ -0,0 +1,121 @@ +package com.teaching.backend.model.dto.umsAdmin; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; + +/** + *

+ * + *

+ * + * @author zjh + * @since 2024-06-12 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class UmsStudentAndTeacherDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.ASSIGN_ID) + private Integer id; + + /** + * 姓名 + */ + private String name; + + /** + * 性别 + */ + private String sex; + + /** + * 民族 + */ + private String nationality; + + /** + * 学号 + */ + private String number; + + /** + * 生日 + */ + private LocalDateTime birthday; + + /** + * 手机号 + */ + private String phone; + + /** + * 院系 + */ + private String faculty; + + /** + * 专业 + */ + private String major; + + /** + * 入学年份 + */ + private LocalDate yearAge; + + /** + * 班级 + */ + private String className; + + /** + * 专业 + */ + private String profession; + + /** + * 学历 + */ + private String education; + + /** + * 学位 + */ + private String degree; + + /** + * 职称 + */ + private String professionalTitle; + + /** + * 手机号 + */ + private String emergencyContact; + + /** + * 参加工作时间 + */ + private LocalDateTime joinWorkTime; + + /** + * 政治面貌 + */ + private String politicalStatus; + + /** + * role_id + */ + private Integer roleId; +} diff --git a/src/main/java/com/teaching/backend/model/entity/FileTable.java b/src/main/java/com/teaching/backend/model/entity/CourseResources.java similarity index 59% rename from src/main/java/com/teaching/backend/model/entity/FileTable.java rename to src/main/java/com/teaching/backend/model/entity/CourseResources.java index c33d09a..40809da 100644 --- a/src/main/java/com/teaching/backend/model/entity/FileTable.java +++ b/src/main/java/com/teaching/backend/model/entity/CourseResources.java @@ -1,5 +1,7 @@ package com.teaching.backend.model.entity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.AllArgsConstructor; import lombok.Data; @@ -21,12 +23,14 @@ import java.util.stream.Stream; @ToString @NoArgsConstructor @AllArgsConstructor -@TableName("filetable") -public class FileTable { +@TableName("Resource") +public class CourseResources { + @TableId(value = "id", type = IdType.AUTO) private int id; - private String courseId; - private String fileName; - private String filePath; - + private String name; + private int type; + private int status; + private String tags; + private String path; } diff --git a/src/main/java/com/teaching/backend/model/entity/User.java b/src/main/java/com/teaching/backend/model/entity/ResourceRelationship.java similarity index 57% rename from src/main/java/com/teaching/backend/model/entity/User.java rename to src/main/java/com/teaching/backend/model/entity/ResourceRelationship.java index 3aa2e7b..e8d9cad 100644 --- a/src/main/java/com/teaching/backend/model/entity/User.java +++ b/src/main/java/com/teaching/backend/model/entity/ResourceRelationship.java @@ -6,21 +6,24 @@ import lombok.NoArgsConstructor; import lombok.ToString; /** - * ClassName: User + * ClassName: ResourcesRelationship * Package: com.teaching.backend.model.entity * Description: * * @Author 姜钧瀚 - * @Create 2024/6/3 17:42 + * @Create 2024/6/12 21:03 * @Version 1.0 */ @Data @ToString @NoArgsConstructor @AllArgsConstructor -public class User { - private int id; - private int userid; - private int bokeid; - private int type; +public class ResourceRelationship { + private String Id; + private String courseid; + private String chapterid; + private String knowid; + private String resourceid; + + } diff --git a/src/main/java/com/teaching/backend/model/entity/courses/ObjectiveContentKnow.java b/src/main/java/com/teaching/backend/model/entity/courses/ObjectiveContentKnow.java index b49a21c..fb91204 100644 --- a/src/main/java/com/teaching/backend/model/entity/courses/ObjectiveContentKnow.java +++ b/src/main/java/com/teaching/backend/model/entity/courses/ObjectiveContentKnow.java @@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import java.io.Serializable; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; @@ -24,8 +27,13 @@ public class ObjectiveContentKnow implements Serializable { private static final long serialVersionUID = 1L; - @TableId(value = "id", type = IdType.ASSIGN_UUID) - private String id; + @ApiModelProperty(value = "雪花算法生成的主键") + @JsonFormat(shape = JsonFormat.Shape.STRING)//此句为问题关键相当于吧Long转换为String + @TableId(value = "id", type = IdType.ASSIGN_ID) + private Long id; + +// @TableId(value = "id", type = IdType.NONE) +// private Long id; /** * 分项目标或内容 的 id diff --git a/src/main/java/com/teaching/backend/model/entity/courses/StudentCourses.java b/src/main/java/com/teaching/backend/model/entity/courses/StudentCourses.java index acc0c54..b3125f7 100644 --- a/src/main/java/com/teaching/backend/model/entity/courses/StudentCourses.java +++ b/src/main/java/com/teaching/backend/model/entity/courses/StudentCourses.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import java.io.Serializable; + +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; @@ -24,8 +26,9 @@ public class StudentCourses implements Serializable { private static final long serialVersionUID = 1L; - @TableId(value = "id", type = IdType.ASSIGN_UUID) - private String id; + @TableId(value = "id", type = IdType.ASSIGN_ID) + @JsonFormat(shape = JsonFormat.Shape.STRING)//此句为问题关键相当于吧Long转换为String + private Long id; /** * 学生的username diff --git a/src/main/java/com/teaching/backend/model/entity/favour/SeResourceFavour.java b/src/main/java/com/teaching/backend/model/entity/favour/SeResourceFavour.java index c58f88e..75a188e 100644 --- a/src/main/java/com/teaching/backend/model/entity/favour/SeResourceFavour.java +++ b/src/main/java/com/teaching/backend/model/entity/favour/SeResourceFavour.java @@ -28,7 +28,7 @@ public class SeResourceFavour implements Serializable { /** * 创建知识点 id */ - private String resourceId; + private Integer resourceId; /** * 创建用户 id diff --git a/src/main/java/com/teaching/backend/model/query/CourseQuery.java b/src/main/java/com/teaching/backend/model/query/CourseQuery.java index d091993..13dbc8b 100644 --- a/src/main/java/com/teaching/backend/model/query/CourseQuery.java +++ b/src/main/java/com/teaching/backend/model/query/CourseQuery.java @@ -14,4 +14,16 @@ public class CourseQuery extends PageQuery { @ApiModelProperty(value = "用户的username",required = true) private String username; + + @ApiModelProperty("课程任课教师") + private String teacher; + + @ApiModelProperty("课程类别") + private String category; + + @ApiModelProperty("课程性质") + private String nature; + + @ApiModelProperty("课程考核类型") + private String assessmenttype; } diff --git a/src/main/java/com/teaching/backend/model/vo/courses/TeacherInfVO.java b/src/main/java/com/teaching/backend/model/vo/courses/TeacherInfVO.java new file mode 100644 index 0000000..66a317e --- /dev/null +++ b/src/main/java/com/teaching/backend/model/vo/courses/TeacherInfVO.java @@ -0,0 +1,22 @@ +package com.teaching.backend.model.vo.courses; + + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(description = "教师具体信息VO实体") +public class TeacherInfVO { + + /** + * 教师username + */ + @ApiModelProperty("教师username") + private String username; + /** + * 课程封面 + */ + @ApiModelProperty("教师name") + private String name; +} diff --git a/src/main/java/com/teaching/backend/model/vo/umsAdmin/UmsStudentVO.java b/src/main/java/com/teaching/backend/model/vo/umsAdmin/UmsStudentVO.java new file mode 100644 index 0000000..0c43b64 --- /dev/null +++ b/src/main/java/com/teaching/backend/model/vo/umsAdmin/UmsStudentVO.java @@ -0,0 +1,88 @@ +package com.teaching.backend.model.vo.umsAdmin; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; + +/** + *

+ * + *

+ * + * @author zjh + * @since 2024-06-12 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("ums_student") +public class UmsStudentVO implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.ASSIGN_ID) + private Integer id; + + /** + * 姓名 + */ + private String name; + + /** + * 性别 + */ + private String sex; + + /** + * 民族 + */ + private String nationality; + + /** + * 学号 + */ + private String number; + + /** + * 生日 + */ + private LocalDateTime birthday; + + /** + * 手机号 + */ + private String phone; + + /** + * 院系 + */ + private String faculty; + + /** + * 专业 + */ + private String major; + + /** + * 入学年份 + */ + private LocalDate yearAge; + + /** + * 班级 + */ + private String className; + + /** + * role_id + */ + private Integer roleId; + +} diff --git a/src/main/java/com/teaching/backend/model/vo/umsAdmin/UmsTeacherVO.java b/src/main/java/com/teaching/backend/model/vo/umsAdmin/UmsTeacherVO.java new file mode 100644 index 0000000..cba0af8 --- /dev/null +++ b/src/main/java/com/teaching/backend/model/vo/umsAdmin/UmsTeacherVO.java @@ -0,0 +1,87 @@ +package com.teaching.backend.model.vo.umsAdmin; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * + *

+ * + * @author zjh + * @since 2024-06-12 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("ums_teacher") +public class UmsTeacherVO implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + /** + * 姓名 + */ + private String name; + + /** + * 性别 + */ + private String sex; + + /** + * 民族 + */ + private String nationality; + + /** + * 专业 + */ + private String profession; + + /** + * 学历 + */ + private String education; + + /** + * 学位 + */ + private String degree; + + /** + * 职称 + */ + private String professionalTitle; + + /** + * 手机号 + */ + private String emergencyContact; + + /** + * 参加工作时间 + */ + private LocalDateTime joinWorkTime; + + /** + * 政治面貌 + */ + private String politicalStatus; + + /** + * role_id + */ + private Integer roleId; + +} diff --git a/src/main/java/com/teaching/backend/service/CourseResourcesService.java b/src/main/java/com/teaching/backend/service/CourseResourcesService.java new file mode 100644 index 0000000..72a5082 --- /dev/null +++ b/src/main/java/com/teaching/backend/service/CourseResourcesService.java @@ -0,0 +1,27 @@ +package com.teaching.backend.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.teaching.backend.model.entity.CourseResources; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.List; + +/** + * ClassName: FileTableService + * Package: com.teaching.backend.service + * Description: + * + * @Author 姜钧瀚 + * @Create 2024/6/4 11:49 + * @Version 1.0 + */ +public interface CourseResourcesService extends IService { + void updateFile(Integer type, String fileName, String filePath); + + void download(String id, String path, HttpServletResponse response, String endpoint, String accessKeyId, String accessKeySecret, String bucketName) throws IOException; + + + Page getresourceRecords(Integer type, List resourceIdList, int page, int pageSize); +} diff --git a/src/main/java/com/teaching/backend/service/FileTableService.java b/src/main/java/com/teaching/backend/service/FileTableService.java deleted file mode 100644 index f00933f..0000000 --- a/src/main/java/com/teaching/backend/service/FileTableService.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.teaching.backend.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.teaching.backend.model.entity.FileTable; - -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; - -/** - * ClassName: FileTableService - * Package: com.teaching.backend.service - * Description: - * - * @Author 姜钧瀚 - * @Create 2024/6/4 11:49 - * @Version 1.0 - */ -public interface FileTableService extends IService { - void updateFile(String courseId, String fileName, String filePath); - - - void download(String courseId, String path, HttpServletResponse response, String endpoint, String accessKeyId, String accessKeySecret, String bucketName) throws IOException; -} diff --git a/src/main/java/com/teaching/backend/service/ResourcesRelationshipService.java b/src/main/java/com/teaching/backend/service/ResourcesRelationshipService.java new file mode 100644 index 0000000..0ffd16b --- /dev/null +++ b/src/main/java/com/teaching/backend/service/ResourcesRelationshipService.java @@ -0,0 +1,17 @@ +package com.teaching.backend.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.teaching.backend.model.entity.ResourceRelationship; + + +/** + * ClassName: ResourcesRelationshipService + * Package: com.teaching.backend.service + * Description: + * + * @Author 姜钧瀚 + * @Create 2024/6/12 21:04 + * @Version 1.0 + */ +public interface ResourcesRelationshipService extends IService { +} diff --git a/src/main/java/com/teaching/backend/service/UserService.java b/src/main/java/com/teaching/backend/service/UserService.java deleted file mode 100644 index 13e2052..0000000 --- a/src/main/java/com/teaching/backend/service/UserService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.teaching.backend.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.teaching.backend.model.entity.User; - -/** - * ClassName: UserService - * Package: com.teaching.backend.service - * Description: - * - * @Author 姜钧瀚 - * @Create 2024/6/3 17:48 - * @Version 1.0 - */ -public interface UserService extends IService { -} diff --git a/src/main/java/com/teaching/backend/service/courses/ICoursesService.java b/src/main/java/com/teaching/backend/service/courses/ICoursesService.java index c69b060..ad37b32 100644 --- a/src/main/java/com/teaching/backend/service/courses/ICoursesService.java +++ b/src/main/java/com/teaching/backend/service/courses/ICoursesService.java @@ -36,4 +36,5 @@ public interface ICoursesService extends IService { void updateCourse(CoursesDTO coursesDTO); void down(HttpServletResponse response, String id) throws Exception; + } diff --git a/src/main/java/com/teaching/backend/service/courses/IObjectiveContentsService.java b/src/main/java/com/teaching/backend/service/courses/IObjectiveContentsService.java index c3a75d1..b031659 100644 --- a/src/main/java/com/teaching/backend/service/courses/IObjectiveContentsService.java +++ b/src/main/java/com/teaching/backend/service/courses/IObjectiveContentsService.java @@ -14,4 +14,6 @@ import com.teaching.backend.model.entity.courses.ObjectiveContents; */ public interface IObjectiveContentsService extends IService { + + String deleteById(String id); } diff --git a/src/main/java/com/teaching/backend/service/favour/SeResourceFavourService.java b/src/main/java/com/teaching/backend/service/favour/SeResourceFavourService.java index 20a763c..943ab25 100644 --- a/src/main/java/com/teaching/backend/service/favour/SeResourceFavourService.java +++ b/src/main/java/com/teaching/backend/service/favour/SeResourceFavourService.java @@ -1,12 +1,10 @@ package com.teaching.backend.service.favour; -import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.teaching.backend.common.BaseResponse; -import com.teaching.backend.model.entity.courses.Courses; +import com.teaching.backend.model.entity.CourseResources; import com.teaching.backend.model.entity.favour.SeResourceFavour; -import com.teaching.backend.model.vo.favour.CourseFavourDetailVO; /** * @Author:youhang @@ -22,16 +20,10 @@ public interface SeResourceFavourService extends IService { * @param userId * @return */ - BaseResponse doResourceFavour(String courseId, String resourceId, String userId); + BaseResponse doResourceFavour(String courseId, Integer resourceId, String userId); - /** - * 某个用户资源列表全部信息 - * - * @param page - * @param queryWrapper - * @return - */ - public Page listCourseFavourByPage(Page page, Wrapper queryWrapper); + + public Page listCourseFavourByPage(String userId, Integer type, Integer page, Integer pageSize); } diff --git a/src/main/java/com/teaching/backend/service/impl/CourseResourcesServiceImpl.java b/src/main/java/com/teaching/backend/service/impl/CourseResourcesServiceImpl.java new file mode 100644 index 0000000..50479c6 --- /dev/null +++ b/src/main/java/com/teaching/backend/service/impl/CourseResourcesServiceImpl.java @@ -0,0 +1,121 @@ +package com.teaching.backend.service.impl; + +import com.aliyun.oss.OSS; +import com.aliyun.oss.OSSClientBuilder; +import com.aliyun.oss.model.OSSObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +import com.teaching.backend.mapper.CourseResourcesMapper; +import com.teaching.backend.model.entity.CourseResources; +import com.teaching.backend.model.entity.ResourceRelationship; +import com.teaching.backend.service.CourseResourcesService; +import com.teaching.backend.service.ResourcesRelationshipService; +import org.apache.commons.io.FileUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.util.List; + +/** + * ClassName: FileTableImpl + * Package: com.teaching.backend.service.impl + * Description: + * + * @Author 姜钧瀚 + * @Create 2024/6/4 11:50 + * @Version 1.0 + */ +@Service +public class CourseResourcesServiceImpl extends ServiceImpl implements CourseResourcesService { + @Resource + ResourcesRelationshipService resourcesRelationshipService; + @Override + public void updateFile(Integer type, String fileName, String filePath) { + + CourseResources courseResources = new CourseResources(); + + courseResources.setName(fileName); + courseResources.setPath(filePath); + courseResources.setType(type); + + this.save(courseResources); + + int resourceId=courseResources.getId(); + System.out.println(resourceId); + + ResourceRelationship resourcesRelationship=new ResourceRelationship(); + + resourcesRelationship.setResourceid(String.valueOf(resourceId)); + + resourcesRelationshipService.save(resourcesRelationship); + } + + @Override + public void download(String Id, String path, HttpServletResponse response, String endpoint, String accessKeyId, String accessKeySecret, String bucketName) throws IOException { + + + + CourseResources courseResources=getById(Id); + + + System.out.println(courseResources); + + + // 创建OSS客户端 + OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); + + String key = extractKeyFromFullPath(courseResources.getPath()); + OSSObject object = ossClient.getObject(bucketName, key); + + String fileName = courseResources.getName(); + + // 设置保存文件的路径 + String savePath = path + "/" + fileName; + + // 获取文件的输入流 + InputStream inputStream = object.getObjectContent(); + + // 设置响应头 + response.setContentType("application/octet-stream"); + response.setHeader("Content-Disposition", "attachment; filename=" + fileName); + + // 创建保存文件 + File saveFile = new File(savePath); + + // 将文件内容复制到保存文件中 + FileUtils.copyInputStreamToFile(inputStream, saveFile); + + // 关闭输入流和OSS客户端 + inputStream.close(); + ossClient.shutdown(); + } + + @Override + public Page getresourceRecords(Integer type, List resourceIdList, int page, int pageSize) { + Page pageInfo=new Page<>(page,pageSize); + + LambdaQueryWrapperlambdaQueryWrapper=new LambdaQueryWrapper<>(); + lambdaQueryWrapper.in(CourseResources::getId,resourceIdList); + lambdaQueryWrapper.eq(CourseResources::getType,type); + + return this.page(pageInfo,lambdaQueryWrapper); + + } + + + private String extractKeyFromFullPath(String filePath) { + // 提取存储桶名称 + String key = filePath.substring(filePath.indexOf("com") + 4, filePath.indexOf("?")); + return key; + } + +} + + + diff --git a/src/main/java/com/teaching/backend/service/impl/FileTableServiceImpl.java b/src/main/java/com/teaching/backend/service/impl/FileTableServiceImpl.java deleted file mode 100644 index cecf46d..0000000 --- a/src/main/java/com/teaching/backend/service/impl/FileTableServiceImpl.java +++ /dev/null @@ -1,97 +0,0 @@ -package com.teaching.backend.service.impl; - -import com.aliyun.oss.OSS; -import com.aliyun.oss.OSSClientBuilder; -import com.aliyun.oss.model.OSSObject; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.teaching.backend.mapper.FileTableMapper; -import com.teaching.backend.model.entity.FileTable; -import com.teaching.backend.service.FileTableService; -import org.apache.commons.io.FileUtils; -import org.springframework.stereotype.Service; - -import javax.servlet.http.HttpServletResponse; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; - -/** - * ClassName: FileTableImpl - * Package: com.teaching.backend.service.impl - * Description: - * - * @Author 姜钧瀚 - * @Create 2024/6/4 11:50 - * @Version 1.0 - */ -@Service -public class FileTableServiceImpl extends ServiceImpl implements FileTableService { - @Override - public void updateFile(String courseId, String fileName, String filePath) { - System.out.println("执行了service中的方法"); - System.out.println(courseId); - System.out.println(fileName); - System.out.println(filePath); - - FileTable fileTable = new FileTable(); - - fileTable.setFileName(fileName); - fileTable.setFilePath(filePath); -// fileTable.setCourseId(courseId); // 设置主键值 -// -// this.save(fileTable); // 使用save方法来添加新的记录 - - UpdateWrapper fileTableUpdateWrapper = new UpdateWrapper<>(); - fileTableUpdateWrapper.eq("course_id", courseId); - - this.update(fileTable, fileTableUpdateWrapper); - - } - - @Override - public void download(String courseId, String path, HttpServletResponse response, String endpoint, String accessKeyId, String accessKeySecret, String bucketName) throws IOException { - - - FileTable fileTable = this.getById(courseId); - System.out.println(fileTable); - - // 创建OSS客户端 - OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); - - String key = extractKeyFromFullPath(fileTable.getFilePath()); - OSSObject object = ossClient.getObject(bucketName, key); - - String fileName = fileTable.getFileName(); - - // 设置保存文件的路径 - String savePath = path + "/" + fileName; - - // 获取文件的输入流 - InputStream inputStream = object.getObjectContent(); - - // 设置响应头 - response.setContentType("application/octet-stream"); - response.setHeader("Content-Disposition", "attachment; filename=" + fileName); - - // 创建保存文件 - File saveFile = new File(savePath); - - // 将文件内容复制到保存文件中 - FileUtils.copyInputStreamToFile(inputStream, saveFile); - - // 关闭输入流和OSS客户端 - inputStream.close(); - ossClient.shutdown(); - } - - private String extractKeyFromFullPath(String filePath) { - // 提取存储桶名称 - String key = filePath.substring(filePath.indexOf("com") + 4, filePath.indexOf("?")); - return key; - } - -} - - - diff --git a/src/main/java/com/teaching/backend/service/impl/ResourcesRelationshipServiceImpl.java b/src/main/java/com/teaching/backend/service/impl/ResourcesRelationshipServiceImpl.java new file mode 100644 index 0000000..15804b8 --- /dev/null +++ b/src/main/java/com/teaching/backend/service/impl/ResourcesRelationshipServiceImpl.java @@ -0,0 +1,21 @@ +package com.teaching.backend.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.teaching.backend.mapper.ResourcesRelationshipMapper; +import com.teaching.backend.model.entity.ResourceRelationship; +import com.teaching.backend.service.ResourcesRelationshipService; +import org.springframework.stereotype.Service; + +/** + * ClassName: ResourcesRelationshipServiceImpl + * Package: com.teaching.backend.service.impl + * Description: + * + * @Author 姜钧瀚 + * @Create 2024/6/12 21:05 + * @Version 1.0 + */ +@Service +public class ResourcesRelationshipServiceImpl extends ServiceImpl implements ResourcesRelationshipService { + +} diff --git a/src/main/java/com/teaching/backend/service/impl/UserServiceImpl.java b/src/main/java/com/teaching/backend/service/impl/UserServiceImpl.java deleted file mode 100644 index 507883c..0000000 --- a/src/main/java/com/teaching/backend/service/impl/UserServiceImpl.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.teaching.backend.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.teaching.backend.mapper.UserMapper; -import com.teaching.backend.model.entity.User; -import com.teaching.backend.service.UserService; -import org.springframework.stereotype.Service; - -/** - * ClassName: UserServiceImpl - * Package: com.teaching.backend.service.impl - * Description: - * - * @Author 姜钧瀚 - * @Create 2024/6/3 17:48 - * @Version 1.0 - */ -@Service -public class UserServiceImpl extends ServiceImpl implements UserService { - - - - -} diff --git a/src/main/java/com/teaching/backend/service/impl/courses/CourseObjectivesServiceImpl.java b/src/main/java/com/teaching/backend/service/impl/courses/CourseObjectivesServiceImpl.java index 88c4816..a1d58f4 100644 --- a/src/main/java/com/teaching/backend/service/impl/courses/CourseObjectivesServiceImpl.java +++ b/src/main/java/com/teaching/backend/service/impl/courses/CourseObjectivesServiceImpl.java @@ -6,9 +6,11 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.teaching.backend.common.ErrorCode; import com.teaching.backend.exception.BusinessException; import com.teaching.backend.mapper.courses.CourseObjectivesMapper; +import com.teaching.backend.mapper.courses.ObjectiveContentKnowMapper; import com.teaching.backend.mapper.courses.ObjectiveContentsMapper; import com.teaching.backend.model.dto.courses.CourseObjectivesDTO; import com.teaching.backend.model.entity.courses.CourseObjectives; +import com.teaching.backend.model.entity.courses.ObjectiveContentKnow; import com.teaching.backend.model.entity.courses.ObjectiveContents; import com.teaching.backend.model.vo.courses.CourseObjectivesTreeVO; import com.teaching.backend.service.courses.ICourseObjectivesService; @@ -39,6 +41,8 @@ public class CourseObjectivesServiceImpl extends ServiceImpl() + .eq(ObjectiveContentKnow::getObjectiveOrContent, id)); + if(count > CourseCode.KNOWS_EXIT.getValue()){ + throw new BusinessException(ErrorCode.KNOWS_EXIT); + } String pid = courseObjectives.getPid(); if (type.equals(CourseCode.SI_ZHENG_TYPE.getValue())){ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); diff --git a/src/main/java/com/teaching/backend/service/impl/courses/CoursesServiceImpl.java b/src/main/java/com/teaching/backend/service/impl/courses/CoursesServiceImpl.java index 23bf545..f5157b6 100644 --- a/src/main/java/com/teaching/backend/service/impl/courses/CoursesServiceImpl.java +++ b/src/main/java/com/teaching/backend/service/impl/courses/CoursesServiceImpl.java @@ -3,25 +3,22 @@ package com.teaching.backend.service.impl.courses; import cn.afterturn.easypoi.word.WordExportUtil; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.lang.UUID; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.teaching.backend.common.ErrorCode; import com.teaching.backend.exception.BusinessException; -import com.teaching.backend.mapper.courses.CourseObjectivesMapper; -import com.teaching.backend.mapper.courses.CoursesMapper; -import com.teaching.backend.mapper.courses.ObjectiveContentsMapper; -import com.teaching.backend.mapper.courses.ObjectivesTypeMapper; +import com.teaching.backend.mapper.courses.*; import com.teaching.backend.mapper.umsAdmin.UmsAdminMapper; +import com.teaching.backend.mapper.umsAdmin.UmsAdminRoleRelationMapper; import com.teaching.backend.mapper.umsAdmin.UmsTeacherMapper; import com.teaching.backend.model.dto.courses.CoursesDTO; import com.teaching.backend.model.dto.courses.PageDTO; -import com.teaching.backend.model.entity.courses.CourseObjectives; -import com.teaching.backend.model.entity.courses.Courses; -import com.teaching.backend.model.entity.courses.ObjectiveContents; -import com.teaching.backend.model.entity.courses.ObjectivesType; +import com.teaching.backend.model.entity.courses.*; import com.teaching.backend.model.entity.umsAdmin.UmsAdmin; +import com.teaching.backend.model.entity.umsAdmin.UmsAdminRoleRelation; import com.teaching.backend.model.entity.umsAdmin.UmsTeacher; import com.teaching.backend.model.query.CourseQuery; import com.teaching.backend.model.vo.courses.CourseObjectivesTreeVO; @@ -38,6 +35,7 @@ import org.springframework.util.ResourceUtils; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import java.io.File; +import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.*; import java.util.stream.Collectors; @@ -53,6 +51,9 @@ import java.util.stream.Collectors; @Service public class CoursesServiceImpl extends ServiceImpl implements ICoursesService { + @Autowired + private CourseObjectivesServiceImpl objectivesService; + @Autowired CoursesMapper coursesMapper; @@ -66,6 +67,10 @@ public class CoursesServiceImpl extends ServiceImpl impl UmsAdminMapper umsAdminMapper; @Autowired UmsTeacherMapper umsTeacherMapper; + @Autowired + UmsAdminRoleRelationMapper umsAdminRoleRelationMapper; + @Autowired + StudentCoursesMapper studentCoursesMapper; @Override @@ -73,12 +78,15 @@ public class CoursesServiceImpl extends ServiceImpl impl public String saveCourseWithObjective(CoursesDTO coursesDTO) { String teacher = coursesDTO.getTeacher(); if (teacher == null || teacher.equals("")) { - throw new BusinessException(ErrorCode.TEACHER_NOT_EXIT); + throw new BusinessException(ErrorCode.USERNAME_NOT_EXIT); } Courses courses = new Courses(); + String courseId = UUID.randomUUID().toString().replace("-", ""); + CourseObjectives courseObjectives = new CourseObjectives(); BeanUtils.copyProperties(coursesDTO, courses); courses.setCreateTime(LocalDateTime.now()); + courses.setId(courseId); String code = coursesDTO.getCode(); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("code", code); @@ -86,24 +94,27 @@ public class CoursesServiceImpl extends ServiceImpl impl if (count == 0) { int insert = coursesMapper.insert(courses); if (insert > 0) { - Courses coursesNew = coursesMapper.selectOne(queryWrapper); - courseObjectives.setCourseId(coursesNew.getId()); + Courses coursesNew = coursesMapper.selectById(courseId); + courseObjectives.setCourseId(courseId); courseObjectives.setName(coursesNew.getName() + "课程总体目标"); int insertTotal = courseObjectivesMapper.insert(courseObjectives); if (insertTotal>0){ CourseObjectives courseTotalObjectives = courseObjectivesMapper.selectOne - (new LambdaQueryWrapper().eq(CourseObjectives::getCourseId, coursesNew.getId())); + (new LambdaQueryWrapper().eq(CourseObjectives::getCourseId, courseId)); String courseTotalObjectivesId = courseTotalObjectives.getId(); List objectivesTypes = objectivesTypeMapper.selectList(new LambdaQueryWrapper()); + ArrayList courseObjectivesFList = new ArrayList<>(); + CourseObjectives courseObjectivesF = null; for (ObjectivesType objectivesType : objectivesTypes) { Integer typeId = objectivesType.getId(); String typeName = objectivesType.getTypeName(); - CourseObjectives courseObjectivesF = new CourseObjectives(); + courseObjectivesF = new CourseObjectives(); courseObjectivesF.setType(typeId); courseObjectivesF.setName(typeName); courseObjectivesF.setPid(courseTotalObjectivesId); - courseObjectivesMapper.insert(courseObjectivesF); + courseObjectivesFList.add(courseObjectivesF); } + courseObjectivesMapper.insertBatch(courseObjectivesFList); courseTotalObjectives.setHasChild(1); courseObjectivesMapper.updateById(courseTotalObjectives); } @@ -118,44 +129,91 @@ public class CoursesServiceImpl extends ServiceImpl impl @Override public PageDTO queryCourses(CourseQuery courseQuery) { String username = courseQuery.getUsername(); - if (username==null || username.equals("")){ - throw new BusinessException(ErrorCode.TEACHER_NOT_EXIT); + if (username == null || username.isEmpty()) { + throw new BusinessException(ErrorCode.USERNAME_NOT_EXIT); } - //要搜索的课程名字 - String name = courseQuery.getName(); - // 1.1构建分页条件 + + UmsAdmin umsAdmin = umsAdminMapper.selectOne(new LambdaQueryWrapper() + .eq(UmsAdmin::getUsername, username)); + UmsAdminRoleRelation umsAdminRoleRelation = umsAdminRoleRelationMapper.selectOne(new LambdaQueryWrapper() + .eq(UmsAdminRoleRelation::getAdminId, umsAdmin.getId())); + + int roleId = Math.toIntExact(umsAdminRoleRelation.getRoleId()); + PageDTO coursesVOPageDTO; + + switch (roleId) { + case 1: + coursesVOPageDTO = queryForTeacher(courseQuery, username); + break; + case 2: + coursesVOPageDTO = queryForStudent(courseQuery, username); + break; + case 3: + coursesVOPageDTO = queryForAdmin(courseQuery); + break; + default: + throw new BusinessException(ErrorCode.INVALID_ROLE); + } + + populateTeacherNames(coursesVOPageDTO.getList()); + return coursesVOPageDTO; + } + + private PageDTO queryForTeacher(CourseQuery courseQuery, String username) { Page page = courseQuery.toMpPageDefaultSortByCreateTime(); - // 2.分页查询 Page p = lambdaQuery() - .like(name != null, Courses::getName, name) -// .eq(Courses::getTeacher,teacherId) -// .apply("JSON_CONTAINS(teacher, JSON_QUOTE({0}))", teacherId) + .like(courseQuery.getName() != null, Courses::getName, courseQuery.getName()) .apply("FIND_IN_SET({0}, teacher)", username) .page(page); - PageDTO coursesVOPageDTO = PageDTO.of(p, CoursesVO.class); - List pageDTOList = coursesVOPageDTO.getList(); - List teachers = null; + return PageDTO.of(p, CoursesVO.class); + } + + private PageDTO queryForStudent(CourseQuery courseQuery, String username) { + List studentCourses = studentCoursesMapper.selectList(new LambdaQueryWrapper() + .eq(StudentCourses::getStudent, username)); + List coursesList = studentCourses.stream() + .map(StudentCourses::getCourse) + .collect(Collectors.toList()); + + Page page = courseQuery.toMpPageDefaultSortByCreateTime(); + Page p = lambdaQuery() + .like(courseQuery.getName() != null, Courses::getName, courseQuery.getName()) + .in(Courses::getId, coursesList) + .page(page); + return PageDTO.of(p, CoursesVO.class); + } + + private PageDTO queryForAdmin(CourseQuery courseQuery) { + Page page = courseQuery.toMpPageDefaultSortByCreateTime(); + Page p = lambdaQuery() + .like(courseQuery.getName() != null && !courseQuery.getName().isEmpty(), Courses::getName, courseQuery.getName()) + .eq(courseQuery.getCategory() != null && !courseQuery.getCategory().isEmpty(), Courses::getCategory, courseQuery.getCategory()) + .eq(courseQuery.getNature() != null && !courseQuery.getNature().isEmpty(), Courses::getNature, courseQuery.getNature()) + .eq(courseQuery.getAssessmenttype() != null &&!courseQuery.getAssessmenttype().isEmpty(), Courses::getAssessmenttype, courseQuery.getAssessmenttype()) + .apply(courseQuery.getTeacher() != null && !courseQuery.getTeacher().isEmpty(), "FIND_IN_SET({0}, teacher)", courseQuery.getTeacher()) + .page(page); + return PageDTO.of(p, CoursesVO.class); + } - for (CoursesVO coursesVO : pageDTOList) { + private void populateTeacherNames(List courseList) { + for (CoursesVO coursesVO : courseList) { List teacherNameList = new ArrayList<>(); - String teacherIds = coursesVO.getTeacher(); - teachers = new ArrayList<>(Arrays.asList(teacherIds.split(","))); - for (String teacher : teachers) { - UmsAdmin umsAdmin = umsAdminMapper.selectOne(new LambdaQueryWrapper(). - eq(UmsAdmin::getUsername, teacher)); - if (umsAdmin==null){ + String[] teacherIds = coursesVO.getTeacher().split(","); + for (String teacherId : teacherIds) { + UmsAdmin umsAdminTea = umsAdminMapper.selectOne(new LambdaQueryWrapper() + .eq(UmsAdmin::getUsername, teacherId)); + if (umsAdminTea == null) { throw new BusinessException(ErrorCode.OPERATION_ERROR); } - Long adminId = umsAdmin.getId(); UmsTeacher umsTeacher = umsTeacherMapper.selectOne(new LambdaQueryWrapper() - .eq(UmsTeacher::getUserId, adminId)); + .eq(UmsTeacher::getUserId, umsAdminTea.getId())); teacherNameList.add(umsTeacher.getName()); } coursesVO.setTeacher(String.join(",", teacherNameList)); } - return coursesVOPageDTO; } + @Override public void deleteBatchByIds(String id) { if(id==null){ @@ -267,15 +325,70 @@ public class CoursesServiceImpl extends ServiceImpl impl //查询课程通过课程id查--课程简介 Courses courses = this.getById(id); System.out.println("课程:"+courses); - Map params = new HashMap(); - params.put("name",courses.getName()); - params.put("code",courses.getCode()); - params.put("nature",courses.getNature()); - params.put("credit",courses.getCredit()); - params.put("classhour",courses.getClasshours()); - params.put("description",courses.getDescription()); + //准备数据 + String course_name = courses.getName(); + String course_code = courses.getCode(); + String course_nature = courses.getNature(); + BigDecimal course_credit = courses.getCredit(); + Integer course_classhour = courses.getClasshours(); + String course_description = courses.getDescription(); + //查询课程目标 + List courseObjectivesTreeVO = objectivesService.queryCourseObjectivesTree(id); + System.out.println("课程目标:"+courseObjectivesTreeVO); + //准备数据 + //总目标 + StringBuilder overall_goal = new StringBuilder(); + for (ObjectiveContents content : courseObjectivesTreeVO.get(0).getContents()) { + overall_goal.append(content.getContent()); + } + System.out.println(overall_goal); + + //分项目标 + //知识目标 + StringBuilder knowledge_goals = new StringBuilder(); + StringBuilder political_goals = new StringBuilder(); + StringBuilder value_goals = new StringBuilder(); + for (int i = 0; i < courseObjectivesTreeVO.get(0).getCourseObjectivesTrees().size(); i++){ + CourseObjectivesTreeVO content = courseObjectivesTreeVO.get(0).getCourseObjectivesTrees().get(i); + //知识目标 + if (i == 0){ + for (ObjectiveContents c : content.getContents()) { + knowledge_goals.append(c.getContent()).append("\n"); + } + } + //思政目标 + if (i == 1){ + for (ObjectiveContents c : content.getContents()) { + political_goals.append(c.getContent()).append("\n"); + } + } + //价值目标 + if (i == 2){ + for (ObjectiveContents c : content.getContents()) { + value_goals.append(c.getContent()).append("\n"); + } + } + } + System.out.println("知识目标:"+knowledge_goals); + System.out.println("思政目标:"+political_goals); + System.out.println("价值目标:"+value_goals); + + Map params = new HashMap(); + params.put("course_name",course_name); + params.put("course_code",course_code); + params.put("course_nature",course_nature); + params.put("course_credit",course_credit); + params.put("course_classhour",course_classhour); + params.put("course_description",course_description); + + //课程目标 + params.put("overall_goal", overall_goal); + params.put("knowledge_goals", knowledge_goals); + params.put("political_goals", political_goals); + params.put("value_goals", value_goals); + //根据模板+数据 导出文档 XWPFDocument xwpfDocument = WordExportUtil.exportWord07(templatePath.getPath(), params); diff --git a/src/main/java/com/teaching/backend/service/impl/courses/ObjectiveContentKnowServiceImpl.java b/src/main/java/com/teaching/backend/service/impl/courses/ObjectiveContentKnowServiceImpl.java index 6b42b66..3f1f99f 100644 --- a/src/main/java/com/teaching/backend/service/impl/courses/ObjectiveContentKnowServiceImpl.java +++ b/src/main/java/com/teaching/backend/service/impl/courses/ObjectiveContentKnowServiceImpl.java @@ -1,5 +1,6 @@ package com.teaching.backend.service.impl.courses; +import cn.hutool.core.lang.generator.SnowflakeGenerator; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.teaching.backend.common.ErrorCode; @@ -26,6 +27,7 @@ import java.sql.SQLIntegrityConstraintViolationException; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.UUID; import java.util.stream.Collectors; /** @@ -49,6 +51,8 @@ public class ObjectiveContentKnowServiceImpl extends ServiceImpl knowIds = new ArrayList<>(Arrays.asList(knows.split(","))); - ObjectiveContentKnow objectiveContentKnow = null; + List objectiveContentKnowList = new ArrayList<>(); + for (String knowId : knowIds) { + ObjectiveContentKnow objectiveContentKnow = new ObjectiveContentKnow(); +// objectiveContentKnow.setId(snowflakeGenerator.next()); + objectiveContentKnow.setObjectiveOrContent(objectiveOrContent); + objectiveContentKnow.setKnow(knowId); + objectiveContentKnowList.add(objectiveContentKnow); + } + try { - for (String knowId : knowIds) { - objectiveContentKnow = new ObjectiveContentKnow(); - objectiveContentKnow.setObjectiveOrContent(objectiveOrContent); - objectiveContentKnow.setKnow(knowId); - objectiveContentKnowMapper.insert(objectiveContentKnow); - } + objectiveContentKnowMapper.insertBatchSomeColumn(objectiveContentKnowList); } catch (Exception e) { e.printStackTrace(); throw new BusinessException(ErrorCode.OBJECTIVE_OR_CONTENT_EXIT); } + return "添加成功"; } @@ -118,7 +126,7 @@ public class ObjectiveContentKnowServiceImpl extends ServiceImpl { BigDecimal contentPercentage = calculatePercentage(contentKnowVO.getKnowsTime(), classhours); contentKnowVO.setPersent(contentPercentage + "%"); @@ -161,8 +169,8 @@ public class ObjectiveContentKnowServiceImpl extends ServiceImpl implements IObjectiveContentsService { + @Autowired + ObjectiveContentKnowMapper objectiveContentKnowMapper; + @Autowired + ObjectiveContentsMapper objectiveContentsMapper; + @Override + public String deleteById(String id) { + if (id == null){ + throw new BusinessException(ErrorCode.CONTENT_NOT_EXIT); + } + Long count = objectiveContentKnowMapper.selectCount(new LambdaQueryWrapper() + .eq(ObjectiveContentKnow::getObjectiveOrContent, id)); + if(count > CourseCode.KNOWS_EXIT.getValue()){ + throw new BusinessException(ErrorCode.KNOWS_EXIT); + } + int delete = objectiveContentsMapper.deleteById(id); + return delete>0 ? "删除成功!" : "删除失败!"; + } } diff --git a/src/main/java/com/teaching/backend/service/impl/courses/StudentCoursesServiceImpl.java b/src/main/java/com/teaching/backend/service/impl/courses/StudentCoursesServiceImpl.java index 63e6b64..c975735 100644 --- a/src/main/java/com/teaching/backend/service/impl/courses/StudentCoursesServiceImpl.java +++ b/src/main/java/com/teaching/backend/service/impl/courses/StudentCoursesServiceImpl.java @@ -1,6 +1,7 @@ package com.teaching.backend.service.impl.courses; +import cn.hutool.core.lang.generator.SnowflakeGenerator; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -20,6 +21,7 @@ import com.teaching.backend.model.entity.umsAdmin.UmsAdmin; import com.teaching.backend.model.entity.umsAdmin.UmsTeacher; import com.teaching.backend.model.query.CourseQuery; import com.teaching.backend.model.vo.courses.CoursesVO; +import com.teaching.backend.service.courses.ICoursesService; import com.teaching.backend.service.courses.IStudentCoursesService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -49,6 +51,11 @@ public class StudentCoursesServiceImpl extends ServiceImpl coursesIds = new ArrayList<>(Arrays.asList(courses.split(","))); + List studentCoursesList = new ArrayList<>(); StudentCourses studentCourses = null; + + for (String course : coursesIds) { + studentCourses = new StudentCourses(); + studentCourses.setStudent(studentId); + studentCourses.setCourse(course); + studentCoursesList.add(studentCourses); + } try { - for (String course : coursesIds) { - studentCourses = new StudentCourses(); - studentCourses.setStudent(studentId); - studentCourses.setCourse(course); - studentCoursesMapper.insert(studentCourses); - } + studentCoursesMapper.insertBatchSomeColumn(studentCoursesList); } catch (Exception e) { e.printStackTrace(); throw new BusinessException(ErrorCode.OBJECTIVE_OR_CONTENT_EXIT); @@ -76,10 +86,11 @@ public class StudentCoursesServiceImpl extends ServiceImpl queryCourses(CourseQuery courseQuery) { String username = courseQuery.getUsername(); - if (username==null || username.equals("")){ + if (username == null || username.equals("")) { throw new BusinessException(ErrorCode.STUDENT_NOT_EXIT); } List studentCourses = studentCoursesMapper.selectList(new LambdaQueryWrapper() @@ -99,26 +110,9 @@ public class StudentCoursesServiceImpl extends ServiceImpl p = this.coursesMapper.selectPage(page, queryWrapper); PageDTO coursesVOPageDTO = PageDTO.of(p, CoursesVO.class); - List pageDTOList = coursesVOPageDTO.getList(); - List teachers = null; - for (CoursesVO coursesVO : pageDTOList) { - List teacherNameList = new ArrayList<>(); - String teacherIds = coursesVO.getTeacher(); - teachers = new ArrayList<>(Arrays.asList(teacherIds.split(","))); - for (String teacher : teachers) { - UmsAdmin umsAdmin = umsAdminMapper.selectOne(new LambdaQueryWrapper(). - eq(UmsAdmin::getUsername, teacher)); - if (umsAdmin==null){ - throw new BusinessException(ErrorCode.OPERATION_ERROR); - } - Long adminId = umsAdmin.getId(); - UmsTeacher umsTeacher = umsTeacherMapper.selectOne(new LambdaQueryWrapper() - .eq(UmsTeacher::getUserId, adminId)); - teacherNameList.add(umsTeacher.getName()); - } - coursesVO.setTeacher(String.join(",", teacherNameList)); - } +// coursesService.populateTeacherNames(coursesVOPageDTO.getList()); + return coursesVOPageDTO; } } diff --git a/src/main/java/com/teaching/backend/service/impl/favour/SeResourceFavourServiceImpl.java b/src/main/java/com/teaching/backend/service/impl/favour/SeResourceFavourServiceImpl.java index 3d48f55..9b2c2b3 100644 --- a/src/main/java/com/teaching/backend/service/impl/favour/SeResourceFavourServiceImpl.java +++ b/src/main/java/com/teaching/backend/service/impl/favour/SeResourceFavourServiceImpl.java @@ -1,6 +1,7 @@ package com.teaching.backend.service.impl.favour; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.teaching.backend.common.BaseResponse; import com.teaching.backend.common.ErrorCode; @@ -8,14 +9,18 @@ import com.teaching.backend.common.ResultUtils; import com.teaching.backend.exception.BusinessException; import com.teaching.backend.mapper.courses.CoursesMapper; import com.teaching.backend.mapper.favour.SeResourceFavourMapper; +import com.teaching.backend.model.entity.CourseResources; import com.teaching.backend.model.entity.courses.Courses; import com.teaching.backend.model.entity.favour.SeResourceFavour; +import com.teaching.backend.service.CourseResourcesService; import com.teaching.backend.service.favour.SeResourceFavourService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; +import java.util.stream.Collectors; /** @@ -30,8 +35,11 @@ public class SeResourceFavourServiceImpl extends ServiceImpl doResourceFavour(String courseId, String resourceId, String userId) { + public BaseResponse doResourceFavour(String courseId, Integer resourceId, String userId) { //从数据库中校验是否存在courseid Courses courses = coursesMapper.selectById(courseId); @@ -76,5 +84,15 @@ public class SeResourceFavourServiceImpl extends ServiceImpl listCourseFavourByPage(String userId, Integer type, Integer page, Integer pageSize) { + QueryWrapper resourceQueryWrapper = new QueryWrapper<>(); + resourceQueryWrapper.eq("user_id",userId); + List ids = this.list(resourceQueryWrapper).stream().map(SeResourceFavour::getResourceId).collect(Collectors.toList()); + return courseResourcesService.getresourceRecords(type,ids,page,pageSize); + } + + + } diff --git a/src/main/java/com/teaching/backend/service/umsAdmin/UmsAdminService.java b/src/main/java/com/teaching/backend/service/umsAdmin/UmsAdminService.java index 8e90b61..9a9ff4a 100644 --- a/src/main/java/com/teaching/backend/service/umsAdmin/UmsAdminService.java +++ b/src/main/java/com/teaching/backend/service/umsAdmin/UmsAdminService.java @@ -3,9 +3,11 @@ package com.teaching.backend.service.umsAdmin; import com.baomidou.mybatisplus.extension.service.IService; import com.teaching.backend.model.dto.UmsAdminParam; import com.teaching.backend.model.dto.UpdateAdminPasswordParam; +import com.teaching.backend.model.dto.umsAdmin.UmsStudentAndTeacherDTO; import com.teaching.backend.model.entity.umsAdmin.UmsAdmin; import com.teaching.backend.model.entity.umsAdmin.UmsResource; import com.teaching.backend.model.entity.umsAdmin.UmsRole; +import com.teaching.backend.model.vo.courses.TeacherInfVO; import org.springframework.security.core.userdetails.UserDetails; import java.util.List; @@ -76,4 +78,16 @@ public interface UmsAdminService extends IService { * 手机号登录 */ String phoneLogin(String phone); + + /** + * 获取指定个人信息 + */ + Object getByIdPersonalInfo(String id); + + /** + * 修改指定个人信息 + */ + boolean updatePersonalInfo(UmsStudentAndTeacherDTO umsStudentAndTeacherDTO); + + List getTeacherInfList(); } diff --git a/src/main/java/com/teaching/backend/service/umsAdmin/impl/UmsAdminServiceImpl.java b/src/main/java/com/teaching/backend/service/umsAdmin/impl/UmsAdminServiceImpl.java index 0eeb61f..93649da 100644 --- a/src/main/java/com/teaching/backend/service/umsAdmin/impl/UmsAdminServiceImpl.java +++ b/src/main/java/com/teaching/backend/service/umsAdmin/impl/UmsAdminServiceImpl.java @@ -4,18 +4,23 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest; import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.google.gson.Gson; import com.teaching.backend.exception.Asserts; +import com.teaching.backend.exception.BusinessException; import com.teaching.backend.exception.LyException; import com.teaching.backend.mapper.umsAdmin.UmsAdminMapper; import com.teaching.backend.mapper.umsAdmin.UmsAdminRoleRelationMapper; +import com.teaching.backend.mapper.umsAdmin.UmsStudentMapper; +import com.teaching.backend.mapper.umsAdmin.UmsTeacherMapper; import com.teaching.backend.model.dto.UmsAdminParam; import com.teaching.backend.model.dto.UpdateAdminPasswordParam; -import com.teaching.backend.model.entity.umsAdmin.AdminUserDetails; -import com.teaching.backend.model.entity.umsAdmin.UmsAdmin; -import com.teaching.backend.model.entity.umsAdmin.UmsResource; -import com.teaching.backend.model.entity.umsAdmin.UmsRole; +import com.teaching.backend.model.dto.umsAdmin.UmsStudentAndTeacherDTO; +import com.teaching.backend.model.entity.umsAdmin.*; +import com.teaching.backend.model.vo.courses.TeacherInfVO; +import com.teaching.backend.model.vo.umsAdmin.UmsStudentVO; +import com.teaching.backend.model.vo.umsAdmin.UmsTeacherVO; import com.teaching.backend.service.umsAdmin.UmsAdminService; import com.teaching.backend.utils.JwtTokenUtil; import com.teaching.backend.utils.RegexUtils; @@ -40,6 +45,7 @@ import com.aliyuncs.exceptions.ClientException; import com.aliyuncs.exceptions.ServerException; import com.aliyuncs.profile.DefaultProfile; import java.time.LocalDateTime; +import java.util.ArrayList; import java.util.List; import java.util.UUID; @@ -55,9 +61,11 @@ public class UmsAdminServiceImpl extends ServiceImpl i @Autowired private UmsAdminRoleRelationMapper adminRoleRelation; @Autowired - private AmqpTemplate amqpTemplate; + private UmsStudentMapper umsStudentMapper; @Autowired - private StringRedisTemplate redisTemplate; + UmsTeacherMapper umsTeacherMapper; + @Autowired + UmsAdminMapper umsAdminMapper; @Override @@ -71,12 +79,22 @@ public class UmsAdminServiceImpl extends ServiceImpl i .eq(UmsAdmin::getUsername, umsAdmin.getUsername()) .list(); if (umsAdminList.size() > 0) { - return null; + throw new BusinessException(500,"用户已存在"); } //将密码进行加密操作 String encodePassword = passwordEncoder.encode(umsAdmin.getPassword()); umsAdmin.setPassword(encodePassword); save(umsAdmin); + + //创建学生信息(默认是学生) + UmsAdmin byUsername = lambdaQuery().eq(UmsAdmin::getUsername, umsAdmin.getUsername()) + .one(); + UmsStudent umsStudent = new UmsStudent(); + umsStudent.setUserId(Math.toIntExact(byUsername.getId())); + umsStudentMapper.insert(umsStudent); + + //分配角色(学生) + adminRoleRelation.insert(byUsername.getId(), 2L); return umsAdmin; } @@ -87,10 +105,10 @@ public class UmsAdminServiceImpl extends ServiceImpl i try { UserDetails userDetails = loadUserByUsername(username); if(!passwordEncoder.matches(password,userDetails.getPassword())){ - Asserts.fail("密码不正确"); + throw new BusinessException(400,"密码错误"); } if(!userDetails.isEnabled()){ - Asserts.fail("帐号已被禁用"); + throw new BusinessException(400,"帐号已被禁用"); } UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(userDetails, null, userDetails.getAuthorities()); SecurityContextHolder.getContext().setAuthentication(authentication); @@ -104,7 +122,7 @@ public class UmsAdminServiceImpl extends ServiceImpl i @Override public String phoneLogin(String phone) { if (phone == null){ - return null; + throw new BusinessException(400,"手机号为空"); } String token = null; //密码需要客户端加密后传递 @@ -112,12 +130,12 @@ public class UmsAdminServiceImpl extends ServiceImpl i UmsAdmin phoneAdmin = lambdaQuery().eq(UmsAdmin::getPhone, phone) .one(); if (phoneAdmin == null){ - return null; + throw new BusinessException(400,"手机号未注册"); } UserDetails userDetails = loadUserByUsername(phoneAdmin.getUsername()); if(!userDetails.isEnabled()){ - Asserts.fail("帐号已被禁用"); + throw new BusinessException(400,"帐号已被禁用"); } UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(userDetails, null, userDetails.getAuthorities()); SecurityContextHolder.getContext().setAuthentication(authentication); @@ -128,15 +146,61 @@ public class UmsAdminServiceImpl extends ServiceImpl i return token; } + @Override + public Object getByIdPersonalInfo(String id) { + UmsRole umsRole = umsAdminMapper.getByIdRoleInfo(id); + if (umsRole == null){ + throw new BusinessException(500,"用户未分配角色"); + } + if(umsRole.getStatus()==0){ + throw new BusinessException(500,"角色被禁用"); + } + if (umsRole.getId() == 1){ + UmsTeacher teacher = umsAdminMapper.getByIdTeacher(id); + UmsTeacherVO umsTeacherVO = new UmsTeacherVO(); + BeanUtils.copyProperties(teacher,umsTeacherVO); + umsTeacherVO.setRoleId(Math.toIntExact(umsRole.getId())); + return umsTeacherVO; + }else if (umsRole.getId() == 2){ + UmsStudentVO student = umsAdminMapper.getByIdStudent(id); + UmsStudentVO umsStudentVO = new UmsStudentVO(); + BeanUtils.copyProperties(student,umsStudentVO); + umsStudentVO.setRoleId(Math.toIntExact(umsRole.getId())); + return umsStudentVO; + } + return null; + } + + @Override + public boolean updatePersonalInfo(UmsStudentAndTeacherDTO umsStudentAndTeacherDTO) { + + if (umsStudentAndTeacherDTO.getRoleId() == 1){ + UmsTeacher umsTeacher = new UmsTeacher(); + BeanUtils.copyProperties(umsStudentAndTeacherDTO,umsTeacher); + System.out.println(umsTeacher); + return umsTeacherMapper.updateTeacherInfo(umsTeacher); + } else if (umsStudentAndTeacherDTO.getRoleId() == 2) { + UmsStudent umsStudent = new UmsStudent(); + BeanUtils.copyProperties(umsStudentAndTeacherDTO,umsStudent); + return umsStudentMapper.updateStudentInfo(umsStudent); + } + return false; + } + @Override public boolean updateUms(UmsAdmin umsadmin) { - if (umsadmin.getPassword().length() > 0){ - Asserts.fail("修改操作错误1"); + List adminList = lambdaQuery().eq(UmsAdmin::getUsername, umsadmin.getUsername()) + .list(); + if (adminList.size() > 0){ + throw new BusinessException(400,"用户名已存在"); + } + if (!StrUtil.isEmpty(umsadmin.getPassword())){ + throw new BusinessException(400,"修改操作错误1"); } if (umsadmin.getCreateTime() != null){ - Asserts.fail("修改操作错误2"); + throw new BusinessException(400,"修改操作错误2"); } - return updateById(umsadmin); + return umsAdminMapper.updateUserInformation(umsadmin); } @Override @@ -144,17 +208,17 @@ public class UmsAdminServiceImpl extends ServiceImpl i if(StrUtil.isEmpty(param.getUsername()) ||StrUtil.isEmpty(param.getOldPassword()) ||StrUtil.isEmpty(param.getNewPassword())){ - return -1; + throw new BusinessException(400,"修改密码操作错误"); } List adminList = lambdaQuery() .eq(UmsAdmin::getUsername, param.getUsername()) .list(); if(CollUtil.isEmpty(adminList)){ - return -2; + throw new BusinessException(400,"用户名不存在"); } UmsAdmin umsAdmin = adminList.get(0); if(!passwordEncoder.matches(param.getOldPassword(),umsAdmin.getPassword())){ - return -3; + throw new BusinessException(400,"密码重复"); } umsAdmin.setPassword(passwordEncoder.encode(param.getNewPassword())); updateById(umsAdmin); @@ -164,7 +228,7 @@ public class UmsAdminServiceImpl extends ServiceImpl i @Override public String sendVerifyCode(String phone) { if (!RegexUtils.isPhone(phone)) { - throw new LyException(400, "手机号格式错误"); + throw new BusinessException(400, "手机号格式错误"); } // UmsAdmin admin = lambdaQuery() @@ -199,8 +263,6 @@ public class UmsAdminServiceImpl extends ServiceImpl i System.out.println("ErrMsg:" + e.getErrMsg()); System.out.println("RequestId:" + e.getRequestId()); } -// //存入,redis,存5min -// this.redisTemplate.opsForValue().set(KEY_PREFIX + phone, code, 5, TimeUnit.MINUTES); return code; } @@ -215,13 +277,23 @@ public class UmsAdminServiceImpl extends ServiceImpl i .eq(UmsAdmin::getPhone,umsAdminParam.getPhone()) .list(); if (umsAdminList.size() > 0 ) { - return null; + throw new BusinessException(400,"手机号已存在"); } //将密码进行加密操作 String encodePassword = passwordEncoder.encode(umsAdmin.getPassword()); umsAdmin.setUsername(randomUsername()); umsAdmin.setPassword(encodePassword); save(umsAdmin); + + //创建学生信息(默认是学生) + UmsAdmin byUsername = lambdaQuery().eq(UmsAdmin::getPhone, umsAdmin.getPhone()) + .one(); + UmsStudent umsStudent = new UmsStudent(); + umsStudent.setUserId(Math.toIntExact(byUsername.getId())); + umsStudentMapper.insert(umsStudent); + + //分配角色(学生) + adminRoleRelation.insert(byUsername.getId(), 2L); return umsAdmin; } @@ -280,4 +352,20 @@ public class UmsAdminServiceImpl extends ServiceImpl i throw new UsernameNotFoundException("用户名或密码错误"); } + @Override + public List getTeacherInfList() { + List umsTeachers = umsTeacherMapper.selectList(new LambdaQueryWrapper()); + TeacherInfVO teacherInfVO = null; + List teacherInfList = new ArrayList<>();; + for (UmsTeacher umsTeacher : umsTeachers) { + teacherInfVO = new TeacherInfVO(); + UmsAdmin umsAdmin = umsAdminMapper.selectOne(new LambdaQueryWrapper() + .eq(UmsAdmin::getId, umsTeacher.getUserId())); + teacherInfVO.setName(umsTeacher.getName()); + teacherInfVO.setUsername(umsAdmin.getUsername()); + teacherInfList.add(teacherInfVO); + } + return teacherInfList; + } + } diff --git a/src/main/java/com/teaching/backend/utils/CourseCode.java b/src/main/java/com/teaching/backend/utils/CourseCode.java index 18f50fb..0c9fc7b 100644 --- a/src/main/java/com/teaching/backend/utils/CourseCode.java +++ b/src/main/java/com/teaching/backend/utils/CourseCode.java @@ -7,6 +7,8 @@ public enum CourseCode { CONTENT_EXIT(1, "存在内容"), SI_ZHENG_TYPE(1, "思政目标类型"), SI_ZHENG_EXIT(1, "思政目标存在"), + KNOWS_EXIT(0, "存在关联的知识点"), + TEACHER_ROLE_ID(1, "教师的角色id是1"), Total_EXIT(0, "课程总目标"), COURSE_UODATING(1, "课程正在修改中"); diff --git a/src/main/java/com/teaching/backend/utils/WordUtil.java b/src/main/java/com/teaching/backend/utils/WordUtil.java index 51d84dc..7e275cf 100644 --- a/src/main/java/com/teaching/backend/utils/WordUtil.java +++ b/src/main/java/com/teaching/backend/utils/WordUtil.java @@ -7,7 +7,6 @@ import lombok.Data; import java.io.*; -import java.net.URLDecoder; import java.util.Map; import java.util.Random; @@ -20,65 +19,53 @@ import java.util.Random; public class WordUtil { private Configuration configuration = null; - - /* - * 模板文件存放的目录 - */ private String baseDir; - - /* - * 模板文件名称 - */ private String templateFile; - - /* - * word生成的输出目录 - */ private String outputDir; + private InputStream templateInputStream; // 模板文件输入流 - public WordUtil(){ + public WordUtil() { configuration = new Configuration(); configuration.setDefaultEncoding("UTF-8"); } - /* - *

转换成word
- */ - public String createWord(Map dataMap){ + public void setTemplateInputStream(InputStream templateStream) { + this.templateInputStream = templateStream; + } - configuration.setClassForTemplateLoading(this.getClass(), "");//模板文件所在路径 + public String createWord(Map dataMap) { + configuration.setClassForTemplateLoading(this.getClass(), ""); Template t = null; - try { - //得到模板文件 - configuration.setDirectoryForTemplateLoading(new File(baseDir)); - t = configuration.getTemplate(templateFile); + t = new Template(templateFile, new InputStreamReader(templateInputStream, "UTF-8"), configuration); } catch (IOException e) { e.printStackTrace(); } - //随机生成 - Random random=new Random(); - - File outFile = new File(outputDir+ random.nextInt(200) + ".docx"); //导出文件 - + Random random = new Random(); + File outFile = new File(outputDir + random.nextInt(200) + ".docx"); Writer out = null; + try { out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile))); - } catch (FileNotFoundException e1) { - e1.printStackTrace(); - } - try { - t.process(dataMap, out); //将填充数据填入模板文件并输出到目标文件 + + t.process(dataMap, out); + return outFile.getPath(); - } catch (TemplateException e) { - e.printStackTrace(); - } catch (IOException e) { + + } catch (TemplateException | IOException e) { e.printStackTrace(); + } finally { + if (out != null) { + try { + out.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } } + return "文档生成失败"; } - - -} +} \ No newline at end of file diff --git a/src/main/java/com/teaching/backend/utils/textceshi.java b/src/main/java/com/teaching/backend/utils/textceshi.java new file mode 100644 index 0000000..e69de29 diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 27c1ff9..2e0abe0 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -2,4 +2,4 @@ aliyun.oss.endpoint=oss-cn-wuhan-lr.aliyuncs.com aliyun.oss.accessKeyId=LTAI5tFkdu3y5WddxbjgaG2F aliyun.oss.accessKeySecret=1xUchxUTlmUBoTV5JQIrKsVjSkmsLF aliyun.oss.bucketName=ceshi132132 - +filename=123.ftl diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 9a96929..80e93a1 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -3,32 +3,36 @@ server: spring: application: name: teaching-backend + servlet: + multipart: + max-file-size: 10MB + max-request-size: 10MB mvc: pathmatch: matching-strategy: ant_path_matcher datasource: driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://127.0.0.1:3306/teaching_db - username: root - password: root + url: jdbc:mysql://rm-bp189rd5595301145do.mysql.rds.aliyuncs.com:3306/teaching_db + username: root123 + password: Zjh@111111 mybatis: configuration: map-underscore-to-camel-case: true mapper-locations: - classpath:mapper/*.xml - classpath*:com/**/mapper/*.xml -# 自定义jwt key + jwt: - tokenHeader: Authorization #JWT存储的请求头 - secret: mySecret #JWT加解密使用的密钥 - expiration: 604800 #JWT的超期限时间(60*60*24)一天 - tokenHead: Bearer #JWT负载中拿到开头 + tokenHeader: Authorization + secret: mySecret + expiration: 604800 + tokenHead: Bearer knife4j: enable: true openapi: - title: 用户管理接口文档 - description: "用户管理接口文档" + title: 111 + description: "123" concat: zjh version: v1.0.0 group: @@ -39,7 +43,7 @@ knife4j: - com.teaching.backend.controller secure: ignored: - urls: #安全路径白名单 + urls: #- /swagger-ui/ - /** # - /swagger-resources/** diff --git a/src/main/resources/mapper/CourseObjectivesMapper.xml b/src/main/resources/mapper/CourseObjectivesMapper.xml index 1204030..91dd5a0 100644 --- a/src/main/resources/mapper/CourseObjectivesMapper.xml +++ b/src/main/resources/mapper/CourseObjectivesMapper.xml @@ -12,4 +12,13 @@ select * from t1 order by t1.pid + + + INSERT INTO course_objectives (id, type, name, pid) + VALUES + + (#{item.id}, #{item.type}, #{item.name},#{item.pid}) + + + diff --git a/src/main/resources/mapper/ObjectiveContentKnowMapper.xml b/src/main/resources/mapper/ObjectiveContentKnowMapper.xml index b764958..9ae17ca 100644 --- a/src/main/resources/mapper/ObjectiveContentKnowMapper.xml +++ b/src/main/resources/mapper/ObjectiveContentKnowMapper.xml @@ -2,4 +2,12 @@ + + INSERT INTO objective_content_know (objective_or_content, know) + VALUES + + (#{item.objectiveOrContent}, #{item.know}) + + + diff --git a/src/main/resources/mapper/StudentCoursesMapper.xml b/src/main/resources/mapper/StudentCoursesMapper.xml index 6b5568e..dfd2bba 100644 --- a/src/main/resources/mapper/StudentCoursesMapper.xml +++ b/src/main/resources/mapper/StudentCoursesMapper.xml @@ -2,4 +2,11 @@ + + INSERT INTO student_courses (student, course) + VALUES + + (#{item.student}, #{item.course}) + + diff --git a/src/main/resources/mapper/UmsAdminMapper.xml b/src/main/resources/mapper/UmsAdminMapper.xml new file mode 100644 index 0000000..b1f7b5c --- /dev/null +++ b/src/main/resources/mapper/UmsAdminMapper.xml @@ -0,0 +1,77 @@ + + + + + + update ums_admin + + + username = #{username,jdbcType=VARCHAR}, + + + password = #{password}, + + + phone = #{phone,jdbcType=VARCHAR}, + + + nick_name = #{nickName,jdbcType=VARCHAR}, + + + icon = #{icon,jdbcType=VARCHAR}, + + + create_time = #{createTime,jdbcType=TIMESTAMP}, + + + status = #{status,jdbcType=INTEGER}, + + + where id = #{id,jdbcType=BIGINT} + + + + + diff --git a/src/main/resources/mapper/UmsAdminRoleRelationMapper.xml b/src/main/resources/mapper/UmsAdminRoleRelationMapper.xml index b09f07c..1c49f99 100644 --- a/src/main/resources/mapper/UmsAdminRoleRelationMapper.xml +++ b/src/main/resources/mapper/UmsAdminRoleRelationMapper.xml @@ -1,14 +1,10 @@ - - - - - - - - + + INSERT INTO ums_admin_role_relation (admin_id, role_id) VALUES (#{adminId,jdbcType=BIGINT}, + #{roleId,jdbcType=BIGINT}) +