00:00
各位同学大家好,咱们继续往下来实现,刚才咱们完成了课程基本信息添加,包含课程描述这个步骤,完成之后咱们进入到了第二步。在第二步里边呢,我们要创建课程大纲,但是咱在创建课程大纲之前,课程信息是不是可以做一个修改操作,所以在下面来完成课程信息的修改,比如说我第一步啊,信息加错了,我可以进行修改,下面就开始来做这个步骤。那这功能怎么做呢?咱们首先先写接口,然后再整合前端,那咱们先编写接口,接口怎么做呢?就是一个修改操作很简单,第一步先根据ID查询,然后再进行修改,咱之前也做过类似的,只是目前我们修改中包括查询中需要涉及到那个描述部分,所以下面再来写一下这两个接口。我在里边做实现。首先第一个我们先根据ID获取课程信息,然后第二个再来修改课程信息,咱们先来写第一个操作,那这个操作呢,我就直接加上一个get提交,然后咱们起个名字,我就叫这个get,传入一个ID,下面加上方法public,加上get。
01:21
Get里边得到ID值,我们用注解叫pass valuable加上类型的ID。最终调cos里面的方法,根据ID我们来做这么一个查询,那咱们来把这个做调用,这个方法调用,咱们来写一个方法专门调用,因为咱们查的话,既要涉及到基本信息,还要涉及到描述信息,所以咱们要写一下啊,我加上COO。根据这个ID里边传入ID,然后最终返回到咱们刚才添加的时候呢,大家注意啊,我们有个对象是不是叫cos for view,所以咱们返回也是返回这个对象,因为它里面包含咱们的所有信息。
02:11
这个完成,最终我们加上一个退。result.ok加上我们这个cos form view,现在CTRL部分这就完成,完成之后呢,下面还有一个修改接口,咱把这个一次性写完,我们加上一个。提交,然后加上一个路径,就叫做update,加上方法public update在里边传入,咱们修改那个对象,我们同样用request的body。加上cos form view加进来,最终调方法做个修改。Cos里边我们加上一个方法。Co ID,然后把这个对象进来,一会儿咱来完成这个修改,最终做一个。
03:08
result.ok。所以现在啊,CTRL部分我们就完成了,完成之后呢,咱们在swis里边把这两个方法都进行创建,第一个方法根据ID查询的方法,第二个方法进行修改的方法,咱们先创建出来。然后创建之后,最后在它的实现类中,把这两个方法咱们最终做实现,一个是ID查询的方法,一个是修改方法,啊上面是ID查询。根据ID。查询课程信息,那咱最后写一下啊,首先写第一个根据ID查询方法,咱来实验一下啊,我们直接调用base ma中的方法select ID,传入ID,得到课程基本信息,也就这个cos。
04:03
然后得到之后,下一部分再得到它那个描述信息,我加个竖式啊课程的。基本信息。下面有咱那个课程的。描述信息,这个信息我们调用description里面的方法get。ID,然后传入ID值。得到描述信息,描述信息我起个名字就叫cos description,所以现在两只都得到了,得到之后呢,下面咱们把两值都给它封装到这个cos form view中去,最终做个实现,那再来写一下啊。就是最终做这个数据的封装。咱们先妞这么一个地下。Cos凤will忧,然后先封装第一个就是Co这个对象,但是cos呢,咱刚才曾经提到过一种思想,各位记住啊,如果说啊,你查询出的数据,后面要进行使用这个数据需要做一个非空判断,如果数据等于空,那后面就不需要操作了,所以这个cos咱做个判断。
05:14
我写到这位置,如果说ID查询出的cos对象等于nu,那我们就直接一个nu表示这个数据不存在,如果它不等于呢,那我们才做封装,封装的话还是用这个工具类。B里边的copy,把中的对象复制到这个cos view中去,现在里边有咱们的课程的基本信息,然后再来封装。描述信息,描述信息我也是做一个判断,如果说cos description这个对象。不等于,那表示咱们有描述信息,所以我们向这个form view里边来set它那个描述,通过这个给它取到。
06:03
Get,最后把这个cos view这个对象做一个退,所以现在这个方法完成,根据ID得到课程信息,包含他的描述信息,这个完成完成之后最后有这个修改,修改我们写一下啊,修改操作中跟之前一样,咱要修改课程的基本信息,包括描述信息都要做一个修改。那咱们啊,先改课程基本信息,调用base map中的update传入一个课程对象,我来入一下啊,加上这个叫cos。Cos。上一个cos,把view中的数据复制到cos里面去,用bs copy pro view中的数据。复制到cos里面去,最终把cos传进来,根据ID先修改课程的基本信息,这是第一部分,然后第二个再来修改课程的。
07:10
描述信息再来改一下啊,首先同样你这个对象。第一次。上cos,然后向里边来设置它那个描述的信息,通过VO给他取道。啊,我来取一下啊get最后调用方法,咱们做个修改update ID。传入对象。所以咱们现在啊,就把这两个接口完成了,为了一会儿做课程信息修改做准备,这两接口操作中都需要操作课程表,还有课程描述表,所以这个我们就写到这里啊,大家把这接口应该到目前为止啊,应该能准确快速做到,因为接口我们发现啊,写法都差不多,没有什么特别的难点,最多也就是得到数据,或者查询多个表,或者查出数据再做进一步封装。
08:11
所以这个我们就完成了啊,完成之后最后呢,咱们开始整合它的前端,把前端做实现,首先第一部分先在JS文件中把咱们两个接口先做个定义。那我来定义一下啊,第一个接口ID查询。我们看一下啊,我们刚才写的应该就是这个,然后是get提交ID,第二个提交update。啊,我这里写的是post。用的是VO,所以两个接口完成定义,完成定义之后,咱们在INFO1中来改几个地方,我这里写的很明确啊,这里边有其他部分我就省略了,再看核心部分,第一个改这个created里边的方法,Info页面中找到created,把这改一下。
09:01
说一下这什么意思啊,咱们在上一步的时候呢,添加之后返回的是你课程的ID,我把ID放到这个叫parent cos ID中,就是它页面的cos ID中,所以从里边把ID给它取到,然后取到之后根据ID调方法做个查询,得到要我们显示那个修改的数据。啊,这是一个方法,那下面呢,咱就来写下这个方法,我把方法从里边复制,咱们放到那个麦里边去。放入啊,咱们里边这个方法,呃,我就写到上面了啊这里。然后这方法中做了什么事情,我们看一下啊,在这里边如果说咱们有这个课程ID,那我根据ID调方法查询,查询之后得到值做一个数据回显,就是cos info,因为cos info我们在里边有那个V-model,它是可以做这个数据回显的,就是这些值啊,能够回验出来。
10:01
然后这里边我们再来看啊。再往下看这位置。下面做的什么呢?咱们有那个课程的分类,分类中呢有一级和二级分类,所以咱们让他做回写,那怎么做,先把里边的零,就是查出所有的一级分类,然后根据它的值便利得到它对应的二级分类,最终进行数据回显,啊就来完成这个过程,这是做这个便利,然后根据他的ID匹配,如果说ID相同,那ID得到它下面的二级分类,都是调用咱们刚才那个接口进行实现get child list。这接口也看一下啊,在里边。这个接口get拆例子得到它的下层数据,所以现在这个修改的前端部分咱们就完成了整合。以上是完成这个功能,那功能完成之后,下面呢,咱们做个测试,看一下最终结果怎么样,刚才接口我也重启了,那我们最后试一下啊这个效果,呃,咱们重新做添加,为了明确我把这个先都删掉,咱重新加一下,看一下最终的结果啊。
11:13
首先登录。来到。点播管理中的课程列表,点添加到添加页面,咱们输入课程标题,我就叫测试课程二,选择讲师,我选择一个东方讲时,选择类别,比如说我选择后端开发Java课时十个课时,这是简介啊,咱们叫测试简介二。这是课程封面,我们上传一个图片。这个传上来之前,这接口都写过了,最后价格100元,然后现在点保存,并下一步就到了我们这个界面啊,所以现在啊,咱就要完成添加,然后添加之后呢,这里面要修改啊,但是目前没有改出来,咱们看一下啊,问题在哪里?正常应该是显示做修改,但是目前没有出来,咱们排查一下问题在哪里。
12:08
好,咱们来看啊,就是现在呢,各位看一下这个步骤里面,我们第一步添加完课程基本信息之后,它是不是到第二步,第二步是不是叫课程大纲了,比如说第二步呢,我们要创建课程大纲,但是目前这步没有做到,咱需要在第二步中呢,点击上上一步,它回到第一步做修改,也就是这个意思啊,咱们看一下大家看啊,我这个里边写到。各位看我们刚才代码中的这部分,当我们添加之后,它这值变成一,是不是到了我们的第二步,所以第二步呢,我们要添加这个叫章节,那你看啊,刚才里边一,它到这里边叫cos e,那咱找到这个路由名字应该叫。找到啊,应该在下边。找那个名字。章节部分。应该是这个,而这章节它到的是我们这个开特部分,所以咱们啊,这里边要来到开特页面,在开特里边呢,刚才咱们把页面做创建,叫开里边的indext voe,这个进入到我们的第二步,它会到这个页面,而路由中的规则,各位注意啊,里边有这么一个特点。
13:19
比如说咱们看这路由啊,如果说咱们。这么写的话,你可以创建就是前面都是文件夹,最后一个是VE文件,如果或者说你可以这么创建,前面都是文件夹,最后这个文件默认叫inexe,可以这么来做。呃,不知道是否能理解啊,说一下这个特点啊,比如说我们刚才这么写的话,我的页面最后一个名字是不是你的页面名称啊,如果说我这么写,你可以这么创建,让前面都是文件夹,然后你的页面默认叫in Internet voe,所以目前它就到这个character部分,进入我们这个章节的部分,所以咱在章节里边要写上内容,要让它数据会出来。
14:02
那内容呢,咱做一个简单处理,后面咱再完成具体功能,咱们找一下啊,我们后面一天的课件中,把这内容咱先拿过来,然后用它咱们改成我们这个效果,为了咱先做到这个修改过程,我把这个开里边的在V的页面内容拿过来,里边有很多内容,但是目前应该用不到,咱就保留最基本的这个上一步和下一步,其他部分我先都给它删掉。这些啊,先都拿掉,就保留上一步下一步,然后最后的部分呢,咱就保留这个上一步和下一步的两个方法,其他部分也都给他先删掉,这些先都拿掉。就保留麦中这两个方法。上一步和下一步。所以现在啊,你看啊,这个基本结构写出来了,如果没有结构,那它后面肯定做不到,上一步咱就做修改,下一步进入到后续过程,现在这完成,完成之后咱们把这个加上,然后最终我们再做一个最终测试,因为刚才的问题就是呢,我们添加之后要到开页面,但是开页面中没有内容,所以你的修改没法测试,我在开中加一些简单内容,当我点上一步再做修改,而开页面是里边这个inex.vouee的页面。
15:23
这个我们就完成啊,完成之后我们重新测试在里边,比如我加上啊,这个叫测试课程三讲师,咱们选了一个叫西门讲时,课程类别选择后端开发Java课时,我写上90课时,然后简介我就写个简介。At硅谷这是课程封面,咱们选择一个图片上传。最后价格我写个。999。最终点保存,大家看是不是到这个步,然后在这步中你注意啊,我点下一步到我们后面过程,咱点上一步要回去做修改,那你看啊,我点上一步。
16:07
大家看什么效果,是不是完成了数据回显,就是咱们刚才加的内容,然后完成之后,我在里边呢,把值改一下,比如说这个值啊,我改成这个。测试课程at硅谷啊,比如说随便改一个啊,这里改一个up up。包括这个价格改成这个。88最后点保存,并下一步我们看啊,最终我一点,然后咱们进行我们的后续操作。但是咱们看啊,我点完之后好像没有反应吧,那咱家看什么问题啊,看一下我的课件里边,或者我代码中我们看啊,就是这个部分,因为我现在在里边呢,我们要做这个修改操作,所以修改操作最后咱肯定要调个方法进行修改,所以我最后把这修改方法加上,刚才这方法应该没有加。啊,那我给他加上啊,所以最终我们做个实现,那在里边你看啊,这边做了一个判断,如果说里边没有ID是添加有ID就是修改,最后咱们加上一个修改方法,跟这结构应该说差不多,用它咱快速改一下就可以了,最后这个修改方法。
17:18
我来改一下啊,这个叫修改,然后这个名字叫update。Data调用咱们旅文的方法,我刚才写到修改方法,咱看下它那个名字,这个名字叫updated ID把这个咱们来,然后最终完成这一修改,修改之后咱们还是我们的下一步啊,跟添加之后和到那步骤是一样的,所以现在啊,这个应该就最终完成了,所以这里边注意到啊,过程中呢,你会发现啊,接口很简单,就是一个ID查询,一个修改。复杂点在前端,前端虽然会不需要从零去写,但是步骤能找出来,里边有很多步骤,刚才咱是一步一步给他做到的,所以现在应该就最终完成了,完成之后咱最后给他就修改一下啊,看一下最后结果。
18:14
那我来改一下啊,比如说我起个名字at硅谷。啊,随便写个啊up up这个值改成这个六六六点保存,并下一步提示我们是不是就成功,现在就完成了修改,完成修改之后,最后咱到数据库表里边看一下,看一下效果,最终能不能改出来。那我们来最后看一下啊。打开数库表,然后找到咱们cos这个表在Co应该最后一条记录,你看啊,测试课程at硅谷刚才价格我改成是666,是不是都改了,目前应该就完成了,所以以上啊是咱们做到的这么一个功能,咱们就完成了,就是添加课程信息,包括课程信息的修改功能,各位把这做到,特别是修改里边涉及到里边这些前端的整合,各位要仔细,能给它整合出来。
19:08
比如说以上咱就把发布课程中的第一步就完成了。
我来说两句