訂單信息處理方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本申請(qǐng)涉及網(wǎng)絡(luò)數(shù)據(jù)處理技術(shù)領(lǐng)域,特別是涉及訂單信息處理方法及系統(tǒng)。
【背景技術(shù)】
[0002]在電子商務(wù)交易平臺(tái)中,交易訂單就是指買賣雙方在交易平臺(tái)中達(dá)成一筆交易后,交易平臺(tái)為其生成的單據(jù)。該交易訂單中記錄有交易的商品對(duì)象信息、買家用戶的收貨地址信息等等。在一個(gè)交易訂單生成之后,買家用戶以及賣家用戶都可能會(huì)對(duì)該交易訂單執(zhí)行一些操作,隨著這種操作的執(zhí)行,買家用戶的資金、賣家用戶的貨物會(huì)發(fā)生流轉(zhuǎn),與此同時(shí),交易訂單的狀態(tài)也會(huì)隨之發(fā)生變化。
[0003]現(xiàn)有技術(shù)中,將資金處理、物流處理與交易雙方的操作綁定在一起,需要對(duì)交易流程編寫一整套代碼,用于定義該交易流程中如何根據(jù)用戶的操作進(jìn)行付款、如何進(jìn)行發(fā)貨等等。例如,在某種交易流程中,在交易訂單生成之初,交易訂單處于“已創(chuàng)建”狀態(tài),買家用戶在執(zhí)行付款操作之后,交易訂單被切換為“買家已付款”狀態(tài),相應(yīng)的,資金會(huì)從買家用戶的賬戶上打到支付寶的擔(dān)保賬戶中;之后,在賣家用戶執(zhí)行發(fā)貨操作之后,交易訂單被切換為“賣家已發(fā)貨”狀態(tài),賣家用戶的貨物進(jìn)入物流環(huán)節(jié);在買家用戶收到貨物后,執(zhí)行確認(rèn)收貨操作,此時(shí),交易訂單被切換為“已收貨”狀態(tài),相應(yīng)的,資金會(huì)從支付寶的擔(dān)保賬戶打到賣家用戶的賬戶上。
[0004]隨著電子商務(wù)交易平臺(tái)技術(shù)的不斷完善,交易模式越來越新,交易平臺(tái)為買家用戶提供的資金處理方式、為賣家用戶提供的物流方式一般會(huì)有多種,例如,資金處理方式可以包括擔(dān)保支付、預(yù)授權(quán)、系統(tǒng)票據(jù)支付、掃碼支付等等,物流工具可以包括實(shí)物發(fā)貨、虛擬商品發(fā)貨等等。對(duì)于不同類型的業(yè)務(wù)而言,可以根據(jù)業(yè)務(wù)自身的特點(diǎn),選擇使用對(duì)應(yīng)的資金處理方式以及物流方式。但是,按照前述現(xiàn)有技術(shù)的方法,每一種資金處理方式與物流方式的組合都會(huì)對(duì)應(yīng)一種交易流程,并且都需要為各個(gè)交易流程編寫對(duì)應(yīng)的代碼,來定義各個(gè)交易流程中,資金、貨物、訂單狀態(tài)如何根據(jù)用戶的操作而發(fā)生變化。這樣會(huì)造成代碼的可用度不高,代碼冗余量大。并且,每新增一種資金處理方式或者物流方式,都會(huì)導(dǎo)致整個(gè)交易流程涉及的代碼都重新編寫,并最終導(dǎo)致交易流程的數(shù)量暴漲。例如,原有30種交易流程,現(xiàn)在新增一種物流工具為“電子憑證分批確認(rèn)”,要想使該物流工具應(yīng)用到現(xiàn)有的這些交易流程中,則需要新增一整套與現(xiàn)有的交易流程平行的結(jié)構(gòu),理論上需要新增30種交易流程,對(duì)應(yīng)編寫30套對(duì)應(yīng)的代碼。并且,新增交易流程后,除了交易系統(tǒng)內(nèi)部涉及的代碼量龐大外,交易系統(tǒng)外部與交易流程相關(guān)的代碼也可能需要進(jìn)行改動(dòng),比如交易成功后的扣傭金、訂單的運(yùn)費(fèi)險(xiǎn)賠付等等。
[0005]綜上,如何使得交易流程中的代碼可用度得到提高,更高效的支持業(yè)務(wù)的快速發(fā)展,成為迫切需要本領(lǐng)域技術(shù)人員解決的技術(shù)問題。
【發(fā)明內(nèi)容】
[0006]本申請(qǐng)?zhí)峁┝擞唵涡畔⑻幚矸椒跋到y(tǒng),能夠使得交易流程中的代碼可用度得到提聞,更聞效的支持業(yè)務(wù)的快速發(fā)展。
[0007]本申請(qǐng)?zhí)峁┝巳缦路桨?
[0008]一種訂單信息處理方法,預(yù)先分別為各操作類型下的各種工具創(chuàng)建處理組件,并部署到對(duì)應(yīng)操作類型下的網(wǎng)關(guān)中,所述操作類型包括資金處理操作或物流操作,所述方法包括:
[0009]接收對(duì)指定交易訂單進(jìn)行操作的請(qǐng)求,并從所述請(qǐng)求中提取訂單標(biāo)識(shí)以及操作標(biāo)識(shí);
[0010]根據(jù)所述操作標(biāo)識(shí)確定該操作所屬的操作類型;
[0011]根據(jù)所述訂單標(biāo)識(shí)確定該交易訂單在該操作類型下所使用的目標(biāo)工具;
[0012]將所述請(qǐng)求轉(zhuǎn)發(fā)到該操作類型對(duì)應(yīng)的網(wǎng)關(guān),并在所述請(qǐng)求中攜帶所述目標(biāo)工具的標(biāo)識(shí),以便該網(wǎng)關(guān)調(diào)用該目標(biāo)工具對(duì)應(yīng)的處理組件,對(duì)所述請(qǐng)求進(jìn)行處理。
[0013]一種訂單信息處理系統(tǒng),預(yù)先分別為各操作類型下的各種工具創(chuàng)建處理組件,并部署到對(duì)應(yīng)操作類型下的網(wǎng)關(guān)中,所述操作類型包括資金處理操作或物流操作,所述系統(tǒng)包括:
[0014]請(qǐng)求接收單元,用于接收對(duì)指定交易訂單進(jìn)行操作的請(qǐng)求,并從所述請(qǐng)求中提取訂單標(biāo)識(shí)以及操作標(biāo)識(shí);
[0015]操作類型確定單元,用于根據(jù)所述操作標(biāo)識(shí)確定該操作所屬的操作類型;
[0016]目標(biāo)工具確定單元,用于根據(jù)所述訂單標(biāo)識(shí)確定該交易訂單在該操作類型下所使用的目標(biāo)工具;
[0017]請(qǐng)求轉(zhuǎn)發(fā)單元,用于將所述請(qǐng)求轉(zhuǎn)發(fā)到該操作類型對(duì)應(yīng)的網(wǎng)關(guān),并在所述請(qǐng)求中攜帶所述目標(biāo)工具的標(biāo)識(shí),以便該網(wǎng)關(guān)調(diào)用該目標(biāo)工具對(duì)應(yīng)的處理組件,對(duì)所述請(qǐng)求進(jìn)行處理。
[0018]根據(jù)本申請(qǐng)?zhí)峁┑木唧w實(shí)施例,本申請(qǐng)公開了以下技術(shù)效果:
[0019]通過本申請(qǐng)實(shí)施例,在對(duì)交易訂單進(jìn)行處理的過程中,將資金處理、物流處理的過程單獨(dú)實(shí)現(xiàn),解除了與具體的用戶操作之間的耦合,這樣,可以實(shí)現(xiàn)相同的資金處理組件、物流組件在不同的交易流程之間的共用,不需要將相同邏輯的代碼到處拷貝,這提高了代碼的可用度,減少了維護(hù)成本。經(jīng)過較長時(shí)間的運(yùn)行,交易流程、資金處理工具、物流工具能夠得到很好的沉淀,新的業(yè)務(wù)需求多數(shù)可以通過將這幾種元素搭建組合的方式來實(shí)現(xiàn),開發(fā)效率得到提升。并且,在有新的資金處理工具或者物流工具出現(xiàn)時(shí),只需要?jiǎng)?chuàng)建新工具對(duì)應(yīng)的處理組件,并部署到對(duì)應(yīng)的網(wǎng)關(guān)中。例如,在新增資金處理工具的情況下,如果某業(yè)務(wù)的交易流程沒有發(fā)生變化,比如還是買家下單、買家付款、賣家發(fā)貨和買家確認(rèn)收貨,那么系統(tǒng)認(rèn)為使用新的資金處理工具和原來的資金處理工具共用相同的交易流程。這樣,交易流程的數(shù)量從原來的幾十個(gè)可以減少到十幾個(gè),原來呈笛卡爾積增長的交易流程,在本申請(qǐng)實(shí)施例中只有交易雙方的操作發(fā)生變化后,才會(huì)新增,交易流程只承擔(dān)了信息流的職責(zé)。比如新的資金處理工具為預(yù)授權(quán)模式,該工具能夠被無縫應(yīng)用到現(xiàn)在的所有交易模式上,這樣能夠支持業(yè)務(wù)快速發(fā)展。
[0020]當(dāng)然,實(shí)施本申請(qǐng)的任一產(chǎn)品并不一定需要同時(shí)達(dá)到以上所述的所有優(yōu)點(diǎn)。
【附圖說明】
[0021 ] 為了更清楚地說明本申請(qǐng)實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請(qǐng)的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0022]圖1是本申請(qǐng)實(shí)施例提供的方法的流程圖;
[0023]圖2是本申請(qǐng)實(shí)施例提供的系統(tǒng)的示意圖。
【具體實(shí)施方式】
[0024]下面將結(jié)合本申請(qǐng)實(shí)施例中的附圖,對(duì)本申請(qǐng)實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾?qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員所獲得的所有其他實(shí)施例,都屬于本申請(qǐng)保護(hù)的范圍。
[0025]在本申請(qǐng)實(shí)施例中,將交易流程的基本元素抽離出來,將資金處理工具、物流工具與買賣家用戶的具體操作剝離開來,這樣將資金流、物流與信息流分開,劃分粒度更細(xì),新的交易模式都可以通過基本元素組裝而成。
[0026]具體實(shí)現(xiàn)時(shí),可以針對(duì)預(yù)先分別為各操作類型(包括資金處理操作或物流操作)下的各種工具創(chuàng)建處理組件,并部署到對(duì)應(yīng)操作類型下的網(wǎng)關(guān)中。例如,可以為各個(gè)資金處理工具分別創(chuàng)建對(duì)應(yīng)的處理組件,理論上,一個(gè)資金處理工具對(duì)應(yīng)一個(gè)處理組件(屬于流程引擎的一個(gè)實(shí)現(xiàn)類),并部署到資金處理網(wǎng)關(guān)中。也即,將各個(gè)資金處理工具對(duì)應(yīng)的實(shí)現(xiàn)類全部注冊(cè)到資金處理網(wǎng)關(guān)中,這樣,可以根據(jù)訂單上的資金處理工具進(jìn)行匹配判斷,如果符合,則會(huì)執(zhí)行對(duì)應(yīng)實(shí)現(xiàn)類的參數(shù)設(shè)置和請(qǐng)求外部系統(tǒng)動(dòng)作。各個(gè)實(shí)現(xiàn)類之間如果有相同的處理邏輯可以以各種方式進(jìn)行公用,比如抽取公共函數(shù)、或者用基類和繼承類。類似的,也可以為各個(gè)物流處理工具分別創(chuàng)建對(duì)應(yīng)的處理組件,并部署到物流網(wǎng)關(guān)中。
[0027]這樣,在各個(gè)具體的交易流程中,如果需要使用某種具體的資金處理工具或者物流工具時(shí),都可以到對(duì)應(yīng)的網(wǎng)關(guān)中調(diào)用對(duì)應(yīng)的處理組件即可。這樣,對(duì)于使用相同資金處理工具的不同的交易流程而言,資金處理工具對(duì)應(yīng)的代碼是相同的,不需要重復(fù)編寫,也即這部分代碼實(shí)現(xiàn)復(fù)用,類似的,對(duì)于使用相同物流工具的不同的交易流