00:00
各位同学大家好,咱们刚才呢完成了登录日志以及操作日日添加,在这两模块中还有两个功能,分别是登录日志显示以及操作日志显示,那我下面呢,把这两个接口我们做个实践,然后前端各位参考其他模块自行完成一下,我们课上给各位主要演示接口开发,那咱们首先先做登录日志显示,我这里边创建一个controller。因为之前service map我们都已经创建过了,所以我就直接手动创建一下,把CTRL进行创建,创建之后在CTRL上面加上它相关这个注解。把这个咱们拿过来。我们这个是。登录日志的controller加上right controller加上它这个路径,然后加上之后在control里边我们注入它的service,咱们做一个注入。它叫做log in log service完成注入,然后注入之后呢,在里边我们写第一个方法也是它的,这个方法是条件分页查询登录日志,那我们来写一下啊,这个方法怎么做呢?咱们之前写了很多遍,各位应该记得咱之前写法就是control调service service调map map中是不是要编写叉L中的so语句实现,其实我们用value plus可以不写语义来进行实现,那这里边我就不再写语句了,咱们在map中我们做个实现,那咱们看怎么来做啊,首先第一部分在里边。
01:35
我先加上这么一个路径啊,这路径我就复制里边部分咱们写一下啊。我在这个位置加上路径,咱们是API operation swag的注解,加上get map传入当前页每技术数,然后加上public result,加上个名字,咱们就叫index,在里边得到咱们的参数。
02:00
用这个pass valuable。进行得到第一个参数就是浪类型的当前页,然后第二个参数我继续写一下啊。Pass valuable long类型的每页接入数,另外有一个条件对象,条件对象我这里有一个写好的view类,再用它来获取一下。这里我给它引入依赖啊,用它来获取一下system log in log query view,现在完成完成之后呢,我们调用service里边的方法,咱们来得到我们这个那种调离方法,咱们叫。配置。然后在里边传入我们相关这个参数,咱做一个传递,而传什么参数呢,给大家说明啊,这里写法呢,有太多种写法了,我就直接啊,咱就这么来做了,我在里边比如说我现在。这过程中我就把这个当前页,还有每页记录数,咱都给它放进去,然后再放入一个条件的对象,最终让它返回的就是咱们这个对象叫I配置。
03:12
这个对象。加上我们这个泛型,这个泛型就是写一下啊。System。这个log in log就是登录日志,让它返回这么一个对象,然后咱们给它起个名字,我就叫配置model。现在这个完成完成之后呢,最后咱们把它做一个退。result.ok传入配置model,注意不要传错啊,所以现在CTRL部分就完成了,跟之前基本一致,然后完成之后呢,下面呢,我们在service里边来编写这个方法。咱们做个创建啊,先建这个方法。就这个方法。然后我们写到这里。
04:01
啊,这里边啊,有一个I配置这个对象。全把依赖给它引入。引入过程中啊,有一个问题啊,因为我现在接口我是在这个,就是这个commonlo中,是不是做的一个定义啊,Commonlo应该是在我们这个模块找一下啊,咱看这在哪个模块。它应该在我们的就是这个模块啊,咱们找到啊,应该在这里。找到那个。这个位置它是在这个three里边做的定义,所以咱们这里边啊,如果要用里边这个定义啊,也就说我们没有那个苞米豆的依赖,所以他把依赖给它引入进去,为了咱能做这个操作,那我从这个模块中把依赖给它就引入进去,苞米豆依赖也就是里边的找到啊,咱找那个苞米豆的依赖,看它在哪里。应该是在我们这个,呃,这个模块中啊,找到。看这里应该是有。
05:01
就这个啊,咱们把这个给它引入进去。放到咱们这个就是。模块中给加入。然后加入之后,给它加入这么一个范围,就是scope。啊,这个啊,我们给它加上,然后加上之后咱们把依赖再给它引入,咱们回到刚才那个service这个里边给它进行引入。现在就可以了,然后可以之后呢,我们最后来进行这么一个实现,咱们实现这个最终的方法,到这里边咱们来实现一下啊。然后这个方法我们就是调map中的方法,我们最终做一个实现,做一个条件分析查询,那它的做法就是呢,首先我们先new一个配置这么一个对象啊,咱就叫配置。等于妞上一个配置。
06:00
在里边传入两参数,当前页和每页技数数,这个咱们做传递,然后传完之后,下面呢,我们就可以调用方法做一个条件分析,分析查询,但是过程中这里边啊,因为咱们有各种条件嘛,所以咱们把条件给它获取一下,就从这里边得到它的条件。咱们来得到一下啊条件。第一个条件,用户名称。根据它我们做一个查询,然后再来看第二个条件。开始时间。再来看第三个条件,就是结束时间。咱们把这个值得到,然后得到之后下面怎么做呢?我们来封装里边这个参数,用宽rapper进行封装,我这里加个注释啊。创建配置对象。获取条件值。然后下面封装条件。
07:01
咱们加上一个叫query rapper,加上我们的实体类。Rapper等于new上一个块rapper,然后在里边进行条件判断,因为条件值可能为空,也可能不为空,所以它有可能没有。但之前这过程是不是用动态so后实现的,但是其实现在我们直接这么判断也依然可以实现,那我就这么来写。加上意思empty第一个右侧内,如果它的值不等于空,那咱们。做一个封装。咱们加上这么一个EQ啊,咱就加上一个like吧,做一个某插曲。然后在里边。加上字段,加上名称。这个是第一部分啊,咱们看一下这个表里面的这个字段的名字,这个表它就叫U。包括啊,咱再复制一个,你一会儿有一个时间再用这个来进行操作这个创建时间。
08:07
然后在里边我们继续判断跟上面代码是一样的啊。这里边我就复制咱们改一下了啊。第二个只是这个开始时间,如果它不等于空,那咱们要写的话,就是我们的创建时间要大于等于,这个开始时间大于等于,各位应该知道这里边写什么,是不是有一个叫G啊,大于等于,然后同样结束时间应该是小于等于,结束时间再有一个时间的范围。就是里边的这个值,我们叫and。小于等于角Le,所以现在条件部分我们就完成。各位啊,注意这个地方啊,这个好理解,模糊查询,因为咱们有两时间,就是查一个时间范围,你要大于等于开始时间,小于等于结束时间,就是查这个创建时间这个范围,然后最后我们就是调用。
09:08
Map方法实现,那咱来调一下这个方法,在我们这个map里边我们找到。Micro这个,然后里边有一个方法,这个方法叫做select配置,里边两个参数,第一个是咱这个配置P,就是刚才new的这个对象,然后第二个加上我们这个条件对象rapper,最终它返回的就是我们这个配置对象,其实就是这个I配置。啊,也就是他。咱把这个给他返回一下。咱们叫配置model,然后最终把这个。以上的过程就完成了,包括这里边我可以加上这么一个泛型。所以现在大家看啊,我们就完成了里面这个条件,分页查询,这个我们就最终做到了,这是我们写的一种写法,咱们没有写词构语句,通过map里边做这个各种判断,最终咱们依然可以实现,也就是做了这个过程。
10:11
这个各位给他知道啊,然后洗完之后咱们把服务器给它启动一下,通过swa做个测试,看一下效果是否正确。那咱们把服务器启动一下啊,我们等待它启动,然后咱们测试。现在服务器已经启动了,然后咱们试一下啊,因为我们目前表里边应该没有那么多数据啊,咱为了方便我再重新咱再登录几次,我们来登录一下啊。比如现在我们看这用户,用户我们用这个。应该刚才有这么一个用户啊,咱们看啊,应该是这个用户,At硅谷202。用这个咱来登录一下啊,登录。还是我之前说过那个问题啊,我先给它去掉,重新登录一下啊。
11:04
现在登进去了,然后登进去之后我们再看表里边目前又多了一些数据啊,多了一些数据,然后之后呢,下面我们来用swagger咱做个测试,看一下我们当前接口的效果,就这个接口。登录日志。在里边我们传入参数试一下啊,当前页比如咱传个一,每页显示两条,然后这个用户名称我们加上一个我的in,最后点发送咱们看,最终结果我们发送大家看啊,这里提示我们说没这个权限,因为咱们怎么样,咱是不是加了那个登录的那个控制,所以没有权限,这么写是对的啊,那咱们找一个token值给他来测试一下啊,之前应该有这么一个token值,这个。咱给他拿过来啊,为了能查到我们这个数据啊,目前这个效果肯定是对的,因为咱们确实加这个权限啊,现在加上之后,我们再发送大家看数据应该就得到了啊,咱目前得到了我们的这条数据啊,这个我们就完成了,就是登录日志的这么一个查询。
12:08
然后这里边啊,这个数据好像有点小问题,呃,有两条怎么显示个一条,那我们看一下啊,呃,大家看一遍,呃,这么一个问题,我这当前页写二了,咱这么写当前页是一,每页显示两条,然后我再发送。你看啊,这数据是不是对了,比如说咱们可以再试一个,我是这么一个,就是at。硅谷,然后咱们发送。是不是也是两条数据啊,都是硅谷202刚才那个登录数据,所以现在咱就完成这个登录日志的这么一个查看条件分析查询,我这里边给大家编写接口,各位自行把它的前端整出来就可以了,这个我们就写到这里。
我来说两句