开发者学堂课程【微服务+全栈在线教育实战项目演练(SpringCloud Alibaba+SpringBoot):课程管理-删除课程(测试)】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/667/detail/11397
课程管理-删除课程(测试)
内容介绍:
一、代码
二、具体内容
一、代码
@Override
public void removeCourse(Stringcourseld){
//1根据课程id删除小节
eduVideoService.removeVideoByCourseld(courseld);
//2根据课程id删除章节
chapterService.removeChapterByCourseld(courseld);
//3根据课程id删除描述
courseDescriptionService.removeByld(courseld);
//4根据课释id删除课程本身
int result=baseMapperdeleteByld(courseld); if(result==0){//失败返回
throw new GuliException(20001,"删除失败");
}
}
二、具体内容
测试之前,首先,先构建一些数据,为了达到效果。因为有很多数据不容易看到,把一些没用数据先删掉。将章节都删掉,重新添加了新的数据。编写语句,先删掉章节部分和小节的数据。
现在里边数据应该都没有,然后手动添加一条数据,为了能看到效果,首先第一个看课程,找一个新加课程。这个一门考场。为了后面数据方便,把ID给它换个值换成101。
第一个在101课程中加上章节和小结。写完之后添加章节在页面。ID 为1,然后课程 ID 是101。
手动创建新的数据,为了区分开,id 设为11,课程是101,章节设为1,这是小结,标题为第一节。
其他选项默认就空,然后后面数据加上时间。然后加完之后,再加另外一个小节,比如 id 设为12课程是101,章节设为2,标题为第二节,然后最后加上时间。如此便是手动构建了数据。
数据里是101这门课程,然后课程一直是零,没有删掉。然后课程添加完信息之后,在里边加了一个章节。章节有第一章,第二章,然后加完章节之后,又加 vedio小节,就是一和二,都给它加上了。强调现在的删除不是逻辑删除是一个物理删除,当然也可以改成逻辑删除,就是直接都删掉了,下面试一下,最终效果应该是课程章节小结这些都删掉。另外还有一个描述,描述也往上加。
点击添加按钮,将 id 改成101,都加上了其他项目,加上之后进行一个测试,把服务先启动,然后根据课程 ID 删除小结、章节、描述,包括课程本身,都给它删掉。启动之后,打开 SWAG 最终测试一下。在 SWAG 里做一个刷新。找到课程里,刚才写的删除课程。
然后删除里加上一个课程 ID101。加上之后点 tryout ,看结果,提示成功。
代码如下:
{"success": true,
"code": 20000,
"message":"成功",
"data": {}
}
到表里边看一下,先看课程101的课程,刷新。往下找发现它已经删掉了,做的是物理删除,然后删除第二个,章节都删掉了,再看描述中那个101也不存在了,当删课程的时候,就把里边的课程本身课程描述章节小结都给它完成删除。课程删除这个接口。
里边还有一个地方需要完善,后面马上完善这个功能。在删小节的时候,因为小节里边,会有视频的行为内容,所以要实现删小节,要把视频也会删掉,后面进行完善。所以最基本功能做到了。做到之后,在前端肯定做个调用,就是点删除按钮,弹出确认框,然后点确定,调接口把它删掉,删掉之后再去刷新页面。
总结:
点击删除,弹出对话框,点确定,调接口,调用,然后刷新页面就可以做到。
在这个功能中,需要做的事情就是,第一个把课程列表的查询和分类和分页再加上。然后第二个就是在删除的地方,只写了接口,需要把前端补充完整。这个课程的管理部分,最终完成了。