00:00
下面呢,我们来实现直播课程中的下一个接口,获取最近的直播课程,为了后面我们显示做准备。然后这个我们要做什么事情呢?我们来看一下,比如现在,比如说我当前时间是2022年1月1号十点钟,那我们要获取现在开始往后最新的,比如这个最新的五个直播信息,那咱们可以用这个接口进行实现。所以咱们下面来编一下这个接口啊,当然实际中不一定是五个,你可以获取六个,获取七个,根据实际这个需求来决定,我们现在就以这个为例来写这个接口,获取最近的直播课程,那咱们来做一下啊,首先第一个我们在CTRL里边把方法先进行创建。咱们写这里啊,其他部分先关掉,一会咱再打开,然后这里边我加这个方法,Find lately list。在里边调用service中的方法,Live serve service service,然后里边的方法咱们叫get lately list。
01:07
把这方法写过来,最后让他就返回这么一个历史集合,因为最近的直播课程可能没有,可能一个也可能多个,所以咱们返回一个历次集合。然后list集合中呢,加上一个泛型,我这里边写好了一个view类,叫live cos view,咱用它进行返回,在view里边有咱们需要的这些信息,包括主播,包括你的状态,开始和结束时间,为了后面显示做准备。最后我们做一个退。Result,点上OK,传入list,所以现在CTRL部分我们就完成了。完成之后呢,咱们在里边把这方法先进行创建。创建之后在实现类中最终实现这个方法,获取最近的直播课程的方法,我们快速做个实现。
02:07
然后这个方法呢,我们在map中通过编写SQL语句,咱们做个实现。下面我们来写一下调用base map中的方法,咱给方法起个名字,比如就叫这个get lately list。然后最终返回的肯定是一个历史集合。咱们把它做个,然后我们给这个起个名字list。现在就完成了这么一个方法调用,完成之后呢,在map中咱们来创建方法,然后通过circle语句最终进行实现,当然这个反映到list集合,后面还要做进一步的封装,咱们先写麦中的部分,那下面我们来写一下啊,麦里边把方法先进行创建。这个方法创建之后呢,找到map对应的叉配置文件,我们来找一下啊,Live cos map。
03:07
点上叉L是这个,然后把这个打开,打开之后在里面写一下,首先加上select标签,Select里边的ID属性中加上你的方法的名称,把这个加过来,然后这里边它有一个返回的结果。大家注意啊,这个结果里边呢,因为它可能有很多的值,所以这个里边为了咱们写的更加明确,我就专门写一个result map,自定一个返回结果,用它做封装啊,咱就故意想把这些都用一下啊,所以这里边我创建一个叫result map。然后在里边呢,首先ID咱们给它起个名字,这个名字我就叫lives这个。Map这个名字,然后tap里边加上你VO的那个包类路径,也就是这个路径。
04:04
Live will把它拿过来。这个放在这里,然后这里边还有一个属性叫凹凸mapping,是否自动映射,咱们加上一个触,所以现在啊,把这部分完成定义。完成定义之后,在S里边我们加上它的部分,首先这是放上名字,然后加上一个result map,加上map中这个ID址,让它作为这个自定义的反应结果,在里边加上色语句,那咱加下啊,我写上select,后面加上相关的字段,这字段部分我从课件中复制一下啊,应该就是里边的。这些字段,把这个咱们直接拿过来。写到这里啊,来的后面加上里边的各个字段,就这些值。包括啊,咱们把这个稍微给他调整一下啊,然后加上之后呢,下面我们加上from,我加一下啊,From后面加上表的名字,表名字为了防止写错,我从里面复制live_cos,加上之后,后面加上条件,我们加一个where,然后条件部分呢,注意啊,我们要查询就是最近的直播课程,那我们怎么做呢?比如说我查询大于等于是不是当天时间,比如现在十点,那我就大于十点,比如11点开始,12点开始,这些都得到,然后得到之后可能有很多,咱就取最近的五个直播课程,用它进行实现。
05:37
那我们看怎么做啊,在这表里边有个字段,这个字段start time是你的开始时间,所以通过它我们进行实现。首先我加上一个函数,这函数就叫date,然后在函数里边加上字段。Start time。就是得到你当前这个日期,然后让他就是大于等于咱们当前的这个日期,当前日期有一个函数的方法,应该是这个。
06:06
叫这个当前吧,这个data。把这个加回来,这得到就是当前这个日期,然后得到之后,最后我们加上一个limit,比如我们加个五,就表示取到最近的这个五个直播课程啊,这是我们写的这么一个基本实现,然后在里边咱们可以加上一个排序。我加一个older by,根据ID我们做这么一个,比如做一个序排列,或者做一个降序,所以以上是咱们编写的这么一段circle语句,各位把这个知道啊,Date是一个函数,然后这个c date也是一个函数,这表得到当前日期,这表示把这个就是日期时间格式转成日期格式,这里边做一个匹配,大于等于当前日期,咱们取到前五条数据,并且做一个排序。以上就是map部分,我们做了一个实现。
07:03
然后写完之后咱再回来啊,用base map,咱们查询得到了我们的数据,然后得到数据之后,咱们把数据再做进一步的封装,那我现在把这个做一个便利,就是live courses。VO例子,给他遍历一下里边封装啊里边的加的值,然后封装数据中呢,主要封装什么?就是它这个时间开始和结束时间,因为时间格式咱需要特别处理一下。我写一下啊封装。开始和结束。时间。两个时间封装,我来到课件中啊,咱们直接就拿过来了,大家看在这个位置开始和结束时间。这个啊,给它直接复制过来。我们把它拿过来啊。放到这里。
08:00
这是啊,我特别做了一个说明啊,当然这个格式呢,根据实际,也根据实际需求自己来决定,我是故意想这么写的,就是写多种方式,然后写完之后往下来看啊,因为在课程中是不是有它那个讲师的部分啊,所以咱们把讲师的信息,比如说讲师名称等等给他也得到。然后写一下啊,封装讲师或者主播的信息,那讲师用live Co VO里边的方法get teacher ID得到讲师这个ID,然后根据ID得到讲师对象,之前咱们做过远程调用,那我调方法最终进行实现,最终返回teacher这个对象。这个就可以了,返回之后咱把它做封装na Co view里边set teacher直接传入对象,因为里边有专门这个属性,专门用于封装这个teacher,然后之后呢,还有一个叫直播的状态,这个咱们也最终封装一下。
09:01
我想这里啊,封装直播的状态,而直播状态呢,有不同的值,我在课件中给大家写好了一个工具类啊,就是每个值代表不同的含义,所以这个再给他拿过来。我把这工具类啊,咱直接复制过来,直接用一下就可以了。我这里特别标注到了零代表未开始,一代表直播中,二代表直播结束,所以咱就做这么一个处理,那我写一下啊,Live里边的方法叫咱们通过取到这个,然后做一个处理啊,就是这点,下面这个方法传入咱们这个live cos v从里边你看啊,把它这个值取到,然后看它是零是一还是二,就是未开始,直播中还直播结束,最后把这个集合做个退。所以咱们通过这个部分就完成这个接口获取最近的直播课程,这个过程中咱们也编写了思后语句,最后语中用了一个map自定义反应结果,然后最终把接口最终做了实现。
10:11
所以以上呢,咱就把这个直播课程中相关接口应该就都完成了。
我来说两句