00:01
好,那接下来呢,今天的最后一部分内容呢,我们把这个会员管理呢,给他做一个实现,那这个会员管理大家看到这个需求呢,它很显然是一个后台管理系统的一个界面,那么在这个后台管理系统当中呢,我们啊,实际上就是在已知的啊,我们已经做过之前就是做过列表啊,什么表单啊什么的,但是在这个地方呢,我们就再做一个更完整的列表,这个列表呢,它包含分页哈啊上面还包含查询啊,所以呢,这面呢,还包含两个按钮,一个按钮呢是锁定按钮啊,或者是解锁按钮啊,都由这个按钮来负责,还有一个呢,就是登录日志点价登录日志呢,我们会看到这个用户的一个登录信息啊,然后所以接下来呢,我们就来看一下,那首先呢,我们根据这个需求吧。啊,你会发现呢,上面有一个查询表单在这。这有一个查询表单哈,我们先把这个查询表单里面的各项基本数据呢,给它做一个对象的封装,所以第一件事情呢,我们先封装一个query对象啊,查询表单的话呢,一般啊也可以封装成VO对象,然后呢,有一些公司呢,它就是啊会把它单独的提出来啊,封装成query的Q叫查询对象,所以这样的话呢,也是我的一个习惯,那我们呢,就给它封装一下啊,那封装的话呢,针对这三个,一个是手机号,一个是用户的类型,还有一个呢是用户的状态,那我们呢,就封装出这样的一个对象出来。
01:28
User in for query,把它放在query包里面,然后三个数据哈,我们直接给他复制一下。我们找到,嗯。靠。然后呢,在pogo里面,我们再建一个叫做que。那么在query里面呢,我们再建一个class,叫user info query,好,那么在user in for query里面呢,我们去写这样的一些代码。
02:03
好,手机号状态啊,还有user type,那么我们这个呃,查询对象呢,就创建出来了,接下来呢,我们来写service。哎呦,Service有了,然后呢,在service里面呢,我们去创建找到我们的这个user service。好,在user in for service里面呢,我们去,嗯,建一个就是啊,根据查询条件和分页条件来展示用户分页列表的这么一个功能,所以呢,这个怎么写呢?嗯,如果你不太会写的话呢,你可以先想一想controller怎么写哈,所有的时候我们直接写这个service,就不知道这个参数啊,返回值应该怎么定义,那么索性我们就先写control了。
03:02
好,那先写CTRL了吧,然后在admin这个里面呢,我们找到一个也是user in for service,所以呢,其实就是这个user。我找一下啊。User in for service好像我移植到,对移植到这里面来了啊,那既然移植到这里面,我在这个复制一下吧,叫做user in for controller,然后user in for controller呢,我给它加个钱,注意叫ain user in for controller好,然后呢,这面呢,就是会员管理好,这面呢就是admit是吧,Call,然后user in for好,然后下面这块呢,我们还是需要去引入这个user in for service,所以把上面这个删了就行,然后后面这块呢,我们就啊都给它删一下,留一个就够了啊好,留这一个呢,我们来看一下咱们怎么写。这块呢,我们给它起个名字呢,叫做list page list配置好,然后呢,这块呢,我也就叫它list,然后呢配置啊,这个是啊第几页啊。
04:16
然后呢,这个呢是每页记录数。好,这块呢叫获取会员分页列表,获取会员分页列表,好,然后下面这块呢,我们就把这三个参两个参数呢分别传进来啊,第一个参数呢就是配置,第二参数呢就是limit,然后配置呢,我们就写pass配哈,然后呢还有一个呢就是pass。然后呢是好,接下来呢,再写最后一个啊,刚才我们看到了,除了有分页。
05:05
这个需求啊。这个需求除了有这个分页之外,还有查询条件,对不对,我们要把最开始我们封装的那个查询条件呢,也注意参数也传过来,所以呢,最开始我们封装了一个啊叫做叫什么来着,刚才那个query p query叫user in for query对不对,我们把它也传过来,所以呢,叫做user in for。就you Di user carry好,然后呢,这个因为是一个查询啊,是一个获取数据,所以呢,我们就是用get的方式啊,通过这个rest的那个规则嘛,我们可以得出这个结论,就是用get的方式,那一般情况下用get的方式呢,我们是没有办法传什么地方传啊,对test,对test。
06:02
包的啊,就是用get的方式呢,这个地方呢,我们是没有办法写request包的,为什么?因为request包只能在请求体中发送。而get方法是没有请求体的,所以大家一定要注意这个地方,Get里面不能有request body类型的参数啊,这是你要记住的结论,那除了get之外的其他的方式,比如说post呀,Put呀,Delete呀,是都可以有request body类型的参数,所以这块呢,即使是对象我们也不能用request body来传啊。好,然后接下来呢,我们再给第二、三这三个呢去写一些。的注解吧,啊API perter这块呢,是当前页码好,然后第二个叫做美业记录数好,第三个叫做查询对象,OK,查询对象我们是可以不写的,也就是说这个位置。
07:19
啊,还还是还是这个这个位置啊,这个位置。嗯,我们可以不传入任何参数,然后呢,展示所有的数据,你也可以根据手机号来查询特定手机号的这个用户,或者是根据用户类型来查询特特定用户类型的数据,或者是用户状态,对不对,当然你也可以不输入任何查询条件来做查询。所以这块呢,我们。啊,就是required false就可以不传啊,可以不传好,然后接下来呢,我们啊,在这面我们就写一个要分页了嘛,所以new page,然后呢,啊,User in for。
08:06
好呃,接下来呢,就是返回一个配置参数啊,然后呢,我们把配置和limit传进去啊,这个如果忘记了的话,去回忆一下我们最开始学的。My be plus啊,那个部分的内容好,那这样的话呢,我们就把当前页码和每页记录数呢传递进来,然后接下来呢,生成一个分页对象啊,那我们执行查询的时候用user in for service啊来执行查询的时候,比如说我们自己写一个list。配置方法吧,好,那么我们就要传什么呢?因为我们一方面要根据分页信息来查,另一方面我们要根据查询条件来查,所以一定是。有这两个部分的内容的对不对,好,然后呢,接下来呢,那么它返回值是什么比较合适呢?我们来看一下service的默认的分页方法的返回值啊,默认的分页方法的返回值呢,它返回的是这个I配置对象,所以呢,我们其实也可以返回这个东西啊,那以呢,我们就它的返回值呢,我们就说它是这个东西吧。
09:24
因为这个里面有很多专业内容。好,那这块呢,我们就管它叫po配置model啊,所以呢,我们就返回一个分页模型对象,这个对象里面我们希望实际上就是记数和它一样啊,就是里面呢有N页信息,比如说当前页码,每页记录数,然后还有查完了之后的当前页的所有的记录列表啊都在里面,还有有没有上一页啊,有没有下一页啊,然后那个一共有多少条记录啊,都会封装到这里面最好啊,所以这块呢是一个分页模型,然后接下来呢,我们就把这个整个的这个分页信息呢,就给它传到前端,这样的话,前端拿到所有的有效信息之后,它展示起来也方便他做分页展示啊,还是做什么展示啊,就比较方便,所以呢,我们把更多的信息都传给前端。
10:16
啊,所以这面呢,就是我们的一个CTR了,接口层的一个实现了,所以呢,有的时候你会发现先写接口要远远比先写service好像入手要那么容易那么一点点啊。
我来说两句