00:00
第一个步骤呢,我们先来看一下管理平台方法的controller的一个实现,也就是啊,我们的呃,那个web层的一个接口,一个定义,那我们找到呃容易LA ctrl,注意现在是在后台管理系统当中有管理员操作的功能哈,所以说呢,我们要找本定包里面的LA ctrl。那么我们找到S2B,然后呢,我们找到。好,然后找到人命,然后呢上这里面找烂的ctrler,好在这里面呢,直接加接口,那这个接口跟之前一样哈,我就不去写了,明白好,这接口是这样的,怎没漏呃方款的意思,然后ID传进来一个标的的ID,然后接下来呢,标记ID passl,然后我们直接就下一步呢,就在service层生成这个make loan方法就可以了,直接就放函数了,你会发现跟我们之前那个不太一样,我们之前还返回form母表单字符串,对吧,返回个表单字符串的前端,然后前端好跳,跳过去啊,现在不跳啊,就是整个是在一个流程当中,整个是在一个线程当中做的,好,那这个就是我们所说的这个同步啊,同步调用啊,然后out加an create。
01:29
好,然后这个内论这个方法呢,我们要做这样的几件事情,这件事呢,一会我们做的时候呢,咱们也要调一些其他的这个业务,那这块我一会就不一个一个的去入了,我先一次性把方便一些。所以在上面这里啊,我就先做一个,然后这里面包含一要取user for信息,User account的信息啊,还有这个land item service信息,以及transfer service信息啊这几个好,然后呢,接下来呢,我在麦里面呢,咱们先做什么呢?首先呢,咱们就是思考一下刚才咱们分析的这个内容啊,嗯,刚才这个需求。
02:14
需求。的需求。其实咱们要做的就是这件事情。好,这是就是咱们要做的事情,然后咱们呢,就分别呢,就把它去实现出来就可以了。好,那首先第一个步骤呢,就是我们要就是不论是先做哪个步做哪个吧,反正就要做这些哈,那我们来看到呢,这里面有关于标的的一些信息的一行获取,然后关于这个借款人的账号的进行取,关于交易流水的这个信获取,还关于还款计划和回款计划的这样的一个信息的生成,对吧?啊所以说这个都是我们在这个过程当中要做的内容,那首先呢,我们所有的一切其实都是围绕着这个标的,因为我们能够得到的,现在目前为止能够得到的唯一的参数就是这个标的了,对吧?那你要做其他的事情的话,你现在已知条件就是标的ID,那话不多说,先把标题取出来再说,是不是肯定是跟这个有关的啊,所以当你没有思路的时候,你就看你已知什么条件,这个已知条件就肯定就是你唯一的一个一个抓手了,对吧?啊,所以呢,先把标记取出来啊。
03:41
被map.select by ID ID好,那么我们呢,就获取标的信息,获取好就获取标的信息,获取完标的信息之后,现在我们要做什么呀?是不是要做放款呢?要做放款的话,你所有的一切你都要围绕着放款做,那你放款放款是谁放,不是我们放,是汇付宝帮我们去做放款,也就是说我们要调汇付宝的放款就口对吧,所以你现在一定要知道汇付宝他在干嘛,是不是,然后我们这个本地呢,其实有些地方呢,是呃,第一就做这些事情,第二呢,你是要跟汇付宝也要做数据同步啊,汇付宝那边放款肯定是要转账啊进行调调整啊,我们这边肯定是根据恢付宝那边的转账啊进行调整啊,再做我们这边的转账进行调整,因为这块包括流水交易流水也好。
04:41
包括账号转入金额,投资金额的这个转出转入都跑,其实都是要和汇付宝同步的,不是我们这边操作的,所有关于资金的操作都是先恢付宝里面再做,我们这边再分下同步,明白这意思吧,所以呢,现在我们要做的就是看一看啊恢付宝那边的放款功能是什么,所以呢,就是调用汇付宝放款接口的,那这个时候我们是不是就是要参考一下恢宝那边的参数都有什么了,那所以我们来看一下这面的参数,就这几个AID啊,然后呢,Agent project code,然后接下来呢,就是是agent number,方法方法方法对吧?好,然后呢,还有就是呃,商务手续费啊,备注,还有时间做这这些东西啊,所以我们现在呢,要组装我们的这个。
05:41
进口参数,那接下来呢,我们就来组装一下我们这个进口参数,嗯,所以呢,就是利用哈希麦不对,然后呢,这个参数呢,我们就写十寸凹好,那我们呢就生成了一个漫画,然后接下来呢,在map里面呢,我们就先出了一些内容,那第一个我们要put的呢,是。
06:10
第二个是这样哈,好,然后呢,我们就一个一个来看一下啊,第一个要put呢,是这个AID,好根据我们之前的这个方式,就把它改成ID,然后接下来呢,我们HBF。是叫HFB是吧,H FB cost,然后呢是a agent ID这个啊,然后第二个。是agent project code,是关于放款项目编号agent project code,那这是放款项目编号,我们把这个就是烂的,之前我们给它生成过一个,嗯,编号项目编号,我们把它取出来啊,这是这一套。
07:19
然后接下来呢,Agent build number,注意嗯,只要这个汇网那边出现agent number这个单词的话,那么一定就是,嗯,就是针对于当前这条记录的流水号是唯一的啊,是唯一的,所以呢,这块呢,我们也生成流水号。这流水号呢,我们用之前我们那个流水号那个工具叫land number you哈,然后点嗯,Get,这里面写过一个lower number啊,有放法编号啊,好然后呢,这个放款编号实际上跟其他编号都差不多,只不就加了不同的前缀而已啊,咱们这个编号生成的方法呢,比较简单啊,好,然后接下来呢,这是1233个啊,我来看第四个,第四个呢,就是商户手续费。
08:20
好,商务手续费呢,就是昨天我说的那个,就是平台收的那个服务费了啊,所以呢,咱们可以把它嗯这个计算一下,那么就是烂的点get service rate,嗯就是服务费率,然后因为这是年化的,所以divide的,然后new这个单吗?12哈,然这这间能说吧,啊new这个单词12,然后呢,也就是说除以12,嗯除以12,但是它这个除的过程当中呢,我们嗯要保留它的这个精度,一般情况下我们说呢,我们就保留八位对吧?嗯,就是一般情况下就是金融,有些金融系统就是嗯,计算的时候保留八位,然后存储的时候保留四位,就这么一个说法,然后到时候展示的时候呢,保留两位,那我们这个里面就没要求这么严格啊,我们就计算的时候保留八位,然后存储的时候呢,就保留两。
09:20
列啊,你要是做一些就是那种什么期货呀那种,那他一个数据都上亿的那种,他就是出现有有这个精度嗯,差的比较小的时候呢,当然它的资金额比较大的时候,规模比较大的时候,那它可能最后会所产生的效果就是数量级级别的,就会有翻倍的一个效果了,就那个时候呢,我们就会啊,就是对这个精度的要求会稍微严格一些啊,有的时候甚至是计算时候16倍,然后呃,存储的时候八倍,然后展示的是不是两倍是这样的啊好,那这个咱们就大致了解一下就行。好,然后这款是那个嗯那个那个单子,然后点run到了,嗯那个单词Bo,好这块呢,就是咱们所计算出来的那个叫什么叫叫月年化对吧?啊叫月年化,所以咱们给它一个嗯那个代词嘛,叫month month位吧,嗯,这是计算月年化,好然后这个月年化计算完了之后呢,咱们就可以计算它真正的呃这样的一个费率了,那么它的费率呢,就是根据我们的那个投资金额,然后呢,再乘以这个运营法对吧,然后再乘以时长。
10:57
投资时长啊,然后那投资金额呢,我们啊用什么呢,用这个写一下已投金额,因为咱们这个项目当中呢,他实际上对呃,我们这个标的是否满标放款没有这个限制,就是管理员他自己做判断,只要这个他觉得可以放款了,我就可以放款,比如说我一共10万块钱的标的,现在凑了半天就凑了9万,那1万块钱死活凑不上来了,但是呢,我也想把这笔买卖做,那我就放款对吧,那你放款你不能按10万块钱的手续费放,因为你给你只给人家凑了9万,所以你手续费呢,你只能收9万的手续费啊,那这样的话呢,我们这个话呢,就是根据已投金额算什么呀,算我的水费啊啊,所以已投金额乘以月月月变化,然后呢化变化,然后再乘以什么呀,投资投资时长哈。
11:57
时长时长好了,然后接下来呢,我们来看一下,那这个怎么去算呢?就是烂的点get那个已投金额,就是invest叫已投金额对吧?啊好,然后接下来呢,再乘以刚才咱们那个月饼的话,有猫来,然后month月啊,所以呢,这个是呃投已投金额乘以月月营法,然后再乘以什么,再乘以时长,时长的话再multily啊,然后时长应该是从我们LA里面get出那个cur啊,这个是它的这个时长,但这个时长呢,它是以特类型的,所以呢,我们得给它转成这个单词模的,所以用这个单词毛啊。
12:52
嗯,那个啥哪,那在这呢。这样粘一下。
13:02
好,那这样的话呢,就是我们得到的啊,一个平台的这么一个服务费率啊,所以呢,这个话呢,我们就嗯大家写一下叫做备个单嘛,然后是month叫做真实的一个这个费用吧,嗯,所以这款呢,是咱们的平台服务费用,然后我把它放在这款。我这里了,这是我们算的平台服务费啊好,然后接下来呢,这面我们再往后看方围这个,嗯。你写不写都行哈,我看一下它是必要参数啊,不是哈,那不写了,然后接下来呢,时间缩,然后验签啊啊所以呢,下面就还剩两个时间错和验签,这个我们之前写过好几次了啊,浪费时间啊,直接把这个拿过来就行,一个是S,一个是啊好,然后这个都是咱们之前的那个尾request helper里面的点better,还有一个呢是request helper.get sign对吧?啊然后get sign的时候,是不是得把前面的这个map给它传进去,然后他根据这个map呢来给我们算这个算啊好嗯,接下来呢,就是。
14:51
做这个方法调用了,方法调用的话呢,就是我们真正要将这些参数,将这些刚才我们组到的参数往哪提交呀,往这个联条地址当中去提交,也就是user event agree account London project啊往这个里面去提交,然后往这个里面去提交呢,我们刚才说了要采用同步提交的方式,跟之前不一样了,那所以呢,我们现在要用的还是我们的request help,呃,提交远程请求。
15:25
呃,Request help里面呢,有一个叫做sign request的这么一个方法啊,然后这个s request方法我们来看一下啊,它呢就接收一个开map啊,作为它的一个请求参数,还接收一个URL地址作为它的一个请求地址,所以这两个条件目前都是我们已知的,那我们就传就行了,最后呢,它会呃在这个里面,呃创建什么呢?创建一个呃叫做我看一下啊,就是这么一个叫response data的这么一个数据对象啊,这个数据对象是什么?是我们真正的执行远程请求发送的时候,它所返回的结果对象啊,它所返回的结果对象好,那么上面的这个过程是什么?上面这个过程实际上就是把我们组装的map集合当中的参数。
16:25
干嘛呀,给它封装起来,那大家也可以看到它其实在做HTTP底层的工装啊,我们知道啊,我们HTTP底层无论你是用post去提交,还是用get去提交,只要你提交的是兼值券,其实它底层的数据都是以这种形式提过去,只不过如果是get提交这个用等号和and符号连接的键,对呢,是从URL地址当中提交的,如果是用posts提交这种用等号和按等号连接的间值,对呢,是从请求体当中提交的,注意这些都是间值对提交和我们所说的这算数据字串的提交还不太一样,好,那所以呢,他在试图组装我们的请求参数到他的这个呃,Post posts data这个里面去,对吧,然后他这个posts data呢,它做成一个装build啊,然后做apart啊,好,然后呢,这块呢,Post data就是据呃,就是组装完成之后呢,他把。
17:25
把它变成bad的数组了,那变成bad数组之后呢,就把它放到HT的动泡的方法里面进行了一个远程的提交,好H的做的方法它是什么呢?它也是我们之前引入的一个工具类,然后我们来看一下,点进去,这是之前我们在common里面引入的啊,所以我们找到common。啊吧,这呢啊,这是它啊,它好,这里面有个ose,这个do posts呢,是真正的我们的HTP远程请求的底层逻辑了,然后这个地方呢,就是URL地址是什么,你的呃请求方式是什么?这个呢是你携带的参数数据是什么啊,然后接下来它具体怎么提呢?具体就这个提法啊,这是它的底层,就是先创建一个URL对象,然后再创建一个远程的htp UR connection对象啊然后接下来呢,设置这个htp URL connection的对象呢,就是可以有输入,可以有输出,对吧,然后用缓不用缓存,然后呢,嗯,就是嗯ign instance设置当前的实例呢,可以直接做跳短,就我直接和大一起就发出去,然后接下来呢,这个是设置一个呃连接的超时时间,这是设置一个。
18:50
执行的超时时间,就建立远程连接,最大这份时间,如果建立上就超时,这个呢是执行远程请求的过程当中,最大就是这个时间,如果这个你啊这个超式啊,然后接下来呢,这一块呢,是设置它具体的解决方式,那这传出来是一个bos啊,设置具体的请求方式,然后再接下来呢,就是如果我们的请求方式是POS请求的话,那么他在做一个具体的这么一个啊呃,就是这么一个输出流,这么一个写术语,总之这个里面的这个HTP的底层对于我们来说呢,都会比较陌生对吧,一般情况下呢,我们也不愿意自己去写,所以像这种东西的话,我们都会去引入这样的一个工具啊,然后他这边写完了之后,最后呢,就把这个呃输入输出流呢,就给它就关闭掉,关闭掉之后这块关闭掉关闭掉啊,输入输输就关闭,然后接来呢,远程的HTP请求连接就给它断开啊断开之后呢,把。
19:50
所有的这个得到的响应的内容呢,就给它转化成自己是主张法规啊,然这个里面的细节大家不用去纠结,因为这个你要把它都搞懂的话呢,那我看你要去补习补习关于HTTP的什么底层原理啊那些东西了,所以对于我们来说呢,一般情况下这种东西呢,都是给它封装起来啊,然后每一行代码大致它都执行的什内容,你大致了解一下就可以了,所以那整个我们能够知道的就是什么呀,我们能够知道的就是上面这一块,他一直在组装这个请求的一些基本的数据模型,对吧,然后到这个下面到这到这个位置了之后,那实际上呢,他就在呃这个发送请求的过程当中,然后再呃这个获取响励结果,然后这边呢,就把这个响励结果呢,就就给他返回了啊,所以这块是它的一个底层的一个东西,那所以一般情况下,我们在这就调调完之后,我们就直接得到了一个response啊,直接就得到response,因为H。
20:50
Ttp的远程发送这法呢,它是一个独立的一个内容啊,所以这块我们大致了解,有兴趣的同学你可以专门去看一下HTTP编程那一块的内容是吧?啊,来对这个进行深入的学习啊。
21:04
好啊,那这块呢,是呃,我们的一个三德request的一个大致的流程,所以呢,那既然我们现在已经有了这个现成的三德个开的方法,那在这个地方呢,对于我们开发人员来说呢,就比较省事,我们直接呢把这个map直给它传进去,好传进去之后呢,然后呢,它后面呢,要一个参数就是ul这L呢,我们就嗯还是远程的那个啊地址对吧?所以呢,还是会付宝啊,Cost里面呢,有一个嗯,Make ul的一个地址,好,那这个地址呢,你们再对照一下啊,看看别再错了,User invest,然后agree account land project这个汇付宝那边的应该没什么大问题啊,User user invest,就我们先找到汇付宝这边。啊,User event是它是吧,Model,然后呢,叫做agree user vote project,嗯,就是这个来给我看一下,看什么,这是看反是吧,Agree account land project对吧,这个地址啊,Agree account land project啊所以呢叫做。
22:16
啊,我也要看一下单的挑战这个对吧?啊,所以呢,我们那边组织完参数之后,然后由会复稿的这个接口接收啊,然后呢,接口接收完了之后,会付宝做处理,它最具体的梳理就是这那个处理完了之后,会宝就给咱响应所,一会我们调完了,我们会得到这个响应的啊这不就是一个同步方法嘛,相当于你发过去他直接给你响应了啊原来的都是啥,是不是人家完事,人家自己跳自己页面是吧,自己去处理去了,现在不是,现在是你发过去之后,人家直接把这个响应就给你了,它不是一个字符串,不是一个视频解析器了,直接就返回了啊,就响应好,那那这块呢,是我们的一个,呃,远程的一个接口,所以叫make,然后我把这款呢,给你设计一下,这样的话呢,我们这个远程请求,如果呃,真正。
23:16
比较出去了,我们其实呢,就可以得到一个结果了,所以这边呢,我们得到的实际上是一个啊,这一层二战的结果啊,伪造的啊,那嗯,如果你感兴趣的话,你完全可以把这个看款结果给他打印一下,要点音色。那个有吗?看一下。还有这面啊,就落了点ino啥呢,因这地方呢,我们就写那个放款结果了,好然后呢,我们把刚才那个result的这个内容呢,给它输出出来,Result是一个这对象,这object的对象呢,直接有一个的方法可以把咱们的这个。
24:12
嗯,用Jason了,可以把咱们的这个Jason object以Jason串的形式呢,给它打印出来啊好,它这应该直接转换成Jason串,还是挺方便的,那这块呢,是我们的放款结果,然后我们实际上希望从我们的这个放款结果当中拿到什么呢?我们实际上呢,是只希望从我们的这个方法结果当中,首先拿到这个的,你请求过去的响应方法成功,对吧?啊,首先我们是希望拿到放款成功的,如果一旦拿到放款成功了,我们就可以做这件事情了,如果放款失败,这些事情咱们上保这边做是没有意义的,只有汇网那边放款成功,我们接下来要做的事情是这个事情啊,所以刚才我们分析的事情都是基于放款。
25:05
这个完成之后了,那所以这边呢,就判断放款是否成功啊,那么我们就直接判断一下,直接应编码0000,是刚才他呃文档当中的一个放款成功的一个标识对吧?啊0000,然后点。ES啊,然后和谁比呢,和那个瑞。我看一下啊,这个是那个Jason result点,还有一个叫的一个方法,直接可以从这个Jason that的价值对里面去拿到你要拿到的那个结果,所以呢这块呢,我们就可以get the词,然后get什么呢?Get这个result code。好盖的这个扣的,然后呢,带完这个扣之后呢,我们就可以做正确的事情,当然了,我们如果在这个地方写个这的话呢,那么get完这个reserve code落户的这个容的话呢,我们就直接可以就泡一场四入尿,嗯,杯子。
26:20
我我们原来写的这个感觉好久没写字了,杯子算是,然后接下来呢,叫做。你看一下这个是不是之前我们自己写的一个啊,就是统一异常类啊,对吧?啊,我们抛出这个异常啊,抛出这个异常,然后呢,就是使时没有变三式,然后接下来抛出异常,异常的错误结果是什么?我们可以这样去写,在这个地方它不是有那个。嗯,叫result message,叫接收放缓结果的描述,所以说当我们出现错误的时候呢,我们可以把这个呃,Result message呢给它打印出来啊,然后你看它这里面没有其他的结果参数哈,那就是它了,一般情况下有的公司它会弄两套,就如果成功了的话,可能有一个什么success message,如果失败了的话,能有一个error message,所以这个需要大家仔细的去看人家给你提供的文档,根据文档当中的这个参数描述,我们去打印正确的内容啊,那这个里面既然没有只有一个message,那么它错误呢,就应该是打印在这里面的,然后这个是会保的原始文档哈,他的除了方法成功之外,还有这些商务授权错误呀,签名错误呀,时间错误无效啊,参数户合法呀等等等等,好多的这个错误信息,那这个错误信息目前在咱们这个回复法里面,实际上并没有去求具体的实现,咱们只做了正确的流程啊,那所以未来如果你。
27:52
对接一下接口的话,那么你依然要在这个地方去对有必要的错误信息给它进行一个处理,就把它判断出来if,如果这个错误编号等于什,然后呢,我们就打印这个相应的错误结果是不是好,便用前面调试,那现在呢,我们就统一的把所有的错误信息都放在非0000当中啊来处理,那所以呢,我们就抛出一个异常,抛出个异常的话呢,我们希望呢,它就是展示一个异常信息,那这个异常信息他还说我们可以从这个get soon这个里面拿。
28:26
你稍微穿鞋子啊好,那这款呢,就是我们对放法失败的罪明白了啊,那如果方法没失败,我们得到了这个是不是就是放款成功了,好,只要放款成功了,就相信这个事情就可以做了啊,所以呢,接下来呢,我们就先来看一看他的这个放款的过程啊,就是我们先在我们的上保这边呢,先不做啊下面的这些事情就看一看汇付宝的这个放款,那所以那当前这一块我们的这个后端的接口开发,就暂时性考虑段阶段性的完成了方法的这一个任务,我们先把它重新启动一下。
我来说两句