業(yè)務(wù)梳理-電商-B2C訂單設(shè)計(jì)方案

Java工程師知識(shí)樹


一、訂單是什么

訂單的本意是指你購(gòu)買商品之后生成的單據(jù)憑證,只是在電商中,它是虛擬的。

主流的下單方式

整個(gè)電商體系中常見的下單方式有2種,購(gòu)物車下單直接下單

淘寶稱之為購(gòu)物車結(jié)算和立即購(gòu)買,正常情況下你可以任選一種去購(gòu)物。但是在秒殺之類的特殊場(chǎng)景中,只支持直接下單。

京東也稱之為購(gòu)物車結(jié)算和立即購(gòu)買,不同的是,正常情況下你必須通過(guò)購(gòu)物車去結(jié)算,秒殺情況下你可以選擇立即購(gòu)買和購(gòu)物車結(jié)算。

訂單的類型

由于不同的下單方式,其實(shí)導(dǎo)致訂單的類型有2種。

簡(jiǎn)單來(lái)說(shuō)購(gòu)物車結(jié)算的訂單肯定包含了基于sku不同的多個(gè)子訂單,而每個(gè)子訂單包含n件同一sku。而立即購(gòu)買的訂單是包含n件同一sku。

然后淘寶的PM因?yàn)楹罄m(xù)增加了購(gòu)物車結(jié)算這一下單方式,而不得不想出一套規(guī)則,那就是父訂單和子訂單。當(dāng)然還有很多其他原因。

此次購(gòu)物,整體稱之為交易,生成了一個(gè)父訂單號(hào)。如果它是購(gòu)物車結(jié)算,那么有N個(gè)子訂單。如果他是立即購(gòu)買,那么只有1個(gè)子訂單。

從技術(shù)角度來(lái)定義,那就是trade稱為父訂單,order稱為子訂單,或者說(shuō)trade是一筆交易單,子訂單是每筆交易中的商品明細(xì)單,trade與order可以是一對(duì)多的關(guān)系,trade是由使用購(gòu)物車生成。

當(dāng)一筆交易只有一個(gè)子訂單,那么tid=oid,這個(gè)時(shí)候主要看trade結(jié)構(gòu)體里面的內(nèi)容,當(dāng)一筆交易有多筆子訂單(類似于購(gòu)物車購(gòu)買方式),那么tid=oid,這個(gè)時(shí)候主要看order結(jié)構(gòu)體里面的內(nèi)容。

二、訂單的邏輯拆分

根據(jù)以上的規(guī)則,訂單邏輯上面應(yīng)該按照這樣的方式來(lái)拆分。

基于這樣的設(shè)計(jì)方式,才可以去支持退款退貨,以及設(shè)計(jì)活動(dòng)、優(yōu)惠券等營(yíng)銷功能。

三、訂單的金額拆分

進(jìn)而得到訂單的金額是如何拆分的,其中營(yíng)銷得來(lái)的優(yōu)惠拆分到每一個(gè)子訂單,以及每一個(gè)sku的實(shí)際支付單價(jià)。

四、訂單狀態(tài)機(jī)

訂單的狀態(tài)是一個(gè)很復(fù)雜的事情,決定著用戶,商家的每一個(gè)操作。

不含退款退貨

如果你們的商城比較特殊,無(wú)需提供退款退貨功能,那么訂單狀態(tài)機(jī)比較簡(jiǎn)單。

包含退款退貨

那么比較復(fù)雜,相當(dāng)于多了一層狀態(tài)機(jī)。

五、總結(jié)

訂單模塊的架構(gòu)設(shè)計(jì),以上基本上把主要的內(nèi)容講了一遍。按照這樣的方式去設(shè)計(jì),至少可以兼顧大部分商城的訂單需求。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容