总目标,分目标目标对应的内容(增删改查)--删除有限定 课程目标的查询(按id查) 课程删除功能暂未完成 更新了数据库表objective_contents和objectives_typemaster
parent
0505cdae76
commit
fa04f59888
31 changed files with 869 additions and 66 deletions
@ -0,0 +1,239 @@ |
||||
/* |
||||
SQLyog Ultimate v12.09 (64 bit) |
||||
MySQL - 8.0.12 : Database - teaching_db |
||||
********************************************************************* |
||||
*/
|
||||
|
||||
/*!40101 SET NAMES utf8 */; |
||||
|
||||
/*!40101 SET SQL_MODE=''*/; |
||||
|
||||
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; |
||||
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; |
||||
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; |
||||
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; |
||||
CREATE DATABASE /*!32312 IF NOT EXISTS*/`teaching_db` /*!40100 DEFAULT CHARACTER SET utf8 */; |
||||
|
||||
USE `teaching_db`; |
||||
|
||||
/*Table structure for table `course_objectives` */ |
||||
|
||||
DROP TABLE IF EXISTS `course_objectives`; |
||||
|
||||
CREATE TABLE `course_objectives` ( |
||||
`id` varchar(36) NOT NULL COMMENT '内部编号', |
||||
`create_time` datetime DEFAULT NULL COMMENT '创建日期', |
||||
`update_time` datetime DEFAULT NULL COMMENT '更新日期', |
||||
`pid` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '0' COMMENT '父级节点 默认0没有', |
||||
`has_child` varchar(3) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '0' COMMENT '是否有子节点 添加子节点变1,默认0没有', |
||||
`name` varchar(200) DEFAULT NULL COMMENT '目标名称', |
||||
`type` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci 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; |
||||
|
||||
/*Data for the table `course_objectives` */ |
||||
|
||||
insert into `course_objectives`(`id`,`create_time`,`update_time`,`pid`,`has_child`,`name`,`type`,`course_id`,`requireid`,`temp`) values ('3e42492c201d2a9378be5af2edc92b47','2024-06-06 16:17:39',NULL,'0','0','近代史纲要课程总体目标',NULL,'d8d7bb93f100164659cac44ef2c4f55a',NULL,NULL),('43f2c4b4a10a47784e50e772b9d10457','2024-05-31 17:39:13',NULL,'0','0','测试课程课程总体目标',NULL,'6f5de6dd8c8d5d9d02a63c8444b9d5bb',NULL,NULL),('503dc084653ffd003cb404b62266dc7c','2024-06-06 15:58:43',NULL,'da6e7283befa8965dae0f0f39ea7f24e','0','知识目标','c126ef1a66733ab7a4ba12aba0eb7f82',NULL,NULL,NULL),('53b27c94fe8af02ac8b23d9be9a2e329','2024-06-03 11:32:19',NULL,'da6e7283befa8965dae0f0f39ea7f24e','0','思政目标','71f73bd999f678bcbbdb101e23277feb',NULL,NULL,NULL),('7a302cd72d653647778840b42f4e076a','2024-06-03 10:43:13',NULL,'0','0','软件构造课程总体目标',NULL,'ee2447b4463a5ad3f47e1744d912a824',NULL,NULL),('aa839ff1345a04f95b4efcca02494cab','2024-06-06 16:45:22',NULL,'0','0','毛概课程总体目标',NULL,'72e1ad71bb855ba328f8c17964697354',NULL,NULL),('b41fa8332f39cca11d35635bd9fac720','2024-05-31 11:24:33',NULL,'0','0','计算机导论课程总体目标',NULL,'2fa0fd63262230639d2c45a3acd9045c',NULL,NULL),('c84dc451086f7938c28a4f757957f415','2024-06-06 15:58:19',NULL,'da6e7283befa8965dae0f0f39ea7f24e','0','价值目标','410fc58cd757cd248941af1bea6888e5',NULL,NULL,NULL),('d452f583115465d067a1719458690b95','2024-05-31 11:16:37',NULL,'0','0','计算机组成原理总体目标',NULL,'36c34a4225526dd20ee3840da61d3701',NULL,NULL),('da6e7283befa8965dae0f0f39ea7f24e','2024-05-31 20:49:52','2024-06-06 15:58:43','0','1','离散数学及其应用课程总体目标',NULL,'de3100cad98f76be3176dd39aa748a9e',NULL,NULL); |
||||
|
||||
/*Table structure for table `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(5,2) DEFAULT NULL COMMENT '课程学分', |
||||
`classhours` int(11) DEFAULT NULL COMMENT '课程学时', |
||||
`theoryhours` int(11) DEFAULT NULL COMMENT '理论学时', |
||||
`practicehours` int(11) DEFAULT NULL COMMENT '实践学时', |
||||
`experimenthours` int(11) DEFAULT NULL COMMENT '实验学时', |
||||
`otherhours` int(11) 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 '课程简介', |
||||
PRIMARY KEY (`id`) |
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
||||
|
||||
/*Data for the table `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`) 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),('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),('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),('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),('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),('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),('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),('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),('d8d7bb93f100164659cac44ef2c4f55a','2024-06-06 16:17:39',NULL,'','1','1','近代史纲要','111011',NULL,'2.60',48,NULL,NULL,NULL,NULL,NULL,'1','1','2140110334','暂定','线下授课',NULL),('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 table `filetable` */ |
||||
|
||||
DROP TABLE IF EXISTS `filetable`; |
||||
|
||||
CREATE TABLE `filetable` ( |
||||
`id` int(11) NOT NULL AUTO_INCREMENT, |
||||
`course_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, |
||||
`file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, |
||||
`file_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, |
||||
PRIMARY KEY (`id`) USING BTREE |
||||
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; |
||||
|
||||
/*Data for the table `filetable` */ |
||||
|
||||
insert into `filetable`(`id`,`course_id`,`file_name`,`file_path`) values (1,'1','1f88e9df6f0b4412b0eb067ad057adb5.mp4','video/1f88e9df6f0b4412b0eb067ad057adb5.mp4'),(2,'2','bda16852b6944ae08cfcc70597f8dbb6.md','others/bda16852b6944ae08cfcc70597f8dbb6.md'),(3,'3','4c0dbc0ad84344bc8ba3431346cc7078.md','others/4c0dbc0ad84344bc8ba3431346cc7078.md'); |
||||
|
||||
/*Table structure for table `objective_contents` */ |
||||
|
||||
DROP TABLE IF EXISTS `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 ('3f85eb79c29be4a15c729d98b17676a5','c84dc451086f7938c28a4f757957f415','价值目标3'),('406c85c99bd2d4b9f624ca3a67c3ce66','53b27c94fe8af02ac8b23d9be9a2e329','思政目标2'),('4ad5a1f0f584e35e7af6ef5142773990','503dc084653ffd003cb404b62266dc7c','知识目标1'),('4b4458cd64b0a1e21b54191a89e9f83d','c84dc451086f7938c28a4f757957f415','价值目标2'),('53d9d78b41051696314c0b1c0efa5313','503dc084653ffd003cb404b62266dc7c','知识目标3'),('6689ed187bcbd36309510a21ea492225','da6e7283befa8965dae0f0f39ea7f24e','总目标3'),('979e59083e81f28145e1162069ffebb8','c84dc451086f7938c28a4f757957f415','价值目标1'),('9efcc83089e6de9945499876d1a6235a','da6e7283befa8965dae0f0f39ea7f24e','总目标1'),('c6b3fc522a5479e28cd3f0c9b971a871','53b27c94fe8af02ac8b23d9be9a2e329','思政目标3'),('dc31075d57f371970c5af09fd534a9af','da6e7283befa8965dae0f0f39ea7f24e','总目标2'),('eca937e6f047e3b6b06d67c5b4a9beff','53b27c94fe8af02ac8b23d9be9a2e329','思政目标1'),('ffde482fac55e6dec5b60f6c6208d42c','503dc084653ffd003cb404b62266dc7c','知识目标2'); |
||||
|
||||
/*Table structure for table `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) DEFAULT NULL COMMENT '类型名称', |
||||
PRIMARY KEY (`id`), |
||||
UNIQUE KEY `type_name` (`type_name`) |
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
||||
|
||||
/*Data for the table `objectives_type` */ |
||||
|
||||
insert into `objectives_type`(`id`,`type_name`) values ('410fc58cd757cd248941af1bea6888e5','价值目标'),('71f73bd999f678bcbbdb101e23277feb','思政目标'),('c126ef1a66733ab7a4ba12aba0eb7f82','知识目标'),('2350f69ef928cd2949e7fc05b05bd0c3','素质目标'); |
||||
|
||||
/*Table structure for table `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 DEFAULT NULL COMMENT '课程id', |
||||
`user_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '用户', |
||||
PRIMARY KEY (`id`) USING BTREE |
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; |
||||
|
||||
/*Data for the table `se_course_favour` */ |
||||
|
||||
insert into `se_course_favour`(`id`,`course_id`,`user_id`) values ('1796378327262564353','a2ba84374d86e85208c5906a96ea8205','2'),('1796454599099658242','36c34a4225526dd20ee3840da61d3701','2'),('1796789887730647041','2fa0fd63262230639d2c45a3acd9045c','2'),('1797497056650289154','d511d26df8de551bc85ce765089771b4','1'),('1797499380101767170','d511d26df8de551bc85ce765089771b4','2'),('1798221492412149761','d511d26df8de551bc85ce765089771b4','5'),('1798621775654993922','d511d26df8de551bc85ce765089771b4','8'),('1798632199670714369','de3100cad98f76be3176dd39aa748a9e','2'); |
||||
|
||||
/*Table structure for table `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 DEFAULT NULL, |
||||
`user_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, |
||||
PRIMARY KEY (`id`) USING BTREE |
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; |
||||
|
||||
/*Data for the table `se_course_thumb` */ |
||||
|
||||
insert into `se_course_thumb`(`id`,`course_id`,`user_id`) values ('1796343958854623233','2','1'),('1796344002215337985','2','2'),('1796362250491191298','1','2'),('1796437673614974977','6','2'),('1796445964822847489','7','4'); |
||||
|
||||
/*Table structure for table `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 DEFAULT NULL, |
||||
`know_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, |
||||
`user_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, |
||||
PRIMARY KEY (`id`) USING BTREE |
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; |
||||
|
||||
/*Data for the table `se_know_favour` */ |
||||
|
||||
insert into `se_know_favour`(`id`,`course_id`,`know_id`,`user_id`) values ('1796378889450295297','1','2','3'); |
||||
|
||||
/*Table structure for table `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 DEFAULT NULL, |
||||
`know_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, |
||||
`user_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, |
||||
PRIMARY KEY (`id`) USING BTREE |
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; |
||||
|
||||
/*Data for the table `se_know_thumb` */ |
||||
|
||||
insert into `se_know_thumb`(`id`,`course_id`,`know_id`,`user_id`) values ('1796347057337982977','1','2','2'),('1796347303317135361','2','2','3'),('1796347343968329730','2','3','3'),('1796347380697849857','1','3','3'); |
||||
|
||||
/*Table structure for table `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 DEFAULT NULL, |
||||
`resource_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, |
||||
`user_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, |
||||
PRIMARY KEY (`id`) USING BTREE |
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; |
||||
|
||||
/*Data for the table `se_resource_favour` */ |
||||
|
||||
insert into `se_resource_favour`(`id`,`course_id`,`resource_id`,`user_id`) values ('1796379012112715778','1','2','3'); |
||||
|
||||
/*Table structure for table `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 DEFAULT NULL, |
||||
`resource_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, |
||||
`user_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL, |
||||
PRIMARY KEY (`id`) USING BTREE |
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC; |
||||
|
||||
/*Data for the table `se_resource_thumb` */ |
||||
|
||||
insert into `se_resource_thumb`(`id`,`course_id`,`resource_id`,`user_id`) values ('1796366535710904322','2','1','1'); |
||||
|
||||
/*Table structure for table `user` */ |
||||
|
||||
DROP TABLE IF EXISTS `user`; |
||||
|
||||
CREATE TABLE `user` ( |
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', |
||||
`userAccount` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '账号', |
||||
`userPassword` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '密码', |
||||
`userName` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '用户昵称', |
||||
`userAvatar` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '用户头像', |
||||
`userRole` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'user' COMMENT '用户角色:user/admin/ban', |
||||
`createTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', |
||||
`updateTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', |
||||
`isDelete` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否删除', |
||||
PRIMARY KEY (`id`) USING BTREE |
||||
) ENGINE=InnoDB AUTO_INCREMENT=1793257199111405570 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='用户'; |
||||
|
||||
/*Data for the table `user` */ |
||||
|
||||
insert into `user`(`id`,`userAccount`,`userPassword`,`userName`,`userAvatar`,`userRole`,`createTime`,`updateTime`,`isDelete`) values (1793257199111405569,'youhang','84fccf8fe96cab775b23698a9c9b7eaa','游航',NULL,'admin','2024-05-22 20:26:48','2024-05-22 20:27:53',0); |
||||
|
||||
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; |
||||
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; |
||||
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; |
||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; |
@ -0,0 +1,50 @@ |
||||
package com.teaching.backend.controller.courses; |
||||
|
||||
|
||||
import com.teaching.backend.common.BaseResponse; |
||||
import com.teaching.backend.common.ResultUtils; |
||||
import com.teaching.backend.model.entity.courses.ObjectiveContents; |
||||
import com.teaching.backend.service.courses.IObjectiveContentsService; |
||||
import io.swagger.annotations.Api; |
||||
import io.swagger.annotations.ApiOperation; |
||||
import org.springframework.beans.factory.annotation.Autowired; |
||||
import org.springframework.web.bind.annotation.*; |
||||
|
||||
/** |
||||
* <p> |
||||
* 前端控制器 |
||||
* </p> |
||||
* |
||||
* @author zjh |
||||
* @since 2024-06-05 |
||||
*/ |
||||
@RestController |
||||
@RequestMapping("/objective_contents") |
||||
@Api(tags = "目标内容接口") |
||||
public class ObjectiveContentsController { |
||||
|
||||
@Autowired |
||||
IObjectiveContentsService objectiveContentsService; |
||||
|
||||
@ApiOperation("添加目标内容") |
||||
@PostMapping("/addcontent") |
||||
public BaseResponse<String> saveContent(@RequestBody ObjectiveContents objectiveContents){ |
||||
objectiveContentsService.save(objectiveContents); |
||||
return ResultUtils.success("添加成功"); |
||||
} |
||||
|
||||
@ApiOperation("删除目标内容") |
||||
@DeleteMapping("/{id}") |
||||
public BaseResponse<String> deleteContent(@PathVariable String id){ |
||||
objectiveContentsService.removeById(id); |
||||
return ResultUtils.success("删除成功"); |
||||
} |
||||
|
||||
@ApiOperation("修改目标内容") |
||||
@PutMapping("/update") |
||||
public BaseResponse<String> updateContent(@RequestBody ObjectiveContents objectiveContents){ |
||||
objectiveContentsService.updateById(objectiveContents); |
||||
return ResultUtils.success("修改成功"); |
||||
} |
||||
|
||||
} |
@ -0,0 +1,69 @@ |
||||
package com.teaching.backend.controller.courses; |
||||
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil; |
||||
import com.teaching.backend.common.BaseResponse; |
||||
import com.teaching.backend.common.ResultUtils; |
||||
import com.teaching.backend.model.dto.courses.CoursesDTO; |
||||
import com.teaching.backend.model.dto.courses.PageDTO; |
||||
import com.teaching.backend.model.entity.courses.Courses; |
||||
import com.teaching.backend.model.entity.courses.ObjectivesType; |
||||
import com.teaching.backend.model.query.CourseQuery; |
||||
import com.teaching.backend.model.vo.CoursesVO; |
||||
import com.teaching.backend.service.courses.ICoursesService; |
||||
import com.teaching.backend.service.courses.IObjectivesTypeService; |
||||
import io.swagger.annotations.Api; |
||||
import io.swagger.annotations.ApiOperation; |
||||
import org.springframework.beans.BeanUtils; |
||||
import org.springframework.beans.factory.annotation.Autowired; |
||||
import org.springframework.web.bind.annotation.*; |
||||
|
||||
import java.util.List; |
||||
|
||||
/** |
||||
* <p> |
||||
* 前端控制器 |
||||
* </p> |
||||
* |
||||
* @author zjh |
||||
* @since 2024-06-05 |
||||
*/ |
||||
@RestController |
||||
@RequestMapping("/objectives_type") |
||||
@Api(tags = "项目目标类型管理接口") |
||||
public class ObjectivesTypeController { |
||||
|
||||
@Autowired |
||||
IObjectivesTypeService objectivesTypeService; |
||||
|
||||
@ApiOperation("新增目标类型") |
||||
@PostMapping("/addobjectives") |
||||
public BaseResponse<String> saveObjectives(@RequestBody ObjectivesType objectivesType){ |
||||
objectivesTypeService.save(objectivesType); |
||||
return ResultUtils.success("添加成功"); |
||||
} |
||||
|
||||
@ApiOperation("删除目标类型") |
||||
@DeleteMapping("/deleteobjectives/{id}") |
||||
public BaseResponse<String> deleteObjectives(@PathVariable String id){ |
||||
objectivesTypeService.removeById(id); |
||||
return ResultUtils.success("删除成功"); |
||||
} |
||||
|
||||
@ApiOperation("修改目标类型") |
||||
@PutMapping |
||||
public BaseResponse<String> updateObjectives(@RequestBody ObjectivesType objectivesType){ |
||||
objectivesTypeService.updateById(objectivesType); |
||||
return ResultUtils.success("修改成功"); |
||||
} |
||||
|
||||
@ApiOperation("列表显示目标类型") |
||||
@GetMapping("/list") |
||||
public BaseResponse<List<ObjectivesType>> ObjectivesList(){ |
||||
List<ObjectivesType> list = objectivesTypeService.list(); |
||||
return ResultUtils.success(list); |
||||
} |
||||
|
||||
|
||||
|
||||
} |
@ -0,0 +1,45 @@ |
||||
package com.teaching.backend.exception; |
||||
|
||||
import org.springframework.http.HttpStatus; |
||||
import org.springframework.http.ResponseEntity; |
||||
import org.springframework.web.bind.annotation.ExceptionHandler; |
||||
import org.springframework.web.bind.annotation.RestControllerAdvice; |
||||
|
||||
@RestControllerAdvice |
||||
public class GlobalExceptionHandler { |
||||
|
||||
@ExceptionHandler(BusinessException.class) |
||||
public ResponseEntity<ErrorResponse> handleBusinessException(BusinessException ex) { |
||||
ErrorResponse errorResponse = new ErrorResponse(ex.getCode(), ex.getMessage()); |
||||
return new ResponseEntity<>(errorResponse, HttpStatus.BAD_REQUEST); |
||||
} |
||||
|
||||
// 其他异常处理器可以按需添加
|
||||
|
||||
public static class ErrorResponse { |
||||
private int code; |
||||
private String message; |
||||
|
||||
public ErrorResponse(int code, String message) { |
||||
this.code = code; |
||||
this.message = message; |
||||
} |
||||
|
||||
public int getCode() { |
||||
return code; |
||||
} |
||||
|
||||
public void setCode(int code) { |
||||
this.code = code; |
||||
} |
||||
|
||||
public String getMessage() { |
||||
return message; |
||||
} |
||||
|
||||
public void setMessage(String message) { |
||||
this.message = message; |
||||
} |
||||
} |
||||
} |
||||
|
@ -0,0 +1,16 @@ |
||||
package com.teaching.backend.mapper.courses; |
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.teaching.backend.model.entity.courses.ObjectiveContents; |
||||
|
||||
/** |
||||
* <p> |
||||
* Mapper 接口 |
||||
* </p> |
||||
* |
||||
* @author zjh |
||||
* @since 2024-06-05 |
||||
*/ |
||||
public interface ObjectiveContentsMapper extends BaseMapper<ObjectiveContents> { |
||||
|
||||
} |
@ -0,0 +1,17 @@ |
||||
package com.teaching.backend.mapper.courses; |
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.teaching.backend.model.entity.courses.ObjectivesType; |
||||
|
||||
/** |
||||
* <p> |
||||
* Mapper 接口 |
||||
* </p> |
||||
* |
||||
* @author zjh |
||||
* @since 2024-06-05 |
||||
*/ |
||||
public interface ObjectivesTypeMapper extends BaseMapper<ObjectivesType> { |
||||
|
||||
} |
@ -0,0 +1,40 @@ |
||||
package com.teaching.backend.model.entity.courses; |
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName; |
||||
import com.baomidou.mybatisplus.annotation.IdType; |
||||
import com.baomidou.mybatisplus.annotation.TableId; |
||||
import java.io.Serializable; |
||||
import io.swagger.annotations.ApiModel; |
||||
import io.swagger.annotations.ApiModelProperty; |
||||
import lombok.Data; |
||||
import lombok.EqualsAndHashCode; |
||||
import lombok.experimental.Accessors; |
||||
|
||||
/** |
||||
* <p> |
||||
* |
||||
* </p> |
||||
* |
||||
* @author zjh |
||||
* @since 2024-06-05 |
||||
*/ |
||||
@Data |
||||
@EqualsAndHashCode(callSuper = false) |
||||
@Accessors(chain = true) |
||||
@TableName("objective_contents") |
||||
@ApiModel(value="ObjectiveContents对象", description="") |
||||
public class ObjectiveContents implements Serializable { |
||||
|
||||
private static final long serialVersionUID = 1L; |
||||
|
||||
@TableId(value = "id", type = IdType.ASSIGN_UUID) |
||||
private String id; |
||||
|
||||
@ApiModelProperty(value = "对应的目标id",required = true) |
||||
private String objectiveId; |
||||
|
||||
@ApiModelProperty(value = "内容",required = true) |
||||
private String content; |
||||
|
||||
|
||||
} |
@ -0,0 +1,38 @@ |
||||
package com.teaching.backend.model.entity.courses; |
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName; |
||||
import com.baomidou.mybatisplus.annotation.IdType; |
||||
import com.baomidou.mybatisplus.annotation.TableId; |
||||
import java.io.Serializable; |
||||
import io.swagger.annotations.ApiModel; |
||||
import io.swagger.annotations.ApiModelProperty; |
||||
import lombok.Data; |
||||
import lombok.EqualsAndHashCode; |
||||
import lombok.experimental.Accessors; |
||||
|
||||
/** |
||||
* <p> |
||||
* |
||||
* </p> |
||||
* |
||||
* @author zjh |
||||
* @since 2024-06-05 |
||||
*/ |
||||
@Data |
||||
@EqualsAndHashCode(callSuper = false) |
||||
@Accessors(chain = true) |
||||
@TableName("objectives_type") |
||||
@ApiModel(value="ObjectivesType对象", description="") |
||||
public class ObjectivesType implements Serializable { |
||||
|
||||
private static final long serialVersionUID = 1L; |
||||
|
||||
@TableId(value = "id", type = IdType.ASSIGN_UUID) |
||||
@ApiModelProperty(value = "类型编码,不用输入,使用雪花算法生成") |
||||
private String id; |
||||
|
||||
@ApiModelProperty(value = "类型名称",required = true) |
||||
private String typeName; |
||||
|
||||
|
||||
} |
@ -0,0 +1,26 @@ |
||||
package com.teaching.backend.model.vo; |
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType; |
||||
import com.baomidou.mybatisplus.annotation.TableId; |
||||
import com.teaching.backend.model.dto.courses.CourseObjectivesDTO; |
||||
import com.teaching.backend.model.entity.courses.CourseObjectives; |
||||
import com.teaching.backend.model.entity.courses.ObjectiveContents; |
||||
import io.swagger.annotations.ApiModel; |
||||
import io.swagger.annotations.ApiModelProperty; |
||||
import lombok.Data; |
||||
|
||||
import java.io.Serializable; |
||||
import java.time.LocalDateTime; |
||||
import java.util.List; |
||||
|
||||
@Data |
||||
@ApiModel(description = "课程目标参数实体") |
||||
public class CourseObjectivesTreeVO extends CourseObjectives implements Serializable { |
||||
|
||||
@ApiModelProperty(value = "目标内容列表") |
||||
private List<ObjectiveContents> contents; |
||||
|
||||
@ApiModelProperty(value = "课程目标") |
||||
private List<CourseObjectivesTreeVO> courseObjectivesTrees; |
||||
|
||||
} |
@ -0,0 +1,18 @@ |
||||
package com.teaching.backend.service.courses; |
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService; |
||||
import com.teaching.backend.model.entity.courses.ObjectiveContents; |
||||
import com.teaching.backend.model.vo.CourseObjectivesTreeVO; |
||||
|
||||
/** |
||||
* <p> |
||||
* 服务类 |
||||
* </p> |
||||
* |
||||
* @author zjh |
||||
* @since 2024-06-05 |
||||
*/ |
||||
public interface IObjectiveContentsService extends IService<ObjectiveContents> { |
||||
|
||||
} |
@ -0,0 +1,16 @@ |
||||
package com.teaching.backend.service.courses; |
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService; |
||||
import com.teaching.backend.model.entity.courses.ObjectivesType; |
||||
|
||||
/** |
||||
* <p> |
||||
* 服务类 |
||||
* </p> |
||||
* |
||||
* @author zjh |
||||
* @since 2024-06-05 |
||||
*/ |
||||
public interface IObjectivesTypeService extends IService<ObjectivesType> { |
||||
|
||||
} |
@ -0,0 +1,21 @@ |
||||
package com.teaching.backend.service.impl.courses; |
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
||||
import com.teaching.backend.mapper.courses.ObjectiveContentsMapper; |
||||
import com.teaching.backend.model.entity.courses.ObjectiveContents; |
||||
import com.teaching.backend.service.courses.IObjectiveContentsService; |
||||
import org.springframework.stereotype.Service; |
||||
|
||||
/** |
||||
* <p> |
||||
* 服务实现类 |
||||
* </p> |
||||
* |
||||
* @author zjh |
||||
* @since 2024-06-05 |
||||
*/ |
||||
@Service |
||||
public class ObjectiveContentsServiceImpl extends ServiceImpl<ObjectiveContentsMapper, ObjectiveContents> implements IObjectiveContentsService { |
||||
|
||||
} |
@ -0,0 +1,20 @@ |
||||
package com.teaching.backend.service.impl.courses; |
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
||||
import com.teaching.backend.mapper.courses.ObjectivesTypeMapper; |
||||
import com.teaching.backend.model.entity.courses.ObjectivesType; |
||||
import com.teaching.backend.service.courses.IObjectivesTypeService; |
||||
import org.springframework.stereotype.Service; |
||||
|
||||
/** |
||||
* <p> |
||||
* 服务实现类 |
||||
* </p> |
||||
* |
||||
* @author zjh |
||||
* @since 2024-06-05 |
||||
*/ |
||||
@Service |
||||
public class ObjectivesTypeServiceImpl extends ServiceImpl<ObjectivesTypeMapper, ObjectivesType> implements IObjectivesTypeService { |
||||
|
||||
} |
@ -1,5 +1,16 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||
<mapper namespace="edu.huanghuai.mapper.CourseObjectivesMapper"> |
||||
<mapper namespace="com.teaching.backend.mapper.courses.CourseObjectivesMapper"> |
||||
|
||||
<select id="selectTreeNodes" resultType="com.teaching.backend.model.vo.CourseObjectivesTreeVO" |
||||
parameterType="string"> |
||||
|
||||
with recursive t1 as ( |
||||
select * from course_objectives where id=#{courseObjectivesId} |
||||
union all |
||||
select t2.* from course_objectives t2 inner join t1 on t1.id = t2.pid |
||||
) |
||||
select * from t1 |
||||
order by t1.pid |
||||
</select> |
||||
</mapper> |
||||
|
@ -1,5 +1,5 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||
<mapper namespace="edu.huanghuai.mapper.CoursesMapper"> |
||||
<mapper namespace="com.teaching.backend.mapper.courses.CoursesMapper"> |
||||
|
||||
</mapper> |
||||
|
@ -0,0 +1,5 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||
<mapper namespace="com.teaching.backend.mapper.courses.ObjectiveContentsMapper"> |
||||
|
||||
</mapper> |
@ -0,0 +1,5 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||
<mapper namespace="com.teaching.backend.mapper.courses.ObjectivesTypeMapper"> |
||||
|
||||
</mapper> |
Loading…
Reference in new issue