商城項目中,之前我們介紹了購物車功能模塊的實現(xiàn),商品加入到購物車之后,就是到購物車結算,然后顯示購物車的商品列表,點擊去結算,然后到了未提交前的訂單列表,點擊提交訂單后,生成此訂單,返回訂單的訂單號,付款金額,訂單預計到達時間。
訂單系統(tǒng)是一個非常重要的系統(tǒng),我們的移動端、PC端都需要訂單系統(tǒng),所以這里我們將訂單系統(tǒng)單獨作為一個服務來,留出接口供客戶單來調(diào)用 (推薦學習:PHP視頻教程)
今天我們來看下這個訂單系統(tǒng)到底是如何實現(xiàn)的:
訂單系統(tǒng)功能
訂單系統(tǒng)主要包含哪些功能模塊呢?
創(chuàng)建訂單功能、查看訂單列表、根據(jù)訂單id查詢訂單的詳細信息、訂單修改、訂單取消、訂單狀態(tài)、訂單評價等功能的實現(xiàn)。
今天我們來看下創(chuàng)建訂單的流程:
訂單系統(tǒng)的數(shù)據(jù)庫表的設計
創(chuàng)建訂單說到底就是向訂單表中添加數(shù)據(jù),即insert這些信息。
下單功能一定要使用關系型數(shù)據(jù)庫表,保證數(shù)據(jù)的一致性,因為創(chuàng)建訂單要保證在一個事務(一個事務就是指向數(shù)據(jù)庫中進行的一種操作:比如插入,刪除等等)里面,nosql數(shù)據(jù)庫不支持事務,可能會丟失數(shù)據(jù)。
我們在網(wǎng)上購物的時候通常這個訂單包含的信息比較多,所以對于訂單系統(tǒng)如何創(chuàng)建它的數(shù)據(jù)庫也是非常重要的。創(chuàng)建數(shù)據(jù)庫遵循數(shù)據(jù)庫設計的三大范式原則來設計。