版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、受控狀態(tài):受控非受控保密級別:普通秘密 機密訂單拆分概要設計文檔文檔審批/修訂記錄文件狀態(tài): 草稿 正式發(fā)布 當前版本:1.0作 者:須俊杰 林宏審 核 人:發(fā)布日期:日期版本編號文檔標識簡要說明著者審核者審核日期2012-05-151.0系統(tǒng)設計初稿須俊杰,林宏說明:“簡要說明”主要是對修訂原因和修訂的內(nèi)容進行簡單說明。1 系統(tǒng)分析1.1 系統(tǒng)描述目前京東的商品有很多類型,有些是直接廠商送貨,有些是京東配送,而京東配送的商品又是根據(jù)商品類型存在于不同的庫房當中。訂單拆分系統(tǒng)就是實現(xiàn)這樣一種功能,當客戶提交訂單后,系統(tǒng)根據(jù)商品的類型將其拆分為各種子訂單,并且計算出每個子訂單的價格、優(yōu)惠等信息,
2、下游系統(tǒng)直接對子訂單進行生產(chǎn),父訂單將會被刪除。1.2 系統(tǒng)總體流程 2 總體設計方案2.1 系統(tǒng)設計思路2.2 模塊劃分鎖定訂單拆分處理前需要更改訂單狀態(tài)為拆分中預處理查詢訂單詳情,建立緩沖區(qū)為拆分提供數(shù)據(jù)準備拆分訂單過濾延保商品廠商直送訂單處理內(nèi)部訂單處理填充延保商品計算子單價格,并排序拆分后處理拆分后對各個子單進行處理3 業(yè)務模塊設計3.1 鎖定訂單調(diào)用WebService鎖定當前訂單,目前C#版本是直接調(diào)用DLL,后期需要求服務方提供服務或者jar包3.2 預處理注:C#版本的代碼流程中,重置庫房號以后,將訂單詳細信息克隆到OldOrder和ReferenceOrder中,作為后續(xù)流程
3、的參照物,改造的時候根據(jù)當前設計架構處理3.3 拆分訂單拆分總體活動圖:1. 過濾延保商品,根據(jù)SKU的IsYb屬性判斷是否是延保商品,過濾步驟:A. 判斷所有單品集合里面是否有延保商品B. 判斷所有贈品集合里面是否有延保商品C. 判斷所有打包集合里面是否有延保商品D. 刪除原購物車內(nèi)對應的延保商品E. 將對應的延保商品放入交換區(qū)2. 判斷如果不是內(nèi)部訂單,則走廠商直送流程,每個商品形成一個子單A. 取出所有商品id,包括贈品B. 將這些商品信息作為條件到productext中查詢,查出的商品信息即為廠商直送商品C. 從訂單中分別處理單品、贈品、套裝,贈品和套裝需要重新定價、重新套裝價格、重新
4、分攤套裝優(yōu)惠D. 每個商品形成一個子單3. 內(nèi)部訂單根據(jù)庫房進行拆分A. 根據(jù)sku獲取庫房信息a. 首先計算商品分類b. 其次計算商品商家c. 再次計算商品庫房編號d. 最后計算商品標簽,并放進結果集B. 計算訂單所有的倉庫,并按倉庫將商品集拆分,同時贈品和套裝需要重新定價、重新套裝價格、重新分攤套裝優(yōu)惠刪除4. 將過濾出來的延保商品填充回去,直接填充到對應商品所在的子單中5. 調(diào)用相關服務計算各個子單的價格6. 按價格對子單進行排序3.4 構建子單構建子單時分配金額的原則:1. 總金額一定要和各子單金額和相等目前使用價格比例計算前n-1個子單應分配金額,第n個子單金額使用(總金額-前n-1
5、金額和)計算獲得,以保證子單金額和父單金額相同2. 各個子單分配金額按照價格比例取整按照子單中基礎價格計算比例(會員價-返現(xiàn)-優(yōu)惠金額),按照比例分配金額時,在取整的同時需要保證拆分金額為正。取整時如果不能按元取整,就按角取整,否則按分取整。3. 子單分配金額需要保證借貸關系需保證優(yōu)惠不能大于子單實際支付金額,否則計算出來的商品實際支付金額為負實際支付金額=商品會員價price-優(yōu)惠金額Discount+總運費TotalFee-優(yōu)惠券金額CouponDiscount-余額MoneyBalance需要嚴格按照如下順序分配將計算出各個優(yōu)惠的金額賦給子單中對應的參數(shù)1) 分配運費2) 分配優(yōu)惠券3)
6、分配電信積分4)分配禮品卡5)分配余額6)分配手機紅包7)分配實際支付3.5 檢查拆分結果拆分自檢活動圖:規(guī)則如下:1. 原購物車需為空2. 子單數(shù)量需大于03. 用戶實際支付不能小于04. 子單和父單商品數(shù)量需相等5. 子單和父單優(yōu)惠劵金額需相等6. 子單和父單余額使用需相等7. 子單和父單運費需相等8. 子單和父單禮品卡金額需相等9. 子單和父單實際支付需相等10. 子單和父單factPrice需相等11. 子單和父單總金額需相等12. 子單和父單手機紅包需相等13. 子單和父單的電信積分需相等14. 廠商直送商品不能使用貨到付款支付方式15. 訂單中pop商品的商家id不能為03.6 拆
7、分后處理總體活動圖:1. 拆分后預處理A. 設置父單屬性B. 子單屬性設置C. 如果父單是以舊換新訂單,則只將主商品所在的訂單標記為以舊換新訂單,其余子單標記為一般訂單D. 填充POP信息E. 寫入pop配送中心信息F. 子單如果價格為0且不是內(nèi)部訂單,則該子單拆分類型設置為6,贈品后發(fā)2. 拆分后訂單處理A. 調(diào)用WebService取消父訂單B. 調(diào)用WebService提交子訂單,判斷子訂單如果是圖書倉,需要判斷發(fā)票開取類型什么邏輯?3. 拆分后價保處理A. 獲取價保記錄B. 更新更新父單的價保記錄(userbankdetail表),插入子單的價保日志(priceprotectlog表)
8、4. 拆分后庫房處理A. 查詢貨架位置B. 確定貨架位置C. 保存貨架位置(orders_qita表)5. 拆分后禮品卡處理調(diào)用Webservice拆分禮品卡6. 拆分后以舊換新處理將父單的以舊換新信息寫入子單(OrderExpend表)7. 拆分后插入拆單服務生成拆單服務任務拆入任務表(OrderTask)3.7 未拆分訂單處理1. 未拆分預處理A. 判斷訂單是否為廠商直送,如果為廠商直送標記orderType。廠商直送商品的判斷條件:-1000storeid-2000B. 根據(jù)訂單是否為子單確定拆分類型splitTypeC. 調(diào)用dll填充pop商品信息D. Pop的lbp訂單需要從pro
9、ductVenderShop表中獲取配送中心,調(diào)用dll獲取機構信息,并更新到order對象中2. 未拆分處理A. 訂單若為廠商直送商品,添加廠商發(fā)貨信息到factoryshiporder表中,不需要寫任務到轉移程序。是否刪掉了?B. 其他訂單調(diào)用dll更新訂單信息。C. 保存貨架位置:獲取子單中所有非延保商品的貨架位置,根據(jù)商品編碼,機構及庫房id從ware表和shelfSpread表中獲得商品在對應庫房的貨架位置,取得該子單中最遠的貨架位置并將row,col更新到orders_qita表中。3. 未拆分任務處理在OrderTask表中插入一條任務 TaskType = 29, Step =
10、 0, IsFinished = 0, Ver = 1, Operator = 拆單程序, RetryCount = 0, Yn = 13.8 轉移拉回拆分處理1. 拆分子單(StoreSpliter)按庫房拆分子單不同:獲得庫房id方式不同于正常拆分,是根據(jù)轉移給的信息確定的A. 根據(jù)orderid獲取訂單任務信息select * from OrderTask with(nolock) where id 8550182 and OrderId = #value# and TaskType = 506B. 將訂單任務中信息序列化出商品對應的配送中心機構信息2. 拆分后處理(PrepareAft
11、erSplitProcessor)拆分后預處理不需要重新獲取賀卡skuid,及pop的配送中心Id3. 未拆分訂單處理(PrepareNoSplitProcessor)未拆分預處理不需要獲取賀卡skuid,及pop的配送中心IdA. 判斷訂單是否為廠商直送,如果為廠商直送標記orderType。廠商直送商品的判斷條件:-1000storeid-2000B. 根據(jù)訂單是否為子單確定拆分類型splitTypeC. 調(diào)用dll填充pop商品信息D. Pop商品需要更新order對象的訂單類型和機構信息4. 拆分后對任務的處理(taskProcessor)由于轉移拉回訂單是從orderTask表中取出
12、的任務,所以在執(zhí)行完拆分后,需要更新orderTask表中對應的狀態(tài)。update OrderTask set Step = 1, IsFinished = 1,UpdateTime = getdate() where id 8550182 and OrderId = #value# and TaskType = 5064 引用的DLL目前C#代碼涉及到很多引用的DLL,系統(tǒng)轉為Java版本后,這些DLL需要提供方改成Jar包或者Webservice服務,具體DLL及負責人如下:Oom 訂單中間件-張須根Submitservice 接單服務-海峰Purchase.configs 配置管理-王遠Pruchase.delivery-王
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度企業(yè)內(nèi)部信息安全管理與保密合同
- 二零二五年度農(nóng)村土地承包經(jīng)營權與租賃權管理合同
- 2025版新材料研發(fā)企業(yè)新增股東協(xié)議書樣本3篇
- 2025年度住宅小區(qū)智能車位代理銷售及監(jiān)控系統(tǒng)合同4篇
- 2025年度物流企業(yè)司機勞務外包管理協(xié)議范本
- 二零二五年度旅游產(chǎn)品售后服務合同規(guī)范4篇
- 二零二五年度廚房設備銷售與品牌推廣合作合同3篇
- 2025版賣方汽車零部件購銷合同范本詳細2篇
- 二零二五版茶葉種植基地土壤改良與肥料施用合同3篇
- 二零二五版電力設施安全管理人員聘用協(xié)議3篇
- DL-T-1642-2016環(huán)形混凝土電桿用腳扣
- 平安產(chǎn)險陜西省地方財政生豬價格保險條款
- 銅礦成礦作用與地質(zhì)環(huán)境分析
- 30題紀檢監(jiān)察位崗位常見面試問題含HR問題考察點及參考回答
- 詢價函模板(非常詳盡)
- 《AI營銷畫布:數(shù)字化營銷的落地與實戰(zhàn)》
- 麻醉藥品、精神藥品、放射性藥品、醫(yī)療用毒性藥品及藥品類易制毒化學品等特殊管理藥品的使用與管理規(guī)章制度
- 一個28歲的漂亮小媳婦在某公司打工-被老板看上之后
- 乘務培訓4有限時間水上迫降
- 2023年低年級寫話教學評語方法(五篇)
- DB22T 1655-2012結直腸外科術前腸道準備技術要求
評論
0/150
提交評論