產(chǎn)品狀態(tài)設(shè)計(jì),看這一篇就夠了
編輯導(dǎo)語(yǔ):產(chǎn)品狀態(tài)的設(shè)計(jì),聽(tīng)起來(lái)彷佛并不難,但是實(shí)際上并不簡(jiǎn)單。這里面有許多注意事項(xiàng),需要牢記才能在產(chǎn)品狀態(tài)設(shè)計(jì)中避免出錯(cuò)。在這篇文章中,作者回顧了一些基礎(chǔ)知識(shí),并且總結(jié)了設(shè)計(jì)原則和設(shè)計(jì)流程,希望能對(duì)各位讀者有幫助。
在產(chǎn)品設(shè)計(jì)中,“狀態(tài)”是非常重要的設(shè)計(jì)點(diǎn),它看起來(lái)很簡(jiǎn)單,似乎只要定義好幾個(gè)詞就夠了。
但實(shí)際上有很多注意要點(diǎn),稍不留神就會(huì)掉坑里的,所以很多同學(xué)在梳理的過(guò)程中會(huì)感覺(jué)越理越復(fù)雜、越理越混亂。
這一篇我們就來(lái)詳細(xì)聊聊產(chǎn)品狀態(tài)的設(shè)計(jì)。
一、基礎(chǔ)知識(shí)
1. 狀態(tài)的定義
狀態(tài)是什么?
狀態(tài)是對(duì)某一對(duì)象一個(gè)時(shí)間段內(nèi)業(yè)務(wù)進(jìn)展的概括性描述。
我們將這個(gè)定義分解一下:
- 某一對(duì)象:狀態(tài)是用來(lái)描述業(yè)務(wù)中一個(gè)具體對(duì)象的,每個(gè)對(duì)象的狀態(tài)是獨(dú)立的,只屬于它自己;
- 一個(gè)時(shí)間段:狀態(tài)表示的是一個(gè)時(shí)間段,而不是一個(gè)時(shí)間點(diǎn),它不是一個(gè)瞬時(shí)動(dòng)作;
- 業(yè)務(wù)進(jìn)展:狀態(tài)說(shuō)明的是對(duì)象在業(yè)務(wù)中的進(jìn)展;
- 概括性描述:狀態(tài)具有概括性,是對(duì)對(duì)象的精簡(jiǎn)描述。
例如下圖中淘寶的商品訂單狀態(tài),描述對(duì)象是商品訂單,每個(gè)狀態(tài)都會(huì)持續(xù)一段時(shí)間,這些狀態(tài)說(shuō)明的是商品訂單在流轉(zhuǎn)過(guò)程中的進(jìn)展,每個(gè)狀態(tài)的描述都非常精簡(jiǎn),格式也很統(tǒng)一。
圖1 商品訂單狀態(tài)示例
2. 狀態(tài)的三要素
狀態(tài)是由輸入條件、狀態(tài)描述、終止條件三個(gè)要素組成。
圖2 狀態(tài)三要素示例
1)輸入條件
輸入條件是進(jìn)入這個(gè)狀態(tài)的觸發(fā)開(kāi)關(guān),當(dāng)條件被滿足,就會(huì)執(zhí)行一次狀態(tài)的遷移,即進(jìn)入此狀態(tài)。如上圖中,“用戶付款成功”后,商品就會(huì)進(jìn)入【待發(fā)貨】狀態(tài),“用戶付款成功”就是【待發(fā)貨】的輸入條件。
2)狀態(tài)內(nèi)容
即這個(gè)狀態(tài)是什么。
3)終止條件
終止條件是這個(gè)狀態(tài)結(jié)束的開(kāi)關(guān),當(dāng)條件滿足時(shí),此狀態(tài)就會(huì)終止。如上圖中的“商家發(fā)貨”,就是【待發(fā)貨】狀態(tài)的終止條件。
上一狀態(tài)的終止條件,是下一狀態(tài)的輸入條件,例如下圖中“商家發(fā)貨”是【待發(fā)貨】的終止條件,是下一狀態(tài)【待收貨】的輸入條件。
圖3 終止條件與輸入條件
無(wú)論是輸入條件還是終止條件,都包含手動(dòng)和自動(dòng)兩種:
- 手動(dòng):即需要用戶手動(dòng)觸發(fā),如“商家發(fā)貨”,就需要商家手動(dòng)點(diǎn)擊“發(fā)貨”按鈕,或輸入發(fā)貨單號(hào)并手動(dòng)提交成功,系統(tǒng)才可判斷商品終止了【待發(fā)貨】狀態(tài),進(jìn)入【待收貨】;
- 自動(dòng):即無(wú)需用戶手動(dòng)操作,系統(tǒng)根據(jù)已設(shè)置好的規(guī)則,當(dāng)規(guī)則滿足后,自動(dòng)執(zhí)行狀態(tài)遷移。
這兩種類型的條件可同時(shí)存在,也可只存在其中一種。如商品從【待收貨】流轉(zhuǎn)到【待評(píng)價(jià)】狀態(tài),既可手動(dòng)觸發(fā),又有自動(dòng)觸發(fā)機(jī)制:
- 手動(dòng):用戶主動(dòng)點(diǎn)擊“確認(rèn)收貨”按鈕;
- 自動(dòng):從狀態(tài)流轉(zhuǎn)到【待收貨】起開(kāi)始計(jì)算,10天后,系統(tǒng)會(huì)自動(dòng)確認(rèn)收貨,狀態(tài)變更為【待評(píng)價(jià)】。
我們?cè)谠O(shè)計(jì)狀態(tài)流轉(zhuǎn)時(shí),會(huì)盡量減少需要用戶手動(dòng)觸發(fā)的條件,改為自動(dòng)觸發(fā),但很多時(shí)候系統(tǒng)無(wú)法做到完全自動(dòng),有些環(huán)節(jié)只能通過(guò)用戶操作來(lái)完成。
然鵝,眾所周知,用戶都是懶的,用戶都是上帝。
我們無(wú)法強(qiáng)迫每個(gè)用戶按照我們的要求去做,只要有需要手動(dòng)觸發(fā)的條件,就一定會(huì)有用戶不主動(dòng)做,這就會(huì)導(dǎo)致后續(xù)流程無(wú)法繼續(xù)進(jìn)行,所以對(duì)于狀態(tài)流轉(zhuǎn)比較重要的節(jié)點(diǎn),我們大多會(huì)采用手動(dòng)為主,自動(dòng)為輔。
的原則,即預(yù)留一定的時(shí)間等待用戶手動(dòng)操作,當(dāng)即將到達(dá)這個(gè)時(shí)間時(shí),給予一定的預(yù)警提示,如若用戶仍不操作,則在到達(dá)時(shí)間后由系統(tǒng)自動(dòng)向更為常見(jiàn)的方向執(zhí)行。
3. 狀態(tài)的作用
狀態(tài)的作用主要有三個(gè)。
1)展示進(jìn)展
向用戶展示此對(duì)象的當(dāng)前進(jìn)展,以緩解用戶的焦慮,降低內(nèi)心的不確定感,從而提升用戶體驗(yàn)。
2)便于描述
將對(duì)象不同階段進(jìn)行歸納,便于日常溝通。
3)統(tǒng)一規(guī)則
對(duì)于同一角色,一個(gè)對(duì)象在一個(gè)狀態(tài)中的規(guī)則、操作權(quán)限是相同的,不應(yīng)出現(xiàn)狀態(tài)前半段權(quán)限是A,后半段是B的情況,這一點(diǎn)無(wú)論是對(duì)用戶還是開(kāi)發(fā)都是有意義的。
4. 狀態(tài)流程
將一個(gè)對(duì)象各個(gè)狀態(tài)按時(shí)間線串聯(lián)起來(lái),得到的就是這個(gè)對(duì)象的狀態(tài)流程。
圖4 狀態(tài)流程示例
二、設(shè)計(jì)原則
1. 完整連貫
一個(gè)對(duì)象的狀態(tài)是貫穿這個(gè)對(duì)象整個(gè)生命周期的,前后兩個(gè)狀態(tài)是緊密銜接的,中間不應(yīng)出現(xiàn)任何真空時(shí)期。
圖5 完整連貫示例
2. 唯一性
唯一性是指一個(gè)對(duì)象在一個(gè)時(shí)間點(diǎn)只有一個(gè)狀態(tài),不會(huì)同時(shí)存在多種同級(jí)狀態(tài),這是很多同學(xué)在設(shè)計(jì)時(shí)沒(méi)有意識(shí)到的一點(diǎn),其中有兩個(gè)場(chǎng)景是大家容易混淆的:
1)父子狀態(tài)
一個(gè)對(duì)象有父子狀態(tài)是比較常見(jiàn)的場(chǎng)景,例如前文提到的【待收貨】,是一個(gè)比較籠統(tǒng)的父狀態(tài),它其實(shí)包含了【已攬件】、【運(yùn)輸中】、【派送中】、【待取件】多個(gè)子狀態(tài)。
圖6 待收貨的子狀態(tài)
定義父子狀態(tài)的目的,是因?yàn)橛袝r(shí)候子狀態(tài)過(guò)多,在向用戶展現(xiàn)時(shí)不方便,這時(shí)就可以將幾個(gè)相近的子狀態(tài)歸納為一個(gè)父狀態(tài),并以父狀態(tài)展示給用戶。
在這類場(chǎng)景中,有的同學(xué)可能就會(huì)認(rèn)為這個(gè)商品訂單在一個(gè)時(shí)間點(diǎn)同時(shí)有兩個(gè)狀態(tài),但實(shí)際上商品訂單是以子狀態(tài)來(lái)流轉(zhuǎn)的,所以訂單的真實(shí)狀態(tài)是子狀態(tài),父狀態(tài)只是套的一層殼。
2)多名稱
多名稱是另一個(gè)容易混淆的場(chǎng)景,因?yàn)橛械耐瑢W(xué)會(huì)把多個(gè)名稱誤以為多個(gè)狀態(tài)。
買家收到商品后,訂單就應(yīng)該從【待收貨】向下一狀態(tài)轉(zhuǎn)移,這時(shí)我們有【已收貨】、【待評(píng)價(jià)】?jī)蓚€(gè)名稱可以用,內(nèi)涵也是一樣的。在這類場(chǎng)景中,雖然叫法不同,但其實(shí)還是同一個(gè)狀態(tài)。
3. 區(qū)分視角
雖然一個(gè)對(duì)象在一個(gè)時(shí)間點(diǎn)只有一個(gè)狀態(tài),但不代表只有一個(gè)名稱。
在實(shí)際狀態(tài)設(shè)計(jì)中,為了讓不同角色的用戶更好的理解一個(gè)狀態(tài)的含義,有時(shí)即使是同一狀態(tài),針對(duì)不同角色用戶也會(huì)使用不同名稱。
4. 統(tǒng)一規(guī)則
前面提到,定義狀態(tài)很重要的一個(gè)作用是為了統(tǒng)一這個(gè)狀態(tài)下對(duì)象的規(guī)則,但要想達(dá)到這一目的,就得在設(shè)計(jì)對(duì)象狀態(tài)時(shí)遵守這一原則。
5. 粒度適中
很多同學(xué)在梳理對(duì)象狀態(tài)時(shí),隨著對(duì)流程的細(xì)化,會(huì)發(fā)現(xiàn)這些狀態(tài)越理越細(xì)、越理越多,感覺(jué)這里可以加個(gè)狀態(tài),那里也可以加個(gè)狀態(tài),最后導(dǎo)致這一對(duì)象的狀態(tài)特別多,狀態(tài)流特別復(fù)雜,徒增用戶理解和實(shí)現(xiàn)成本。
我們?cè)诙x對(duì)象狀態(tài)時(shí),在滿足前面原則的前提下,應(yīng)盡量減少引入更多的狀態(tài),控制狀態(tài)粒度。
6. 通俗易懂
狀態(tài)名稱需要精煉的表達(dá)出對(duì)象當(dāng)前階段的核心進(jìn)展,并容易被大家所理解,如果實(shí)在找不到合適的通俗易懂的詞,就要在狀態(tài)旁邊做好說(shuō)明。
7. 與業(yè)務(wù)流同向
在狀態(tài)的定義中,我們強(qiáng)調(diào)了狀態(tài)描述的是業(yè)務(wù)進(jìn)展,這里包含的另一層意思是狀態(tài)流程其實(shí)是對(duì)業(yè)務(wù)流程的概括,狀態(tài)流是在業(yè)務(wù)流程的基礎(chǔ)上總結(jié)出來(lái)的。
所以狀態(tài)流程與業(yè)務(wù)流程一定是同向的,即這個(gè)對(duì)象在業(yè)務(wù)上如何流轉(zhuǎn),它的狀態(tài)就會(huì)以同樣的方向流轉(zhuǎn)。
三、設(shè)計(jì)流程
1. 第一步:梳理操作流程
在設(shè)計(jì)原則2.7中,我介紹了狀態(tài)流程與業(yè)務(wù)流程的關(guān)系,那我們是不是有了業(yè)務(wù)流程就能梳理出狀態(tài)流程呢?
答案當(dāng)然是否定的,不然我為什么要問(wèn)呢。
業(yè)務(wù)流程之所以不能幫助我們梳理出狀態(tài)流程,是因?yàn)闃I(yè)務(wù)流程只能幫我們提煉出狀態(tài)三要素中的“狀態(tài)描述”,無(wú)法幫助我們精準(zhǔn)的確定另外兩個(gè)要素——“輸入條件”和“終止條件”。
大家都知道,在代碼實(shí)現(xiàn)中,狀態(tài)要想在系統(tǒng)中流轉(zhuǎn),需要精確的指令才能進(jìn)行下一步,這些指令就是狀態(tài)的“輸入條件”和“終止條件”,而業(yè)務(wù)流程的粒度顯然無(wú)法滿足系統(tǒng)對(duì)“精確”的要求,例如商品流轉(zhuǎn)的業(yè)務(wù)流程是:
圖7 業(yè)務(wù)流程示例
在這個(gè)流程中,系統(tǒng)無(wú)法知道什么算“商家發(fā)貨”、什么叫“物流配送”。
所以業(yè)務(wù)流程無(wú)法直接指導(dǎo)系統(tǒng)進(jìn)行狀態(tài)流轉(zhuǎn),這時(shí)就需要我們梳理出對(duì)象在系統(tǒng)中的操作流程,通過(guò)系統(tǒng)中明確的操作或業(yè)務(wù)規(guī)則來(lái)向系統(tǒng)發(fā)出精準(zhǔn)指令。
圖8 操作流程示例(過(guò)程做了大量簡(jiǎn)化)
在這個(gè)操作流程中,對(duì)于系統(tǒng)自動(dòng)處理的部分,可以通過(guò)增加一個(gè)名為“系統(tǒng)”的泳道,來(lái)體現(xiàn)系統(tǒng)自動(dòng)完成的操作。
雖然狀態(tài)流程是在操作流程的基礎(chǔ)上梳理的,但操作流程卻是在業(yè)務(wù)流程的基礎(chǔ)上細(xì)化出來(lái)的,所以業(yè)務(wù)流程也是很重要的(要充分理解這一步,需要先理解業(yè)務(wù)流程和操作流程的含義和區(qū)別,不過(guò)這要扯很久,也偏題了,所以關(guān)于各種流程的介紹我們擇日再聊)。
2. 第二步:歸納狀態(tài)
在梳理的操作流程基礎(chǔ)上,我們?cè)僖罁?jù)前面提到的設(shè)計(jì)原則,提煉、總結(jié)出此對(duì)象的各個(gè)狀態(tài)。
同樣的,歸納狀態(tài)時(shí)要明確狀態(tài)的三個(gè)要素分別是什么。
3. 第三步:梳理狀態(tài)流程
有了第二步梳理的各個(gè)狀態(tài),順著操作流程的方向,就能得到我們的狀態(tài)流程了。為了溝通更方便,表達(dá)更清晰,狀態(tài)流程圖就是必不可少的,一般的狀態(tài)流程圖有三種表現(xiàn)形式。
1)純狀態(tài)流轉(zhuǎn)
即流程圖中僅體現(xiàn)狀態(tài)的流轉(zhuǎn),不展示其他信息,如下圖所示。
圖9 純狀態(tài)流程圖
這種形式很簡(jiǎn)單、干凈,適用于向業(yè)務(wù)方、上級(jí)領(lǐng)導(dǎo)等不需要了解細(xì)節(jié)的關(guān)聯(lián)方匯報(bào),但對(duì)于開(kāi)發(fā)同學(xué)來(lái)說(shuō)肯定是不夠的,這時(shí)就得采用后面兩種形式了。
2)與操作流程結(jié)合
既然狀態(tài)流程是在操作流程的基礎(chǔ)上梳理的,這就說(shuō)明這兩個(gè)流程其實(shí)是可以合并處理的。
圖10 狀態(tài)流程與操作流程合并
如上圖所示,在狀態(tài)輸入條件后展現(xiàn)狀態(tài)名稱,到下一狀態(tài)開(kāi)始前,中間過(guò)程均為屬于此狀態(tài)。
這種形式在操作流程較短時(shí)比較方便,可以用一張圖體現(xiàn)兩個(gè)流程,但當(dāng)操作流程較長(zhǎng)時(shí),這張圖的可讀性就比較差了,不同信息間會(huì)產(chǎn)生干擾,這時(shí)就推薦用第三種方式了。
3)僅體現(xiàn)狀態(tài)三要素
圖11 僅展示狀態(tài)三要素
如上圖所示,這種形式是在上一形式的基礎(chǔ)上,去掉中間無(wú)關(guān)操作,僅保留狀態(tài)的三要素,這樣既可以滿足開(kāi)發(fā)同學(xué)對(duì)觸發(fā)條件明確的要求,也方便進(jìn)行講解匯報(bào)。
4. 第四步:整理狀態(tài)定義表
如果整個(gè)狀態(tài)及流程容易理解,這一步可以省略,但如果定義的狀態(tài)和相應(yīng)規(guī)則比較復(fù)雜,那最好整理一張狀態(tài)表來(lái)說(shuō)明各個(gè)狀態(tài)的要素、具體含義和相應(yīng)規(guī)則,以便統(tǒng)一各方認(rèn)識(shí)。
表1 狀態(tài)定義表模板
四、關(guān)聯(lián)對(duì)象的狀態(tài)設(shè)計(jì)
大多數(shù)情況下,能夠梳理清楚業(yè)務(wù)流程和操作流程,清晰準(zhǔn)確的定義狀態(tài)三要素,那狀態(tài)設(shè)計(jì)基本就不會(huì)有什么問(wèn)題了。
不過(guò)在狀態(tài)設(shè)計(jì)中有一類場(chǎng)景會(huì)稍微復(fù)雜一些——關(guān)聯(lián)對(duì)象的狀態(tài)關(guān)系如何處理。
這里的關(guān)聯(lián)對(duì)象,是指兩個(gè)流程進(jìn)展上相互有影響的對(duì)象,例如父子訂單,父訂單的流程進(jìn)展受子訂單的影響。
舉個(gè)具體例子,在某個(gè)需求管理工具中,假設(shè)需求的狀態(tài)流程為:待處理——開(kāi)發(fā)中——測(cè)試中——已完成。
這時(shí)小明創(chuàng)建了一個(gè)需求,同時(shí)在這個(gè)需求基礎(chǔ)上拆分了兩個(gè)子需求,那么父子需求的狀態(tài)關(guān)系應(yīng)該怎么處理呢?這里有幾個(gè)常見(jiàn)的處理原則。
1. 一個(gè)對(duì)象僅有一個(gè)狀態(tài)
父子對(duì)象雖然在業(yè)務(wù)上有父子關(guān)系,但各自狀態(tài)是完全獨(dú)立的,無(wú)論是業(yè)務(wù)角度還是實(shí)現(xiàn)角度都是這樣,即便兩者可能某些狀態(tài)的命名都一樣,但在邏輯上必須是互相獨(dú)立。
所以雖然狀態(tài)名稱相同,但實(shí)際是不同的對(duì)象,實(shí)質(zhì)是不同的。
2. 狀態(tài)關(guān)系與對(duì)象流程關(guān)系相同
既然兩個(gè)對(duì)象在流程上已經(jīng)相互影響了,那么狀態(tài)上也會(huì)存在一定的邏輯關(guān)系,因?yàn)闋顟B(tài)流程是建立在對(duì)象業(yè)務(wù)(或操作)流程基礎(chǔ)上,常見(jiàn)的幾類關(guān)系有:
1)包含關(guān)系
即一個(gè)對(duì)象在多個(gè)狀態(tài)間流轉(zhuǎn)時(shí),另一對(duì)象看到的仍是一個(gè)狀態(tài)。
例如商品消費(fèi)訂單和這個(gè)商品的配送訂單,就是一對(duì)父子關(guān)系,消費(fèi)者看到的消費(fèi)訂單是【配送中】,但配送訂單可能會(huì)經(jīng)過(guò)【分揀中】、【運(yùn)輸中】等等很多狀態(tài),這就是狀態(tài)的包含關(guān)系。
而之所以狀態(tài)是包含關(guān)系,是因?yàn)檫@兩個(gè)流程是包含關(guān)系,商品配送流程可以看作是商品完整流程中的子流程;
2)銜接關(guān)系
即一個(gè)對(duì)象先到某個(gè)狀態(tài),另一事項(xiàng)才會(huì)到某個(gè)狀態(tài)。例如需求要想進(jìn)入【已完成】狀態(tài),需要子任務(wù)進(jìn)入【已完成】,父任務(wù)才允許【已完成】。
3)完全同步
即兩個(gè)對(duì)象的狀態(tài)是同步的,一個(gè)對(duì)象隨另一對(duì)象狀態(tài)變更而變更。
那有的同學(xué)會(huì)問(wèn)了,在很多需求管理工具中,雖然父子需求存在父子關(guān)系,但為什么他們的狀態(tài)是完全獨(dú)立,相互之間不影響呢?
這其實(shí)也是體現(xiàn)了這一原則,因?yàn)樵谶@些工具的定義中,父子需求的流程上相互沒(méi)有影響,所以雖然他們存在邏輯關(guān)系,但相互間狀態(tài)不影響。
到這里,關(guān)于產(chǎn)品狀態(tài)的設(shè)計(jì)就介紹完了,如果各位讀者朋友覺(jué)得寫得還有點(diǎn)用,記得加我微信一起交流哦~~
作者:周翔;公眾號(hào):周翔Fly;個(gè)人微信:zhouxiangxgg
本文由 @周翔 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來(lái)自 Unsplash,基于CC0協(xié)議。
我有一個(gè)問(wèn)題,我的對(duì)象是任務(wù),任務(wù)區(qū)分了父任務(wù)和子任務(wù);子任務(wù)的狀態(tài):待開(kāi)始、進(jìn)行中、已達(dá)成、未達(dá)成、已取消;但是父任務(wù)狀態(tài):待分配、分配中(年度任務(wù)被拆季度,可以多次分配)、已分配、進(jìn)行中、已達(dá)成、未達(dá)成,父任務(wù)的狀態(tài):分配中和進(jìn)行中會(huì)出現(xiàn)同時(shí)存在;那是不是我的狀態(tài)區(qū)分就不合理?應(yīng)該區(qū)分為分配狀態(tài)、和進(jìn)度狀態(tài),兩個(gè)狀態(tài)來(lái)描述父任務(wù)?
狀態(tài)是唯一的,不要出現(xiàn)一個(gè)時(shí)間點(diǎn)多個(gè)狀態(tài)的情況,需要定義更細(xì)致清楚一些,否則后面很多跟狀態(tài)關(guān)聯(lián)的各種邏輯就扯不清
父子任務(wù)狀態(tài)映射關(guān)系要定義好,畫(huà)個(gè)父子狀態(tài)關(guān)系圖就清楚了
我的新書(shū)《不枯燥的B端產(chǎn)品實(shí)戰(zhàn)課》已上線,更多干貨盡在書(shū)里,京東地址:https://item.jd.com/12786741.html
是不是沒(méi)有同一個(gè)對(duì)象,不同角色有不同數(shù)量的狀態(tài)。
您好,同一個(gè)單據(jù)對(duì)于不同角色可以不同狀態(tài)嗎?涉及角色有5個(gè)?頭疼中。。。。
狀態(tài)是同一個(gè),名稱可以不同,一個(gè)對(duì)象一個(gè)時(shí)間點(diǎn)只有一個(gè)狀態(tài),這個(gè)原則一定要守住。之前也有讀者遇到過(guò)類似的問(wèn)題,我給的另一個(gè)建議是:盡量用通用的名稱,不要用「待我評(píng)審」之類個(gè)性化表達(dá),這樣定義狀態(tài)名稱會(huì)更簡(jiǎn)單
較難掌握的其實(shí)是異常流程的狀態(tài)。
這個(gè)關(guān)鍵還是要把異常流程梳理清楚,狀態(tài)基于流程
為什么要把訂單狀態(tài)跟物流狀態(tài)混到一塊兒呢
物流的對(duì)象也是商品,所以從商品大流程上看,這些狀態(tài)都是對(duì)商品的
問(wèn)題:電商系統(tǒng)中,訂單狀態(tài)和物流狀態(tài)在數(shù)據(jù)庫(kù)中是一個(gè)字段嗎
ChatGPT:在通常情況下,訂單狀態(tài)和物流狀態(tài)在電商系統(tǒng)的數(shù)據(jù)庫(kù)中是不同的字段。
訂單狀態(tài)是指訂單在整個(gè)交易過(guò)程中所處的狀態(tài),例如”待付款”、”已支付”、”已發(fā)貨”、”已完成”等。這些狀態(tài)用于表示訂單的進(jìn)展情況和當(dāng)前狀態(tài)。
物流狀態(tài)是指訂單對(duì)應(yīng)的物流信息的狀態(tài),例如”已攬收”、”運(yùn)輸中”、”派送中”、”已簽收”等。這些狀態(tài)用于跟蹤訂單的物流進(jìn)程和最新?tīng)顟B(tài)。
在數(shù)據(jù)庫(kù)中,通常會(huì)創(chuàng)建兩個(gè)獨(dú)立的字段來(lái)分別表示訂單狀態(tài)和物流狀態(tài),以便于查詢和管理。這樣可以更好地對(duì)訂單和物流進(jìn)行跟蹤和管理,并提供準(zhǔn)確的狀態(tài)信息給用戶。