00:00
好,接下来呢,我们来看一下咱们会员管理的最后一部分的功能就是显示登录日志了,那么显示登录日志这一块呢,我们先来看一下它的需求,需求是这样的啊,当我们点击右侧的这个登录日志按钮的时候呢,在我们的页面上会弹出一个表单啊,或者是说一个弹窗,这弹窗里呢,就会有一个登录日志表格显示在这个位置啊,然后啊,当然展示的是当前你点击的这个用户的用户的登录位置了,然后所以呢,我们基于这样的一个功能呢,也是要把它分成前后端两部分实现,后端呢很简单,就肯定是传一个用户ID了啊,根据用户ID把用户所有的登录日志呢都展示出来。啊,这是后端,前端呢,其实就是要做一个弹窗,在弹窗里呢,绑定数据列表啊好,那所以呢,我们一个一个来看,我们先来看后端,后端的话呢,我们还是和往常一样,要定义controller service呀等这些内容,所以呢,假设说我们现在呢,先定义controller啊,我们在这个。
01:05
嗯,找到,因为它是和用户登录日志相关的功能,所以呢,我们找到我们的用户登录日志的模块。叫做。我看一下啊,这个名字叫。Log in record controller在这呢,啊,最后一个好,我们把log in record controller呢复制一份,复制成ain are user in record抽了。然后接下来呢。这里面跟其他的这个接口一样,前面这些注解呢,我们都要加一加,所以呢,包括ati啊,RA controller啊,Request map的完善,还有这个沙phone,还有cross orange啊,给它加上就可以了,然后接下来呢,我们在这面呢,肯定一会是要调用service,所以呢先把service给它注入进来,Resource,然后private user log in record service啊,User log in record service,好接下来呢,我们PU lake a list top50类,TOP50呢就是我展示这个用户登录日志的时候啊,其实有的时候你没有必要把这个你的历史的登录日志哈,从十年前的都给你展示出来,那一般情况下就展示最近的就可以了,比如说咱们去上那个,呃,上网上。
02:39
买东西他展示你订单,他可能就展示你最近三个月的,或者展示你最近半年的,对不对,那历史订单的话,那就上历史的这个表里面去查啊,一般情况下在企业级的这个部署这个过程当中,可能历史订单它都分库分表到另外的服务器上面去了,所以呢,如果说关联查询的话呢,其实说实话也不是特别方便,效率也不是特别高,所以呢,在当前服务器上呢,只有最近的订单啊,所以呢,一般情况下都是这种解决方案,那我们这个登录日志呢,我们也没有必要查太历史的啊,如果查他历史的话,比如说未来部署的过程当中,假设说我们要做分库部署,那么那你这些历史数据肯定是部署在这个其他的分库的这个服务器上的啊,然后我们就查最近的数据就行了,这样的话效率高,他不用跨服务器查询是不是,所以说这面我们就展示最近的TOP50,然后接下来呢,这边呢,我们就API。
03:37
Operation啊,然后这块呢,就获取会员登录日志列表好,然后接下来后面这一块我们写get map好,然后这面呢,我们写list。嗯,TOP50还有杠,然后呢,这面是UCID啊,然后接下来呢,这面我们肯定是要传一个user ID过来了,然后所以呢,啊,User ID呢,它还是pass variable variableval的,然后这面呢,我们还是long啊,然后呢,嗯,User ID,然后上面这个地方API parameter value6等于用户ID这块处好,那这个接口我们就定义好了,结果定义好了之后呢,我们写里面的这个具体的实现,实现的话呢,我们想写user。
04:36
嗯,Logging record service,然后点咱们直接先把这个方法给它定义出来哈,叫list top50啊,然后接下来呢,我们这块写成一个UCID,好,然后呢,肯定是需要返回了,返回什么呢?肯定是需要返回这个列表了,列表列表里面那我们放的就是啊这个user。
05:04
嗯,Log in record啊这个纸,然后呢,我们就叫user log,好,那这块呢,就是整个我们的接口层的一个定义了,最后我们再把需要的结果返回给前端,二点ok.data list。List user login list。这块我们就写好了,写好了之后呢,这面我们out加answer啊叫。然后50OUT加enter好。然后我们就来做这个业务的实现,好业务实现怎么去做呢?很简单,是不是就根据当前的ID去查询当前的用户登录日志就好了,我们来看一下数据库啊,这个用户登录日志在这儿呢。我们其实已经做了一段时间这个的测试了哈,昨天做的登录啊,什么这个还有那个注册呀等等哈,做了很多次登录,所以呢这面其实已经有用户登录日志了,然后呢,我们就根据我们的UCRD把这个登录日志给它查出来就可以了,所以呢,那这块就是一个简单的查询了,New que carry recordper,然后里面呢放user log in recorder,接下来呢,我们拿到这个user in record的record之后呢,我们对它进行一个查询,EQ啊,EQ呢首先来查一下user_ID那这个数据库当中这个字段呢,叫userc_ID所以这块呢,我们就写userc_ID,然后呢,把user ID呢给他啊添加进来啊,这个是我们的一个查询,然后我们呢还是希望查最后50条,也就是说啊,什么叫最后50?
06:56
条呢,就是你一定不能正去查,你正去查查的是最先前的50条,比如说你十年前就注册的这个系统,那你查的是你十年前最开始的那50次登录,对不对,你得查什么呀,最近的这50次,那么第一就是按照时间排序倒取,第二其实最简单的按照ID倒取啊,是最简单的,也是效率最高的,所以呢,我们就直接按ID倒取,Order by DEC,然后这块呢,我们写ID啊好,然后接下来呢,这就先按ID倒叙,按ID倒叙完了之后,我们查最后50条,我们可以直接用last last呢会在S后语句的后面追加一段啊,这个结束的语句,结束的一个代码片段,我们就追加LIMIT50就可以了,所以这个是最简单的一个分页,当然这个分页啊,它就是需要我们自己把这个limit的这个具体的这个啊变量给它填充在这个位置就可以了,所以呢,这块就是我们的一个查询条件。
07:58
好,这个查询写完了之后呢,啊,我们再用this map.select list,把刚才咱们的这个查询条件呢,给它添加进来,我们就得到了一个查询结果,好,然后接下来呢,我们把这个查询结果给他返回就可以了,好,那所以这块呢,是我们的一个业务层的一个具体的实现的一个过程了,那么接下来呢,我们对这个啊,业务层的和这个controller接口层啊,整个做一个测试。
08:48
好,那这面呢,我们就啊写好了,写好了之后呢,啊就是启动好了,然后呢,我们在这面。刷新一下,还是找到刚才的会员管理,然后。
09:02
嗯,我看一下啊,找到应该是会员日志接口是吧,然后找到获取会员登录日志列表,好然后接下来呢,点调试,然后还是把这个hi呢给它勾下去就行了,然后呢,在这面pass user ID这个位置呢,我们选择一个一吧,因为就他登录之多好那所以所以这个ID为一的这个用户的登录日志呢,就显示出来了,再选一个二好,那二呢就登录了一次,再选一个三,那三呢也登录了一次,好那所以这个呢,就是我们登录日志的一个接口的实现。
我来说两句