1. 程式人生 > >微信商城中購物車和訂單表結構設計

微信商城中購物車和訂單表結構設計

購物車的實現可以使用多種方式,主流的有以下3種:

儲存在使用者遊覽器中:如使用cookie記錄,也可以使用HTML5的本地儲存等

儲存在伺服器中:儲存在使用者會話(session)中,使用者在關閉遊覽器後儲存資訊會被銷燬

儲存在資料庫中:可以儲存在Mysql、Redis等資料庫中

下面以Mysql儲存使用者的購物車資訊,這樣使用者無論何時都可以看到自己的購物車歷史記錄。購物車表(goods_shopcar)設計見圖


表設計中關鍵欄位為uid和goods_id,可以記錄那個使用者加入了那個商品。num則記錄了某個商品的加入的數量。

既然有購物車那麼就會有支付功能,發起支付的時候需要傳送一個唯一的訂單號給微信伺服器,這樣在通知的時候才可以瞭解該修改那條訂單記錄。另外訂單的核心就是記錄那個使用者買個那些商品,並提供支付等相關的狀態管理。訂單表(db_order)設計見圖

因為使用者可以一次性購買多個商品,所以使用者訂單與商品是一對多的關係。設計的訂單商品表(order_goods)見圖

訂單表(order)只是記錄了商品的總支付金額(pay_price),所以在訂單商品表(order_goods)中設計記錄了每個商品的購買價格(goods_price),這麼做是inwei商品的價格會動態調整,而訂單需要儲存歷史價格資訊。