00:01
后面就是对结果的处理了,那么这个结果呢,官方文档给我们的例子呢,它是这样处理的哈,有一个判断叫做。响应的状态,也就是说是从response get status get code当中获到了一个响应状态,那么这个响应状态码如果是200的话,就是处理成功,如果是204的话就是处理成功,但是呢,这种响应呢,是没有返回值的,还有呢,如果既不是200也不是204的话呢,那它就报错了啊,我们来看一下它的文档。文档当中呢,在规则说明当中有一个HTTP状态码。好,这个HTP状态码表当中呢,就详细说明了,比如说如果是200,那么就是处理成功,如果是204,那么就是处理成功,但是没有返回结果啊,如果是其他的内容的话,那么就是一些失败的情况,所以呢,我们就在这个里面。
01:05
这样去直接使用它的这个判断代码进行判断就可以了,那么我们把这个内容呢,优化一下啊啊,因为这个代码用了多次,所以呢,我们把它复制出来。这个呢,是响应我们叫吧。S叫字符串形式的响应体,然后呢,我们在这面呢,加上。我们就直接使用他的这个。错误提示就好了,但是我们这个提示呢,我们用我们前面的日志来写log,第2INFO。好,这块呢,我们直接写成中文的吧,成功。
02:07
返回结果好,这面也是成功,但是呢是没有返回值的,我们也用log in。呢,我们就下单失败。响应嘛。返回结果。接下来呢,如果没有异常的话,也就是说如果处理成功,返回是200的话,那么呢,我们就需要把这个返回结果呢给他拿到了,我们使用第2FROM Jason来处理这个body as string。
03:07
阿西麦迪克拉。然后呢,我们得到一个这样的一个结果。这个呢,就是响应结果了,我们从响应结果当中呢,解析出我们的二维码。好,二维码这个。字段的名字呢,叫做。Code的URL。我们把UR呢,给它获取出来,那这个响应结果呢,因为它只有URL对吧,所以呢,我们就。
04:07
给他定义成的好,这面呢,我们就可以写成类型了。这面我也用接口的方式吧。那拿到这个二维码之后呢,我们就可以构建我们的返回结果了,那前面我们说到呢,我们这个方法的返回结果希望呢,他是扣的URL和订单号哈,那么我们这个方法主要做的呢,是创建订单调用native支付。接口。所以在最后这个地方,我们要创建刚才我们说的URL和订单号的一个返回值,那我们呢,使用一个哈希哈希map。
05:23
map.put。Code URL。Code URL。map.put。Number four.get number。最后呢,我们这个map这样呢,这个方法呢,我们就写好了。
06:03
最后呢,我们在controller这面抛出异常好。那现在呢,我们把刚才咱们写的内容看一下,那首先我们创建了一个微信controller,在这个微信controller里呢,我们调用了微信service,并且呢,在这个位置呢,我们传递了product ID作为参数,返回了我们的一个map集合,那么这个map集合里呢,它包含二维码的链接和订单号这样的两个内容,最后呢,我们把这个map集合呢反馈给前端,那么为了让这个呢回值就是这个对象,所以在这个位置我们写了一个链式操作的解。然后我们来详细的看一下我们的业务层的方法,业务层的方法当中呢,我们主要做了两件事情,第一个呢是创建订单,第二个呢是调用native支付接口。那么创建订单这块呢,我们先临时写了一个创建订单对象的这样的一个业务方法。
07:03
在这个地方呢,我们生成了订单号。设置了订单状态,设置了订单的金额,那么这个金额呢是以分为单位的,接下来呢,我们就调用了统一下单A,我们呢首先创建了HTTP对象,那么后面呢,传输的就是我们的统一下单的接口地址,然后接下来呢,我们组装了在整个的流程当中需要的参数,那因为呢参数是需要组装成Jason数据类型的,所以呢,我们用了一个Jason的一个组装工具叫Jason,那在这个过程当中呢,我们把接口文档当中对应的必要的参数都给它依次的填充好,当然这个里面还包含一个嵌套的参数啊,嵌套的Jason数据填充好之后呢,我们把参数转换成Jason字符串类型,然后通过这种方式呢,设置到我们的请求体当中,接下来呢,我们再设置我们希望得到的响应呢,也是Jason的数据类型。
08:06
然后通过execute方法,我们把请求发送出去,就得到了response这样的一个响应对象。那么从响应对象当中呢?我们解析出响应体,再解析出响应状态。这面呢是响应状态码,好,我们对响应的状态码呢进行判断,那么如果有返回结果的话呢,我们就直接对这个返回结果进行处理就好了啊,因为当前这个是一个统一下单,所以他嗯返回结果一定是200的,所以呢,如果我们可以确认我们这个是有返回结果的,我们就可以对这个返回结果呢进行解析。解析完了之后呢,我们会得到code URL这个二维码,然后最后我们把code URL这个二维码和我们的订单号呢放到一起,作为这个方法的返回值。
09:02
那我们现在呢,重新启动一下我们的应用程序。我们在。S当中测试一下它。我们打开我们的swagger。找到网站微信支付API。在这个地方呢,我们输入一个商品ID。我们找到一个商品啊,比如说ID是一。那么我们输入这个商品ID。其实目前我们还没有通过这个商品ID商品。所以随。这个ID们实有当中临时个,然后呢。
10:07
我们这面就成功的获取到了我们的code URL啊,成功的获取到了,那此时此刻呢,因为前端我们已经写好了嘛,所以呢,你把前端运行起来,前端运行起来之后呢,在我们的支付案例这面呢,我们选择一门课程之后呢,点击确认支付,你就可以看到这个支付二维码了,并且这个支付二维码呢,是可以被扫描的啊,那现在这个错误信息呢,我们还没有处理啊,这些错误信息都是他定时查询订单状态的一个错误信息,所以后期呢,我们会对这个做处理,但我们只需要关注现在的这个二维码就可以了。
我来说两句