在電商場(chǎng)景下,拼團(tuán)訂單的庫(kù)存應(yīng)該如何處理呢?庫(kù)存鎖定的邏輯又是什么?本文作者對(duì)拼團(tuán)訂單的庫(kù)存邏輯進(jìn)行了解讀,一起來(lái)看一下吧。

- 庫(kù)存如何處理?庫(kù)存鎖定的邏輯是什么?
- 拼團(tuán)中用戶取消/退款的邏輯怎么做?
- 創(chuàng)建拼團(tuán)活動(dòng)時(shí)候,是否要限制商品呢?
- 同一個(gè)用戶同一個(gè)團(tuán),可以購(gòu)買(mǎi)幾次,參幾次團(tuán)?
- 修改商品信息,上下架,庫(kù)存等,拼團(tuán)活動(dòng)如何處理?
- 拼團(tuán)活動(dòng)中,活動(dòng)是否可編輯,活動(dòng) 名、描述、時(shí)間等?
- 拼團(tuán)活動(dòng)商品到期下架,但團(tuán)訂單未到結(jié)束時(shí)間還在拼團(tuán)中,如何處理?
- ……
一、銷(xiāo)售庫(kù)存基本概念
在電商產(chǎn)品的庫(kù)存邏輯中,常將庫(kù)存分為銷(xiāo)售層、調(diào)度層和倉(cāng)庫(kù)層。 而商品拼團(tuán)活動(dòng)的邏輯主要考慮商品是否可以售賣(mài)、是否可以下單所以和銷(xiāo)售層銷(xiāo)售庫(kù)存有關(guān)。 在做商品管理時(shí),要使前端庫(kù)存和實(shí)際銷(xiāo)售的庫(kù)存一致。 而調(diào)度層和倉(cāng)庫(kù)層是涉及到實(shí)物的倉(cāng)庫(kù)發(fā)貨,是底層庫(kù)存邏輯,與拼團(tuán)邏輯耦合性比較低,暫不討論。 在銷(xiāo)售層我們首先明確一個(gè)公式: 剩余銷(xiāo)售總庫(kù)存=可銷(xiāo)售庫(kù)存+鎖定庫(kù)存 可銷(xiāo)售庫(kù)存:所有用戶實(shí)際可以購(gòu)買(mǎi)的最大數(shù)量; 鎖定庫(kù)存:當(dāng)用戶提交訂單后支付前 的臨時(shí)庫(kù)存狀態(tài),為了保證該用戶下單支付后能正常發(fā)貨。 在拼團(tuán)活動(dòng)拼團(tuán)訂單的場(chǎng)景下,此公式需要延伸成: 銷(xiāo)售總庫(kù)存=可銷(xiāo)售庫(kù)存(活動(dòng)可銷(xiāo)售庫(kù)存+非活動(dòng)可銷(xiāo)售庫(kù)存)+商品鎖定庫(kù)存(活動(dòng)鎖定庫(kù)存+非活動(dòng)鎖定庫(kù)存) 活動(dòng)庫(kù)存:控制參與拼團(tuán)活動(dòng)的商品數(shù)量,當(dāng)活動(dòng)可銷(xiāo)售庫(kù)存為0時(shí),前端詳情頁(yè)暫停拼團(tuán)活動(dòng),調(diào)整為正常售賣(mài)的價(jià)格。 活動(dòng)鎖定庫(kù)存:以當(dāng)團(tuán)長(zhǎng)發(fā)起拼團(tuán)后,需鎖定相應(yīng)拼團(tuán)人數(shù)的庫(kù)存,防止當(dāng)前拼團(tuán)的其他用戶支付后沒(méi)有庫(kù)存導(dǎo)致無(wú)法發(fā)貨。 拼團(tuán)活動(dòng)除了物理的并發(fā)以外,還有等待拼團(tuán)過(guò)程中的邏輯上的并發(fā)情況,鎖定庫(kù)存能夠防止出現(xiàn)商品超賣(mài)的情況。二、拼團(tuán)銷(xiāo)售庫(kù)存邏輯
下面我們來(lái)看,以拼團(tuán)訂單需3人拼成為例,拼團(tuán)訂單下單時(shí)團(tuán)長(zhǎng)和參與者的庫(kù)存扣減和返還邏輯 如圖所示:(一步一步看,不復(fù)雜~)
三、關(guān)鍵節(jié)點(diǎn)分析
1. 判斷活動(dòng)可銷(xiāo)售庫(kù)存是否大于拼團(tuán)人數(shù)上限
我們知道在做拼團(tuán)活動(dòng)時(shí),是為了通過(guò)低價(jià)獲取用戶和銷(xiāo)量,所以為了控制拼團(tuán)商品的銷(xiāo)售上限則需要單獨(dú)設(shè)置一個(gè)拼團(tuán)活動(dòng)的可銷(xiāo)售庫(kù)存。 團(tuán)長(zhǎng)發(fā)起拼團(tuán)過(guò)程中,只有當(dāng)前拼團(tuán)商品可銷(xiāo)售庫(kù)存大于拼團(tuán)人數(shù)上限時(shí),當(dāng)前訂單才能成團(tuán)。2. 提交訂單
團(tuán)購(gòu)發(fā)起者(團(tuán)長(zhǎng))和參與者(團(tuán)員)提交訂單后的處理邏輯是不一樣的,我們看一下為什么不一樣。 1)團(tuán)長(zhǎng) 團(tuán)長(zhǎng)發(fā)起訂單后,需要扣減當(dāng)前可參與拼團(tuán)人數(shù)(3人)的可銷(xiāo)售庫(kù)存并鎖定庫(kù)存。 扣減可銷(xiāo)售庫(kù)存可以讓其他用戶繼續(xù)正常參與團(tuán)購(gòu); 鎖定活動(dòng)庫(kù)存為了當(dāng)前拼團(tuán)能夠成團(tuán)。 2)參與者 由于團(tuán)長(zhǎng)提交訂單時(shí)已經(jīng)扣減了活動(dòng)可銷(xiāo)售庫(kù)存,保證了當(dāng)前訂單的庫(kù)存數(shù)量,所以參與則提交訂單后不用重復(fù)扣減可銷(xiāo)售庫(kù)存。 參與者只需要解鎖當(dāng)前團(tuán)購(gòu)的鎖定庫(kù)存即可。3. 支付訂單
1)團(tuán)長(zhǎng) 團(tuán)長(zhǎng)支付后,為自己解鎖鎖定的庫(kù)存,所以鎖定庫(kù)存-1; 同時(shí)確定他完成了下單流程,等待成團(tuán)發(fā)貨就可以了,所以銷(xiāo)售總庫(kù)存-1。 2)參與者 參與者在支付前已經(jīng)將鎖定的庫(kù)存解鎖,支付后也確定完成了下單流程,等待成團(tuán)發(fā)貨即可,也是銷(xiāo)售總庫(kù)存-1。4. 參與者的當(dāng)前訂單的已鎖定庫(kù)存是否>0
這點(diǎn)可能有點(diǎn)讓人不能理解:參與者提交訂單時(shí),為什么先對(duì)當(dāng)前訂單鎖定的庫(kù)存數(shù)量判斷呢? 有一種場(chǎng)景就是當(dāng)前拼團(tuán)還剩最后一個(gè)位置,A用戶準(zhǔn)備下單參與拼團(tuán)時(shí),剛好來(lái)了個(gè)用戶B提交了訂單,盡管其他用戶B此時(shí)還未支付,那么A則不能繼續(xù)下單。 考慮到拼團(tuán)的目的是為了獲取新用戶,新用戶在下單到支付的過(guò)程中除了跳轉(zhuǎn)到第三方支付以外就是綁定銀行卡支付了。 為了避免出現(xiàn)用戶在綁定完銀行卡或者完成其他操作后,無(wú)法參與拼團(tuán),被別人先拼上了的場(chǎng)景, 則要先對(duì)當(dāng)前訂單鎖定的庫(kù)存數(shù)量進(jìn)行判斷,生成訂單后繼續(xù)減鎖定庫(kù)存。四、總結(jié)
我們把拼團(tuán)的庫(kù)存邏輯完全拆解清楚后,所有相關(guān)庫(kù)存的問(wèn)題也就迎刃而解了。 重要的關(guān)系公式: 重要庫(kù)存扣減和返還節(jié)點(diǎn):- 判斷活動(dòng)可銷(xiāo)售庫(kù)存是否大于拼團(tuán)人數(shù)上限
- 提交訂單
- 支付訂單
- 判斷參與者的當(dāng)前訂單的已鎖定庫(kù)存是否>0
聲明:本文由網(wǎng)站用戶香香發(fā)表,超夢(mèng)電商平臺(tái)僅提供信息存儲(chǔ)服務(wù),版權(quán)歸原作者所有。若發(fā)現(xiàn)本站文章存在版權(quán)問(wèn)題,如發(fā)現(xiàn)文章、圖片等侵權(quán)行為,請(qǐng)聯(lián)系我們刪除。