張淵博



摘要:基于B2C的微信網(wǎng)上購物電子商務(wù)系統(tǒng),結(jié)合EasyRec推薦系統(tǒng)提供商品推薦。系統(tǒng)基于微信公眾平臺開發(fā),主要分為前端模塊和后臺管理模塊,前端模塊主要通過HTML5+JavaScript實(shí)現(xiàn)購物流程和微信用戶基本管理功能,并提供推薦位;后臺管理系統(tǒng)使用OpenCustomer完成系統(tǒng)管理,并開發(fā)前端購物和微信公眾號業(yè)務(wù)功能的支持模塊。OpenCustomer是Sourceforge·net可供下載使用的開源電子商務(wù)和CRM(客戶關(guān)系管理)系統(tǒng),使用Mysql數(shù)據(jù)庫和Java/EJB技術(shù),前端實(shí)現(xiàn)框架是SSI。該系統(tǒng)支持多公司(商戶)、多庫存管理、權(quán)限管理、訂單管理、銷售管理、財務(wù)結(jié)算等功能,并提供Web購物及后臺Web管理頁面,為用戶帶來全新購物體驗(yàn)。
關(guān)鍵詞關(guān)鍵詞:電子商務(wù);微信公眾平臺;推薦系統(tǒng);Sourceforge
DOIDOI:10.11907/rjdk.171806
中圖分類號:TP319
文獻(xiàn)標(biāo)識碼:A文章編號文章編號:16727800(2017)011007205
0引言
網(wǎng)上購物系統(tǒng)是B2C[1](企業(yè)與消費(fèi)者的交易)、B2B(企業(yè)與企業(yè)的商務(wù)交易)、C2C(消費(fèi)者與消費(fèi)者的交易)等類型電子商務(wù)的前端門戶,網(wǎng)上購物系統(tǒng)實(shí)現(xiàn)了線下面對面的交易到消費(fèi)者和賣家交易雙方在網(wǎng)絡(luò)虛擬環(huán)境下的交易。當(dāng)前主流的網(wǎng)上購物系統(tǒng)不僅具有基本的商品瀏覽、站內(nèi)查找、購買和商品評價等功能,還提供商品推薦功能,系統(tǒng)通過對交易過程中的業(yè)務(wù)數(shù)據(jù)進(jìn)行挖掘,推薦出用戶可能感興趣度的商品或者熱度高的商品。在網(wǎng)絡(luò)購物規(guī)模日益龐大的網(wǎng)絡(luò)經(jīng)濟(jì)時代,移動端購物系統(tǒng)為更加方便的購物體驗(yàn)提供了新的發(fā)展思路。利用微信公眾平臺[2]提供的完善接口支持,本文設(shè)計開發(fā)了一套微信網(wǎng)購電子商務(wù)系統(tǒng),并結(jié)合推薦引擎easyRec的調(diào)用實(shí)現(xiàn)商品推薦功能。系統(tǒng)后臺管理模塊具備電子商務(wù)功能,提供CRM[3],還提供前端購物和微信公眾號的業(yè)務(wù)支持模塊。
1相關(guān)技術(shù)
1.1JavaScript
JavaScript[4]是一種腳本語言,它是輕量級的,無需編譯。現(xiàn)實(shí)環(huán)境下的絕大多數(shù)網(wǎng)站都使用JavaScript進(jìn)行解析。JavaScript常用于為HTML頁面增加動態(tài)內(nèi)容。
1.2SSI框架
SSI框架組成構(gòu)件包括Struts2[5]、Spring[6]和Ibatis[7],該框架使開發(fā)者和運(yùn)營商管理起來更加容易。SSI的各組件幫助完成各層級之間的信息交換,一個完整Web端的功能實(shí)現(xiàn)與信息通信在SSI框架的支持下變得更加簡便。Struts2相對簡化了配置文件信息,使頁面和Action之間的關(guān)系與通信更加簡捷。
1.3MySQL
MySQL[8]是目前受歡迎程度很高的開源SQL系統(tǒng),可分配多個用戶,能夠充分利用處理器等硬件資源,同時能為多線程開發(fā)提供服務(wù)和支持。
1.4JDBC
JDBC(Java Data Base Connectivity,Java數(shù)據(jù)庫連接)可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,通過JDBC驅(qū)動更加方便地向各種關(guān)系數(shù)據(jù)庫傳送SQL語句。開發(fā)者只需將Java和JDBC結(jié)合起來寫一組通用程序就可以支持所有平臺上的運(yùn)行。
1.5easyRec推薦引擎
EasyRec[9]集成方便、容易擴(kuò)展且功能豐富,是一套擁有后臺管理系統(tǒng)頁面的推薦系統(tǒng),其提供了Rest和Javascript兩種訪問方式。EasyRec使用tenant(appProjectID)參數(shù)確定不同網(wǎng)站的唯一性,并同時服務(wù)于多個網(wǎng)站請求。不同網(wǎng)站應(yīng)用被稱為不同的“Tenant”,被操作者管理。每一個Tenant擁有一個唯一標(biāo)識符,供API調(diào)用所需,操作者API密鑰(32bitAPIKEY)也要同時提供。例如js調(diào)用:
"/easyrecweb/api/version/json/recommendAlgorithm?apikey=32bitAPIKEY&tenantid=appProjectID&itemid=productId"
1.6開發(fā)和運(yùn)行環(huán)境
開發(fā)和部署所需要工具及其軟件為:
開發(fā)工具主要有Myeclipse8.5、Mysql5.6.31winx64;
操作系統(tǒng):Windows7;服務(wù)器軟件:Tomcat6.0, Windows Server 2012;瀏覽器:Internet Explorer6.0及以上版本,或者Chrome。
2系統(tǒng)分析與設(shè)計
2.1系統(tǒng)整體設(shè)計
該電子商務(wù)系統(tǒng)分為前端網(wǎng)上購物模塊和后臺管理模塊。微信用戶進(jìn)行網(wǎng)上購物前需先關(guān)注商城微信公眾號,在微信公眾號窗口界面,微信用戶觸發(fā)商城菜單按鈕進(jìn)入相應(yīng)商城首頁[914],然后通過各種鏈接和導(dǎo)航瀏覽商品、添加購物、下單、提交訂單、完成支付等,從而完成網(wǎng)上購物。網(wǎng)上購物系統(tǒng)為微信用戶提供了個人信息維護(hù)功能,用戶可查看和管理自己的歷史訂單。系統(tǒng)后臺管理模塊(OpenCustomer)讓平臺商(系統(tǒng)維護(hù)方和運(yùn)營商)、第三方商戶(以下簡稱“第三方”)、供貨商這3種角色在系統(tǒng)中實(shí)現(xiàn)菜單配置、財務(wù)結(jié)算、商品配置、商品上架、訂單處理和客戶查看等工作。
前端網(wǎng)購模塊主要有微信公眾號開發(fā)模塊、購物車、個人中心模塊。①微信公眾號開發(fā)模塊。該模塊實(shí)現(xiàn)系統(tǒng)與微信服務(wù)器的交互通信,為微信公眾號和購物系統(tǒng)的正常協(xié)作提供支持和服務(wù),實(shí)現(xiàn)用戶關(guān)注公眾號、進(jìn)入商城、“我的個人中心”等菜單事件處理;②購物車模塊。該模塊支持和實(shí)現(xiàn)用戶購買商品的整個流程,包括商品瀏覽、購物、下單等,是系統(tǒng)最重要的部分;③個人中心模塊。該模塊支持和實(shí)現(xiàn)用戶自己的訂單管理、查看及信息管理,包括收貨電話、收貨地址和個人資料等功能。endprint
后臺管理模塊主要實(shí)現(xiàn)系統(tǒng)菜單及參數(shù)配置、角色和后臺系統(tǒng)登錄用戶的管理維護(hù)、財務(wù)對賬結(jié)算等。所涉及的客戶、商品、客戶訂單等數(shù)據(jù)存儲在系統(tǒng)數(shù)據(jù)庫(MyDB)中,各實(shí)體之間關(guān)系的建立通過外鍵完成。后臺管理系統(tǒng)具備電子商務(wù)業(yè)務(wù)處理能力,能夠統(tǒng)一處理和調(diào)用這些業(yè)務(wù)數(shù)據(jù)。第三方使用系統(tǒng)分配權(quán)限對商品進(jìn)行配置、對訂單進(jìn)行處理、對客戶進(jìn)行管理。系統(tǒng)前端模塊通過調(diào)用數(shù)據(jù)庫數(shù)據(jù)獲取商品、客戶、訂單等數(shù)據(jù),同時創(chuàng)建客戶、訂單等。平臺商在后臺為每個第三方分配登錄用戶名和密碼,保存微信公眾號信息appid、appsecret等。這些公眾號信息,對于希望入駐平臺的第三方商戶和平臺開發(fā)商而言,是對接平臺的鑰匙;單獨(dú)對于平臺開發(fā)商而言,則是歸集信息和響應(yīng)信息的依據(jù),是實(shí)現(xiàn)微信端網(wǎng)上購物系統(tǒng)的關(guān)鍵和必備參數(shù)[1517]。有了這些參數(shù)支持,第三方就可以進(jìn)行微信公眾號開發(fā),將公司(商城)商品展示給關(guān)注用戶,實(shí)現(xiàn)線上銷售。
該電子商務(wù)系統(tǒng)的微信網(wǎng)購和后臺管理功能如下:
(1)直接購買和購物車功能。通過微信端購買公司商品,需實(shí)現(xiàn)商品列表、商品詳情、直接購買、添加商品到購物車、結(jié)算、下單、確認(rèn)提交訂單、支付等功能。
(2)客戶資料信息管理。該功能幫助微信用戶維護(hù)個人資料和收貨信息,包括電話、郵件、地址等。用戶可以設(shè)置多個收貨地址,但只能將其中一個設(shè)成默認(rèn)地址。
(3)用戶訂單管理。該功能可讓微信用戶刪除已完成和已取消狀態(tài)下的訂單,查看所有訂單及每個訂單的詳細(xì)信息。
(4)商城微信公眾號開發(fā)。商城微信公眾號開發(fā)提供的服務(wù)包括微信接入驗(yàn)證、微信菜單、消息事件請求支持等。
(5)后臺管理。平臺商、第三方、供貨商3種角色的管理員用戶能夠在后臺系統(tǒng)中對系統(tǒng)、商品、訂單、客戶等進(jìn)行統(tǒng)一管理。
2.2系統(tǒng)需求分析
2.2.1業(yè)務(wù)邏輯需求分析
該系統(tǒng)作為一套完整的電子商務(wù)系統(tǒng),需要兼具前端網(wǎng)上購物和后臺管理功能。
(1)前端購物系統(tǒng)業(yè)務(wù)需求分析。前端網(wǎng)上購物在微信端進(jìn)行,需要借助微信公眾開發(fā)平臺實(shí)現(xiàn)。微信用戶關(guān)注商城公眾號,通過點(diǎn)擊公眾號的商城名菜單進(jìn)入商城首頁,瀏覽商品、查看詳情、直接購買或者添加購物車、確認(rèn)訂單、提交訂單、支付并完成購物流程。用戶可以到個人中心頁面對個人資料、收貨信息進(jìn)行增刪改查等,到訂單中心對訂單列表和訂單詳情進(jìn)行查看,對于已經(jīng)完成的訂單和取消的訂單仍有記錄的,提供刪除訂單記錄功能。
(2)后臺管理系統(tǒng)業(yè)務(wù)需求分析。提供3種角色:平臺商(項(xiàng)目系統(tǒng)平臺的開發(fā)商或者運(yùn)營商)、第三方、供貨商。這3種角色具有相對獨(dú)立的業(yè)務(wù)管理權(quán)限。平臺商角色用戶主要業(yè)務(wù)功能:對后臺系統(tǒng)管理頁面的菜單進(jìn)行維護(hù)、創(chuàng)建角色、為角色分配可操作的菜單權(quán)限、創(chuàng)建不同角色的登錄用戶、維護(hù)系統(tǒng)業(yè)務(wù)功能參數(shù)、創(chuàng)建其它兩種角色的用戶名和密碼、財務(wù)結(jié)算業(yè)務(wù)等。第三方角色用戶主要業(yè)務(wù)功能:添加商品、上架下架商品、查看訂單、維護(hù)商城店鋪名稱及Logo等基本信息數(shù)據(jù)、增刪改查供貨商數(shù)據(jù)、查看客戶等。供貨商角色用戶主要業(yè)務(wù)功能:查看訂單、發(fā)貨、維護(hù)庫存等。
2.2.2數(shù)據(jù)流分析
本系統(tǒng)前端購物系統(tǒng)產(chǎn)生的主要業(yè)務(wù)數(shù)據(jù)是客戶、商品、訂單數(shù)據(jù),這些數(shù)據(jù)統(tǒng)一存儲在MyDB數(shù)據(jù)庫中。微信openid與客戶ID、公司等的對應(yīng)和關(guān)聯(lián)關(guān)系,以及OpenCustomer后臺管理相關(guān)業(yè)務(wù)和系統(tǒng)數(shù)據(jù)也存儲在MyDB數(shù)據(jù)庫中。
圖1表示系統(tǒng)業(yè)務(wù)數(shù)據(jù)流,微信用戶的操作是購物業(yè)務(wù)數(shù)據(jù)產(chǎn)生來源,微信用戶在瀏覽和購物等操作過程中請求客戶、商品、訂單等信息,網(wǎng)上購物系統(tǒng)響應(yīng)請求后向OpenCustomer請求相關(guān)數(shù)據(jù),并將數(shù)據(jù)返回給微信用戶,然后根據(jù)需要在后臺系統(tǒng)中創(chuàng)建客戶、訂單等,同時存儲這些過程中產(chǎn)生的業(yè)務(wù)數(shù)據(jù)。系統(tǒng)也會在MyDB數(shù)據(jù)庫中存入微信openid與OpenCustomer系統(tǒng)中的客戶ID(openid)、公司(SHOPID)的映射關(guān)系,幫助系統(tǒng)通過微信openid查找相關(guān)聯(lián)的業(yè)務(wù)數(shù)據(jù)。
圖1系統(tǒng)業(yè)務(wù)數(shù)據(jù)
2.2.3業(yè)務(wù)流程分析
從用戶購物下單到第三方銷售人員處理訂單和供貨商發(fā)貨的完整過程如圖2所示,該圖展現(xiàn)網(wǎng)上購物系統(tǒng)的主要業(yè)務(wù)流程。微信用戶首次關(guān)注某家第三方商城微信公眾號時,將該微信用戶注冊為該公眾號對應(yīng)的第三方商戶的客戶(默認(rèn)普通會員);用戶可在系統(tǒng)中瀏覽第三方商城店鋪的商品,添加購物車,進(jìn)行購物車結(jié)算;下單流程開始,進(jìn)入確認(rèn)訂單頁面后,填寫備注,添加收貨地址,默認(rèn)選擇微信支付并確認(rèn)訂單,然后提交訂單。第三方銷售人員在后臺管理系統(tǒng)(OpenCustomer)中能夠查看到用戶訂單,由供貨商進(jìn)行發(fā)貨。
圖2業(yè)務(wù)流程
2.2.4功能介紹
系統(tǒng)分為前端和后臺管理兩個模塊。其中,系統(tǒng)管理、商品管理、訂單管理和客戶(會員)管理等模塊構(gòu)成了后臺管理系統(tǒng)(OpenCustomer)。前端模塊主要由3個模塊組成:個人中心管理模塊、購物車模塊、微信公眾號開發(fā)模塊。
(1)前端模塊功能描述。子模塊一:個人中心模塊的客戶資料信息管理。該模塊提供用戶資料自我管理功能,包括昵稱、電話、QQ、Email等的查看、修改,以及收貨地址的增刪改查等。子模塊二:個人中心模塊的訂單管理。該模塊幫助用戶管理自己的訂單,查看訂單列表和訂單詳情并處理歷史已完成訂單、已取消訂單。子模塊三:購物車模塊。該模塊主要管理用戶購物的整個流程,包括商品列表和商品詳情的瀏覽、購物車管理、下單、完成訂單、微信支付等。子模塊四:微信公眾號開發(fā)模塊。該模塊主要用于網(wǎng)上購物系統(tǒng)與微信服務(wù)器的通信交互,包括微信公眾號接入服務(wù)、微信公眾號菜單事件處理等,支持微信公眾號與網(wǎng)上購物系統(tǒng)的協(xié)作運(yùn)行。
(2)后臺管理模塊功能描述。該模塊是為了讓平臺商、第三方和供貨商管理員對系統(tǒng)、商品、訂單、客戶等進(jìn)行統(tǒng)一管理。子模塊一:系統(tǒng)管理模塊。該模塊讓平臺商管理員對系統(tǒng)菜單、系統(tǒng)參數(shù)等進(jìn)行配置,對財務(wù)進(jìn)行結(jié)算。子模塊二:商品管理模塊。該模塊幫助第三方管理人員對商品進(jìn)行配置和商品的添加、修改、刪除、上架及下架。子模塊三:客戶管理模塊。該模塊下第三方管理人員可對客戶進(jìn)行維護(hù)。子模塊四:訂單管理模塊。該模塊幫助第三方管理人員和第三方的關(guān)系供貨商對微信用戶交易產(chǎn)生的訂單進(jìn)行查看和發(fā)貨。endprint