電子商務(wù)(電銷)平臺(tái)中訂單模塊(Order)數(shù)據(jù)庫(kù)設(shè)計(jì)明細(xì) - sochishun - 博客園
訂單表 (order)
|-- 自動(dòng)編號(hào)(order_id, 自增長(zhǎng)主鍵)
|-- 訂單單號(hào)(order_no, 唯一值,供客戶查詢)
|-- 商店編號(hào)(shop_id, 商店表自動(dòng)編號(hào))
|-- 訂單狀態(tài) (order_status,未付款,已付款,已發(fā)貨,已簽收,退貨申請(qǐng),退貨中,已退貨,取消交易)
|-- 商品數(shù)量 (product_count, 商品項(xiàng)目數(shù)量赚导,不是商品)
|-- 商品總價(jià) (product_amount_total)
|-- 訂單金額 (order_amount_total茬缩,實(shí)際付款金額)
|-- 運(yùn)費(fèi)金額 (logistics_fee)
|-- 是否開(kāi)箱驗(yàn)貨 (is_unpacking_inspection)
|-- 是否開(kāi)票(是否開(kāi)具發(fā)票)
|-- 發(fā)票編號(hào) (訂單發(fā)票表自動(dòng)編號(hào))
|-- 收貨地址編號(hào) (address_id, 收貨地址表自動(dòng)編號(hào))
|-- 訂單物流編號(hào) (orderlogistics_id, 訂單物流表自動(dòng)編號(hào))
|-- 訂單支付渠道 (pay_channel)
|-- 訂單支付單號(hào) (out_trade_no/escrow_trade_no,第三方支付流水號(hào))
|-- 創(chuàng)建時(shí)間 (下單時(shí)間)
|-- 付款時(shí)間
|-- 發(fā)貨時(shí)間
|-- 客戶編號(hào) (user_id,用戶表自動(dòng)編號(hào))
|-- 客戶備注
|-- 訂單結(jié)算狀態(tài) (order_settlement_status吼旧,貨到付款凰锡、分期付款會(huì)用到)
|-- 訂單結(jié)算時(shí)間 (order_settlement_time)
訂單發(fā)票表 (order_invoice)
|-- 自動(dòng)編號(hào) (invoice_id)
|-- 訂單編號(hào) (order_id)
|-- 是否增值稅發(fā)票 (is_vat, 普通發(fā)票,增值發(fā)票)
|-- 發(fā)票抬頭名稱 (invoice_title)
|-- 發(fā)票抬頭內(nèi)容 (invoice_content)
|-- 發(fā)票金額 (invoice_amount)
|-- 發(fā)票稅號(hào) (invoice_tax_no)
|-- 開(kāi)票稅金 (invoice_tax)
|-- 公司名稱[增值稅] (vat_company_name)
|-- 公司地址[增值稅] (vat_company_address)
|-- 聯(lián)系電話[增值稅] (vat_telphone)
|-- 開(kāi)戶銀行[增值稅] (vat_bank_name)
|-- 銀行帳號(hào)[增值稅] (vat_bank_account)
|-- 開(kāi)票時(shí)間 (created_time)
訂單物流表 (order_logistics)
|-- 自動(dòng)編號(hào) (orderlogistics_id)
|-- 訂單編號(hào) (order_id, 訂單表自動(dòng)編號(hào))
|-- 物流單號(hào) (express_no, 發(fā)貨快遞單號(hào))
|-- 收貨人姓名 (consignee_realname, 收貨地址表可能更新或刪除,因此要在這里記錄)
|-- 聯(lián)系電話 (consignee_telphone, 收貨地址表可能更新或刪除圈暗,因此要在這里記錄)
|-- 備用聯(lián)系電話 (consignee_telphone2, 收貨地址表可能更新或刪除掂为,因此要在這里記錄)
|-- 收貨地址 (consignee_address, 收貨地址表可能更新或刪除,因此要在這里記錄)
|-- 郵政編碼 (consignee_zip, 收貨地址表可能更新或刪除员串,因此要在這里記錄)
|-- 物流方式(logistics_type, ems, express)
|-- 物流商家編號(hào) (logistics_id勇哗,物流商家表自動(dòng)編號(hào))
|-- 物流發(fā)貨運(yùn)費(fèi) (logistics_fee,顯示給客戶的訂單運(yùn)費(fèi))
|-- 快遞代收貨款費(fèi)率 (agency_fee, 快遞公司代收貨款費(fèi)率寸齐,如貨值的2%-5%欲诺,一般月結(jié))
|-- 物流成本金額 (delivery_amount, 實(shí)際支付給物流公司的金額)
|-- 物流狀態(tài) (orderlogistics_status)
|-- 物流結(jié)算狀態(tài) (logistics_settlement_status, 未結(jié)算,已結(jié)算,部分結(jié)算)
|-- 物流最后狀態(tài)描述 (logistics_result_last)
|-- 物流描述 (logistics_result)
|-- 發(fā)貨時(shí)間 (logistics_create_time)
|-- 物流更新時(shí)間 (logistics_update_time)
|-- 物流結(jié)算時(shí)間 (logistics_settlement_time)
|-- 物流支付渠道
|-- 物流支付單號(hào)
|-- 物流公司已對(duì)賬狀態(tài) (reconciliation_status抄谐,已對(duì)賬,未對(duì)賬)
|-- 物流公司對(duì)賬日期 (reconciliation_time)
設(shè)計(jì)說(shuō)明:收貨地址可能被修改、刪除等扰法,因此這里要記錄發(fā)貨時(shí)用戶的收貨地址蛹含,這樣就算后來(lái)收貨地址被刪除了,用戶在查看歷史訂單的時(shí)候也依然能看到收貨地址的快照信息塞颁。
訂單退貨表 (order_returns)
|-- 自動(dòng)編號(hào) (order_returns_id)
|-- 退貨編號(hào) (returns_no浦箱,供客戶查詢)
|-- 訂單編號(hào) (order_id, 訂單表自動(dòng)編號(hào))
|-- 物流單號(hào) (express_no, 退貨物流單號(hào))
|-- 收貨人姓名 (consignee_realname)
|-- 聯(lián)系電話 (consignee_telphone)
|-- 備用聯(lián)系電話 (consignee_telphone2)
|-- 收貨地址 (consignee_address)
|-- 郵政編碼 (consignee_zip)
|-- 物流方式(logistics_type, ems, express)
|-- 物流商家編號(hào)
|-- 物流發(fā)貨運(yùn)費(fèi) (logistics_fee,退貨運(yùn)費(fèi))
|-- 物流狀態(tài) (orderlogistics_status)
|-- 物流最后狀態(tài)描述
|-- 物流描述
|-- 物流更新時(shí)間
|-- 物流發(fā)貨時(shí)間
|-- 退貨類型 (returns_type, 全部退單,部分退單)
|-- 退貨處理方式 (handling_way, PUPAWAY:退貨入庫(kù);REDELIVERY:重新發(fā)貨;RECLAIM-REDELIVERY:不要求歸還并重新發(fā)貨; REFUND:退款; COMPENSATION:不退貨并賠償)
|-- 退款金額 (returns_amount)
|-- 退貨銷售員承擔(dān)的費(fèi)用 (seller_punish_fee)
|-- 退貨申請(qǐng)時(shí)間 (return_submit_time)
|-- 退貨處理時(shí)間 (handling_time)
|-- 退貨原因
設(shè)計(jì)說(shuō)明:退貨可能被修改祠锣、刪除等酷窥,因此這里要記錄退貨時(shí)商家的退貨地址信息,
訂單商品詳情表 (order_detail)
|-- 自動(dòng)編號(hào)
|-- 訂單編號(hào)
|-- 商品編號(hào)
|-- 商品名稱 (product_name, 商品可能刪除,所以這里要記錄锤岸,不能直接讀商品表)
|-- 商品價(jià)格 (product_price, 商品可能刪除,所以這里要記錄)
|-- 商品型號(hào) (product_marque竖幔,前臺(tái)展示給客戶)
|-- 商品條碼 (product_store_barcode, 商品倉(cāng)庫(kù)條碼)
|-- 商品型號(hào)信息 (product_mode_desc,記錄詳細(xì)商品型號(hào)是偷,如顏色、規(guī)格募逞、包裝等)
|-- 商品型號(hào)參數(shù) (product_mode_params, JSON格式蛋铆,記錄單位編號(hào)、顏色編號(hào)放接、規(guī)格編號(hào)等)
|-- 折扣比例 (discount_rate 打幾折)
|-- 折扣金額 (discount_amount)
|-- 購(gòu)買數(shù)量 (number)
|-- 小計(jì)金額 (subtotal)
|-- 商品是否有效 (is_product_exists)
|-- 客戶商品備注 (remark)
設(shè)計(jì)說(shuō)明:商品可能被修改刺啦、刪除等,因此這里要記錄下單時(shí)用戶關(guān)注的商品交易摘要信息纠脾,如價(jià)格玛瘸、數(shù)量、型號(hào)苟蹈、型號(hào)參數(shù)等。這樣就算后來(lái)商品被刪除了,用戶在查看歷史訂單的時(shí)候也依然能看到商品的快照信息溉苛。
收貨地址表 (delivery_address)
|-- 自動(dòng)編號(hào) (address_id)
|-- 用戶編號(hào) (user_id, 用戶表自動(dòng)編號(hào))
|-- 收件人姓名 (realname)
|-- 聯(lián)系電話 (telphone)
|-- 備用聯(lián)系電話 (telphone2)
|-- 國(guó)家 (country)
|-- 省份 (province)
|-- 城市 (city)
|-- 地區(qū) (area)
|-- 街道/詳細(xì)收貨地址 (street)
|-- 郵政編碼 (zip)
|-- 是否默認(rèn)收貨地址 (is_default_address)
|-- 創(chuàng)建時(shí)間 (created_time)
購(gòu)物車表 (shoppingcart)
|-- 自動(dòng)編號(hào) (id)
|-- 用戶編號(hào) (user_id)
|-- 商店編號(hào) (shop_id)
|-- 商品編號(hào) (product_id)
|-- 是否有效 (is_product_exists)
|-- 購(gòu)買數(shù)量 (number)
|-- 創(chuàng)建時(shí)間 (created_time)
設(shè)計(jì)說(shuō)明:商品價(jià)格和小計(jì)金額是要通過(guò)實(shí)時(shí)關(guān)聯(lián)商品表來(lái)讀取和計(jì)算仅炊,因?yàn)樯虘艨赡軙?huì)更改商品價(jià)格,或者商品已售罄菱鸥,或者商品已下架等宗兼,因此這里只需要記錄商品id就可以,商品價(jià)格等要實(shí)時(shí)從商品表讀取氮采。
===============================用于電話營(yíng)銷的訂單模塊的擴(kuò)展設(shè)計(jì)======================================
訂單業(yè)務(wù)審核流程表 (order_auditbiz)
|-- 自動(dòng)編號(hào) (order_auditbiz_id)
|-- 訂單編號(hào) (order_id)
|-- 訂單狀態(tài) (0:未審核或發(fā)起交易;1:交易完成;20:核單通過(guò);24:核單失敗;30:已發(fā)貨;未簽收;34:倉(cāng)庫(kù)退回;40:座席取消;41:買家取消;42:逾期取消;43:訂單無(wú)效取消;50:客戶簽收;54:客戶拒簽;55:客戶退貨)
|-- 銷售員直接確認(rèn)訂單(不需要訂單審核員確認(rèn)殷绍,直接強(qiáng)制審核通過(guò),如客戶退貨則銷售員必須承擔(dān)退貨運(yùn)費(fèi)) (is_seller_risk_confirm)
|-- 訂單退貨,銷售員是否承擔(dān)運(yùn)費(fèi) (is_seller_punish
_logistics_fee)
|-- 銷售員是否提成 (is_seller_commission)
|-- 銷售員提成比例 (seller_commission_rate, 無(wú)提成則填0)
|-- 銷售員提成金額 (seller_commission_amount)
|-- 銷售員訂單備注(seller_remark鹊漠,給訂單審核員看的備注)
|-- 訂單審核員訂單備注 (confirmer_remark主到,給倉(cāng)管看的備注)
|-- 倉(cāng)管備注(storekeeper_returnback_remark殖侵,倉(cāng)管退給訂單審核員看的備注)
|-- 財(cái)務(wù)備注 (cashier_remark, 財(cái)務(wù)給銷售員看的備注)
|-- 銷售員用戶編號(hào) (seller_uid)
|-- 訂單審核員用戶編號(hào) (auditor_uid)
|-- 收款人用戶編號(hào) (cashier_uid,收款人不一定是財(cái)務(wù))
|-- 財(cái)務(wù)用戶編號(hào) (accountant_uid, 財(cái)務(wù)人員用戶編號(hào))
|-- 訂單來(lái)源 (order_source, 銷售下單,內(nèi)部購(gòu)買)
|-- 訂單審核員審核時(shí)間 (auditor_audited_time)
|-- 倉(cāng)管員審核時(shí)間 (storekeeper_audited_time)
|-- 財(cái)務(wù)審核時(shí)間 (accountant_audited_time)
訂單提成表 (order_commission)
|-- 自動(dòng)編號(hào) (order_commission_id)
|-- 訂單編號(hào) (order_id)
|-- 銷售員用戶編號(hào) (seller_uid)
|-- 提成金額 (commission_amount)
|-- 結(jié)算狀態(tài) (settlement_status)
|-- 結(jié)算時(shí)間 (settlement_time)
|-- 財(cái)務(wù)人員用戶編號(hào) (cashier_uid)
訂單調(diào)度表 (order_dispatch)
|-- 自動(dòng)編號(hào)
|-- 訂單編號(hào)
|-- 被調(diào)度的營(yíng)銷人員用戶編號(hào) (from_seller_uid)
|-- 營(yíng)銷人員用戶編號(hào) (to_seller_uid)
|-- 調(diào)度原因 (dispatch_reason)
|-- 調(diào)度管理員 (diapatch_admin_uid)
|-- 調(diào)度日期 (created_time)
數(shù)據(jù)庫(kù)設(shè)計(jì)原則是:
1. 為提高讀的性能镰烧,盡可能把寫(xiě)的操作拆分到另一張表拢军,因?yàn)閷?duì)表的更新操作會(huì)導(dǎo)致鎖表,會(huì)降低數(shù)據(jù)表的讀取的性能怔鳖。
2. 交易時(shí)一些關(guān)聯(lián)信息可能在后來(lái)會(huì)被修改或刪除茉唉,如商品、收貨地址等结执,因此要在訂單中記錄交易時(shí)的商品信息和收貨地址度陆,一邊后來(lái)商品或收貨地址被刪除的時(shí)候,依然能在歷史訂單中看到快照信息献幔。
3. 不要怕拆分成很多表懂傀,讀的時(shí)候多張表關(guān)聯(lián)讀取,會(huì)比讀取一張字段非常多的數(shù)據(jù)量龐大的表效率高很多蜡感。