于信生
(廣西英華國(guó)際職業(yè)學(xué)院,廣西 欽州 535000)
隨著生鮮產(chǎn)品市場(chǎng)規(guī)模的日益擴(kuò)大,傳統(tǒng)生鮮產(chǎn)品的生產(chǎn)營(yíng)銷模式存在配送效率低、產(chǎn)品新鮮度無(wú)法得到保證、用戶選擇面小、商家無(wú)法增進(jìn)與客戶的黏性等問(wèn)題,已無(wú)法滿足當(dāng)前市場(chǎng)需求,隨著越來(lái)越多的人開(kāi)始關(guān)注生鮮電商,研發(fā)出一款能滿足廣大用戶購(gòu)買生鮮產(chǎn)品需求的數(shù)據(jù)平臺(tái)已迫在眉睫。
研發(fā)的平臺(tái)要滿足以下4 個(gè)要求。①生鮮產(chǎn)品的配送要及時(shí)。該系統(tǒng)后臺(tái)采用Spring Boot技術(shù)[1-2],在數(shù)據(jù)交互方面,采用大數(shù)據(jù)分析對(duì)區(qū)域進(jìn)行劃分,采用區(qū)域承包制、就近原則來(lái)解決生鮮產(chǎn)品配送問(wèn)題。②生鮮產(chǎn)品新鮮度要保證。該系統(tǒng)采用大數(shù)據(jù)分析技術(shù),記錄好投放產(chǎn)品的生產(chǎn)日期和過(guò)期日期,一旦生鮮產(chǎn)品過(guò)期,系統(tǒng)將自動(dòng)下架該產(chǎn)品,并通過(guò)系統(tǒng)站內(nèi)信、手機(jī)短信來(lái)通知商家。③生鮮產(chǎn)品信息要真實(shí)可靠。商家要入駐系統(tǒng),必須先上傳營(yíng)業(yè)執(zhí)照、生產(chǎn)許可證等相關(guān)資料。系統(tǒng)采用大數(shù)據(jù)圖片分析技術(shù),對(duì)所上傳的材料能辨別真假,若發(fā)現(xiàn)虛假信息,則撤銷該商家的入駐資格。④系統(tǒng)采用大數(shù)據(jù)的分布式技術(shù)對(duì)客戶購(gòu)買情況進(jìn)行數(shù)據(jù)采集、分析,并以圖表形式呈現(xiàn)給商家,方便商家配送商品。
2013 年以來(lái),生鮮電商逐漸火爆起來(lái),大量實(shí)體店品牌(如沃爾瑪、中糧我買網(wǎng)、光明菜管家等)加入生鮮電商,生鮮電商的行業(yè)發(fā)展進(jìn)入百花齊放時(shí)代。生鮮電商想要做大,勢(shì)必要進(jìn)行跨市或跨省的冷鏈配送。隨著冷鏈生鮮配送的興起,先有天貓、京東、蘇寧易購(gòu)、1號(hào)店等全面進(jìn)軍生鮮市場(chǎng),后有順豐優(yōu)選、沱沱工社、田園易購(gòu)等跟進(jìn)。
由數(shù)據(jù)統(tǒng)計(jì)結(jié)果可知,絕大多數(shù)生鮮電商用戶的使用頻率為每月1~3 次。目前,生鮮電商用戶使用習(xí)慣尚未形成,價(jià)格、便利性及品類豐富度是驅(qū)動(dòng)消費(fèi)者通過(guò)線上平臺(tái)購(gòu)買生鮮品的3 個(gè)主要因素,占比分別為61.7%、42.6%和36.2%。生鮮電商送貨通過(guò)上門提高采購(gòu)便利性的同時(shí),也在一定程度上打破空間界限,提高商品種類的豐富度。數(shù)據(jù)統(tǒng)計(jì)結(jié)果顯示,親朋好友的推薦是不可忽略的影響因素,這意味著網(wǎng)絡(luò)口碑對(duì)生鮮電商開(kāi)拓市場(chǎng)和贏取新用戶起到一定助推作用。
使用Mysql 對(duì)平臺(tái)數(shù)據(jù)庫(kù)進(jìn)行設(shè)計(jì)。Mysql 是一款開(kāi)源的關(guān)系型數(shù)據(jù)庫(kù),其支持多線程、視圖、存儲(chǔ)過(guò)程,還可進(jìn)行函數(shù)式開(kāi)發(fā)。經(jīng)過(guò)多年發(fā)展,Mysql 對(duì)大數(shù)據(jù)量的查詢得到優(yōu)化,能大大提高查詢速度,擁有處理千萬(wàn)條數(shù)據(jù)的能力,涉及后臺(tái)的數(shù)據(jù)庫(kù)見(jiàn)表1至表6。
表1 商品信息b_goods
表2 配送區(qū)域b_distribution
表3 模塊b_module
表4 權(quán)限b_permissions
表5 模塊b_role_permissions
表6 模塊b_roles
該系統(tǒng)平臺(tái)分為前臺(tái)和后臺(tái),前臺(tái)是客戶操作部分(客戶端),后臺(tái)是管理員操作部分(服務(wù)端)。生鮮配送存在著以下痛點(diǎn):生鮮產(chǎn)品質(zhì)量難以保證;配送時(shí)效性差,配送成本高;存儲(chǔ)成本較高。針對(duì)以上痛點(diǎn),平臺(tái)后臺(tái)功能的設(shè)計(jì)如圖1所示。
圖1 平臺(tái)后臺(tái)功能分析
該平臺(tái)功能有平臺(tái)基本功能設(shè)置、配送點(diǎn)設(shè)置、商品設(shè)置及訂單管理、權(quán)限管理、活動(dòng)管理、客戶管理,各功能實(shí)現(xiàn)如下。①平臺(tái)基本功能設(shè)置。包括對(duì)域名、IP 地址、郵箱等的設(shè)置。②配送點(diǎn)設(shè)置。每個(gè)配送點(diǎn)相當(dāng)于一個(gè)倉(cāng)庫(kù),用來(lái)存儲(chǔ)生鮮商品,由于生鮮商品對(duì)時(shí)效性的要求很高,配送點(diǎn)的設(shè)置非常重要。配送點(diǎn)的間隔不能太遠(yuǎn),也不能太近。太遠(yuǎn)則配送時(shí)效性差,太近則要設(shè)置較多的倉(cāng)庫(kù),成本比較高。一般是10 km 范圍內(nèi)設(shè)置一個(gè)。后臺(tái)主要記錄配送點(diǎn)坐標(biāo)、商品庫(kù)存及設(shè)置配送人員、配送費(fèi)用等。③商品設(shè)置。包括設(shè)置商品的分類、品牌管理、規(guī)格管理等,并根據(jù)每個(gè)配送點(diǎn)的庫(kù)存情況及時(shí)進(jìn)行補(bǔ)貨。④訂單管理。在客戶下單后,平臺(tái)的智能配送系統(tǒng)根據(jù)收貨地址和配送點(diǎn)的距離,按就近原則進(jìn)行配送,后臺(tái)管理人員根據(jù)配送情況來(lái)設(shè)置訂單狀態(tài),訂單狀態(tài)分為未付款、已付款、已發(fā)貨、已簽收、申請(qǐng)退款、申請(qǐng)退貨、訂單取消、訂單完成,可根據(jù)日期、客戶名、配送點(diǎn)等對(duì)訂單進(jìn)行查詢和導(dǎo)出。⑤權(quán)限管理。根據(jù)平臺(tái)角色的不同,操作權(quán)限也有所不同,配送員只能設(shè)置自己負(fù)責(zé)配送的商品、商品評(píng)價(jià)、訂單等信息,平臺(tái)經(jīng)理可管理配送點(diǎn)、配送人員及所有配送點(diǎn)的訂單信息,經(jīng)理人擁有超級(jí)管理員權(quán)限,可設(shè)置網(wǎng)站所有信息。⑥活動(dòng)管理。平臺(tái)會(huì)不定期舉行各種活動(dòng),如抽獎(jiǎng)、優(yōu)惠券、團(tuán)購(gòu)等。⑦客戶管理。管理員可處理客戶評(píng)價(jià)、投訴等信息,高級(jí)管理員還可查看客戶購(gòu)買記錄、賬戶余額等信息。
大數(shù)據(jù)生鮮配送平臺(tái)是基于Java 開(kāi)發(fā)的,目前主流采用的是“Spring+SpringMVC+Mybatis”(SSM)框架。SpringMVC 是一款優(yōu)秀框架,其具有支持Restful、與Spring框架集成、簡(jiǎn)單異常處理等優(yōu)點(diǎn),由于其也有與Servlet API耦合性強(qiáng)、難以脫離容器運(yùn)行、太過(guò)細(xì)分、開(kāi)發(fā)效率低等缺點(diǎn),因此該大數(shù)據(jù)生鮮配送平臺(tái)的后臺(tái)采用的是“SpringBoot+Mybaits Plus+Free-Marker”(SMF)框架[3]。
Spring Boot 是新一代基于Spring 框架的應(yīng)用程序,其遵循約定優(yōu)于配置的原則,極大簡(jiǎn)化了Spring 配置[4],與SpringMvc 相比,不用編寫大量樣板代碼,大大提高開(kāi)發(fā)效率,降低后期維護(hù)成本。在使用Spring Boot 時(shí),只要在pom.xml 文件中添加平臺(tái)所需的模塊,然后刷新maven,就可直接下載模塊,并加入到項(xiàng)目中。
Mybaits Plus 是十分優(yōu)秀的數(shù)據(jù)庫(kù)開(kāi)發(fā)框架,實(shí)際上是其Mybatis 的增強(qiáng)版,功能上和Mybatis 沒(méi)太大的區(qū)別,且Mybatis Plus 具有以下優(yōu)點(diǎn)。①?gòu)?qiáng)大的CRUD 操作??勺詣?dòng)生成所有的CRUD 代碼,解決頻繁寫sql 語(yǔ)句操作。②支持主鍵自動(dòng)生成。支持4 種主鍵策略,還可自由配置主鍵,完美解決主鍵問(wèn)題。③內(nèi)置代碼生成器??蓪懪渲么a或使用Maven 插件來(lái)快速生成Mapper、Model、Service、Controller 層代碼,支持模板引擎,從而大大提高開(kāi)發(fā)效率。④內(nèi)置分頁(yè)插件?;贛yBatis 物理分頁(yè),配置好插件后,寫分頁(yè)等同于寫list查詢。此外,Mybatis Plus 還支持多種數(shù)據(jù)庫(kù)、內(nèi)置全局?jǐn)r截插件等,是目前數(shù)據(jù)庫(kù)操作中最方便快捷的數(shù)據(jù)庫(kù)開(kāi)發(fā)框架之一[5]。
FreeMarker 是一個(gè)模板引擎,可用來(lái)設(shè)計(jì)生成基于MVC 模式應(yīng)用程序的HTML Web 頁(yè)面,從而生成動(dòng)態(tài)頁(yè)面,具有以下3 個(gè)優(yōu)點(diǎn)。①能很好地分離表現(xiàn)層和業(yè)務(wù)邏輯層。FreeMarker 的原理為“模板+數(shù)據(jù)模型=輸出”,模板只負(fù)責(zé)數(shù)據(jù)在頁(yè)面中的表現(xiàn),不涉及任何邏輯代碼,所有的邏輯都是由數(shù)據(jù)模型來(lái)處理的,用戶最終看到的輸出是模板和數(shù)據(jù)模型合并后創(chuàng)建的。②簡(jiǎn)單易用,功能強(qiáng)大,能提高開(kāi)發(fā)效率。FreeMarker 不僅支持JSP 標(biāo)簽,同時(shí)還內(nèi)置大量常用功能,如html 過(guò)濾、日期金額格式化等。FreeMarker 代碼十分簡(jiǎn)潔,使用非常方便,能有效提高開(kāi)發(fā)效率。③前后端分離,分工明確。傳統(tǒng)的JSP 頁(yè)面的前后端代碼是在一起的,耦合度較高。使用FreeMarker 后,前后端會(huì)完全分離,互不影響。
本研究闡述了大數(shù)據(jù)生鮮配送平臺(tái)后臺(tái)開(kāi)發(fā)思路和模式,結(jié)果表明,使用Spring Boot 和Mybaits Plus在提高開(kāi)發(fā)效率的同時(shí),也降低后期維護(hù)成本,代碼安全性得到保證。生鮮配送的時(shí)效性和存儲(chǔ)問(wèn)題始終是難點(diǎn),建立多個(gè)配送點(diǎn)能有效地解決該難點(diǎn),但配送點(diǎn)的區(qū)域跨度問(wèn)題還要深入討論。如果配送點(diǎn)設(shè)置太過(guò)密集,無(wú)疑會(huì)加大平臺(tái)運(yùn)營(yíng)的成本;密度太低,也會(huì)增加配送時(shí)間。由于每個(gè)區(qū)域的人流量和購(gòu)買力是不一樣的,這要在實(shí)際運(yùn)營(yíng)中逐漸去探索。