00:00
各位同学大家好,刚才我们完成了腾讯云中点播视频的上传功能,那最后我们来完善删除视频功能,删除视频咱们之前分析到了有两大场景,第一个就是删除小结的时候删除视频,第二个是删除课程的时候,把课程中的所有视频进行删除,那下面咱们把这方法给他来改一下,就是最终完善出来删除视频的功能,那咱们来试一下啊。首先比如现在啊,我在这里边找到咱们相关的方法,那比如说我先找第一个,就是我们这个video ctrl里边把这先找到。然后在这里边呢,咱们找到这个方法,就是根据ID删除我们这个小结的方法,这个方法之前写的时候呢,并没有删视频,所以咱现在把这方法做完善在里边,我把方法在search里边,我们做个创建。
01:01
咱们建个方法,然后里边来实现这个具体的功能。我写到这里啊。删除小结的时候删除。视频。这个写完之后,在它的实现类中,咱把这方法最终进行实现。这里边有两个方法,咱们看一下啊,给小上面。首先第一个方法就是刚才咱写到的删除小结,同时删除小结里边的视频,然后第二个就是删除课程中的小节,并且删除所有小节中的视频,所以现在咱们把这两方法最终完善出来。而删除视频的方法咱之前都写过,在咱们那个vod里边有这个删除腾讯云视频方法,这咱们之前写到过,所以咱一会儿调就可以了。那我现在啊,把这个vod service在里边注入进来了,一会儿我们进行这个最终的实现,那咱们啊,把这个写下啊,在里边做个注入。
02:10
这个打开。我晓这里。就是注入我们那个service,加上一个。Private vod。Service vod service在里边有咱的方法,那下面把最后这两个方法咱们最终出来,首先我先写第一个。根据ID删小结,同时删除小结中的视频,那家看怎么做啊?梳理过程,首先大家看啊,在咱们这个video这个表里边,就是小节表里边有这么两个字段,这两个字段一个是视频ID,一个是视频名称,当然各位注意啊,就是咱的小节里边有的时候是不可能没有视频,有的时候是不是有视频,就是你上传没上传,这不确定,所以咱们怎么做。
03:02
大家想一下怎么做,首先第一个先把这个小结的对象先查出来,然后第二个判断看里边有没有视频ID,如果有的话再删除,没有的话就不需要删,把视频删完之后,最后再来删这个小结,所以里边是这么一个流程,那我写一下啊。第一步。ID查询这个小节的信息,咱们调用base map中的方法select ID,传入ID,得到这个video对象第一步操作,然后得到之后咱们的第二步操作,获取video里边那个。视频的ID,把这个得到一下video里边有个方法,这个方法get video ID或者改成这个ID都一样啊,咱就用这个名字了。ID得到,得到之后,下面咱们做一个判断,判断视频ID是否为空,我们写一下啊。
04:08
加上一个if,然后if里边加上string u.is empty videod。如果说视频ID。不等空表示里边有这个视频,那我们调用vod中的方法进行视频的删除,把这传进去,这样的话就可以了,我想这里啊加上一个注释。视频ID。部位空调用方法。根据视频ID删除腾讯云中的视频,现在完成完成之后最后一部分咱们再根据ID删除这个小结啊,注意这个过程中啊,你不能先删小结,你要先删小节的话,这ID就取不到了,所以咱先根据ID把视频删掉,最后再删小结。
05:05
我们调用base map中的比例的方法。啊,Delete白地方法,根据ID把这个删掉,所以现在啊,这个过程就完成了,删除小节中的视频,这咱就做到了,做到之后再看下一个方法。其实跟他类似,只是这个方法呢,咱是得到所有的课程,根据课程里边的小节,把课程中的所有小节删掉,那这里边同样需要把里边那个视频删掉,那咱们看这个该怎么做,给各位进一步写一下啊。我还是讲他的步骤啊。首先第一步咱们先根据这个课程ID查询出课程里边的所有的小结,先给他查出来,然后查出来之后,因为查出所有小节肯定是一个集合,那第二步就是遍历所有小节的集合。
06:05
得到每个小节,然后获取每个小节中的视频ID,这是第二步。第三步,判断视频ID。是否为空,如果不为空,那咱就删除这个腾讯云中这个视频,为空的话就不需要删,最后一步那就是根据ID。就课程ID删除里边的小结。根据课程ID删除课程中的。所有小结,所以主要是这么一个基本步骤,那咱来写一下啊,第一步根据课程ID先查出所有小结,这是设置ID,然后咱们调用方法base map中的select。List传入rapper,最终得到所有的小节,这个名字我们就叫video。
07:02
List的法律得到,这是第一步。然后得到之后,第二步咱把它做一个便利。那我们来遍历一下啊。微调。Video,这是video list遍历list集合得到每个小节对象,然后咱们得到每个小节对象中那个视频ID。把这个获取一下。就是微调点。Get so ID得到,得到之后,下面咱们跟刚才一样判断ID是否等于空,不为调方法做个删除,咱们再写一遍啊,因为刚才代码其实是一样的。我们加上一个string u点意思,Empty加上video。如果说这ID值不等于空,那咱们调用方法删除腾讯云中那个视频,就是刚才这个service vod里边的remove video传入什么ID,现在完成,完成之后最后一步根据就是课程ID删除所有小节,用这个方法直接根据ID我们进行删除。
08:19
所以以上啊,就是咱们完成的删除视频的两个方法,这各位能做到,他的思路都是一样的,得到每个小节中的视频ID,如果视频ID不等于空,那咱们就完成这个删除。所以以上啊,这个咱们就做到了,然后做到之后我把这代码咱们重启一下,最终咱们做个测试,看一下这个视频,最终能不能删掉,咱们给他试一下啊,看一下最后结果。我们等它启动,然后咱们测试一会儿咱们重新创建个新的小节,里边传视频,传完视频之后再完成这个删除。
09:02
那这里边呢,为了咱们看的更加明确,我先把控制台里边这个视频先删掉,或者咱一会儿看的更明显,这个先删掉啊,就目前里边应该什么都没有。然后现在试一下啊。比如现在我随便找一门课程。啊,咱就找这门课程了。我编辑课程大纲里边,我再建个新的小节,就是课时,那我创建创建里边,比如说我写个名字。第三节。这个比如叫三三啊,随便起个名字,然后这个位置我来选择个视频进行上传啊,咱们随便选一个,这里边应该是写那个固定的路径,D盘里边这个视频。咱们上传,把这个上传进去。上传之后点确定这个就完成了,完成之后咱们看一下啊,先看咱们的表里边的变化,先看表里边。
10:00
我根据这个ID排序一下,大家看这是刚才传的市面ID也存在,名称也有,然后看腾讯云里边的控制台中刷新。大家看这视频。目前是不是存在了,这已经完成了,然后下面怎么做,下面呢,我把这个小结删掉,刚才咱们功能刚做完,删除小结的时候,它是不是也会删除视频啊,那现在我点删除确定。这里边提示我们成功,咱们看一下表里边这个59的这条数据。这里边我们因为它是逻辑删除,是不是变成了一已经删掉了,然后看腾讯云的控制台里边刷新。各位看到啊。视频是不是也删掉了?所以咱们现在就完成了删除小结,同时删除小结中视频功能,也就是最终把腾讯云中的视频完成了删除。以上就是咱们完成的点播管理模块中的所有功能,这个功能我们就做到了。
我来说两句