00:00
好,接下来呢,我们来看一下,最终呢,我们其实呢,要做的呢,就是在这个commit charge这个业务方法当中,最终组装出一个呃表单字符串,而组装出来的这个表单字符串呢,要长得和这个差不多,而且呢,这个参数呢,要全部给它组装进来,这样的话我们才能够做这个正确的提交,那所以接下来呢,我们就来看看这个嗯,参数的一个组装啊啊,然后这面呢,实际上我们最终要的是什么,要的就是一个BO4字啊,一个字符串。是吧,Str啊,我们最终要的就是这么一个字个串,然后呢,最终呢,我们会返回这个S,那目标咱先知道,反正最后就要这么东西,然后这个东西长什么样呢?就找这个样子对吧,然后这个里面最主要的是什么呢?是我们需要把这个参数依次的把它组装出来,然后其他的这个内容呢,咱们就可以通过常规的形号拼接的方式啊来拼上那主要这个参数,参数这面很显然它就是建止做组成的嘛,那么我们呢,就是可以先去给它弄一个键值,对,就哈西map啊,通过把键和值把这些参数都组装好了之后,然后咱们再想办法把哈西map变成表单字串当中的一个input,对吧?啊,那这种就好了,所以呢,咱们先来看一下,先弄一个阿西曼,多了就是new。
01:47
PA西map,然后这里面呢,我们是因为这里面什么类型的参数都有,所以呢我们就用这个object,然后呢,这样的话呢,我们就组装出来parm map,好然后呢,如果你愿意的话,你可以用这个面向接口的方式,但是这不是必须的啊好,然后我们拍map呢,我们就put就行了,Put哪些内容呢?那注意你要一个一个的去对照去写,那这样的话呢,我们就在这个地方,我们找到我们的。
02:19
用户充值里面的这个变量,变量的话,你要一个一个把它写过来,这是A选项ID。好,然后用同样的方式呢,我们还是呃,需要参考文档当中的这个内容,把它变成这种驼放形式的,好,然后接下来呢,Agent的ID它来源于哪呢?A正的ID呢,相当于你的商务号,商务号呢,实际上是我们给大家提供的一个常量,这个就是这个,这个是什么?这个大家记不记得我们去写那个阿里云的,呃,短信发送或者是阿里云的文件上传的时候,我们是在后台获取到了一个access PID和access picscript,昨天我也给大家演示了一个这个获取这个的过程,对不对,那么这个access PID就相当于这个A这个ID,它就相当于商户号了,那个access PI相当于你在阿里云上面的你的账号的一个商户号啊,我们还可以创建子账号,说明可以创建子商户号对不对?好,然后阿里云那边的access secret是什么?就是密钥,针对这个账号的密钥啊,那个密钥是不能。
03:27
泄露的账号其实是名文是可以泄露的啊,或者说是可以名文传输的,可以泄露就可以名文传输的,但是密钥是不能泄露的,所以你会发现你在阿里云上去获取那个东西的时候,密钥你他就只给你看一下,你看完了你就赶紧存下来,你不存下来它就不显示了,你下一次你只能重新生成。是不是那个东西它是不存的,好,这个地方也是一样的,这个就是那个密钥,所以这是商务号,这个是密钥。商户号我们提交请求的时候,要把它作为一个参数传过去,密钥是干嘛的,是生成那个签名用的,生成签名用的,所以说你看一下这个密钥它用在哪了,它是不是用在这个请求获取签名,生成签名的这个上面课我给大家看的这个方法当中,它最后在做加密之前一定要先把签名,就是把这个密钥放进去,然后拿着这个密钥进行签名才行啊,所以这个密钥呢,你就不能泄露,一旦这个密钥泄露了,那你这个签名其实也不安全了,明白吧?啊所以呢,这块是我们所说的密钥和A跟塔底,那这个地方它需要我们传的是agent ID,所以呢,我们就把H会付保,呃里面的这个agent ID呢,给它传过来啊,这个是我们的第一个参数,然后接下来呢,第二个参数,第二个参数呢,就是。
04:50
这个agent Bill number这个呢,实际上就相当于我们此次发起充值的一个账单,呃,或者是说一个就是你在那个呃,淘宝里面,或者是京东东里面,你下单,你下完单它不有一个呃单号嘛,对吧?啊然后有就是针对于商家,你有一个单号,然后针对于物流,是不是还有个物流单号,它都是不一样的单号啊好,那我们这面呢,也是充值,也有一个充值单号,它是专门针对于这次充值的,所以这是充值单号啊,然后还有什么商品的搜物单号,还有物流单号,然未来还有流水号的单号,这都是不一样的啊,所以这个呢是充值单号,充值单号的话呢,我们,呃,前两天呢,就是引过来一个工具类叫the land land啊,那个工具类叫land you吧,对,Number,然后这个land。
05:51
这个求词里面呢,有一个get number,我们就直接用它就行了,就是充值的号,或者说呢,我们用commit这边我还特意写的意个叫做什么差呢,这个就行,这个是充值,差值是充值啊好,那这个是我们生成充值的哈,是这样的一个过程,然后接下来呢,第三个。
06:14
第三个呢是班扣的,这个呢,是需要我们把充值人的绑定协议号获取下来的。这个充值人的绑定协议号呢,我们通过user ID是可以获取到的,那么它呢,存在了我们的user info里面,或者是这个user办这个表里面都有充值人的信啊,所以通过userc in inform打开表,通过user ID可以获取到后面的这个啊C好是吧,在这I code或者是呢,之前我们这个US。大改表user半呢也有一个用ID也有一个,把这协议好都行啊,所以说这个方式就很灵活了,我们就看一下用什么,那这样的话呢,我们通过逐件获取吧,这样方便一些,所以呢,就是先把user in for给它注入进来,这样的话呢,就是of,嗯,你们一直用的是resource啊resource,然后呢,Provide user in inform user inform好,然后接下来呢,这面呢,我们就用这个user in for map.select ID,把刚才那个user ID参数给它传进来,传进来之后呢,我们就会得到一个UC ino的这么一个对象,然后呢,在UC ino这个对象里面呢,我们直接去获取到八扣,这样的话我们的bad扣呢就拿到了,所以这个呢就是获取充值。
07:53
绑定协议号,然后呢,我们把这个办的扣的放到这个位置,所以这123啊三个参数,然后接下来呢,第四个参数就是你的充值金额。
08:11
那充值金额怎么获取呢?就是它了,好,然后接下来呢,第五个参数是我们的商户收取的用户的手续费啊。我们商户不收取,就是在这个充值的过程当中,我们先不收取手续费,所以说呢,这个就是零,零的话呢,人家一充值你就收手续费,你没有用户了,充钱就赔钱是吧?好,所以呢,这个是啊零就是商户收取用户的水费,然后再接下来呢,就是。你看你要告诉那个汇付宝回头你不得向上能宝发起一个回调请求啊,做账户信息同步嘛,你得告诉回付宝你发起的回调请求的U地址是什么啊,所以呢,上红宝里面呢,先得把这个ul地址呢开发好,然后呢,到时候呢,汇付宝回调的时候就直接可以回调它,但是你要通知人家回复宝是,所以我们通过这个东西发URL通知。
09:22
然后所以这块呢,我们就写not five好,然后这个not five呢,就是你得事先开发好,所以这个呢,肯定就是事先已经定好的事情了,那定好的事情呢,我们写在了这个常量里面。然后这里面呢,有一个rear notify u能拿到,但是这个实际上我们一会再写的时候,这块是有个变化,我们把这个现在是放在了靠这个嗯微服务当中啊,所以这个地方大家千万不要忘了,就改一下,改成API杠,靠啊好,因为原来它是在另外一个account服务当中的,所以我们就把它都放在了count服当中,然后呢,这个是我们的呃,这个notify URL的一个设置,然后接下来呢,就是后面这块叫return ul,好,那么return ul这块呢,也是一样的,就是return ul啊,这面检查一下这个U呢,就是返回到我们的嗯,上荣宝的用户主页面当中,所以这3000其实是我们的上荣宝,然后这个是我们的用户主页面啊好,然后嗯,接下来。
10:41
那就是再看这个文档啊,就是这个time set,这个呢是一个生成一个时间戳啊好,那我们呢,就把这个time set它生成。好,时间缩这块呢,我们有工具啊叫。
11:05
Helper,这个是之前给大家发下去的一个工具,叫做request helper,然后这里面呢,有一个叫get some stuff的这么一个方法,大家直接用就行了,然后这个实际上就是通过这样的一个方式生成一个时间缩啊字动串,所以呢你自己写一写形写然什好挺简单的,然后呢,接下来呢,最后一个步骤就非常重要了,就是那个签名sig签名,好签名的话呢,原则上就是我们通过它啊接口文档当中告诉咱们的这个签名算法,咱们要给它生成出来,但是实际上呢,一般情况下,我们会事先把这个签名算法就一个工具方法就给它定义好了啊,所以呢,这面呢,我们就直接从这个工具方法里面呢,去调用这个签名算法的一个方法,那这个呢是该算啊get算生成签名的时候,它有一个原则,它实际上是要对上面所有的参数进行排序。
12:05
然后连接,然后加密啊等等进行一系列的操作,所以呢,我们要把前面的参数呢给传进去,这样这样的话呢,就是我们整个签名的生成的过程了,当然签名的生成的这个方法刚才咱们也看到了啊,就是他先判断一下这个perter就传进来的这个范数里面是不是已经有S了,如果有SIN1定要把这个sin给删掉,就是sin是不能参与进行签名的,正常的啊,生成签名的这个参参与的参数里面一定要不能包含sin,明白吧?啊,然后接下来呢,我们再对它进行一个排序,它这个地方排序用了一个非常简单的方式,就直接把它放在出mark里了,因为你只要把它放在出map里,它就排序map就排序,排序map对不对,好,然后接下来呢,排完序之后呢,它就在所有的这个。这个参数的值之间的加数线啊,所以那就看一下我们的。
13:02
还有哪句话,是不是在参数的值中间加竖线了,就是就是它说升先升序嘛,然后用竖线连接啊,然后在最后再连接3P,所以说呢,这个地方呢,它就最后呢,又把3P是不是又连上了啊,连上来之后呢,然后加密,然后它这边呢,就是说最后MD夹对吧,整个就是这样的一个流串啊,就通过这个让它给实现,实现了之后呢,就返回这个铅笔字串,然后呢,我们在这边呢,就拿到一个铅数串,放到我们的这个基品参数,好,那我们这个参数有了之后,我们就应该通过这个参数去构建一个什么呀,去构建我们上节课说的这个表单,那么构建这个表单的过程大家会发现啊,前面和后面它都没有什么规律,所以你就要通过自态硬把它拼出来,中间这块是有规律的,我们对刚才那个ma做一个变力变立的过程当中,键就是内值就是Y就好了,对不对啊,所以说这是整个生成。
14:02
生出的一个过程啊,那当然这个过程也不用大家去写,没有工具,那我们这个工具呢,就是这个form help form helper,然后有一个叫做build form,好,那这个form helper呢,也是之前给大家发下去的一个工具类,然后这个build form呢,它接收两参数,一个参数呢就是URL,这URL是什么?就是你要提交的地址,就是我们所说的这个地址。这个地址,这个地址你要明确的去告诉这个表单生成工具,你要往这是汇付宝的一个地址,对吧,你要往汇付宝的哪个啊,这个接口当中去提交这个请求啊,那所以呢,这面呢,我们就写这个汇付宝的那个地址叫汇付宝看,然后呢点你。对,差值URL,所以说这个里面就涉及到三个URL,一个呢是汇付宝UR,然后这两个呢,是我们上个宝定义的URL,然后接下来呢,嗯,下面就是这个perter map,我们把这个参数呢,传递给这个build form这个方法,那么传给这个方法之后呢,我们看一看它这块写的是什么哈,你看一看就是你都不用仔细看,你这么一扫你就知道了,它是不是就在组装我们需要的这个表单呀,好,前面核心内容是不是就是action,是我们传进来的这个ul地址,对吧?然后method是不是post啊,然后接下来最后是不是有一个脚本叫document角form角submit表单自动提交了吧,对吧?然后接下来干嘛?接下来是不是这个地方是生成那个整个表单当中的所有的input的地方,那么这个input是不是正好是通过循环遍利出来的啊,我便利的是谁,是不是正好就是这个permit map呀,好把。
15:54
麦进行遍历,是不是就把key做内蒙的白拜六就直了,就是刚才我们所说的这个过程,当你反向验证一下,他确实做了这样一件事情啊,所以说呢,那整个的这个方法,它最主要核心内容它做什么,它主要做的流程是什么,这个大家我相信到现在应该已经清楚了,对不对?好,然后呢,这个做完了之后呢,我们就可以进行这个前端的整合了哈,呃,前端整合呢,实际上就是呃,希望在前端啊,就是最终我们这个是不是返回给前端了,然后前端你得把这个字符串渲染到页面当中啊,这是前端要做的事情啊。
我来说两句