在前面的章節中我們已經完成了所有的工具類的編寫,今天我們來實現下單流程的代碼實現,首先因為前面我們進行了路由攔截器的開發 所以我們因為是在開發測試階段沒必要進行路由攔截 所以呢 就先放行,因為我們路由攔截器當中之前攔截的是/user/api/v1/*/**路徑 所以這次控制器我們就先去掉user
###
第一步:在前面的《訂單的增刪改查Dao層編寫》這一章節我們已經完成了訂單的增刪改查操作 屬于mapper層
###
第二步:在剛開始的時候我們通過代碼生成工具也已經生成好了VideoOrder訂單類,但是我們有可能會對訂單進行擴展,所以在dto層我們創建一個視頻訂單的擴展類VideoOrderDto.java
###

###
第三步:因為在統一下單的時候需要拿到請求用戶的真實ip地址 所以我們還得要封裝一個獲取用戶真實IP地址的工具類
###

###
第四步:控制器的編寫
###


###
第五步:service層編寫
###

###

###

###

###
統一下單的時候用到的字段需要根據微信官網文檔提供的來設置 地址如下:
https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=9_1
###

###
第六步:在第五步的時候我們截圖當中也提到了 需要配置微信支付的配置信息
###

###
不要忘記在配置文件當中寫入商戶號ID以及支付key和對應的微信支付回調地址

###
最后你會發現我們打印了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
###

###
只要校驗通過了之后那么微信支付也就完成了80%的功能了
###
- springboot2項目創建
- 分層分包以及資源文件的創建
- Mysql逆向工程效率神器創建domain實體類(DAO層)
- application.properties配置文件自動映射到實體類
- 通過junit單元測試配置文件自動映射到實體類
- 整合Mybatis訪問數據庫和阿里巴巴數據源
- 增刪改查步驟以及細節記錄
- 控制器請求參數的傳遞
- mybatis當中的動態sql語句創建和使用套路
- mybatis當中的分頁插件的使用
- springboot2當中jwt的使用
- 增加統一響應結果類
- 微信登錄之微信開放平臺介紹
- 網站應用微信登錄時序圖解釋說明
- 獲取微信開放平臺掃碼鏈接URL地址
- HttpClient4.x工具獲取使用以及Get和Post模擬請求類編寫
- 配置內網穿透讓微信服務器可以回調到開發環境地址
- 獲取微信access_token以及openid進而獲取用戶信息
- 保存微信用戶信息的注意點
- 保存完微信用戶信息之后生成jwt返回前端
- springboot2登陸攔截器
- 微信支付前期資料說明
- 訂單的增刪改查Dao層編寫
- 單元測試的實現步驟
- UUID生成和MD5加密工具類編寫
- xml轉map map轉xml以及簽名sign算法工具類
- 下單生成sign簽名以及xml整體流程代碼實現一
- 調用微信統一下單接口獲取相應map拿到二維碼地址
- 二維碼地址轉換為圖片讓用戶掃碼支付
- 微信回調處理之更新訂單狀態和冪等性講解
- springboot當中開啟事務
- 定義全局異常類
- 項目當中Logback或者log4j增加打點日志
- 前后端聯調注意事項
- springboot當中解決跨域問題
- 打包以及后臺運行以及前端部署
- 多節點集群部署