00:00
首先呢,我们来看一下,我们要做这个刚才所说的啊,借款额度审核,然后我们来看一下他这个。表单啊,这表单呢,它其实我们点确定按钮的时候,要搜集这个表单数据,所以根据我们之前啊,这么多天的一个开发经验,我们知道如果要搜集这个表单数据的话,那么我们要组装VI对象对不对,尤其是这个表单数据,它并没有对应我们数据库当中的某一个具体的表啊,它不是这个字段一对应的,所以那这种情况下的话呢,我们就要搜集VO对象了啊,所以呢,我们就定义一个VO,那这个VO呢,我们来这样去定义啊,叫做borrow pro VO叫借款人审批,然后呢,它对应一个borrow ID,就是呢这个。它对应的是哪一个借款人的额度申请的这个ID,也就是说我们借款人额度申请当时呢,是在这个包表里面提交了一个数据对不对,然后呢,我的借款额度审批呢,它呃是对应啊这个包ID啊,对应borrow ID有一个这样的一个啊相当于一个外建记录吧啊然后接下来呢,就是啊状态,一个审批状态,然后再接下来呢,就是啊身份证信息是否正确,然后再接下来呢,就是房产信息是否正确,然后再接下来呢,就是车辆信息是否正确,然后再接下来呢,就是啊基本信息积分啊所谓的基本信息积分呢,就是这块。
01:40
基本信息积分就是管理员通过人为的或者是人工的啊,去评判咱们的这个啊,借款人提交上来的这样的一个数据,然后呢,综合的给他一个积分啊,然后这样的话呢,我们就可以进行审批了,所以这是这样的一个逻辑,所以我们通过刚才那个VO对象呢,把这几个字段呢,都给搜集上来,那这样的话呢,我们就创建这样的一个VO,那Bo VO。
02:10
所以我们打开我们的后台。然后呢,我们在里面。我们新建。一个class叫做borrow。嗯,我看一下啊。这个是啊,这不是他我我重新那个啥一下我开的。应该开021这个二吧。好,然后接下来呢,我先把这个都关掉啊,然后我们打开这个。啊pogo打开VO,然后呢,在这面右键,然后另有一个Java class叫做啊pro VO。
03:02
好,那这样的话呢,我们把这个就创建出来了,创建出来之后呢,我把直接啊这些内容呢,就复制过来。好。这是我们的第一个步骤啊,然后第二个步骤呢,那一定是根据我们刚才的这个啊内容,我们当点确定按钮的时候,那就提交它,那这时候呢,我们就知道我们要定义接口,接口的话呢,就是针对于这个确定按钮做接口,然后接收这个VO对象啊,作为一个参数对吧?啊,然后从前端传到后端,所以呢,接下来呢,我们来定义这个接口。然后我们就,嗯,我们就打开我们的CTRL了。好,然后打开这个API啊,在。打开这个。Admin啊,它是个后台管理系统,在admin borrow controller里面,那我们呢,去定义这个接口啊,这个接口呢,我们是返回二对象啊。
04:14
好,然后接下来呢叫API operation啊,然后这块呢是借款额度审批,好,然后接下来呢是卖品。嗯,然后呢,是APP。Roval approval,然后接下来呢,这款呢是que body,然后这面呢,我们是包肉啊啊猪乳。这呢VO是吧,啊borrow了是VO好,就接收刚才咱们创建的这个VO对象,接下来呢,咱们写一个borrow。
05:02
嗯,Service,然后接下来呢,我们写APP。OVAV,我们一会a pro v叫审批啊,好一会我们会写这个方法,然后呢,我们把这个包pro VO呢给它传进去,这样的话呢,通过这样的一个方法,我们呢,对啊,整个的这个用户所获取的积分实际上进行计算啊,其实我们这个方法最终的目的呢,就是通过管理员对用户信息的审核,然后呢,给用户啊评定一个综合积分啊,就这样的一个目的,然后所以呢,Return r.ok.message审批完好,那这块呢,是接口的一个创建,接下来呢,我们来看service out加enter create method,好,然后接来呢,Approval out加enter implementment approval,嗯,接下来呢。
06:07
我们来看一下,在这面呢,我们,嗯,首先呢,就是。要啊判断一下我们的这个用户的积分是是啥哈,那怎么去判断这个用户的积分呢?啊,我们得。嗯。判断一下我们borrow approval VO里面获取出来的这些数据啊,然后borrow APP VO里面获取出来的这些数据呢,包括什么呢?我们先来看一下,第2GET啊,就是你看他的身份证号码啊,身份证的这个验证是否成功了,他的这个房产信息的验证是否成功了,他的车辆的验证是否成功了,当然这些内容的验证啊,啊,都是需要后台管理员通过线下的一些这个方式啊方法,然后进行核对的啊,进行校验真伪的,然后他这个通过线下的方式去核对完调研真伪之后呢,然后他会在线上,然后最后给出一个最终的结果是成功还是不成功啊,这是这几个,一个是身份证,一个是房产,一个是车辆,然后接下来呢,我们在这边呢,还应该能够从前端拿到当前的这个借款。
07:30
申请借款额度申请啊的一个ID,所以呢,咱们也可以把这个借款额度申请的ID拿出来,那么如果把这个借款额度申请的ID拿出来之后呢,我们就可以通过这个借款额度申请的ID获取到什么呀,获取到借款对象,呃,获取到借款额度申请对象就是。我先给他拿出来再说,Get。
08:00
包ID好获取借款额度申请ID,然后呢,拿到这个借款额度申请ID之后,我们可以干嘛呢?我们可以获取,嗯。借款额度申请对象好,那么就是base map点。Select by ID,好,然后把这个borrow ID呢给他传进去,好,我们就拿到了这个借款。额度申请对象对不对好,然后呢,在这个过程当中呢,实际上如果整个的这个。啊,验证啊啊,如果是成功的,那实际上最后呢,我们要对这个借款额度申请对象的这个状态呢,进行一个重置,所以呢是嗯包尔。
09:12
第2SET status啊,然后呢,这个status来源于哪呢?来源于我们这个borrow VO,也就是说我们的borrow pro VO里面呢,咱们呢,传进去一个叫做status的这么一个状态,这个status的状态呢,也是从前端传过来的,就是从这个地方传来的,是通过还是不通过,通过呢就是啊这个这通过哈,不通过呢,那个status呢,就是另外一个值了,所以呢,通过不同的status值,我们把这个borrow的status呢给您设置上,所以这个是通过前端传过来的,我通过还是不通过,然后呢,我们直接就把借款额度申请的这条记录啊,这条数据给他把的这个通过与否的这个状态呢,给他设置一下,好,所以呢,这是这样的,那这个设置完了之后呢,我们就可以base map.update。
10:09
IID,然后包好借款呢,实际上就是获取借款额度,申请对象之后呢,我们来设置审核状态啊,一个是通过,一个是不通过,好,然后接下来呢,下一个步骤就是我们要给这个用户添加积分了,计算积分啊好计算积分的话呢,那就是嗯,首先呢,我们得。知道这个啊,和用户积分相关的表有什么,我们来看一下啊,在这个位置。只要我们点击通过了啊,并且呢,给用户啊设置了这个相应的积分了,或者是这边显示了用户获取了相应的积分了,那么这些积分首先呢,会在这表当中有记录。
11:08
叫user interview啊。他呢叫用户ID,然后呢,这个积分是多少,获取积分的说明是什么?比如说是基本信息积分,或者是身份证信息积分,或者是车辆信息积分,或者是房产信息积分,也就是说对应一个审批,那么在我的这个user integral表里面可能有多条记录,它是一对多的关系啊,每一个项目,每一个项目在这个表里面都有一个积分信息记录进去,所以说呢,我们可以在这个地方这样去写。这里啊。在这块,我们可以这样写六。User。好,然后接下来呢,我们啊,User里面看一下。
12:09
这里面呢,还有一个叫用户ID对吧,现在我们要组装这样的一个数据啊,这里面还有个用户ID,那么用户ID哪来呢。用户ID呢,可以从我们的包热,就刚才我们不是拿到了一个包热对象,可以从我们的包热对象里面拿到啊,所以呢,我们可以这样写就是。获取用户ID,那就是包点。User ID,好,User ID,然后接下来呢,User inter.site user ID user ID,这样的话呢,这个就是计算积分的第一个部分的内容,先创建一个积分对象,然后呢给它设置一个user ID,然后接下来呢,在user interview.site site interview。
13:13
这个我们计算的是谁的积分呢?计算基本信息积分好,然后呢,计算基本信息积分的话,那基本信息积分来源于哪儿呢?啊,基本信息积分来源于这个。就叫做基本信息积分这个啊,前端的这么一个字段,那这个基本信息积分这个前端字段,我们其实封装到了刚才这个VO对象里啊,也就是说我们拿到这个VO,从前端拿到这个VO之后呢,这个VO对象里面呢,有一个叫做啊in for integral的这么一个属性,一个成员,这个呢,就是基本信息积分。啊,所以呢,在这个地方,我们呢,把基本信息积分的拿出来,然后放在这个啊,User integral的这个set inegral里,所以现在计算出来的呢,就是基本信息积分,然后接下来呢,我们还有一个就是user integral site content这块呢,就是你积分说明啊,看一下这个叫做获取积分的说明,通过什么渠道获取的积分呢?是通过借款人基本信息,对借款人的基本信息进行综合判定之后,给了他这么一个积分,好,然后接下来呢,就是user integral map。
14:38
点insert。啊,这个。User。In the,我看一下有。Int map.insert int。啊,他就写错了,User integral map。
15:03
我得给他注入进来啊。这没有对吧,啊注意一下,注意source gra user。Matter user integ matter好,然后拿过来给它,然后点inser user ineg,所以这块呢,是计算基本信息积分啊,然后嗯,接下来呢,嗯,我在这个地方呢,在。嗯。还得去写一个,还得去写一个什么呢?就是计算我们的啊,其他的这个信息的积分,刚才我们计算的是基本信息,还有计算身份信息,车辆信息以及房产信息,那么身份信息呢,它是固定的一个积分,如果你是否的话,这里面就没有这30分啊,如果是的话,那么就有这30分,同样车辆信息也是一样的,如果你选否的话,就没有这60分,如果你选市的话,就有这60分,房产信息选市的话就100分,选否的话就没有分好,那这样的话怎么怎么做呢?
16:21
在这个地方咱们就判断啊,分别判断身份信息,车辆信息以及房产信息,所以呢,这面我们就borrow啊,Approval vo.get is ID card OK,就是如果这个用户的这个身份信息是正确的话,那么就给他干嘛呢?就给他去。在添加一个啊,基本信息的这么一个,就是这个啊,这个信息积分啊,好,那么基本上就是这样的。
17:01
就这个意思啊好,那这个呢,我前面已经定义过了,那我这边就不再定义了啊,就这样可以复用这个对象哈,因为这个对象到这为止,它的使命就完成了,我们组装它的目的就是为了把它插到数据库当中,对不对,到这插进去了之后,它使命就完成了,他可以接受下一个使命了啊,所以再给他用一个新的对象,再复制给他,复制给他的话呢,这块都是一样的,Set user ID,然后这块呢,Set啊,EG site interview这块呢,我们是。它针对的是身份证信息,身份证信息呢,它有个固定的积分,就叫30积分,所以这块呢,你就正常情况下你就写30就好了啊,但是这个是一个硬编码就不太友好啊,所以说呢,我们这边呢,有一个常量叫interview。D um。在这个枚举里面呢,我们定义了一些常量枚举,然后呢,比如说如果是身份嗯证信息的话,那么就是枚举,叫做borrow ID car,如果是房产信息的话呢,它就是borrow house,如果是借款人车辆信息的话呢,就是borrow卡所对应的这个因特这个值啊,所以我们呢,在枚举当中把这个因特值能给它取出来就可以了,那这样的话呢,我们这面呢,就是枚举,然后这块呢,对应的是。
18:30
身份证积分啊好,所以呢,如果是身份证积分的话,我们在这面呢,就是。嗯,ID card是吧,然后点that。啊,所以这是身份证积分,然后C的这个地方,我们可以直接从这个枚举当中去获取就行了点。点get message对吧,就是这个纸嘛,这个纸借款人身份证信息啊,好,那这块呢,是我们的。
19:08
一个身份证信息的啊,这么一个啊这个判断,然后呢,给他积分啊做了一个添加,然后再接下来呢,还有就是房产信息。啊,通过房产信息呢,我们给用户获取一个房产积分,就我们判断一下这个,如果他选择啊,这个OK的话,或者说get应该是is house对吧?啊如果这个房产信息他在这个地方选择了。这呢啊,这是房产信息选择了,是的话,那么他就应该获取100分啊,所以说那这边呢,我们就啊还是在六一个啊。捏完了之后呢,还是set user ID这个是一样的,然后接下来呢,这个位置就不是ID card,应该是house,对吧?Borrow a house,那这块呢,就是房产信息,然后下面这块也是一样的房产信息,然后接下来呢,我们用map insert再把它呢插入到数据库里面,然后接下来呢,我们再来看一下车辆信息。
20:20
好,通过车辆信息呢,我们来获取车辆信,所以这块呢,就是that a car OK对吧,那如果车辆信息用户选择了是的话,那这面也是一样啊,先把这个对象呢给它初始化出来,然后接下来呢,这面呢,我们就写啊包看对吧?啊然后下面这块呢,也是包看。嗯,然后接下来呢,这个车辆信息的积分呢,我们就拿到了啊,然后最后呢,还有一个就是这些都存上了之后呢,它是在我们当前的这个user integral表里面,就有用户的这个完整的积分记录了,究竟是哪一项获得了多少积分,在这里面都会详细的记录啊,但是为了方便后期的这个计算和展示呢,我们会事先把所有属于同一个用户的这个积分呢,都给它加起来,加起来之后呢,直接放到user in for表里,User in for表呢,是用户的基本信息表哈,好,它存的内容比较丰富,还有一个呢,就是用户积分,那这个用户积分哪来的呢?就是把刚才咱们算出来的这四个积分加起来。
21:33
就是把这一车辆积分,房产积分,身份积分以及计算基本信息积分,把他们都加起来,加起来之后呢,把这个积分的值呢,存到这个user in for这个表当中,所以呢,接下来呢,我们还要对这个user in for这个表啊做操作啊,那怎么做操作呢?我们再把user info这个对象取出来,然后呢,在这个对象的基础上呢,做值的一个修改,然后呢,再用19层把它存起来就行了啊,所以呢,我们现在呢要取这个这个对象。
22:07
取对象的话呢,在这款获取用户ID,我们的获取用户对象,所以呢,就是。User,然后呢,点。Select by ID user ID啊然后呢,我们得到一个user info对象,好,有了这个user info对象之后呢,我们就可以对这个信息呢,啊进行一个一个添加了,那怎么添加呢?就是啊,我们呢,要。把U音for里的哪个值给它存一下来着,我们要把user in for里面的这个。啊,这个值叫做integral,这个值给它存一下,那这个值来源于什么?就来源于刚才咱们那。
23:06
嗯,这面啊,就来源于刚才咱们算出来的这个里面的积分,加这个里面的积分,再加这里面的积分,再加这里面的积分,所以咱们得把这四个部分的积分呢加起来,然后设置给user in for的这个积分对象,好吧,啊,那这个怎么做呢?那首先呢,我们得知道啊,我们的这个啊积分呢,是在原来的优秀音负的积分的基础上,比如说这次我加积分,我加了,呃,就是这块是30,这块是30,这块60,这是100,一共加了多少积分,一共加了220积分,对吧?啊,如果加220积分的话,是不是应该在人家原来的。假设说人家原来有1000积分,你是是不是得在原来人家1000积分的基础上进行追加呀,你不能把直接把这个220替换啊,你应该去追加,所以那咱们怎么做呀,应该先把这个user in for的这个积分取出来,然后再加上刚才那四个积分,就是这个用户的总积分了。
24:10
不知道大家听没听懂啊,我再说一遍,那么user inegr表里面呢,是用户的积分明细,User in for表里面呢,是记录了用户的总积分啊,那当然这个总积分呢,实际上是一个冗余数据,为什么?因为你通过积分明细明细这个执行这个sum目求和就能把总积分求出来,但是呢,如果未来我们总是要查看它的总积分的话,你通过它去萨求和有点效率太低,所以我们干脆呢,就在UC fo里面冗入一个字段,叫做inter要用户积分,那么这个冗余字段呢,就是每一次啊,用户呢。他在这个被啊审核的时候,也就是说他的这个借款额度被审核的时候,我们管理员呢,会啊根据当前的实际情况呢,把这个积分动态的算出来,然后并且呢复制到这个里面去,那动态算的话呢,那一定是把在原来的这个积分的基础上,再加上新算出来的积分,对不对,所以呢,在这个位置。
25:08
在这个位置哈,我们获取完这个user啊,这个对象之后呢,我们应该。嗯,获取到它原始积分啊,就是用户的原始积分,那就是user in for.get。特,That。In interview,好,这个是用户的原始积分,好那么我们要把这个用户的原始积分再加上刚才这四个积分,所以这块怎么加呢?就在这个地方啊,Integral啊,我有写的变量的,叫他interview,就是最新的积分。
26:08
等于呢,它原始的积分,就把用户取出来之后,那个原始积分啊,这是原始积分,然后再加上我们心算出来的这个积分。明白这个意思吧,啊,当然了,这个积分,哎,我看一下啊,这个这个是个对象啊,然后这个积分在这儿,是不是明白这意思吧?啊,这个是我们从前端的表单接收过来的数据,然后这个积分呢,我们就给他加到这儿。啊,这是啊,这个积分的相加的第一个步骤,然后第二个步骤就是如果有身份认证信息的话,那么我们的current interview呢,就应该加等于这个里面的积分啊,这里面的积分等于什么呢?就等于这个。
27:03
好,然后同时呢,如果有房产积分的话呢,例子的原理差不多,就是还是在原来的这个积分的基础上呢,再加上房产的。相关的这个积分啊,然后呢,车辆也是一样的。好,然后呢,再加上车辆的相关的积分,所以这个程序到最后的时候呢,就会把所有的这些积分呢,就都给它加起来,对吧,都把它加起来,加起来之后呢,然后在这个位置。我们呢,把刚才不是说了吗?是不是要更新这个user in for的积分呀,所以呢,我们就得把user in for的积分呢,给它设置一下user for,然后点site interview,那现在的这个interview呢,就是刚才咱们加好的了,所以现在其实我们就做了两件事情哈,第一件事情呢,就是在这个数据库表当中。
28:09
啊,根据积分明细,每一项都给它写上,然后第二件事情呢,是在这个数据库表当中,把属于同一个用户的积分明细呢,给他做累加,累加完了存到这个user in for in the里面,啊所以现在我们做正在做的就是这件事情,然后接下来呢,啊,这个就是设置。设置用户总积分对吧?啊,然后加来呢,就是修改审核状态好,然后修改审核状态呢,我们user里面,因为前面我们修改了一个审核状态,就是这。Borrow里面有个status哈,有个status,然后user in for里面也有一个status,它也是设计的一个冗余字段,看user in for。
29:01
User info里面呢,有一个borrow us status,这呢这个呢叫做借款人认证状态,我们现在正在做这个认证嘛,是不是啊,所以说呢,咱们把这个borrow out status呢给它设置一下,那么在这面呢,就是user info.site borrow out status,然后呢,这个是从这个borrow through VO,然后点get thes把它get出来,因为这个thes来源于哪,就来源于我们的刚才的这个地方,你要通过,那么就来源于他,你要不通过也来源于他啊,所以刚才我们的这个get status来源就是这个选项了,你这个选项怎么选的,决定这个S的值对不对,好,我们把S的值呢,赋给这个修改审核状态啊,这样的一个。
30:00
方法,然后接下来呢,更新优色以后。好,嗯,然后呢,我们来看一下,在下面这个地方,我们就user in for matter update。By ID,还有user in。就是这样的,这个就是咱们整个的这么一个。嗯,业务了啊,然后那这个业务写完了之后呢,我们在这面呢,它是有一个update,这还有一个update,两个update是吧,那如果是两个update的话呢,咱们最好加一个事物啊,我在这个地方加一下TRANS3CTION,然后是back这个action.class。
31:05
好,那这样的话呢,我们的业务层呢,就写好了,业务层写好了之后呢,咱们可以来去啊启动一下。然后测试一下。
我来说两句