版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1引言當(dāng)今時(shí)代,移動(dòng)互聯(lián)網(wǎng)發(fā)展非常迅速,已經(jīng)走進(jìn)千家萬(wàn)戶,手機(jī)里各種各樣的應(yīng)用程序已經(jīng)深入到我們每個(gè)人的衣食住行,是人們生活中的方方面面得到了很大的便利。這種現(xiàn)象以及趨勢(shì)在校園中同樣存在,所以這就為校園里的外賣(mài)系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)提供了龐大的市場(chǎng)空間和非常成熟的技術(shù)條件。使用微信小程序,應(yīng)用程序等各個(gè)平臺(tái),學(xué)生和老師可以隨時(shí)隨地挑選美食餐品、加購(gòu),下單,這使得校園生活非常便捷?,F(xiàn)如今,教育是支柱產(chǎn)業(yè),高校資金雄厚,許多高校的校園面積非常大,但是食堂,小賣(mài)部超市等餐飲地點(diǎn)又分散在校園的各個(gè)角落,而且傳統(tǒng)的人到付款的購(gòu)買(mǎi)訂餐方式存在看不到餐品信息、配送慢、服務(wù)體驗(yàn)感差等問(wèn)題,尤其在學(xué)士老師用餐的高峰期,下課時(shí)間都堆疊在一起,這導(dǎo)致買(mǎi)飯排隊(duì)時(shí)間長(zhǎng)、等待外賣(mài)配送時(shí)間無(wú)法控制,這一現(xiàn)象對(duì)于校內(nèi)的老師和同學(xué)來(lái)說(shuō)非常的不方便。為了改善校園內(nèi)的就餐機(jī)制和餐飲服務(wù)水平,打造一個(gè)專(zhuān)門(mén)為校內(nèi)人員服務(wù)的校園外賣(mài)配送平臺(tái)就顯得非常有必要如果有了校園外賣(mài)系統(tǒng),這不僅能夠代表該高校具有非常高的信息化建設(shè)水平,還能是使校園管理向智能化、數(shù)字化的方向發(fā)展。數(shù)字技術(shù)在高校中的應(yīng)用越來(lái)越廣泛,讓校園外賣(mài)在其中扮演重要的角色,可以很好地改善老師和學(xué)生的餐飲體驗(yàn),縮短配送時(shí)間,提高整體服務(wù)效率。同時(shí),設(shè)計(jì)一款功能齊全、界面方便易操作、具有校園主題的外賣(mài)系統(tǒng),可以增強(qiáng)用戶粘連性,擴(kuò)大數(shù)字化服務(wù)的應(yīng)用范圍,讓智慧校園的建設(shè)進(jìn)入到一個(gè)新的擋位。1.1課題背景當(dāng)今社會(huì)發(fā)展迅猛,科技時(shí)代悄然來(lái)臨,生活中到處都充斥著科技的元素,餐飲在高校生活中扮演著非常重要的角色。然而舊時(shí)代的學(xué)生在學(xué)校買(mǎi)飯消費(fèi)飲食,主要靠的是到食堂刷卡或者給食堂超市打電話叫跑腿,這種方式不僅流程繁瑣復(fù)雜,而且配送時(shí)間和配送質(zhì)量不可控、無(wú)法選擇豐富的菜品等[2],這極大削弱了服務(wù)體驗(yàn),已經(jīng)很難以滿足當(dāng)代被科技武裝的大學(xué)生對(duì)于便捷、高效和多樣化生活方式的需求[1]。最近幾年,智能手機(jī)迅速興起,移動(dòng)互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,微信普及率極高,小程序種類(lèi)越來(lái)越多,這都為餐飲外賣(mài)行業(yè)提供強(qiáng)有力的技術(shù)支撐。同時(shí),自2019年起,新冠病毒席卷到了人們社會(huì),出門(mén)買(mǎi)飯會(huì)加大人流,在當(dāng)時(shí)會(huì)增加病毒在人群擴(kuò)散的風(fēng)險(xiǎn),傳統(tǒng)外賣(mài)服務(wù)模式的弊端在疫情時(shí)更加凸顯。這一背景使高校的學(xué)生對(duì)于更便捷的外賣(mài)系統(tǒng)的需求越來(lái)越大,也從中推動(dòng)了校園外賣(mài)服務(wù)從傳統(tǒng)線下模式向線上的轉(zhuǎn)化。對(duì)于商家來(lái)說(shuō),傳統(tǒng)的送飯方式在接受訂單上,歸類(lèi)配送菜品上,路途配送方式上,都有很多效率低下的問(wèn)題,這還會(huì)產(chǎn)生昂貴的人力物力成本,久而久之就會(huì)制約自身的盈利以及發(fā)展。商家急需一種能夠降低運(yùn)營(yíng)成本、提高管理效率,還能適應(yīng)市場(chǎng)變化的新型服務(wù)平臺(tái),從而更好地滿足校內(nèi)學(xué)生對(duì)于餐飲方面的需求,迎合科技發(fā)展的大背景,提升自己的競(jìng)爭(zhēng)力?;谝陨?,結(jié)合SpringBoot的高效開(kāi)發(fā)特性與微信小程序的便捷入口,開(kāi)發(fā)一套專(zhuān)門(mén)面向校園環(huán)境的外賣(mài)管理系統(tǒng),不僅順應(yīng)了時(shí)代發(fā)展趨勢(shì),也符合高校校園餐飲服務(wù)升級(jí)的現(xiàn)實(shí)需要。通過(guò)該系統(tǒng),可以極大地提升用戶訂餐體驗(yàn),優(yōu)化商家運(yùn)營(yíng)流程,同時(shí)也為信息化建設(shè)提供有力支持,具有重要的實(shí)際意義與應(yīng)用價(jià)值。1.2課題意義這個(gè)飽享派外賣(mài)系統(tǒng)的課題是以SpringBoot開(kāi)發(fā)框架為基礎(chǔ),前端結(jié)合微信小程序平臺(tái),構(gòu)建的校園外賣(mài)管理系統(tǒng),他在校園內(nèi),對(duì)于老師學(xué)生這些群體有著很高的利用價(jià)值。首先,站在使用用戶的角度來(lái)看,這個(gè)系統(tǒng)與傳統(tǒng)的點(diǎn)餐模式不一樣,它不受時(shí)控的限制,可以遠(yuǎn)程點(diǎn)單。學(xué)生或者老師可以直接在手機(jī)上通過(guò)登錄微信小程序隨時(shí)隨地查看各個(gè)校內(nèi)外門(mén)店下單菜品,在線完成訂單提交與支付,大大減少了在訂餐方面浪費(fèi)的時(shí)間。系統(tǒng)的界面設(shè)計(jì)也秉持簡(jiǎn)介不花哨的原則,操作流程上要堅(jiān)收用戶好上手,操作簡(jiǎn)單的原則,這就可以有效提升訂餐效率與使用體驗(yàn),提高校內(nèi)生活的質(zhì)量與用餐體驗(yàn)感。其次,站在商家管理員的角度來(lái)說(shuō),后臺(tái)系統(tǒng)內(nèi)帶有訂單管理、菜品管理、配送狀態(tài)管理等必要功能,整套流程都被數(shù)字化管理體系貫穿。通過(guò)自動(dòng)化流程的處理可以減少人工工作參與量,而人工操作失誤率又高,這就可以減少因信息誤差或操作疏漏導(dǎo)致的運(yùn)營(yíng)風(fēng)險(xiǎn),還能減少在人力成本方面的支出。同時(shí),后臺(tái)管理系統(tǒng)還可以通過(guò)數(shù)據(jù)統(tǒng)計(jì)分析生成經(jīng)營(yíng)報(bào)告,為商家提供買(mǎi)家的消費(fèi)行為分析、商品銷(xiāo)售趨勢(shì)等清晰的數(shù)據(jù),可以幫助商家根據(jù)趨勢(shì)調(diào)整經(jīng)營(yíng)結(jié)構(gòu),制定更貼合校園餐飲需求的經(jīng)營(yíng)策略。再次,從行業(yè)發(fā)展進(jìn)程來(lái)看,依托微信小程序的外賣(mài)運(yùn)營(yíng)形式正在成為餐飲行業(yè)的重要發(fā)展方向,甚至京東平臺(tái)也開(kāi)始打造外賣(mài)賽道。美團(tuán)外賣(mài)、餓了么等主流平臺(tái)的成功實(shí)踐表明,以小程序這種低成本小載量的平臺(tái)搭建起來(lái)的服務(wù)體系具備很強(qiáng)的市場(chǎng)潛力。本課題緊緊扣住了行業(yè)發(fā)展的趨勢(shì),會(huì)深入研究外賣(mài)小程序在校園環(huán)境下的應(yīng)用模式,會(huì)為外賣(mài)行業(yè)的發(fā)展提供非常實(shí)際的實(shí)踐經(jīng)驗(yàn)。最后,在高校的信息化建設(shè)中,這個(gè)外賣(mài)系統(tǒng)會(huì)成為信息化校園體系中的重要組成部分,會(huì)與宿舍智能門(mén)禁刷臉等智能系統(tǒng)并駕齊驅(qū)。它能夠有效提升高校食堂餐飲方面管理的智能化程度,豐富校園內(nèi)智能化的服務(wù)內(nèi)容,推動(dòng)校園內(nèi)部服務(wù)模式向高效、智能方向發(fā)展。無(wú)論是完善校園服務(wù)體系,還是提高管理工作效率,該系統(tǒng)都具有重要的現(xiàn)實(shí)作用和長(zhǎng)遠(yuǎn)價(jià)值。綜上所述,本課題的研究與探索具有多方面重要意義。在校園外賣(mài)服務(wù)領(lǐng)域能夠真實(shí)的解決現(xiàn)有的很多問(wèn)題,既改善師生的使用感受,又可以提高商家的經(jīng)營(yíng)管理效率。同時(shí),此系統(tǒng)還會(huì)推動(dòng)高校信息化建設(shè)與外賣(mài)行業(yè)的結(jié)合,為行業(yè)發(fā)展提供新方向。這些研究成果在實(shí)際應(yīng)用中具有較高可行性并且適合推廣,對(duì)相關(guān)領(lǐng)域發(fā)展具有很好的參考價(jià)值。1.3課題內(nèi)容本課題圍繞以為SpringBoot框架為基礎(chǔ),前端依托微信小程序的校園外賣(mài)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)展開(kāi),研究?jī)?nèi)容主要包括以下幾個(gè)方面:研究的第一步是分析系統(tǒng)需求。通過(guò)了解身邊學(xué)生的餐飲需求,上網(wǎng)查看學(xué)生對(duì)于校園餐飲的改善建議,充分了解高校學(xué)生和校內(nèi)餐飲商家對(duì)外賣(mài)服務(wù)的實(shí)際需求?;谶@些需求探索,明確了系統(tǒng)開(kāi)發(fā)要解決的主要問(wèn)題,主要就是讓點(diǎn)餐更方便、提高訂單處理速度、可以檢測(cè)配送狀態(tài),以及實(shí)現(xiàn)商家對(duì)菜品,用戶地址的有效管理等重要功能需求。完成需求分析后,進(jìn)入系統(tǒng)設(shè)計(jì)的階段。參考社會(huì)上現(xiàn)有的好多app外賣(mài)平臺(tái),采用面向?qū)ο蟮脑O(shè)計(jì)思路,利用UML建模方法規(guī)劃系統(tǒng)整體框架。系統(tǒng)采用前端和后端分離的模式,后端主要是基于SpringBoot框架開(kāi)發(fā),前端以微信小程序作為主要操作界面。設(shè)計(jì)內(nèi)容包括數(shù)據(jù)庫(kù)的創(chuàng)建、系統(tǒng)整體架構(gòu)規(guī)劃和各個(gè)功能模塊設(shè)計(jì),確保系統(tǒng)運(yùn)行可靠,并為后續(xù)功能的改進(jìn)和升級(jí)預(yù)留出可操作空間。按照預(yù)先制定的設(shè)計(jì)規(guī)劃,系統(tǒng)進(jìn)入實(shí)際開(kāi)發(fā)階段。開(kāi)發(fā)過(guò)程中,構(gòu)建了一系列重要功能,涉及用戶注冊(cè)登錄、菜品展示、創(chuàng)建地址,加購(gòu)購(gòu)物車(chē)、配送狀態(tài)實(shí)時(shí)查看、菜品信息更新,以及商家的管理后臺(tái)。學(xué)生用戶通過(guò)微信小程序就能完成點(diǎn)餐下單的全部操作,商家可以通過(guò)網(wǎng)頁(yè)端后臺(tái)接收數(shù)據(jù)和處理訂單,整個(gè)系統(tǒng)操作必須流程清晰,便于不能有邏輯漏洞。在完成系統(tǒng)主要的創(chuàng)建任務(wù)后,本課題還進(jìn)行了系統(tǒng)的測(cè)試與改進(jìn)工作。系統(tǒng)建成后,通過(guò)功能測(cè)試、數(shù)據(jù)載量測(cè)試和性能測(cè)試等,全面檢查系統(tǒng)運(yùn)行的穩(wěn)定性和錯(cuò)誤性。功能測(cè)試用來(lái)確認(rèn)各個(gè)模塊都能正常工作,數(shù)據(jù)載量測(cè)試主要要看看系統(tǒng)可以同時(shí)容納多少用戶同時(shí)進(jìn)行操作,性能測(cè)試則針對(duì)系統(tǒng)的響應(yīng)速度和數(shù)據(jù)處理能力進(jìn)行優(yōu)化,從而提高系統(tǒng)的整體使用效果。在系統(tǒng)開(kāi)發(fā)結(jié)束階段,還添加了數(shù)據(jù)統(tǒng)計(jì)分析功能。這個(gè)功能可以收集用戶消費(fèi)偏好、熱門(mén)菜品的數(shù)據(jù)和商家銷(xiāo)售情況等,這些情況都會(huì)通過(guò)可視圖的形式反饋在后臺(tái)系統(tǒng)。商家可以通過(guò)這些直觀的數(shù)據(jù),能夠更好地了解校內(nèi)學(xué)生的餐飲情況,制定合適的營(yíng)銷(xiāo)方案,從而提高經(jīng)營(yíng)效率和服務(wù)質(zhì)量。本研究針對(duì)校園外賣(mài)服務(wù)的實(shí)際需求,運(yùn)用先進(jìn)且簡(jiǎn)潔的技術(shù),開(kāi)發(fā)出一套完整、實(shí)用的校園外賣(mài)管理系統(tǒng)。這對(duì)于個(gè)人代碼編寫(xiě)能力可以得到很好的鍛煉和提升,對(duì)于校園內(nèi)餐飲問(wèn)題可以得到很好的解決。
2系統(tǒng)開(kāi)發(fā)工具與關(guān)鍵技術(shù)介紹這個(gè)飽享派外賣(mài)系統(tǒng)用到了SpringBoot的框架,還依托了微信小程序平臺(tái)來(lái)進(jìn)行開(kāi)發(fā),實(shí)現(xiàn)了前端與后端分離開(kāi),前端主要依托的是微信開(kāi)發(fā)者工具構(gòu)建出了大體輪廓,同時(shí)使用到了JavaScript、WXML、WXSS等技術(shù)讓頁(yè)面可以進(jìn)行交互,樣式渲染。后端的業(yè)務(wù)邏輯與接口服務(wù)主要靠的是Java+SpringBoot框架,在數(shù)據(jù)庫(kù)方面使用MyBatis-Plus,這可以對(duì)其封裝并美化。系統(tǒng)的大數(shù)據(jù)庫(kù)采用的是MySQL,數(shù)據(jù)緩存機(jī)制的實(shí)現(xiàn)是通過(guò)Redis,這就大大提升了訪問(wèn)效率。細(xì)節(jié)方面還用到了ECharts可視化工具,用它可以讓訂單的數(shù)量、銷(xiāo)售金額、用戶活躍度,菜品銷(xiāo)量等數(shù)據(jù)的圖表展示出來(lái),對(duì)于賣(mài)家來(lái)說(shuō),這就增強(qiáng)了后臺(tái)運(yùn)營(yíng)分析的能力[3-4]。2.1微信小程序前端技術(shù)棧2.1.1JavaScriptJavaScript是微信小程序中最基本的元素,是基礎(chǔ)的編程語(yǔ)言,用它可以讓前端實(shí)現(xiàn)邏輯控制和用戶交互響應(yīng)。在這個(gè)飽享派外賣(mài)系統(tǒng)中,客戶端的菜品瀏覽、操作、地址的填寫(xiě)、訂單狀態(tài)實(shí)時(shí)更新等功能的實(shí)現(xiàn)與數(shù)據(jù)處理都是靠JavaScript。舉這個(gè)系統(tǒng)中的例子:在提交訂單的時(shí)候,JavaScript會(huì)自動(dòng)檢查用戶填寫(xiě)地址的時(shí)候是否填寫(xiě)完整、用戶有沒(méi)有添加購(gòu)物車(chē),并將它檢查的結(jié)果返回到前端界面顯示出來(lái)。在用戶支付時(shí)候,JavaScript的邏輯實(shí)現(xiàn)會(huì)與后端接口的數(shù)據(jù)交互,這可以確保數(shù)據(jù)與訂單的狀態(tài)準(zhǔn)確同步。2.1.2WXML(HTML)WXML是微信小程序中用于描述頁(yè)面結(jié)構(gòu)的標(biāo)記語(yǔ)言,它的語(yǔ)法與HTM類(lèi)似,它還可以引入微信平臺(tái)獨(dú)有的組件標(biāo)簽。在這個(gè)飽享派外賣(mài)系統(tǒng)中,前端頁(yè)面框架結(jié)構(gòu)的構(gòu)建,首頁(yè)展示出來(lái)的菜品、頁(yè)面左側(cè)的分類(lèi)菜單、購(gòu)物車(chē)的彈窗、訂單頁(yè)面等的實(shí)現(xiàn)都有用WXML。例如,scroll-view被用來(lái)實(shí)現(xiàn)商品分類(lèi)的左右滑動(dòng),navigator可以完成頁(yè)面的跳轉(zhuǎn),Button通過(guò)搭配事件綁定讓用戶可以操作按鈕,它讓整體的頁(yè)面結(jié)構(gòu)非常清楚,大大提升了用戶的體驗(yàn)感。2.1.3WXSS(CSS)WXSS是微信小程序中設(shè)計(jì)樣式的語(yǔ)言,它和CSS的基礎(chǔ)是一樣的,但是它擴(kuò)展了對(duì)尺寸單位的支持,與CSS相比它還可以在不同的屏幕下都能適配。在這個(gè)飽享派外賣(mài)系統(tǒng)中,WXSS實(shí)現(xiàn)了整體頁(yè)面的配色、商品快的排版、字體樣式、邊距設(shè)定等。例如,在商品列表頁(yè),WXSS控制著里面商品的大小,讓它們大小統(tǒng)一、文本內(nèi)容統(tǒng)一居中排列,這就讓頁(yè)面變得整齊美觀。在訂單頁(yè)面中,它實(shí)現(xiàn)了通過(guò)顏色讓買(mǎi)家辨別訂單的各個(gè)狀態(tài),綠色表示訂單“已完成”,紅色表示賣(mài)家“待支付”,這讓用戶操作起來(lái)非常便捷易懂。2.1.4微信小程序云函數(shù)與云存儲(chǔ)雖然本系統(tǒng)主后端采用SpringBoot部署在云服務(wù)器,但在某些場(chǎng)景下仍借助微信小程序自帶的云函數(shù)功能處理輔助任務(wù)。例如,使用云函數(shù)發(fā)送模板消息提醒用戶訂單狀態(tài)更新,使用云存儲(chǔ)存儲(chǔ)用戶上傳的頭像或評(píng)價(jià)圖片。云函數(shù)允許開(kāi)發(fā)者將JavaScript邏輯運(yùn)行在微信提供的云環(huán)境中,免去了搭建額外服務(wù)的負(fù)擔(dān),從而在保持系統(tǒng)主架構(gòu)獨(dú)立性的同時(shí),也獲得了小程序平臺(tái)的云支持能力。2.2SpringBoot框架技術(shù)SpringBoot是一種以Spring框架為基礎(chǔ)的快速開(kāi)發(fā)工具,它使項(xiàng)目的配置過(guò)程變簡(jiǎn)化,還可以支持快速構(gòu)建后端服務(wù)。在飽享派外賣(mài)系統(tǒng)中,SpringBoot完成立后端服務(wù)平臺(tái)的搭建,用戶登錄驗(yàn)證、商品信息管理、訂單處理、數(shù)據(jù)統(tǒng)計(jì)等都依靠SpringBoot框架執(zhí)行。2.2.1核心內(nèi)容SpringBoot可以實(shí)現(xiàn)自動(dòng)配置,同時(shí)用著注解開(kāi)發(fā)方式,這就讓開(kāi)發(fā)系統(tǒng)可以以最少的配置構(gòu)建出最完美整潔的后端系統(tǒng)。系統(tǒng)通過(guò)配置RESTful接口,與前端微信小程序的數(shù)據(jù)交互起來(lái)。例如,買(mǎi)家在提交訂單時(shí),前端就會(huì)通過(guò)POST請(qǐng)求將訂單數(shù)據(jù)傳遞給后端接口,SpringBoot接收到請(qǐng)求后就會(huì)調(diào)用相應(yīng)的業(yè)務(wù)邏輯來(lái)進(jìn)行處理并返回響應(yīng)的結(jié)果。此外,SpringBoot里還配有內(nèi)嵌了Tomcat服務(wù)器,它可以把項(xiàng)目打包成為一個(gè)獨(dú)立可運(yùn)行的jar文件,使這個(gè)項(xiàng)目上線變得非常方便。2.2.2選擇SpringBoot的原因開(kāi)發(fā)效率高:SpringBoot可以提供了大量的自動(dòng)化配置,簡(jiǎn)化了項(xiàng)目的結(jié)構(gòu)搭造,還可以擺脫管理流程的依賴(lài),這大大縮短了項(xiàng)目的制作開(kāi)發(fā)周期;接口規(guī)范清晰:框架支持標(biāo)準(zhǔn)的RESTful風(fēng)格接口,專(zhuān)為本系統(tǒng)的前后端分離技術(shù)提供;集成生態(tài)豐富:可方便地與MyBatis-Plus、Redis、JWT等進(jìn)行結(jié)合,集成各項(xiàng)技術(shù)的優(yōu)勢(shì),改造可塑性很強(qiáng);部署靈活:內(nèi)含服務(wù)器,支持系統(tǒng)快速運(yùn)行上線,不需要配置額外的運(yùn)行環(huán)境,大大節(jié)省時(shí)間成本。2.3MyBatis-Plus技術(shù)MyBatis-Plus是在MyBatis基礎(chǔ)上擴(kuò)展的增強(qiáng)工具,主要目的是簡(jiǎn)化開(kāi)發(fā),提高效率。在本系統(tǒng)中,MyBatis-Plus被用于操作MySQL數(shù)據(jù)庫(kù),實(shí)現(xiàn)商品、用戶、訂單、地址等業(yè)務(wù)實(shí)體的數(shù)據(jù)持久化。2.3.1技術(shù)關(guān)鍵內(nèi)容MyBatis-Plus有很多內(nèi)置方法,如Insert、DeleteById、UpdateById、SelectList,使用這些內(nèi)置方法可以大大減少數(shù)據(jù)庫(kù)訪問(wèn)代碼的量。例如,在訂單管理時(shí),使用OrderMapper.selectList(queryWrapper)就可以查詢(xún)每個(gè)用戶的所有訂單;在用戶注冊(cè)時(shí)候,使用UserMapper.insert(user)就可以把剛注冊(cè)的用戶信息寫(xiě)到數(shù)據(jù)庫(kù)中,避免使用過(guò)長(zhǎng)繁瑣的SQL語(yǔ)句。MyBatis-Plus還支持使用分頁(yè)插件、邏輯刪除、代碼生成器等很實(shí)用便捷的功能,這讓系統(tǒng)開(kāi)發(fā)起來(lái)很規(guī)范,同時(shí)維護(hù)起來(lái)很方便。2.3.2選擇MyBatis-Plus的原因簡(jiǎn)化開(kāi)發(fā):避免重復(fù)寫(xiě)SQL,提高開(kāi)發(fā)效率;靈活擴(kuò)展:支持XML與注解混合配置,滿足復(fù)雜業(yè)務(wù)需求;易于維護(hù):結(jié)構(gòu)清晰,便于團(tuán)隊(duì)協(xié)作開(kāi)發(fā)和后期維護(hù);社區(qū)支持強(qiáng):文檔完整,生態(tài)豐富,學(xué)習(xí)成本低。2.4Redis緩存技術(shù)Redis是一款開(kāi)源的高性能鍵值對(duì)數(shù)據(jù)庫(kù),常用于數(shù)據(jù)的緩存、計(jì)數(shù)器、消息隊(duì)列。在飽享派外賣(mài)系統(tǒng)中,Redis主要用在了緩存用戶的登錄狀態(tài)、商品瀏覽記錄、熱門(mén)商品排行榜等數(shù)據(jù),它可以降低數(shù)據(jù)庫(kù)訪問(wèn)的壓力,加快系統(tǒng)響應(yīng)的速度。2.4.1Redis的關(guān)鍵實(shí)現(xiàn)用戶狀態(tài)緩存:登錄成功后將用戶的信息暫存入Redis,后續(xù)接口驗(yàn)證用戶身份信息的時(shí)候就無(wú)需頻繁訪問(wèn)數(shù)據(jù)庫(kù);訂單編號(hào)生成:利用Redis的自增功能生成唯一的訂單號(hào),確保多個(gè)用戶一起下單時(shí),發(fā)出的訂單編號(hào)不會(huì)重復(fù);熱門(mén)商品排行:使用Redis里的SortedSet來(lái)記錄彩屏的點(diǎn)擊量,可以實(shí)時(shí)展現(xiàn)銷(xiāo)量榜單;會(huì)話過(guò)期控制:為緩存設(shè)置過(guò)期的時(shí)間,定期清除沒(méi)有用的會(huì)話,節(jié)約系統(tǒng)的資源。2.4.2選擇Redis的原因高性能:內(nèi)存級(jí)訪問(wèn),讀取速度遠(yuǎn)高于傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù);適合做緩存:支持鍵值、哈希、列表、集合等豐富的數(shù)據(jù)結(jié)構(gòu),靈活性高;支持并發(fā)訪問(wèn):高并發(fā)情況下表現(xiàn)穩(wěn)定,適用于訂單系統(tǒng)等敏感業(yè)務(wù);部署:配置簡(jiǎn)單,占用資源少,便于集成到SpringBoot項(xiàng)目中。
3系統(tǒng)需求分析3.1系統(tǒng)需求分析飽享派外賣(mài)系統(tǒng)是一個(gè)基于微信小程序的校園外賣(mài)管理系統(tǒng),它的初衷就是為高校內(nèi)的老師和學(xué)生提供方便高效的校園外賣(mài)服務(wù),同時(shí)為管理員也就是賣(mài)家的一方提供簡(jiǎn)單高效易操作的管理后臺(tái)[5]。系統(tǒng)的主要功能包括添加購(gòu)物車(chē),購(gòu)物車(chē)管理,用戶下單、管理訂單、支付系統(tǒng)、商品管理、用戶管理,目的就是提升校園餐飲服務(wù)的質(zhì)量與效率。3.1.1功能需求用戶登錄與注冊(cè):支持微信授權(quán)登錄,簡(jiǎn)化注冊(cè)流程。商品瀏覽與下單:買(mǎi)家可以瀏覽菜品,選擇并下單購(gòu)買(mǎi)。訂單管理:買(mǎi)家可以查看訂單詳情、狀態(tài)以及歷史訂單。支付功能:集成微信支付,支持在線支付。評(píng)論與反饋:買(mǎi)家可以對(duì)商品進(jìn)行評(píng)論,并提供反饋。后臺(tái)管理:管理員可以管理商品信息(增刪改查),管理訂單,管理用戶等。配送管理:管理員可根據(jù)訂單實(shí)時(shí)更新配送狀態(tài)。3.1.2非功能需求性能要求:系統(tǒng)應(yīng)支持多用戶并發(fā)處理,保證用戶加購(gòu),下單快速流暢。安全性:用戶的數(shù)據(jù)在數(shù)據(jù)庫(kù)中需加密存儲(chǔ),確保買(mǎi)家的支付信息和個(gè)人地址信息,賬號(hào)信息的安全。易用性:界面前端的設(shè)計(jì)應(yīng)當(dāng)簡(jiǎn)潔易用,用戶不需要專(zhuān)門(mén)培訓(xùn),觀看系統(tǒng)教程就可以順利使用。維護(hù)性:系統(tǒng)需具備較好的可擴(kuò)展性和易維護(hù)性,確保長(zhǎng)期運(yùn)行穩(wěn)定。3.2可行性分析技術(shù)可行性:系統(tǒng)采用微信小程序開(kāi)發(fā),使用SpringBoot作為后端框架,數(shù)據(jù)庫(kù)使用MySQL,確保系統(tǒng)功能實(shí)現(xiàn)的穩(wěn)定性與高效性。技術(shù)棧成熟,具備良好的開(kāi)發(fā)和運(yùn)維支持。經(jīng)濟(jì)可行性:微信小程序和相關(guān)服務(wù)免費(fèi)提供,開(kāi)發(fā)和部署成本較低,且維護(hù)成本較為經(jīng)濟(jì)。操作可行性:系統(tǒng)設(shè)計(jì)簡(jiǎn)潔,用戶可以通過(guò)微信小程序輕松操作,無(wú)需特別培訓(xùn)。管理員通過(guò)后臺(tái)管理系統(tǒng)進(jìn)行操作,界面直觀。3.3系統(tǒng)用例建模系統(tǒng)用例圖3.1如下:圖3.1系統(tǒng)用例圖系統(tǒng)分為兩大角色:用戶和管理員,功能描述如下:用戶角色:登錄注冊(cè):使用微信授權(quán)登錄,完成身份驗(yàn)證。瀏覽商品:進(jìn)入到首頁(yè)就可以查看系統(tǒng)提供的各個(gè)菜品套餐以及對(duì)應(yīng)的價(jià)格,選擇菜品。加購(gòu)購(gòu)物車(chē):用戶可以自己選擇心儀的商品暫時(shí)加到購(gòu)物車(chē)中,后續(xù)還可以在購(gòu)物車(chē)中刪改下單與支付:確認(rèn)好購(gòu)物車(chē)的商品后就可以下單,支付。訂單管理:查看訂單詳情與狀態(tài)。評(píng)論與反饋:對(duì)購(gòu)買(mǎi)的商品進(jìn)行評(píng)價(jià)。我的功能:可以在我的界面查看歷史訂單管理員角色:登錄后臺(tái):管理員通過(guò)后臺(tái)管理系統(tǒng)進(jìn)行登錄。運(yùn)營(yíng)統(tǒng)計(jì):管理員可以查看歷史的數(shù)據(jù)統(tǒng)計(jì),了解營(yíng)銷(xiāo)情況。權(quán)限管理:管理員可以設(shè)置一些小程序訪問(wèn)的權(quán)限菜品管理:管理員可以新增、刪除或修改商品信息。套餐管理:管理員可以自己自由設(shè)置組合菜品套餐訂單管理:管理員查看并處理用戶訂單。配送管理:更新配送狀態(tài),確保外賣(mài)及時(shí)送達(dá)。日志管理:可查看后臺(tái)系統(tǒng)的登錄操作情況。會(huì)員管理:可自由設(shè)置固定會(huì)員實(shí)現(xiàn)對(duì)于用戶的折扣。系統(tǒng)監(jiān)控:主要監(jiān)測(cè)系統(tǒng)的各個(gè)接口以及數(shù)據(jù)庫(kù)通過(guò)系統(tǒng)用例圖,能夠清晰展示出買(mǎi)家和管理員的主要功能,確保系統(tǒng)能夠有效滿足用戶需求。
4概要設(shè)計(jì)4.1功能模塊設(shè)計(jì)系統(tǒng)功能模塊圖如圖4.1所示。圖4.1系統(tǒng)功能模塊圖飽享派外賣(mài)系統(tǒng)有兩個(gè)可操作的端口,分別是移動(dòng)端和WEB端,移動(dòng)端的面向?qū)ο笫强蛻?,也就是學(xué)生,WEB端面向的對(duì)象是管理員,也就是賣(mài)家移動(dòng)端有三個(gè)模塊,分別是:首頁(yè)、訂單、我的。首頁(yè)模塊最先展示的就是商品菜品,可以瀏覽菜品,展示不同的菜品類(lèi)別,還可以選擇購(gòu)買(mǎi)數(shù)量添加購(gòu)物車(chē)。訂單模塊主要用于給用戶展示自己的訂單信息,包括查看訂單狀態(tài)、跳轉(zhuǎn)支付、取消訂單、申請(qǐng)退款。在我的模塊中用戶可以對(duì)自己的個(gè)人信息進(jìn)行修改管理、可以添加編輯收貨地址,設(shè)置默認(rèn)地址。WEB端后臺(tái)管理系統(tǒng)主要有9大模塊,包括運(yùn)營(yíng)統(tǒng)計(jì)、權(quán)限管理、訂單管理,會(huì)員管理、菜品管理、套餐管理、日志管理、監(jiān)控管理、系統(tǒng)設(shè)置。第一個(gè)模塊:運(yùn)營(yíng)統(tǒng)計(jì),運(yùn)營(yíng)統(tǒng)計(jì)模塊的用處在于給管理員展示前端買(mǎi)家在平臺(tái)的訂單量、銷(xiāo)售額、用戶數(shù),各個(gè)菜品的銷(xiāo)量數(shù)據(jù),儀可視化統(tǒng)計(jì)圖的形式反映出來(lái);第二個(gè)模塊:權(quán)限管理,它的作用在于賦予管理管理員一種賬號(hào)權(quán)限,來(lái)保證后臺(tái)操作時(shí)刻具有安全性和規(guī)范性;第三個(gè)模塊:訂單管理,它掌握了平臺(tái)的訂單數(shù)據(jù),檢測(cè)買(mǎi)家用戶是否付款,外賣(mài)的配送進(jìn)度;第四個(gè)模塊:會(huì)員管理,它會(huì)管理平臺(tái)的注冊(cè)用戶信息,保證交易平臺(tái)流程通順;第五個(gè)模塊:菜品管理,它主要給商家提供了對(duì)各個(gè)菜品增刪改查的操作,可以給菜品上架下架,設(shè)定價(jià)格;第六個(gè)模塊:套餐管理,可以將第五個(gè)模塊中上架的菜品進(jìn)行組合搭配,可制定出更默契的口味,更實(shí)惠的價(jià)格;第七個(gè)模塊:日志管理,它主要為后臺(tái)管理的技術(shù)人員提供,主要記錄系統(tǒng)操作日志,也就是每次后臺(tái)的操作記錄,以便于后期間審核記賬或者一旦出現(xiàn)問(wèn)題是的問(wèn)題追溯;第八個(gè)模塊:監(jiān)控管理,它主要檢測(cè)反應(yīng)系統(tǒng)內(nèi)部服務(wù)器的運(yùn)行狀態(tài)、各個(gè)數(shù)據(jù)接口調(diào)用以及對(duì)接情況;第九個(gè)模塊:系統(tǒng)設(shè)置,它主要復(fù)雜提供基礎(chǔ)的參數(shù)配置。4.2數(shù)據(jù)庫(kù)設(shè)計(jì)在開(kāi)發(fā)這個(gè)飽享派外賣(mài)系統(tǒng)的過(guò)程中,它數(shù)據(jù)庫(kù)對(duì)于設(shè)計(jì)開(kāi)發(fā)系統(tǒng)是及其重要的,里面儲(chǔ)存著一切會(huì)用用到的元素。規(guī)范的數(shù)據(jù)庫(kù),科學(xué)清楚的數(shù)據(jù)庫(kù)結(jié)構(gòu),可以大大提升開(kāi)發(fā)系統(tǒng)時(shí)的效率,開(kāi)發(fā)完成后還能保證運(yùn)行時(shí)的流程以及數(shù)據(jù)的準(zhǔn)確統(tǒng)一性,這還能為后期修改,升級(jí)系統(tǒng)提供便利,對(duì)于數(shù)據(jù)的保存也更為安全。4.2.1數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)需要條理清晰簡(jiǎn)潔,飽享派外賣(mài)系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)主要有兩個(gè)階段,分別是:概念設(shè)計(jì)和邏輯設(shè)計(jì)。在概念設(shè)計(jì)時(shí),需要探究并融合實(shí)際業(yè)務(wù)的需要,采用實(shí)體-關(guān)系(E-R)模型進(jìn)行抽象建模,確立起系統(tǒng)中各類(lèi)實(shí)體和它的屬性和實(shí)體間的關(guān)系;在邏輯設(shè)計(jì)時(shí),要以概念模型為基礎(chǔ)再進(jìn)一步細(xì)化,最后形成一個(gè)具體的數(shù)據(jù)表結(jié)構(gòu)和字段定義。飽享派外賣(mài)系統(tǒng)的技術(shù)是依靠SpringBoot框架和微信小程序,主要實(shí)現(xiàn)以下功能模塊:a)用戶信息管理:儲(chǔ)存管理用戶的賬號(hào)、密碼、昵稱(chēng)、聯(lián)系方式,地址和默認(rèn)地址。b)外賣(mài)商品管理:儲(chǔ)存管理菜品品的基本信息,如名稱(chēng)、價(jià)格、描述、大致口味。c)訂單管理:儲(chǔ)存記錄每個(gè)訂單的生成、支付、配送等狀態(tài)信息。d)商品分類(lèi)管理:容納不同類(lèi)型的商品并進(jìn)行分類(lèi)歸納。e)管理員賬戶管理:管理后臺(tái)管理員的賬號(hào)和密碼,用于系統(tǒng)后臺(tái)運(yùn)維管理。系統(tǒng)主要的實(shí)體關(guān)系E-R圖如圖4.2所示。圖4-2實(shí)體關(guān)系E-R圖4.2.2數(shù)據(jù)庫(kù)表設(shè)計(jì)a)數(shù)據(jù)庫(kù)結(jié)構(gòu)表記錄整體數(shù)據(jù)。地址管理,菜品及套餐分類(lèi),菜品管理,菜品口味關(guān)系表,訂單明細(xì)表,訂單表,定時(shí)任務(wù),定時(shí)任務(wù)日志,套餐,套餐菜品關(guān)系,購(gòu)物車(chē),部門(mén)管理,字典數(shù)據(jù),字典類(lèi)型。數(shù)據(jù)庫(kù)結(jié)構(gòu)表如表4.1所示。表4.1數(shù)據(jù)庫(kù)結(jié)構(gòu)表表名引擎注釋表名引擎注釋address_bookInnoDB地址管理sys_log_errorInnoDB異常日志categoryInnoDB菜品及套餐分類(lèi)sys_log_loginInnoDB登錄日志dishInnoDB菜品管理sys_log_operationInnoDB操作日志dish_flavorInnoDB菜品口味關(guān)系表sys_menuInnoDB菜單管理order_detailInnoDB訂單明細(xì)表sys_ossInnoDB文件上傳ordersInnoDB訂單表sys_paramsInnoDB參數(shù)管理schedule_jobInnoDB定時(shí)任務(wù)sys_roleInnoDB角色管理schedule_job_logInnoDB定時(shí)任務(wù)日志sys_role_data_scopeInnoDB角色數(shù)據(jù)權(quán)限setmealInnoDB套餐sys_role_menuInnoDB角色菜單關(guān)系setmeal_dishInnoDB套餐菜品關(guān)系sys_role_userInnoDB角色用戶關(guān)系shopping_cartInnoDB購(gòu)物車(chē)sys_userInnoDB系統(tǒng)用戶sys_deptInnoDB部門(mén)管理sys_user_tokenInnoDB系統(tǒng)用戶Tokensys_dict_dataInnoDB字典數(shù)據(jù)tb_tokenInnoDB用戶Tokensys_dict_typeInnoDB字典類(lèi)型userInnoDB用戶信息b)菜品及套餐分類(lèi)表菜品及套餐分類(lèi)表的主要是要保存分類(lèi)項(xiàng)的信息,它可以把菜品管理和套餐管理分開(kāi)。通過(guò)“type”字段標(biāo)識(shí)分類(lèi)類(lèi)型,類(lèi)型1則代表菜品分類(lèi),類(lèi)型2則代表套餐分類(lèi)。同時(shí)記錄分類(lèi)名稱(chēng)、顯示順序,以及創(chuàng)建人、創(chuàng)建時(shí)間、修改人、更新時(shí)間這些信息。菜品及套餐分類(lèi)表的結(jié)構(gòu)如表4.2所示表4.2菜品及套餐分類(lèi)表名稱(chēng)單元類(lèi)型備注idbigint主鍵typeint類(lèi)型:1、菜品分類(lèi);2、套餐分類(lèi)namevarchar分類(lèi)名稱(chēng)sortint順序creatorbigint創(chuàng)建人create_datedatetime創(chuàng)建時(shí)間updaterbigint修改人update_datedatetime更新時(shí)間C)菜品管理表主要用于保存系統(tǒng)內(nèi)的菜品信息和它們的歸屬。菜品信息表的結(jié)構(gòu)如表4.3所示表4.3菜品信息表名稱(chēng)單元類(lèi)型備注idbigint主鍵namevarchar菜品名稱(chēng)category_idbigint菜品分類(lèi)idpricedecimal菜品價(jià)格codevarchar商品碼imagevarchar圖片descriptionvarchar描述信息statusInt0停售1起售sortInt順序creatorbigint創(chuàng)建人create_datedatetime創(chuàng)建時(shí)間updaterbigint修改人update_datedatetime更新時(shí)間is_deletedInt是否刪除d)菜品口味關(guān)系表它負(fù)責(zé)記錄的是不同的口味對(duì)應(yīng)到相對(duì)應(yīng)菜品的這種關(guān)系,讓不同菜品對(duì)應(yīng)不同口味菜品口味關(guān)系表如表4.4所示。表4.4菜品口味關(guān)系表名稱(chēng)單元類(lèi)型備注idbigint主鍵dish_idbigint菜品namevarchar口味名稱(chēng)valuevarchar口味數(shù)據(jù)listcreatorbigint創(chuàng)建人create_datedatetime創(chuàng)建時(shí)間updaterbigint修改人update_datedatetime更新時(shí)間is_deletedint是否刪除e)訂單明細(xì)表它保存了訂單下單內(nèi)容的詳細(xì)信息,主鍵標(biāo)識(shí)每條記錄;記錄有名字、圖片信息;通過(guò)訂單,關(guān)聯(lián)所屬訂單;菜品和套餐用于明確訂單中的商品類(lèi)別;記錄了口味、數(shù)量以及金額。訂單明細(xì)表如表4.5所示。表4.5訂單明細(xì)表名稱(chēng)單元類(lèi)型備注idbigint主鍵namevarchar名字imagevarchar圖片order_idbigint訂單iddish_idbigint菜品idsetmeal_idbigint套餐iddish_flavo
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026廣西來(lái)賓市忻城縣大塘鎮(zhèn)人民政府編外聘用人員招聘1人考試備考試題及答案解析
- 2026青海省交通運(yùn)輸綜合行政執(zhí)法海北高速支隊(duì)招聘后勤崗1人考試參考題庫(kù)及答案解析
- 2026年北海職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試備考試題有答案解析
- 2026湖南常德市西洞庭管理區(qū)人力資源和社會(huì)保障局公益性崗位考試參考題庫(kù)及答案解析
- 2026吉林白山市靖宇縣招聘城市社區(qū)工作者專(zhuān)職崗位人員筆試備考題庫(kù)及答案解析
- 2026年1月重慶市萬(wàn)州區(qū)黃柏鄉(xiāng)人民政府公益性崗位招聘1人筆試備考試題及答案解析
- 2026年湖南省農(nóng)林工業(yè)勘察設(shè)計(jì)研究院有限公司招聘?jìng)淇碱}庫(kù)及答案詳解參考
- 2026年某區(qū)某國(guó)企勞務(wù)派遣崗公開(kāi)招聘10人備考題庫(kù)附答案詳解
- 2026年?duì)I口市鲅魚(yú)圈區(qū)海星社區(qū)衛(wèi)生服務(wù)中心招聘部分專(zhuān)業(yè)技術(shù)人員的備考題庫(kù)及1套完整答案詳解
- 2026年鎮(zhèn)安縣云蓋寺鎮(zhèn)專(zhuān)職消防員招聘5人備考題庫(kù)及答案詳解一套
- 形神拳動(dòng)作名稱(chēng)與圖解
- 博士生入學(xué)復(fù)試面試報(bào)告?zhèn)€人簡(jiǎn)歷介紹含內(nèi)容模板兩篇
- 食品工廠設(shè)計(jì) 課件 第二章 廠址選擇
- 2023年生產(chǎn)車(chē)間各類(lèi)文件匯總
- WORD版A4橫版密封條打印模板(可編輯)
- 2013標(biāo)致508使用說(shuō)明書(shū)
- 中考滿分(合集15篇)
- 《大數(shù)據(jù)營(yíng)銷(xiāo)》-課程教學(xué)大綱
- GB/T 32065.2-2015海洋儀器環(huán)境試驗(yàn)方法第2部分:低溫試驗(yàn)
- GB/T 18993.1-2020冷熱水用氯化聚氯乙烯(PVC-C)管道系統(tǒng)第1部分:總則
- GA/T 798-2008排油煙氣防火止回閥
評(píng)論
0/150
提交評(píng)論