00:00
好,那么在这里面呢,我们首先来看一下,呃,前面这块呢,我们是呃,在这个位置创建了一个接口,创建完接口的第一个步骤呢,我们是先处理这个参数,把参数格式化一下,然后接下来呢,我们就做验签啊验签如果这个没有成功,那么我们就返回falses,那这样的话,那边呢就会啊,就会发起城市了啊,然后接下来呢,如果我们判断业务成没成功啊,如果业务成功了的话呢,我们就啊去做这个真正的账户数据同步的这样一件事情,然后如果业务失败了的话呢,那我们现在的业务呢,就是比如说我失败了,那我就告诉你我失败了,那我也不想让你给我发起重试,那我不能让你给我发起重试了,那你就给人家导几坏子,如果你想让对方给你发起重试,那你就给他法律飞行下子就好了,这个实际上就是根据我们实际的这个具体的场景,具体分析,到时候你们那个公司的那个业务流程。
01:00
那实际是什么,那就反回什么就行,但是我们要掌握一个原则,就是你要不要人家重试,不要重试就在要重试就非that就好了,明白吧,啊好,然后接下来呢,在这一边呢,我们就返回就是呃,执行这个notify啊,然后执行这个notify,最后如果成功了,我们最后呢,其实啊,也想返回一个,在那我们就在这个地方呢一次,那所以呢,在这个notify这个业务方法当中,我们呢,给它定义成string的这个发回值,然后呢,在这个业务实现当中,我们呢,也给它定义一个string的返回值,在这个里面,我们在处理的过程当中呢,有可能会有这个success啊,有可能会有这个成功啊,有可能会有失败,对不对,然后最后的这个成功或者是失败呢,我先对称一下啊好,那最后的这个成功或者是失败呢,就会返回到我们的这个多层,然后最后呢,作为我们分值的一。
02:00
部分向我们最终的这个,呃,会付宝关去返回,这个最终的结果,好这是这样的,然后接下来呢,我们就来看一下我们的这面的这三个步骤,这三个步骤呢,首先进行密定性判断,密定性判断一定要有一个判断的依据,就是你怎么才能判断出来人家曾经调用过你,对吧,你得有这样的一个,就是这么一个判断的标准,就是你,你要知道他曾经调用过我,那我就不进行这样的处理了,那我能够判断出来,我就进行这样的处理,对吧?那你通过什么来判断,判断的标准是什么,所以呢,这个是我们要想的一个问题啊,就现在你可能就不知道是啥对不对,那我们就想一下这个判断的标准什么,然后接下来我们进行这样数,接下来我们进行进入,这样,所以其实判断的标准就从这来。就从这来,因为你判断的标准就是曾经对我们当前的这个比例的数据库进行了修改,那么你判断的标准只能是从修改痕迹当中找,对吧?啊,你从痕迹当中找到了A,它调用过我,那我就干嘛,那我就不再进行当中处理了,那这个痕迹是什么?流水是吧?账户处理不好处理,因为你加十块钱,我下次再充十块,再充十块,你知道这个十块钱,但是流水不一样,流水我们账户流水这个这个这个表呢。
03:27
到时候我们会生成流水号的,所以你判断如果是同一个流水号,因为这个流水号是由谁来给我们返回的,注意在这个恢复保端,他要拼一个agent费number,其实就是最终我们要的那个账户流水了哈,对,叫做商务充值订单号了,每个订单肯定是不一样,我每一笔充值都有唯一的订单,那既然是针对同一笔充值,你反复给我发送这个请求了,那我通过订单号我就能判断出来是不是同比数,所以这块呢,我们怎么来判断,就是它的密行性啊,就是通过它的流水来判断,然后通过流水的什么呢?通过流水号,通过流水的那个账单号,然后呢,去查这个账单号在系统当中有没有相同的流水,如果有就说明曾经调用过,如果没有就说明没调用过,所以判断的标准呢,就是判断什么呀,就是判断流水啊,这块我在下面这一个节当中写的叫接口要用密性。
04:27
单独拿出来写了。那么我们判断的标准。嗯,就是我看一下啊。我们判断的标准呢,就是判断交易流水存明白吧,好在见面吧,是不是啊,这就是这样的,所以接下来呢,我们来把这个代码一步一步来实现出来哈,最简单的这个处理就是那个账户充值那块,所以我们先把这个账户充值呢,也写一下,账户充值呢,我们要充值的是user com的,所以呢,我们直接就嗯。
05:09
修改账户信息就可以了,修改账户信息这一块呢,为我们为了写一个就是更通用的方法,那我们呢,修改账户的两部分信息啊,就是这个是我们的账户user account,然后呢,User尔account里面呢,有两个字段,一个是余额,一个是冻结金额,我们写一个更为通用的方法,既能修改余额,又能修改冻结金额啊,如果是加,那就增加余额,如果是减,那就是减少余额,对不对啊,如果是加就增加冻结金额,又减就减少冻结金额,所以呢,我们就写这样的一个方法,那这个方法呢,为了更灵活,那我们呢,就写circle是最方便的,就刚才我说的那个逻辑对不对,写circle是最方便的,写circle的话呢,我们在这个matter当中,我们就要找到我们的user和看matter,然后呢,在user matter当中呢,我们就写一个啊,就是嗯,就是更新账户的一个方法啊外,然后Apple date啊。
06:10
看,然后更新账户的话,刚才我提到了,那我们呢,就是要更新两个值,一个是余额,一个是冻结金额,而且你要知道你去更新谁,你更新谁的余额,更新谁的冻结金额,那么这面的这个代码呢,我们就这样去写,就只这个太麻烦了,我就直接加过来了,因为三个参数,一个参数呢是扣的,一个参数呢是amount,一个参数呢是free amount,这样的话呢,我们根据扣的是更新它的amount和free amount是不是,然后这个注子大家引的时候一定要小心啊,别引错了,有很多同学都给我引错了,引份里吧,这这能是份吗?跟这有什么关系,这明显是买威写斯林的呀,对不对?嗯,好,而且为什么我要强调啊,这个大家就是银分啊,它不报错呀,关键是。
07:10
它是不报错的,然后你运行的时候这个数据就死了,取不出来啊,就会出现这个问题,所以不要隐分。点这个啊,MY里面的好,就是这样的,然后接下来呢,咱们在这块呢,Al加去把这个statement呢给它生成好,那这块呢,就是我们的一个更新方法了,更新方法呢,我们主要就是update那个user account这个表,对吧,然后接下来呢,最后是re where,谁啊where user下划线啊,我看一下啊,嗯,User看看那个表,然后where那个user。下划线ID这个有色下划线ID这块,我看一下,对这个表里没有优色ID。
08:04
有在看看啊,打开表这里面是不是没有那个,就是刚才我说那个班扣的呀,没有班扣的你只能用UID来来为,然后那有的同学说,那你这你为啥不传UID呢?也就是说这个地方为啥不传一个UID过来。为啥要弄一个八字后的,你得知道在这个地方,因为我们要在业务层当中去调到的这个方法对不对,你得知道在业务层当中我们有啥,业务层中有啥,就有这些东西,拍map里面有的我们才能有,所以拍map里面有没有UID,对它没有啊,你看这个是它结果参数嘛,然后这个是排map的游乐值,它根本就没有UID,所以拿不了UID,那我们就只能间接的通过find code去获取到三,这可以理解吧,啊,所以呢,我们已知的是b code,那我们这个地方呢,我们就。
09:04
传了一个班能扣的啊,这是有原因,然后呢,既然我们已知班的扣的,我们怎么拿到一个ID呢?那这个方法就多了,我们可以对select,然后ID from user_in for啊,Where啊,在user份这个表中有班扣啊,对,所以呢,我们上user表当中去看一下,那个列名呢,应该叫班。在哪呢,这个就是叫班扣的,所以呢,这个地方呢,我们就where,然后班扣的等于是不是刚才我们的那个班的扣的呀,对吧?然后所以你这地方要写班扣的,你这地方就不要忘了把这个名字给他注解它是吧?啊这样的话我就根据这个Van code的去把这个参数传进去,所以呢,这块是我们的where句啊这样的话呢,我们就可以根据Van号的先找到UID,然后呢,根据UD再找到当前的这个用户账号,然后找到这个用户的账号的这个数据,之后呢,我们再去设置它的值啊,设置一个是AMO unt,这个是余额,然后余额呢,等于我们传进来,就原始的余额加上对传进来的这个余额,然后传进来这个余额呢,就是among,对不对啊,然后接下来冻结金额,冻结金额呢,也是。
10:36
对,一样的,你要动多少吧,就是原始的冻结金额,然后呢,再加上冻结金额,新增的冻结,所以呢,它这个地方的冻结金额就这看看是不叫free amount,我后更新的是这这个字段,Free amount等于原来的冻结金额,然后再加上新增的冻结金额,新增的冻结金额我们定义成这个可讲吗?好,那这块呢,就是我们的整个的一个SQL语句了啊,然后呢,嗯,所以呢,这个呃肯呃麦写完了之后呢,我们就可以在我们的service层呢,对这个账户处理的这个整个的流程呢进行调用了,那么调用的过程呢,我们可以嗯,就是调用一下刚才讲那个map,因为这是user看map,这个是user看直接base map base map点刚才我。
11:36
我们写的那个方法呢,叫叫什么update account对吧?Update account,然后接下来呢,Update account这块呢,它接收三个参数啊,这三个参数呢,第一个是我们的八后的,第二个是我们的充值金额,第三个是冻结金额,现在我们唯一能直接拿到的就是冻结金额new这个DECSIM,呃,零是吧,冻结零块钱啊,因为这此轮操作没有冻结,只有充值,然后呢,接下来呢,我们把充值金额和user办拿出来,充值金额和user bank在哪拿,是不是在map里面拿好,那从map里面呢,我们获取到对get get出扣,这个扣的是什么?是不是文档当中给咱们这个扣的啊,通过它来取,通过它来取的话呢,那我们根据文档当中的提示,我们要把它改成这样的,对吧?现在我们认识了汇付宝当中的代码,其实你通。
12:36
汇报到时你看一下啊,他汇报他组织代码的时候,他是不是这样组织的,那所以我们才这么去,就为啥时要改成这样,因为他这个这么组织的对吧?啊然后呢,组织完这个班后了之后呢,我们再组织这个啊与就是这个充值金额,所以呢,这边呢,我们再把这个充值金额那给他汇取出来啊,然后这边呢,我们就直接啊。
13:01
你看一下我这面的数据类型是这个,其实嗯,我我看一下这边它是怎么传回来的哈,这个单词它其实突过网格传过来之后,我们给它转成这个单词猫也行,但是转成string其实也可以啊,因为这面new有贝个单词的时候,它里面既可以直接接收一个这个单丝毛,又可以接收一个死准对吧,你先转一下四准单的cold,然后这块呢,我们给它转成string对吧?啊,然后这块呢,我们也直接给它转成string,这个代词母还得给它转成string,再背代词母,那叫做chart AMT,它的T等于,然后呢,它它呢可以给它转成string。然后你要想把它弄成贝个戴,再扭一下就行了,扭一下这个单,然后呢,这块呢就插在AMT好,然后接下来前面这个就搬的扣好,这样的话呢,我们这个账户的处理就做完了好,账户处理做完了之后呢,接下来呢,我们就可以进行流水的交易,流水的一个中间了,我们先来去测一下这个账户处理,那这块如果处理完了正常话,Sus先把它绑着好,然后呢,接下来呢,我们把这个重新启动一下。
我来说两句