企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
在前面的章节中我们已经完成了所有的工具类的编写,今天我们来实现下单流程的代码实现,首先因为前面我们进行了路由拦截器的开发 所以我们因为是在开发测试阶段没必要进行路由拦截 所以呢 就先放行,因为我们路由拦截器当中之前拦截的是/user/api/v1/*/**路径 所以这次控制器我们就先去掉user ### 第一步:在前面的《订单的增删改查Dao层编写》这一章节我们已经完成了订单的增删改查操作 属于mapper层 ### 第二步:在刚开始的时候我们通过代码生成工具也已经生成好了VideoOrder订单类,但是我们有可能会对订单进行扩展,所以在dto层我们创建一个视频订单的扩展类VideoOrderDto.java ### ![](https://img.kancloud.cn/3d/00/3d0035ceea8d1aaaeb5d1ce819d3251c_1844x1800.png) ### 第三步:因为在统一下单的时候需要拿到请求用户的真实ip地址 所以我们还得要封装一个获取用户真实IP地址的工具类 ### ![](https://img.kancloud.cn/af/af/afaf6b76780996b1e15e369d7186fbd3_3230x1858.png) ### 第四步:控制器的编写 ### ![](https://img.kancloud.cn/20/af/20af724e5c13af074213195ca5ef35f3_3270x1760.png) ![](https://img.kancloud.cn/ff/cf/ffcfcb352c8daddd02ce7f80bfabe9d7_3270x1008.png) ### 第五步:service层编写 ### ![](https://img.kancloud.cn/fd/5f/fd5f3d9b2847654773c2efb6f823f70b_2712x1336.png) ### ![](https://img.kancloud.cn/2f/99/2f99d3b353946c90aaa0c02e0381c702_3072x1860.png) ### ![](https://img.kancloud.cn/09/69/0969cf837e53843244cd84bbfbef3c33_1894x1782.png) ### ![](https://img.kancloud.cn/32/25/32250dab22eff4060895acd5d40d442a_2112x1946.png) ### 统一下单的时候用到的字段需要根据微信官网文档提供的来设置 地址如下: https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=9_1 ### ![](https://img.kancloud.cn/2a/31/2a3178881dd5ac1382e693d8e9e22a7b_1469x979.png) ### 第六步:在第五步的时候我们截图当中也提到了 需要配置微信支付的配置信息 ### ![](https://img.kancloud.cn/aa/16/aa16ba3971f844193205c781502396ab_2794x1758.png) ### 不要忘记在配置文件当中写入商户号ID以及支付key和对应的微信支付回调地址 ![](https://img.kancloud.cn/bf/98/bf98c12c990ce140a98454578fd004ad_2514x1828.png) ### 最后你会发现我们打印了sign签名以及要发送给微信的xml 这个sign就是根据生成xml的这些参数根据一定的规则转化而来 所以拿到了sign和xml之后我们就可以利用微信官方提供的工具进行校验 看我们的sign签名生成的是否正确 ### sign: 85118C91DFCB052FB02AC183BF3D57D2 <?xml version="1.0" encoding="UTF-8" standalone="no"?> <xml> <appid>wx5beac15ca207cdd40c</appid> <body>高级教程666</body> <mch_id>1503808832</mch_id> <nonce_str>b11446ae6fc14ddb89c9bc5fa291dc43</nonce_str> <notify_url>16web.tunnel.qydev.com/pub/api/v1/wechat/order/callback1</notify_url> <out_trade_no>2a273e4b9f8c453380a08c7930fc3b6b</out_trade_no> <sign>85118C91DFCB052FB02AC183BF3D57D2</sign> <spbill_create_ip>0:0:0:0:0:0:0:1</spbill_create_ip> <total_fee>500</total_fee> <trade_type>NATIVE</trade_type> </xml> 校验工具地址https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=20_1 ### ![](https://img.kancloud.cn/f5/b8/f5b89ac0d825d1c8ebf00576ca63588c_1469x999.png) ### 只要校验通过了之后那么微信支付也就完成了80%的功能了 ###