00:01
下面呢,我们来开发用户认证功能。因为各位同学知道,我们在这个上一通项目中,用户登录之后都需要进行身份认证,只有说身份认证通过之后才可以进行预挂号,而认证的过程怎么样呢?比如说我们现在在里边的这个地方,我们要填写认证的信息,包含你的就是证件号,包含你的名称,然后咱们还要上传你的证件,那种都上传之后,最后咱们提交认证信息,由平台进行审核,当审核通过之后,那咱才能进行预约挂号的操作,所以这个过程叫做用户认证。而用户认证呢,咱们下面先来开发里边的基本接口,那接口开发之前呢,首先我们先写个工具类,通过工具类呢,咱们来做一件事情,获取当前的用户的信息,比如说获取当前的用户,外地获取当前的用户名称,因为咱们之前在登录的时候呢,咱们把用户这个token信息放到了he中,所以咱的做法就是从heer中把token取到,然后根据token得到咱的用户ID,包括用户名称,那下面呢,我就先来编写这个工具类。
01:20
我们来写一下,因为工具类呢,我们在其他的这一里边可能用到,所以说咱们把这工具类就写到我们的common里边,那我在common中呢,我就来创建这么一个工具类。然后我在里边写一下这些工具类,你写到common u里边或者service u中都可以,那我现在呢,我就把它写到我们这个common YouTube里边,然后在common YouTube中呢,我首先先来建个包,在包里边写我们的内容,那这个包我起名就叫做。Us,然后在里边呢,创建一个类,这个类就是得到当前用户信息,我给它起个名字叫做author contest后这么一个类。
02:09
然后把它拿回来创建之后呢,在里边咱就来编写两个方法,那我写一下啊,先加个注释。获取当前用户信息的工具类,首先我们先写第一个方法。第一个方法就是。获取。你当前。用户的ID。然后第二个方法获取当前用户的名称。咱们先写第一个方法,然后我快速写一下,我们来一个public,我们就来一个CD得到ID,那我们就来一个N类型,然后起个名字就叫get u cid,因为咱是通过这个就是。Hier得到,所以在里边呢,给它传入一个对象,我们就叫做http request,通过request从hi中去值,那我写一下HTTP。
03:11
Request,我们叫request,然后把它的依赖给它先引入,引入之后咱下面操作就是首先先从head的里边获取到它的token,那我来获取一下啊,咱们加一个request.get head里边加个token,最终它返回到就是我们的token字母串,然后反应之后呢,咱下面做法就是通过咱之前说那个JWT从token里边获取它的。用快DJWT,咱之前应该写过这个工具类叫d wt helper,然后里边呢有这个方法就叫get u ID,咱把token传进去,最终返回到就是我们这个ID值,然后ID值咱们得到之后,最终我做一个对推。
04:07
这是我们写的工具类中的第一个方法得到用ID,然后写完之后第二个方法再来获取用户名称,跟它是类似的,那我用这个方法快速改一下,我们改成缀,这里边我叫get。Name同样先得到这个。然后咱们通过JWT的工具类。在里边有这个方法,就叫get username,传入token,返回到就是用名称,咱把用名称最后做一个旅。这样的话呢,咱们这个工具类我们就快速完成了,为了一会儿进行使用,这是一个工具类的编写,然后工具类写完之后,咱们下面来编写里边这个接口,那这接口呢,我们要写什么呢?我们来看一下啊,首先我们这里边咱们先创建两个接口,第一个接口就进行这个用户的认证,就根据我们这个。
05:09
Hi的里边这个用户ID得到用户信息,然后得到你的认证信息,比如说里边有这个身份证号,身份证里边这个类型等等,那容包括第二个接口,咱们获取用户信息,根据这个ID里边把它这个ID得到,所以咱们就来编写这么两个接口,那这里边我来写一下啊,因为这个是用户的借管操作,所以咱们在这个service user里边来编写这个接口。那我们找到啊,在user里边,咱们找到它里边这个user info A片。就是里边的这个,然后在里边我们来写这两个接口,我在这个位置先加个注释,第一个接口就是用户认证的这么一个接口。然后第二个接口,获取用户的ID信息的为接口,这是我们要编写的内容,那首先呢,我先写里边的第一个接口,就是用户认证,然后写一下啊,咱们先来个提交方式,我就写一个。
06:16
POS提交,然后在里边加上路径,这路径比如我们叫这个。Author。然后后面啊,给它加个名字,我就叫这个,呃,User author,给它起个名字,然后写完之后,下面加上方法,咱们来一个public。Result。我们叫U。代理编传入他的相关内容,首先第一个呢,因为咱们要得到你的认证的信息,比如说你的类型就是证件类型,但是身份证,然后证件号码等信息,而这个部分呢,我们在这个model里边有一个view对象,我们来看一下啊,就是里边这个user中的这个对象。
07:01
U扫扫里边有类型、名称,证件编号等等,所以咱用它直接进行传递就可以了,那我来写一下啊,我就加一个我们都熟悉的这个注解request。保底。咱们叫user u VO user u VO,然后除了这个之外,我们再加上一个块对象,为了方便咱们调那个工具类中的方法。我们叫HTTP。Request。Request。这样的话,把两个参数我们都给它传进来了,然后除完参数之后,咱们下面来调一下这个方法进行实现,那这个方法呢,我们就调这个就是user info service里边的方法。然后在这个方法中,咱给他创建一个,比如就叫user author方法中传入咱们这两个参数,因为咱们做操作中呢,我们做这个认证,其实就是像你的user info表里边给它更新一些数据,就是在数据中除了之前的数据之外,再加上一些其他的数据,那这里边我们就给它传入两个参数,我写一下啊,就是在我们这个方法中传递。
08:19
两个参数,首先第一个参数咱传什么呢?就是我们的用户的ID,然后第二个参数传你那个认证数据的VO对象,那我们传一下啊,第一个用快递,咱们可以调一下,我们刚才写那个工具类,咱们刚才刚写过这个工具类,我们叫这个also。Contextt,然后里边有这方法get u ID,咱们传一个request d,得到是YD,然后第二个是在那个VO对象,我们叫user。VO。
09:01
就是把这个咱给他得到,也就是里边的。这个值。所以这样的话呢,咱们现在把这个方法就做一个调用,然后调用之后,最后我们给它写一个返回值,我们就叫result.ok然后咱们在service中把这个用户认证方法最终就完成。这样的话CTRL部分就写完了,写完之后下面咱在里边把这个用户认证方法先创建出来,创建之后咱们来到它的实现类中,在实现类中就来实现下这个方法。那咱们看啊,这个方法我们该怎么用,实现逻辑应该很简单,那做法就是呢,首先这里边是不是有用坏地啊,那咱调方法,先把用户信息根据ID得到,然后得到之后呢,把你的认证信息set到这个user info中去,最终我们做一个update操作,也就是把之前的用户信息里边的值给它进一步完善,因为之前的信息中并没有你的证件类型,证件编号等等内容,现在咱们把它做个完善就可以了,这就是一个基本过程,那我在里边写下啊,流程第一步。
10:22
根据。用户ID查询出。用户信息。然后第二步设置你的认证的信息,然后第三步我们进行这个信息的一个更新,里边是这个流程,那我们来做一下啊,首先第一步我们就调这个base map中的方法,根据ID我们做个查询,那里面的方法应该是里边的我们找一下叫select by ID传入。Uz ID,根据ID呢,我们做个查询。然后这里边返回的是一个user info的这么一个对象啊,包括咱看一下啊,在user info里边有它的这些相关的内容啊,包括有ID啊等等一些信息,所以咱第一步先根据ID我们先做个查询。
11:19
然后查完之后呢,返回的是一个user info,那咱们下面就是根据user info往里面设置我们的认证信息,那咱来设置一下啊。User。点上set里面这个信息,第一个信息呢,我们看一下里面有一个叫做name,我们先设置它这个名称,所以咱们通过user author view,点上get name,这是设置你那个就是名称,也是咱通俗说我们那个人的那个实际的名称。就是认证的。人的这个姓名。
12:00
然后包括还有其他的值,咱们依次给他往里面设置。那咱们设置的第二个值,就是我们那个认证的那个证件的类型,包括证件编号等等信息,所以咱们依次认证就是其他的认证信息。我这里写一下啊认证信息,然后方式也都是往里面塞的,那我就找到我的课件中,把这个代码我们就直接复制过来,因为跟这个结构是一样的,那把这个咱给它拿过来,然后大家看一下,包括你这个编号。包括类型,包括等内容,然后最后里边还有一个值,大家看这个值啊,叫做o the。那这个值是什么呢?就是你认证的里边那个编号。这个或者说你认证的状态,而这里边你看我标注出来了几个状态,零未认证,一认证中,二认证成功,负一认证失败,咱目前状态,我里边写的是这个值,用了一个枚举类,然后我们目前是认证中,所以咱们写这个值,这样的话把第二步完成了,然后完成之后呢,最后咱们把信息做更新,那咱们调用这个base map里边这个更新的方法就是update白地。
13:23
里边传入预算符,这样的话呢,咱就完成了认证的一个基本操作,也就是像我们这个表里边把它的这些信息给它补充完整啊,就是这么一个值,因为你看啊。Closes默认值是零,未认证,咱目前是一二,包括这个状态,就是认证中包括认证成功。这样的话,我们的第一个接口完成了用户认证接口,各位把这个能给他快速写出来,然后除了这个接口之外,咱为了后面方便,咱们再加个接口,根据我们的用户ID得到咱的用户信息,为了后面我们显示的时候进行使用,那这个我也写一下,首先我来一个提交方式,咱就写一个get。
14:11
然后在get中加上路径,我们叫author get。散烟放。下面加方法,Public。Result,咱们叫这个get user info。然后在里边呢,我们传入这么一个参数,这个参数应该就是我们的request这么一个参数,因为咱们通过那个工具类,通过request handle中把这取到,那我们下面写一下啊,调用刚才那个工具类里面这个方法,Get u ID传入request,返回的是user ID的值,然后返回之后咱下面调用方法就是调这个user info service里面的方法,根据ID得到用户信息,那我们来调一下啊,里面有一个叫get。
15:05
白地,咱传入USD。返回到就是咱们这个user付对象,然后咱们把这个user应付对象最终做一个旅退。result.ok传入user in for,这样的话呢,现在咱们就把这两个最基本的接口就完成了,当然完成之后呢,后面还有接口,因为咱们在提交完认证信息之后,最后是不是还要审核呀,当我们审核通过之后,那我这里边的状态才会变成二,就是您已经认证通过了,所以咱后面那个审核的这个接口会写到我们的平台管理系统中,目前是在我们的前台系统中做这操作,就是用户做这事情,后面平台会对它进行审核,所以这是关于我们两个接口的创建,咱把它就完成了,完成之后呢,咱们马上来整合咱的前端,也就说在页面中我点击这个实名认证,进入到咱们的认证页面,进行咱们的健康操作,那咱们马上把前端进行实现。
我来说两句