00:01
好,那接下来呢,我们继续我们上午的内容呢,在啊进一步的进行开发,那上午呢,我们是在这个地方输入了用户名,身份证号,银行卡号,预留手机对吧?我们把这些都录入进来了,录入进来之后呢,我们点击开户,好点击完开户之后呢,那直接就调用了我们前面刚刚写的这个接口。啊,调用了这个接口,然后接口呢,返回了HTM啊,然后接下来呢,HTML呢。HTML呢,在我们的前端页面进行了一个展示好,然后展示出来之后呢,我们的表单呢,就进行了自动提交,因为HTML里面有自动提交的脚本,好自动提交完成之后呢,它就跳转到了我们的恢复宝,还记得吧,好跳转到了恢复宝之后。实际上呢,这个时候就应该开始账号绑定了,但是呢,我们的账号绑定的要求是什么呢?是要求在我们的客户就是这个会呃,上融宝这一端呢,先创建一个user band这样的一个数据,那也就意味着在我们上上荣宝向汇付宝跳转之前,我们呢,应该去先在我们的上荣宝当中去创建这个UC半的这样的一个数据记录,那么这件事情我们在哪做呢?我们打开上文网,打开刚才我们的组装表单的这样的一个业务代码,我们应该在这儿做,在组装表单之前啊。
01:37
所以呢,这面我们写,嗯,组装。啊,自动提交表单的参数啊,然后这块呢,是生成动态表单字符串对吧?啊好,然后在前面这个地方,我们呢,就。啊,创建用户绑定记录。
02:07
啊,创建用户绑定记录,我们要创建的用户绑定记录是什么呢?就是那个user band,就new user band好,然后接下来呢,我们把啊我们的优班的VO里面拿到的信息呢,先都可以复制到us班里面,我们看一下us band里面有什么,Us band里面呢,有啊这个。啊,Bank number就银行卡号,那么我们可以从user band view里面拿来get bank number是吧?然后user band里还有什么呢?还有site,你像这个bank type就银行啊,User band vo.get bank type大家注意啊,在我们的user band里面呢,啊的所有的字段啊,就是和user band view里面的所有的字段,它实际上呢,都有相同的名字,比如说这面呢叫bank number,这面呢也叫bank number,这面呢叫bank type,这面呢也叫bank type啊然后另外呢,User bank里面呢,还有就是这个set ID card啊,然后那面的也叫ID card,还有mobile那边也叫mobile,还有name那边也叫name,所以如果这个名字都一样的话,我们呢,可以直接拷贝对象这样写啊对。
03:31
you.copy proper从原数据对象user band VO向目标数据对象拷贝user band,它会拷贝同属性,把user band VO里面的和user band里面的同名属性进行一个拷贝,从这是数据源,这是目标地址啊,拷贝过去之后呢,那么我们的user b里面呢,就有了我们需要的所有的从user band的VO里面搜集出来的数据了。好,那么除了把user band的VO里面搜集到的数据都拷贝到user band里面之外呢,我们user band还需要有一些值得设置,比如说。
04:13
里面有个user ID啊,他呢要指定我是哪一个用户信息啊,所以到现在为止呢,我们就知道了user band和user info,其实他们两个之间呢,是个一对一的关系啊,包括和user count他们三个之间呢,都是一对一对一的关系啊好,然后接下来呢,我们就把这个user ID呢。放进去啊,这是这样的,接下来呢,还有一个就是user band.set status,我们先呢设置一个绑定状态,这个呢是我们的用户的绑定状态啊,就是绑定状态的话呢,我们前面呢引进来一些枚举,我们来看一下这个枚举,枚举里面呢有一个叫做user band的枚举的。Us啊,有一个叫做us的枚举在哪?
05:04
这呢最后一个哈,然后这个枚举里面呢,有未绑定,绑定成功,绑定失败这样的几个值,我们呢,就把这几个值呢用一下,比如说UC半的um。好,User band en nu.no b现在还没绑定呢啊,然后点get status,他要的是那个status的值啊,所以说呢,我们从这个no办里面把这个status拿出来,然后给他存进去就行了,他数据库里要的是这个值,并不是这个描述啊,所以说呢,我们这边呢,就get status好,那这样的话呢,我们就可以去啊进行一个存储了,我们用base make DR。Inert被map.insert然后呢,User就可以了,好吧,啊所以呢,这样的话呢,我们就可以创建一条记录了,那这是这样的一个过程,接下来呢,我们预览一下,那这个号呢,给它重新启动一下。
06:27
好,那这边呢,我们启动成功了,启动成功了之后呢,我们要检查一下,就是用户这个绑定啊,他有没有实现哈,首先呢,就是创建这个绑定记录,所以这面呢,我再写一个哈完然后这块呢。好,然后这呢是银行,然后这块呢是。然后然后这边呢,是我已阅读,然后点开户啊好,然后前往资金托管,好这个时候呢,就来到了资金托管,来到了资金托管的同时呢,我们这面。
07:14
看数据库,数据库这个user这个里面。好,就插入了一条记录。看见了吧,啊所以呢,这就是刚才我们在这地方插入的记录号啊,现在呢,其实用户正常应该在这个地方呢,就输入校验码,比如说验证码,然后输入初始密码,比如说一二三四五六点确定了啊,但是假设说用户啊,由于某些原因啊,他就离开了,他没有点确定,然后他说我不绑了。然后关上了,关上了之后呢,下一次他第二天想起来我还得绑一下,是不是因为刚才他有急事嘛,走开了就没绑,没绑之后呢,接下来呢,他他又来了,他说我就现在有时间了,我再绑一下,再绑一下的话,大家想我现在还是输入那一套东西。
08:03
还是这一套东西,我再点开户会发生什么?是不是又调用了?这个业务层的方法呀,然后又在我们的系统当中录入了一个绑定记录啊,那么这两个用户说明他就重复了,为什么重复呢?因为我们实际上系统当中呢,不允许出现两个身份证号相同的用户。如果你这用户的身份证号相同了的话,那么就意味着。你不同的用户绑定到了同一个实名上,有可能是或者是说呢,这里面有冗余数据了,所以说呢,我们每一次进入到这个方法当中的时候啊,一定要干嘛呢,一定要对这个用户呢做一个判断啊,我们要判断一下啊,这个两个用户呢,是不是绑定了同一个账号,那么怎么去判断呢?啊首先呢,我们其实有一个最简单的方式,就是看一下UUID,因为一个user info不能够。
09:07
绑两个user办的,一个user info只能绑一个user办的,所以呢,我们可以根据user ID来查一下,如果当前这个user ID在UC办当中已经存在,那么我们就直接把前一次已经绑布的UC办的拿出来就行了啊假设说用户第二次录入的信息的不一样了,比如说招商银行的换成民生银行了,对吧?啊,那我们呢,就可以去修改这条记录,而不是重新创建一条记录,所以说呢,为了避免我们用户在操作的过程当中啊,绑到一半就退出,然后又进行重新绑定啊,创建重复的绑定记录,那我们一定要在绑定之前呢,先检查一下这个用户是否曾经绑定过啊,是否曾经绑定过,所以呢,这面呢,我们就。在这个地方呢,先检查一下用户是否曾经绑定,就是是否曾经填写过绑定表单。
10:12
对吧,就是先看一下他是否曾经填写过绑定表单,如果他没填写过绑定表单,那么就查找表记录,如果他填写过绑定表单,那么就把这个记录给他查出来啊,进行修改,那所以呢,在这面呢,我们就new query rapper,然后呢,这个里面呢,嗯,我们的query rapper呢是user band,好然后接下来呢,我们有一个user band query好,我们用这个user band拍呢EQ啊,然后user_ID。然后这面呢,我们写user ID好,这样的话呢,这个查询条件我们就写好了,写好了之后呢,我们用base.select one就可以了啊。
11:00
User。Band query rapper,好,然后呢,我们查到一条记录,叫做user band。叫user band啊,那么我们来看一下这个user band,如果是不存在的话,我们就创建这个记录,如果是存在的话,我们直接对这个user进行修改啊,所以这样写if,如果user band等于now啊,就是如果它不存在的话,那么我们就创建这个记录好。就创建它就可以了,如果它存在的话,那么我们就把用户刚刚填写的,因为啊这个。啊,User办的VO里面的这个数据呢,是用户刚刚填写的,我们把用户刚刚填写的这个记录在回填到这个user办里面去,也就是说从数据库里查出来的这个记录呢,需要对它啊进行更新,那所以呢,我们就这样。
12:05
There are copy properties are user band VO。的数据呢,再copy到user band里面去,好copy完了之后呢,我们base map.update by ID,然后呢,User把它做一个更新就可以了。好吧,啊,那所以呢,接下来呢,我们来试一下可不可以哈。在这个地方呢,我们来重新的启动一下这个考。好,那么这个靠启动成功了之后呢,我们来再重新的填写这个表单,现在我重新填写表单呢,应该就不是在我们当前的这个里面去啊添加记录了,而是在我们当前这里面去更新这条记录啊,所以呢,接下来我看一看啊,这个真实姓名呢,比如说在啊hele啊,身份证号呢,23000。
13:18
Yeah。99999999你改一下,然后绑定银行呢,比如说民生银行,民生银行,然后银行卡号呢,比如说六二。嗯,八八。好,这银行卡号,然后呢,银行预留手机呢,还写着吧,好,然后接下来呢,我们就点击开户。好,他又跳转过来了,那这个时候呢,我们来看一下这里啊,它是不是修改了,那么你会发现呢,这些啊,都已经修改成我最新的填写的这样的一个记录了,好这就是绑定。
14:03
那假设说呢,我现在有一个相同的证件号码的用户。这个是我的身份证号啊,然后呢,我再回到刚才我的这个。系统当中好,现在呢,我退出啊,假设说我用另一个账号登录,那我们系统当中,除了刚才我的这个借款人账号呢,其实我还有其他的投资人账号,比如说好,然后我点立即登录。啊,用户给锁定了哈,我把它解锁一下啊。解锁一下的话,在这个后台吧。会员管理。然后把它解锁就行了是吧,好,然后接下来呢,登录这就不就登录进去了吗?登录进去之后呢,然后我们再来一个办好,然后接下来呢,这个地方呢,比如说这是另一个人了,比如说是雨。
15:00
好,然后接下来呢,身份证号,诶,他的身份证号和我填的是一样的,其实是同一个人啊,比如说他既想作为投资者,又想作为这个借款人,对不对,他他又能投资又能借款啊,然后接下来呢,他写了另外的一个你名字,然后呢,或者甚至是相同的名字啊都行,然后接下来呢,他绑定了另外的一个银行,比如说平安银行啊,然后银行卡号呢。好预留手机号呢,好,然后接下来呢,点这个开户。点前往,然后接下来呢,大家看啊,他这边也前往过来了,然后呢,数据库当中大家看是不是又录入了一条记录,那这个时候这个是不是系统就有问题,什么问题,就是两个人的身份证号是不是相同了。也就是说实际上呢,咱们这个系统当中呢,那策略呢,就是不允许啊,一个人呢,以两个账户,然后绑定同样的一个身份啊,进行一个账户登录,就像你去支付宝啊,你这个两你的同一个身份证号,嗯,都去做实名认证的话,你看看行不行啊啊好像是可以的哈,但是我们的这个系统当中呢,是不可以的啊,是不可以的,就是不让一个身份证号在我们的这个系统当中呢,进行重复的绑定,明白吧,那这样的话,如果要达到这样的一个需求的话,我们就必须得去查找。
16:36
这个啊,这个身份证号是否已经进行了绑定,而且呢是绑定到了不同的用户身上,明白吧,就是查找这个身份证号是否已经存在了,但而且呢,是存在于不同的ID身上的。啊好,那如果你你是想查找这个身份证号是否已经存在,那这个是存在于相同的这个账号身上,那你第二次绑定的时候,就是刚才咱们的需求就满足不了,因为刚才咱们那个需求是能查到这个用户,我们要做更新,而且呢,身份证号是已经存在的了,对不对,就是相同的账号啊,然后呢,查身份证号如果已经存在,那么我们就拿出来做更新,但是如果是不同的账号,这个身份证号如果已经存在,那么是不允许的。
17:22
能听懂这意思吧,我再说一遍啊,就是相同的账号,相同的UID吧,相同的UID啊,然后呢,相同的身份证,相同的身份证啊,如果存在,那么就取出。数据做什么呀,做更新就是刚才咱们做的这件事情啊,说明这是同一个人,他上次呢,曾经绑定过,绑定到一半呢,他又退出来了,然后呢,现在呢,他又想重新绑定,那就把这个数据取出来做更新啊,然后呢,如果是相同的。
18:09
不同的UCID,相同的身份证,那么如果存在则不允许则不允许啊,所以说呢,这个呢,是我们现在要写的这样的一个业务,那我把这个呢,把它拿出来。啊,放到这儿你写一下标一下啊。这款。这就是相同的UID,相同的身份证啊,其实是身份证相不相同都无所谓,我也可以在啊这个UID这个下面呢,进行一个修改,我改成别的身份证也可以,比如说上一次身份证填错了对吧,我这次再改成别的身份证都可以啊,所以最主要的呢,就是相同的UID啊好,然后接下来呢,这面我们再写一下,就是不同的优秀ID,相同的身份证。
19:05
相同的身份证哈。如果存在则不允许,那我们把这个逻辑写一下,这逻辑呢,就是还是你。嗯,Query query,好,然后这边呢,我们还是user band啊,然后呢,我们生成一个对象user band哈,Band。好,然后接下来呢,这个user半呢,我们就在这块赋一下值就行了。啊啊,我看一下啊,User band这样写对吧?啊好,那这块就不用赋值了,就复用上面这就可以了,好,那这样的话呢,我们去创建一个user band rapper啊,然后利用这个user band呢,我们说是。
20:02
嗯。相同的身份证号,所以呢是I did_card也就是说这个表当中。User半表当中这个ID_card啊,相同啊ID_card EQ哈,然后呢,从这个user半的VO里面去拿出ID card来啊就是啊身份证号等于你录入的这个身份证号,并且呢点not。好用户是不同的user user_ID啊。然后这面呢,就是user ID。啊,用户不同这样啊,然后接下来呢,我们就查,那就根据这个条件查啊,怎么查呢?Base map.select one啊还是user band every,然后呢,咱们得到一个user band。
21:07
得到这个user band的啊好,得到这个啊user band之后呢,因为这面这个user band已经用了,这个user band我就给它清掉了啊好,那这样的话呢,我们来判断一下这个user band是否存在啊,我们刚才说如果存在则不允许,所以我们断言它是那aer is now啊,断言是now none是正确的啊,如果不正确,那么我们就抛一场response um好点user。办ID card exist I叫做身份证号码已存在,嗯,叫做身份证号码已经被别的用户绑定了,是这个意思。好,所以这个呢,就是咱们刚才说的这样的一个业务逻辑了,那么最后呢,咱们再把这个业务呢,给它实这个测试一下,所以呢,还是思考我们把它重新启动一下,然后接下来呢,数据库当中,我们把刚才的这个先给它清一下啊。
22:10
好给他亲一下,亲一下之后呢?在咱们的这个。里面呢,咱们再重新的去访问一下。好,还是这个第二个用户6630这个用户,然后呢真实姓名,比如说然后呢,身份证号还是录入这个身份证号,有相同的身份证号,然后呢,银行比如说还是平安银行,然后本人持有的银行卡六二好,然后银行卡手机号好,然后接下来呢,我们点击。开户。前往大家看是不是身份证号码已经绑定了,那这个时候你就前往不了了啊,因为呢,在刚才这个位置呢,已经强制退出了啊,那么我们就需要去看一下了,你修改一下身份证号码,反正同样的一个身份证呢,我们不能绑两个账号里面去啊,就是这个意思,所以这块呢是我们的。
23:19
整个的这样的一个用户绑定这个功能在啊咱们这个。上荣宝这一段的实现啊。
我来说两句