Java生鮮電商平臺-訂單中心服務架構與異常訂單邏輯

Java生鮮電商平臺-訂單中心服務架構與異常訂單邏輯前端

 

訂單架構實戰中闡述了訂單系統的重要性,並從訂單系統的信息架構和流程上對訂單系統有了整體認知,同時還穿插着一些常見的訂單業務規則和邏輯。上文寫到訂單的拆單部分時擱置了,如今接上文繼續剖析訂單中心的後臺核心業務模塊。架構

 

 

上文講完了訂單正向流程,本文從訂單逆向流程繼續一窺訂單中心全貌。設計

訂單正向流程相對常規,業務雖然從商品中心,物流,會員,倉庫,內容等各大模塊進行數據交互,但涉及的業務邏輯易於理解,因此難度並不大。orm

但在訂單逆向流程中,業務流程和邏輯則相對複雜。由於在訂單正向流程中,每個環節都有可能觸發逆向訂單任務流;而在訂單正向任務流中,每個子環節上的商品在後臺出庫發貨流程中所處的具體節點不一致,因此不一樣節點觸發的訂單逆向流程的處理規則則有差別。io

訂單逆向流程form

定義:訂單逆向流程是爲了解決在訂單流程中出現的退貨退款的業務流程。在前端訂單狀態下,各個環節都有觸發的可能,而訂單的不一樣節點觸發訂單逆向流程的處理方式不一樣。訂單觸發訂單逆向流程,能夠按照主體與客體劃分,可分爲用戶端觸發和商家端觸發兩種。電商

用戶主動發起class

 
 

1. 待付款取消訂單後臺

說明:待付款訂單取消訂單分爲兩種狀況:file

用戶主動取消;

超時系統自動取消,此時訂單狀態變動爲已取消。

在待付款訂單狀態下,取消訂單無需客服審覈。流程圖以下:

 
 

2. 待發貨取消訂單

說明:在待發貨訂單狀態下取消訂單時,此時應根據訂單此時所在的節點做出處理。

因爲訂單在支付完成後,發貨單可能已經推送至WMS,甚至已經交接發貨,狀態未及時回傳更新。爲避免貨款兩失,要先暫停訂單出庫,在調度中心查詢訂單是否推送至倉庫。

若還沒有推送至倉庫,則中止推送至倉庫;若已經推送至倉庫,則去wms中心去攔截,攔截成功則暫停出庫。

若暫停失敗,則拒絕取消訂單申請,回覆「訂單已經出庫」;

若暫停成功,取消訂單申請經過,則進入退款流程,同時通知調度中心該訂單取消。WMS訂單進入返庫流程。

 
 

3. 待收貨/交易成功退貨

說明:在用戶提交退貨申請後,需通過客服審覈。審覈經過則回到原有狀態,審覈經過後則進入退貨流程並告知用戶退回地址及收件信息,此時進入退貨流程。系統生成退貨入庫單,當倉庫收貨後,進行退款。

在待收貨狀態下平臺設計者仍需考慮退貨是否全退的問題。當SKU全退時,原訂單則停止進入交易關閉狀態。當訂單中發生部分退貨時,原訂單的狀態不變,維持待收貨或交易成功狀態,同時退貨的部分生成交易售後訂單。剩餘未退貨部分仍然容許申請售後。

 
 

注意:在訂單流程逆向流程中,涉及到財務數據的處理時 ,爲了保證財務數據的真實性及可追溯性(這與會計數據的處理原則有關,具體問下會計或者財務同窗),都不能直接在原訂單狀態下修改,所以在設計訂單逆向流程時應注意這一點。

相關文章
相關標籤/搜索