◆劉帥 姜旭濤 劉進芬
基于微信小程序的智能食堂系統(tǒng)的設計與實現
◆劉帥 姜旭濤 劉進芬通訊作者
(南京工業(yè)大學浦江學院 江蘇 211222)
隨著生活水平地不斷提高,傳統(tǒng)點餐模式使得高校食堂就餐擁擠,難以滿足目前高校師生們的需求?;谠撉闆r,我們運用Java,結合MySQL數據庫設計了以微信小程序為基礎平臺的食堂點餐系統(tǒng)。將線下校園餐廳與移動互聯(lián)終端進行結合,從而實現食堂內點餐的基本功能。該系統(tǒng)主要包含了用戶點餐模塊和商家管理模塊。用戶可以查看菜品,進行點餐操作并可對菜品進行評價;商家則可以對店內菜品進行管理以及對用戶的訂單進行處理等。
微信平臺;Java;訂餐服務;預約
伴隨著移動互聯(lián)網迅速發(fā)展,信息化技術在日常生活中得到了廣泛運用,人們不但對智能手機的需求越來越多,而且對線上軟件的依賴度也越來越高。在當今社會此趨勢下,餐飲業(yè)的各個商家選擇融入信息化技術,使得各大外賣軟件接踵出現。傳統(tǒng)的實體店線下典當以及就餐管理也已不能滿足當前校園食堂的管理需求,校園食堂常常人滿為患,而且還伴隨著排隊時間長、插隊、占座等不良現象,食堂的客流量隨著此種經營模式流失了大量的顧客。
為了改善食堂目前存在的就餐情況,我們依托微信平臺的模塊,基于微信小程序開發(fā)了校園食堂點餐系統(tǒng)。相對于APP而言,使用時不需要占用本地的空間,避免了用戶安裝、下載、注冊等一系列煩瑣的操作,使用起來更加快捷便利。同時該系統(tǒng)可以預約取餐,打破了傳統(tǒng)即時點餐的固定模式。它從師生角度出發(fā),充分發(fā)揮信息化技術優(yōu)勢來解決當前校園食堂存在的各種詬病,在增加就餐時間彈性的基礎上也保證了每個人的飲食質量。食堂管理人員關于就餐時間集中導致受歡迎的菜品短缺的問題也能迎刃而解,管理效率能夠大幅度提高。在此就餐保障下,師生在校園食堂的就餐率能夠得到穩(wěn)步提升。
微信小程序作為一個開放的服務平臺,在微信平臺原有的基礎上,突破一些傳統(tǒng)的限制,可以讓用戶實現一些自定義的功能,從而對微信進行了二次開發(fā),將信息服務等內容都通過微信官方網頁展示出來[1-2]。小程序讓應用開發(fā)框架變得非常簡便及高效,同時它豐富多樣的組件以及API幫助使用者更好地感受到原生 app 的體驗。
本系統(tǒng)使用MVC架構模式設計,用微信小程序的JS、JSON、WXML和WXSS框架來設計前端用戶界面,從而達到使用智能手機進行點餐界面和各個板塊的運行。后臺使用Java結合MySQL8.0數據庫來管理數據,開發(fā)工具使用Eclipse,服務器部署在阿里云平臺。
(1)WXML與WXSS語言
WXML語言可以概括為微信小程序框架設計的一套標簽語言,可以構建出頁面的結構,在小程序中充當類似于HTML的身份,提供一些基礎的組件,主要負責頁面的界面展示和數據綁定等功能[3]。
WXSS樣式控制相當于微信的CSS文件,主要用于配合WXML文件使用,優(yōu)化WXML頁面,它與CSS主要實現思想幾乎無異,主要區(qū)別在于其對標簽就進行簡單的代碼替換,基本都是使用統(tǒng)一的頁面調用方式來設計實現。
(2)Spring Boot框架
Spring Boot應用框架是一種基于Java上的開源應用框架,提供一種具有控制反轉特性的容器[4],其最終設計意圖是為了簡化新Spring應用初始搭建以及開發(fā)流程,用其特殊的方式進行配置,無須定義樣板化的配置。
(3)Free Marker引擎
Free Marker是一種模塊引擎,基于Java類庫和開發(fā)包將模塊和數據整合輸出文本的工具[5]。在后臺更新公用的信息內容時使用Free Marker將一部分的數據信息進行靜態(tài)化,其最終意圖是避免數據庫大量的訪問請求,從而提高整體性能。
(1)需求分析
根據我國餐飲行業(yè)的特點和食堂的實際情況,該智能食堂系統(tǒng)以餐飲行業(yè)服務為基礎,提倡管理人員從專業(yè)角度入手,為其提供一種科學有效的經營管理模式。在點菜方面采取了在圖形接口中添加數據信息的一種操作方式,這樣就能夠讓管理員更加直觀地對用戶資料進行管理以及訂單信息的查詢。
用戶通過微信一鍵授權信息登錄小程序平臺,進行在線點餐,同時后臺獲取到用戶信息。用戶提交座位信息、訂餐要求、手機號碼等信息,并且可以通過訂單管理可以查看訂單的狀態(tài),下單后狀態(tài)為“餐品準備中”。當用戶進入食堂取到餐品后,訂單狀態(tài)自動設置為“用餐中”,用餐完畢后訂單狀態(tài)自動設置為“訂單完成”。如用戶選擇外賣,在餐品制作過程時,訂餐狀態(tài)自動設置為“等待確認收貨中”,餐品送達后,訂單狀態(tài)設置為“已送達”。食堂訂餐系統(tǒng)的數據流圖如下圖1所示。
圖1 數據流圖
(2)數據庫設計
數據庫是整個訂餐系統(tǒng)設計的核心部件之一,主要分為概念結構設計、邏輯結構設計和物理設計三大部分。本系統(tǒng)使用了MySQL數據庫,系統(tǒng)包含了菜單、座位、顧客、管理員、賬單、營業(yè)額和評價七個實體。部分關系模式如下所示:
①食堂窗口(食堂窗口編號,員工號,營業(yè)狀況,客流量,好評度);
②菜品(菜品編號,菜名,價格,銷售狀況,好評度,食堂窗口編號);
③學生(學號,姓名,性別,地址)。
校園食堂微信訂餐平臺總體系統(tǒng)設計如下圖2所示。該訂餐系統(tǒng)主要分為前端菜品業(yè)務以及后臺數據管理兩部分。訂餐部分為用戶(消費者)展示校園商鋪的餐品信息以及訂餐服務,為食堂商家開通上架餐品信息的權限。而后臺數據管理控制用戶的使用權限和用戶訂餐信息的管理。
圖2 系統(tǒng)總體結構圖
3.2.1具體模塊劃分
基于微信小程序的智能食堂系統(tǒng)主要分為兩大模塊。一個為客戶端,提供給使用該系統(tǒng)的師生等顧客。另一模塊則為管理員端,提供給食堂管理人員、售后人員使用。
(1)客戶端
①個人中心模塊
個人中心模塊頁面頂部為用戶頭像展示欄,主要對用戶的個人信息進行管理。注冊用戶名后可以進行登錄,登錄賬戶后可以對當前賬戶進行操作,實現注銷、切換等功能。在該模塊,還可以對訂餐進行評價,實時反饋意見,方便管理員得到有效信息后改善食堂菜品的品種、口味、供應量等。
②訂單管理模塊
訂單管理模塊使用了與后端數據庫進行交互來進行數據的互通,在用戶下單后可以查看即時的信息。用戶進入各家商鋪進行瀏覽,也能實時查看到各家的備餐情況。用戶不僅可以選擇立即訂餐,也可以選擇預約訂餐,有效地避免食堂高峰期就餐。
③校園美食模塊
校園美食模塊即是本系統(tǒng)首頁,其中又包含今日推薦、今日特價兩個板塊。今日推薦由管理員進行操作或根據以往客戶的需求量開啟大數據甄選,給予用戶更優(yōu)的選擇。用戶可在登錄之后首先查看平臺優(yōu)先推薦的菜品,讓選擇困難癥用戶可以避免選擇,享受更加方便快捷的服務。
(2)管理員端
①菜品管理模塊
管理員可以根據每日的菜品銷量統(tǒng)計,對菜單進行操作。對每道菜可以添加相關商品描述,還可以根據每日的備菜及時調整菜品的價格。這樣既避免了熱銷菜品脫貨,也可以帶動停滯菜品的銷量。在收到用戶的評價后,調整菜品,使銷量穩(wěn)步增長。
②訂單管理模塊
在用戶下單后,管理員可以點擊訂單管理查看并進行備餐。訂單根據用戶下單或者用戶預約的時間智能排序,實現了智能化管理。在菜品制作完成后,可及時提醒配送員到店取餐并更新實時狀態(tài),讓顧客有跡可循,滿足師生需求。
3.2.2具體界面實現
管理員主界面,管理員可以在此界面對菜品進行增加、刪除、修改、查詢等操作;還可以查詢當天營業(yè)額以及對食堂內各個桌號進行管理;在顧客反饋里可以查看到師生們就餐后的評價以及反饋建議。
圖3 管理員菜單管理界面
互聯(lián)網的快速發(fā)展使得微信平臺被廣泛應用,微信小程序的使用也越來越普遍。本文基于微信小程序開發(fā)了該智能食堂系統(tǒng)。該系統(tǒng)優(yōu)化了如今高校的食堂點餐方式,方便管理訂單,提高食堂管理效率的同時也便利了師生。該系統(tǒng)功能設計緊密圍繞師生的實際需求,操作簡單還具備先進性。這種全新的銷售經營模式日后必將被廣泛運用。該系統(tǒng)目前未對網絡中的數據進行加密,數據在傳輸過程中可能遭受攻擊或被篡改,安全技術方面仍需不斷完善。
[1]劉昌利,鄭雨晴,謝歡,楊春萍.基于微信平臺下的訂餐系統(tǒng)設計[J].中國新通信,2016,18(05):29-31.
[2]黃興建,石修路,黃其河.基于微信公眾平臺的高鐵客運訂餐服務系統(tǒng)設計與實現[J].鐵道經濟研究,2016(03):42-47.
[3]王權. 基于微信開放平臺購物中心的設計與實現[D].吉林大學,2016.
[4]陳濤,葉榮華.基于Spring Boot和MongoDB的數據持久化框架研究[J].電腦與電信,2016(Z1):71-74.
[5]姜英,王嘉.基于Struts2+Spring+Freemarker的自定義框架研究[J].電腦編程技巧與維護,2013(12):4-5+12.
南京工業(yè)大學浦江學院2020年度大學生創(chuàng)新創(chuàng)業(yè)訓練計劃項目(PJ20201390504)