摘?要
在信息化、數字化的時代背景下,餐飲行業面臨著前所未有的挑戰與機遇。為了提高運營效率、優化顧客體驗,餐飲企業亟需一套高效、穩定且靈活的管理系統來支撐其日常運營。基于Spring Boot的餐飲管理系統應運而生,成為餐飲行業數字化轉型的重要工具。
Spring Boot以其簡化的配置、快速的開發部署以及良好的擴展性,為餐飲管理系統的構建提供了強大的技術支撐。通過整合倉庫信息管理、菜系分類管理、菜品信息管理、菜品預訂管理、點餐訂單管理以及訂單結算管理等核心功能,該系統能夠幫助餐飲企業實現全面的業務管理,提高運營效率,降低運營成本。
此外,基于Spring Boot的餐飲管理系統還具備良好的用戶體驗和交互性。顧客可以通過系統輕松瀏覽菜品、在線預訂、下單支付,享受更加便捷、高效的用餐體驗。同時,系統也提供了豐富的數據分析和報表功能,幫助餐飲企業更好地了解顧客需求、優化菜品結構、提升服務質量。
綜上所述,基于Spring Boot的餐飲管理系統是餐飲行業數字化轉型的得力助手。它不僅能夠提升餐飲企業的運營效率和服務質量,還能夠為顧客帶來更加便捷、舒適的用餐體驗。隨著技術的不斷發展和完善,相信該系統將在未來為餐飲行業帶來更多的創新和變革。
關鍵詞:餐飲管理系統;Java;Spring Boot框架
Catering management system
Abstract
In the context of informatization and digitization, the catering industry is facing unprecedented challenges and opportunities. In order to improve operational efficiency and optimize customer experience, catering enterprises urgently need an efficient, stable, and flexible management system to support their daily operations. The catering management system based on Spring Boot has emerged as an important tool for the digital transformation of the catering industry.
Spring Boot provides powerful technical support for the construction of catering management systems with its simplified configuration, fast development and deployment, and good scalability. By integrating core functions such as warehouse information management, dish classification management, dish information management, dish reservation management, ordering order management, and order settlement management, this system can help catering enterprises achieve comprehensive business management, improve operational efficiency, and reduce operational costs.
In addition, the catering management system based on Spring Boot also has a good user experience and interactivity. Customers can easily browse dishes, make online reservations, place orders and make payments through the system, and enjoy a more convenient and efficient dining experience. At the same time, the system also provides rich data analysis and reporting functions, helping catering enterprises better understand customer needs, optimize dish structure, and improve service quality.
In summary, the catering management system based on Spring Boot is a powerful assistant for the digital transformation of the catering industry. It can not only improve the operational efficiency and service quality of catering enterprises, but also bring customers a more convenient and comfortable dining experience. With the continuous development and improvement of technology, we believe that this system will bring more innovation and change to the catering industry in the future.
Key words:Catering management system; Java; Spring Boot framework
目??錄
第1章 緒論
1.1 研究背景與意義
1.2 國內外研究現狀
1.3 論文組成結構
第2章 系統分析
2.1 可行性分析
2.1.1 技術可行性
2.1.2 經濟可行性
2.1.3 操作可行性
2.2 需求分析
2.3 性能分析
2.4 系統用例分析
2.5 系統流程分析
第3章 系統設計
3.1 系統架構設計
3.2 系統功能結構
3.3 數據庫設計
3.3.1 數據庫E-R圖設計
3.3.2 邏輯結構設計
第4章 系統實現
4.1 普通用戶模塊的實現
4.1.1 前臺首頁界面
4.1.2?用戶注冊界面
4.1.3?用戶登錄界面
4.1.4?餐飲資訊界面
4.1.5?菜品信息界面
4.2 管理員功能模塊的實現
4.2.1 管理員登錄界面
4.2.2?管理員功能界面
4.2.3?系統用戶管理界面
4.2.4倉庫信息管理界面
4.2.5?系統管理界面
4.2.6公告消息管理界面
4.3 前臺人員功能模塊的實現
4.3.1菜品預訂管理界面
4.3.2點餐訂單管理界面
4.4 后廚人員功能模塊的實現
4.4.1菜品預訂管理界面
4.4.2點餐訂單管理界面
第5章 系統測試
5.1系統測試的目的
5.2?系統測試用例
5.3?系統測試結果
第6章 總結與展望
參考文獻
致謝
餐飲管理系統,作為現代餐飲業的核心支撐工具,其研究背景與意義深遠而廣泛。隨著科技的飛速發展和人們生活水平的持續提升,餐飲業正面臨著前所未有的變革與機遇。在這一背景下,餐飲管理系統的研究與應用顯得尤為重要。
從研究背景來看,餐飲行業正逐漸從傳統的經營模式向數字化、智能化轉型。傳統的餐飲管理方式往往依賴于人工操作和紙質記錄,效率低下且容易出錯。而隨著消費者需求的日益多樣化和個性化,餐飲企業急需一種高效、準確的管理方式來應對市場的快速變化。此外,隨著互聯網和移動設備的普及,線上預訂、在線支付等新型消費模式也逐漸成為主流,這進一步推動了餐飲管理系統的研發與應用。
在意義方面,餐飲管理系統的研究與應用對于提升餐飲企業的運營效率、降低成本、優化顧客體驗等方面具有顯著作用。通過系統化的管理,餐飲企業可以實現對食材采購、庫存管理、菜品制作、銷售等各個環節的精準把控,從而確保食材的新鮮度、提高菜品的制作效率、減少浪費和損耗。餐飲管理系統還可以幫助企業更好地了解顧客需求和消費習慣,通過數據分析和挖掘,為企業的菜品創新、營銷策略制定等提供有力支持。最后,通過優化顧客的點餐、支付等流程,餐飲管理系統可以大大提升顧客的用餐體驗,增強顧客的忠誠度和口碑傳播。
綜上所述,餐飲管理系統的研究與應用是餐飲業發展的必然趨勢,也是提升餐飲企業競爭力和可持續發展的關鍵所在。隨著技術的不斷進步和創新,相信未來餐飲管理系統將為餐飲業帶來更多的驚喜和變革。
在國內,隨著餐飲行業的快速發展和市場競爭的加劇,餐飲企業對于高效、精準的管理系統的需求日益迫切。國內的研究機構和企業紛紛投入大量資源進行餐飲管理系統的研發與創新,以滿足市場的多樣化需求。這些系統不僅涵蓋了倉庫信息管理、菜系分類管理、菜品信息管理、菜品預訂管理、點餐訂單管理、訂單結算管理等基礎功能,還通過引入大數據、人工智能等先進技術,實現了更加智能化、個性化的服務。例如,一些先進的餐飲管理系統能夠通過對消費者行為的分析,為餐飲企業提供精準的營銷策略和菜品推薦,從而提升顧客滿意度和忠誠度。
在國際上,餐飲管理系統的研究與應用同樣取得了顯著的進展。發達國家在餐飲管理系統的技術研發、應用推廣等方面具有較高的水平,一些國際知名的餐飲管理軟件廠商提供了全面的解決方案,涵蓋了從前端點餐到后端供應鏈管理的全流程。同時,這些系統也注重與物聯網、云計算等前沿技術的融合,為餐飲企業提供了更加便捷、高效的管理工具。
然而,盡管餐飲管理系統在國內外的研究與應用取得了一定的成果,但仍然存在一些挑戰和問題。例如,系統的穩定性和安全性需要得到進一步保障,同時,隨著消費者需求的不斷變化和技術的快速發展,餐飲管理系統也需要不斷更新和升級,以適應市場的變化。
綜上所述,餐飲管理系統在國內外的研究與應用均呈現出積極的發展態勢,但仍需不斷完善和創新,以更好地滿足餐飲企業的需求,推動餐飲行業的持續發展。
根據市場調研得到的信息數據,結合國內外前沿研究,利用相關系統開發和設計方法,最終設計出餐飲管理系統。
本文共有七章,如下所示。
第一章概述了餐飲管理系統的研究背景和意義;精煉地總結了國內外研究情況和未來的研究趨勢,最后給出了論文的組成結構。
第二章簡要對系統各業務流程進行需求分析、可行性分析。
第三章對餐飲管理系統進行設計。
第四章對餐飲管理系統進行實現,并貼出相關頁面截圖,語言描述出具體功能實現的操作方法。
第五章對餐飲管理系統采用測試用例的方式來對一些主要功能模塊測試,最后得出測試結果。
第六章總結全文并對未來的研究做出展望。
在軟件開發的過程中系統的可行性分析是必不可少的,可行性的研究就是評估問題是否能得到解決并且是要以最少的時間和最少的代價來解決。為實現上面的目標還要必須考慮到解決這些問題的方法的優點和缺點,還要考慮到實現了這些系統規模的開發帶來的經濟效益。這里可以用技術的可行性,操作的可行性,經濟的可行性對我們的系統進行可行性的研究。餐飲管理系統的可行性分析如下所示:
餐飲管理系統采用Spring Boot框架進行開發,在技術上是完全可行的。Spring Boot以其簡潔、快速和高效的特點,為系統的開發和部署提供了強大的支持。它集成了眾多成熟的技術和組件,使得開發者能夠專注于業務邏輯的實現,而無需過多關注底層技術的細節。同時,Spring Boot還提供了豐富的文檔和社區支持,使得開發者在遇到問題時能夠快速找到解決方案。因此,基于Spring Boot開發餐飲管理系統,不僅技術實現上可行,而且能夠確保系統的穩定性和可擴展性,為餐飲行業的運營管理提供可靠的技術保障。
餐飲管理系統在經濟可行性方面展現出顯著優勢。通過引入該系統,餐飲企業能夠實現對各項業務流程的精準把控和高效管理,從而有效降低運營成本、提升運營效率。同時,系統提供的數據分析和預測功能有助于企業做出更明智的決策,優化資源配置,進一步降低經營風險。長遠來看,餐飲管理系統的投資回報率高,能夠為企業創造持續的價值和競爭優勢,因此在經濟層面具備高度的可行性。
本系統是基于瀏覽器和服務器的餐飲管理系統,系統開發完成之后用戶只需要在瀏覽器中輸入正確的URL地址即可進行訪問。本系統的前臺頁面簡單明了,在沒有操作指導的情況下也可以進行操作,無論是系統管理員還是用戶在頁面中所有的操作都是在瀏覽器中完成的,因此只要電腦在有網絡的情況下,打開瀏覽器都能操作。而且在使用之前也不用進行相關的環境配置,因此本系統方便、簡單、易于使用,所以該系統是容易并且可操作的。
在設計和開發餐飲管理系統之前,我們進行了詳盡的需求分析,旨在確保系統能夠精準地滿足餐飲企業及其用戶群體的實際需求。
明確業務核心:餐飲管理系統應全面覆蓋倉庫信息管理、菜系分類管理、菜品信息管理、菜品預訂管理、點餐訂單管理、訂單結算管理等核心業務流程。這些流程需要緊密銜接,以確保餐飲企業能夠高效、有序地運營。
系統性能與效率:餐飲行業通常面臨高峰時段的業務壓力,因此系統必須具備高性能和穩定性,能夠應對大量并發請求,確保業務流程的順暢進行。此外,系統還應提供快速的數據處理和分析能力,幫助餐飲企業實時掌握經營情況,做出及時有效的決策。
用戶體驗與交互:系統界面應設計得直觀、友好,易于操作。通過優化用戶體驗,降低顧客和員工的學習成本,提高操作效率。同時,系統還應支持多種設備接入和支付方式,以滿足不同顧客的需求。
數據安全與隱私:餐飲管理系統涉及大量的敏感信息,如顧客資料、交易數據等。因此,系統必須采取嚴格的數據加密和訪問控制措施,確保數據的安全性。此外,系統還應具備完善的備份和恢復機制,以防止數據丟失或損壞。
擴展性與可維護性:隨著餐飲業務的不斷發展和市場的變化,系統可能需要適應新的業務模式或調整現有功能。因此,在設計系統時,我們充分考慮了擴展性和可維護性,采用模塊化設計和靈活的架構,以便在未來能夠輕松地添加新功能或進行功能調整。
綜上所述,餐飲管理系統的需求分析旨在確保系統能夠精準地滿足餐飲企業的業務需求,提升企業的運營效率和服務質量。通過優化性能、提升用戶體驗、保障數據安全以及實現系統的可擴展性和可維護性,我們期待這一系統能夠為餐飲企業帶來實質性的改進,推動餐飲行業的健康發展。
餐飲管理系統的性能分析是評估系統是否能夠滿足餐飲企業日常運營需求的關鍵環節。以下是關于餐飲管理系統性能的主要分析點:
響應速度是評估系統性能的重要指標之一。在餐飲業務中,尤其是在高峰時段,系統需要能夠快速響應各種操作請求,如訂單處理、菜品更新等。快速的響應速度能夠提升顧客滿意度,減少等待時間,同時也有助于提高工作效率。
系統的穩定性和可靠性也至關重要。餐飲管理系統需要能夠持續穩定運行,避免因系統故障或崩潰導致業務中斷。這要求系統具備強大的容錯能力和恢復機制,能夠在遇到問題時迅速恢復正常運行。
系統的數據處理能力也是性能分析的重要方面。餐飲管理系統需要處理大量的數據,包括訂單信息、庫存數據、顧客資料等。系統需要能夠高效地處理這些數據,確保數據的準確性和實時性,為企業的決策提供有力支持。
易用性和用戶友好性也是影響系統性能的關鍵因素。餐飲管理系統的界面設計應簡潔明了,操作流程應簡單易懂,以降低員工的學習成本和提高操作效率。同時,系統還應提供完善的幫助文檔和客服支持,以便用戶在使用過程中遇到問題時能夠及時得到解決。
系統的擴展性和可維護性也是性能分析不可忽視的方面。隨著餐飲業務的發展和市場的變化,系統可能需要不斷升級和擴展以滿足新的需求。因此,系統在設計之初就應考慮到未來的擴展性,采用模塊化設計等方式以便于后期的維護和升級。
綜上所述,餐飲管理系統的性能分析涉及多個方面,包括響應速度、穩定性、數據處理能力、易用性以及擴展性和可維護性等。通過對這些方面的全面評估,可以確保系統能夠滿足餐飲企業的實際需求,并為企業的發展提供有力支持。
餐飲管理系統的完整UML用例圖分別是圖2-1、圖2-2、圖2-3和圖2-4,在參與者上包括普通用戶、前臺人員、后廚人員和管理員。
普通用戶角色的用例描述:用戶通過簡單的注冊登錄,即可暢享系統的各項服務。在首頁,用戶可以瀏覽最新的公告消息和餐飲資訊,了解餐廳的最新動態和美食推薦。菜品信息展示豐富多樣,方便用戶挑選心儀的佳肴。在個人中心,用戶可以輕松管理自己的賬戶信息,查看個人首頁、菜品預訂、點餐訂單、訂單結算等詳細信息,還能收藏喜愛的菜品,實現個性化的用餐體驗。整個系統操作簡單直觀,滿足了普通用戶對餐飲服務的多樣化需求。
普通用戶角色用例如圖2-1所示。
圖2-1普通用戶用例圖
管理員角色的用例描述:管理員通過登錄系統,可以方便地管理系統用戶,確保用戶信息的準確性和安全性。同時,系統支持倉庫信息管理、菜系分類管理、菜品信息管理等功能,幫助管理員高效管理餐廳的物料和菜品資源。此外,管理員還能輕松進行菜品預訂管理、點餐訂單管理、訂單結算管理,實時監控餐廳的業務情況。系統還提供了輪播圖管理、公告消息管理以及餐飲資訊和資訊分類的資源管理功能,幫助管理員靈活發布餐廳動態和資訊,提升品牌形象。整體而言,餐飲管理系統為管理員提供了全方位、高效便捷的管理工具,助力餐廳實現精細化運營。
管理員角色用例如圖2-2所示。
圖2-2管理員用例圖
前臺人員角色的用例描述:前臺人員通過系統可以迅速更新菜品信息,確保菜單的實時性和準確性;同時,系統支持預訂管理,方便前臺人員處理顧客的預訂需求,提升服務效率。在點餐和訂單管理方面,系統簡化了操作流程,使前臺人員能夠迅速處理訂單,提高顧客滿意度。此外,訂單結算管理功能也大大簡化了收銀流程,提高了工作效率。綜上所述,餐飲管理系統為前臺人員提供了全面的管理支持,助力他們更好地服務顧客,提升餐廳的整體運營效率。
前臺人員角色用例如圖2-3所示。
圖2-3前臺人員用例圖
后廚人員角色的用例描述:餐飲管理系統餐飲管理系統為后廚人員提供了菜品預訂管理和點餐訂單管理的核心功能,極大地提升了后廚的工作效率和準確性。通過系統,后廚人員可以實時查看并處理菜品預訂信息,提前準備食材,確保食材的充足和新鮮。同時,點餐訂單管理功能使得后廚人員能夠迅速獲取訂單詳情,按照順序進行菜品制作,避免了因信息傳遞不暢導致的延誤或錯誤。這些功能不僅提高了后廚的響應速度,也確保了顧客訂單的準確執行,為餐廳提供了更加穩定、高效的運營支持。
后廚人員角色用例如圖2-4所示。
圖2-4后廚人員用例圖
系統中的所有用戶(管理員、普通用戶、前臺人員和后廚人員)都可以實現增加數據功能,圖2-5顯示的就是在增加數據時的流程。
圖2-5增加數據流程圖
在錄入系統信息的時候如果信息有錯,可以對系統中的數據進行編輯。圖2-6顯示的就是修改數據的流程。
圖2-6修改數據流程圖
在系統中經常會出現一些過期的數據,那就可以直接刪除這些數據,圖2-7就是刪除數據時的流程圖。
圖2-7刪除數據流程圖
由于本系統在邏輯事務處理方面對數據庫的操作比較頻繁所以系統在底層連接數據庫時并沒有使用原生的JDBC,而是把JDBC進行了封裝,封裝之后相當于一個連接數據庫的工具DB UTIL,這樣使用起來會更加方便而且這樣進行封裝還可以降低系統中代碼的冗余,當我們需要連接和使用數據庫時只需要調用這個工具里面的一個方法就可以了。而且通過封裝可以把對數據庫的操作獨立起來,當需要連接不同種類的數據庫時只需要加以修改就可以達到目的。
DAO層本來并無這個類,它只是java中MVC構造里的一個model概念,主要就是里面的一些方法,而這些方法就是用來訪問數據庫的方法。我們在軟件開發時DAO層我們一般都放接口和接口的實現類,用于來規范實現類的我們叫它接口,實現類重點用于對數據庫的操縱。
MVC是一種系統研發的關鍵模型,M是Model模型,它是系統內部關鍵程序運行的核心,主要進行對數據庫的各種操作。視圖View是V也叫做視圖,主要的作用是對一些數據進行顯示。控制器Controller 是C執行從View的視圖層來讀取數據,然后控制用戶的輸入。
系統架構如下圖所示。
圖3-1系統架構圖
進入系統后首先要進行登錄,驗證你的身份,賦予你不同的權限。當你成功登錄后,頁面會有多個板塊,分別是系統用戶、倉庫信息管理、菜系分類管理、菜品信息管理、菜品預訂管理、點餐訂單管理、訂單結算管理、系統管理(輪播圖)、公告消息管理、資源管理(餐飲資訊、資訊分類)等。系統分為普通用戶、前臺人員、后廚人員和管理員四大模塊,里面界面簡單易懂,根據標示可以直接進行方便快捷的操作。
系統功能結構圖如下所示。
圖3-2系統功能結構圖
一個好的系統它的后臺數據庫一定要考慮的全面,這和我們建造房子一個概念,房子不是隨心所欲建起來的,一切都是在合理設計的基礎是實現的,地基打牢固了房子才能建的更高。數據庫如果設計的很合理,而且每個方面都能考慮到了那么這個系統才能不會出現大的問題。
一個好的數據庫可以關系到程序開發的優劣,數據庫設計離不開表結構的設計,還有表與表之間的聯系,以及系統開發需要設計的數據表內容等信息。在進行數據庫設計期間,要結合實際情況來對數據庫進行針對性的開發設計。
餐飲管理系統采用的是mysql數據庫,數據存儲快,因為餐飲管理系統,主要的就是對信息的管理,信息內容比較多,這就需要好好的設計一個好的數據庫,分類要清楚,不能添加信息的時候,造成信息太過混亂,設計好的數據庫首先就需要先把各個實體之間的關系表達明確,
系統的主要實體間關系E-R圖如下圖所示。
圖3-3系統E-R圖
此環節把概念轉變成數據。由于整個數據庫所處理的信息過多,就只展示以下幾個表。
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | token_id | int | 10 | 0 | N | Y | 臨時訪問牌ID | |
2 | token | varchar | 64 | 0 | Y | N | 臨時訪問牌 | |
3 | info | text | 65535 | 0 | Y | N | ||
4 | maxage | int | 10 | 0 | N | N | 2 | 最大壽命:默認2小時 |
5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間: |
6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間: |
7 | user_id | int | 10 | 0 | N | N | 0 | 用戶編號: |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | article_id | mediumint | 8 | 0 | N | Y | 文章id:[0,8388607] | |
2 | title | varchar | 125 | 0 | N | Y | 標題:[0,125]用于文章和html的title標簽中 | |
3 | type | varchar | 64 | 0 | N | N | 0 | 文章分類:[0,1000]用來搜索指定類型的文章 |
4 | hits | int | 10 | 0 | N | N | 0 | 點擊數:[0,1000000000]訪問這篇文章的人次 |
5 | praise_len | int | 10 | 0 | N | N | 0 | 點贊數 |
6 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間: |
7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間: |
8 | source | varchar | 255 | 0 | Y | N | 來源:[0,255]文章的出處 | |
9 | url | varchar | 255 | 0 | Y | N | 來源地址:[0,255]用于跳轉到發布該文章的網站 | |
10 | tag | varchar | 255 | 0 | Y | N | 標簽:[0,255]用于標注文章所屬相關內容,多個標簽用空格隔開 | |
11 | content | longtext | 2147483647 | 0 | Y | N | 正文:文章的主體內容 | |
12 | img | varchar | 255 | 0 | Y | N | 封面圖 | |
13 | description | text | 65535 | 0 | Y | N | 文章描述 |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | type_id | smallint | 5 | 0 | N | Y | 分類ID:[0,10000] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 顯示順序:[0,1000]決定分類顯示的先后順序 |
3 | name | varchar | 16 | 0 | N | N | 分類名稱:[2,16] | |
4 | father_id | smallint | 5 | 0 | N | N | 0 | 上級分類ID:[0,32767] |
5 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述該分類的作用 | |
6 | icon | text | 65535 | 0 | Y | N | 分類圖標: | |
7 | url | varchar | 255 | 0 | Y | N | 外鏈地址:[0,255]如果該分類是跳轉到其他網站的情況下,就在該URL上設置 | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間: |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | auth_id | int | 10 | 0 | N | Y | 授權ID: | |
2 | user_group | varchar | 64 | 0 | Y | N | 用戶組: | |
3 | mod_name | varchar | 64 | 0 | Y | N | 模塊名: | |
4 | table_name | varchar | 64 | 0 | Y | N | 表名: | |
5 | page_title | varchar | 255 | 0 | Y | N | 頁面標題: | |
6 | path | varchar | 255 | 0 | Y | N | 路由路徑: | |
7 | position | varchar | 32 | 0 | Y | N | 位置: | |
8 | mode | varchar | 32 | 0 | N | N | _blank | 跳轉方式: |
9 | add | tinyint | 3 | 0 | N | N | 1 | 是否可增加: |
10 | del | tinyint | 3 | 0 | N | N | 1 | 是否可刪除: |
11 | set | tinyint | 3 | 0 | N | N | 1 | 是否可修改: |
12 | get | tinyint | 3 | 0 | N | N | 1 | 是否可查看: |
13 | field_add | text | 65535 | 0 | Y | N | 添加字段: | |
14 | field_set | text | 65535 | 0 | Y | N | 修改字段: | |
15 | field_get | text | 65535 | 0 | Y | N | 查詢字段: | |
16 | table_nav_name | varchar | 500 | 0 | Y | N | 跨表導航名稱: | |
17 | table_nav | varchar | 500 | 0 | Y | N | 跨表導航: | |
18 | option | text | 65535 | 0 | Y | N | 配置: | |
19 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間: |
20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間: |
表classification_of_cuisine (菜系分類)
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | classification_of_cuisine_id | int | 10 | 0 | N | Y | 菜系分類ID | |
2 | classification_of_cuisine | varchar | 64 | 0 | Y | N | 菜系分類 | |
3 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間 |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間 |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | collect_id | int | 10 | 0 | N | Y | 收藏ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 收藏人ID: |
3 | source_table | varchar | 255 | 0 | Y | N | 來源表: | |
4 | source_field | varchar | 255 | 0 | Y | N | 來源字段: | |
5 | source_id | int | 10 | 0 | N | N | 0 | 來源ID: |
6 | title | varchar | 255 | 0 | Y | N | 標題: | |
7 | img | varchar | 255 | 0 | Y | N | 封面: | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間: |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | comment_id | int | 10 | 0 | N | Y | 評論ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 評論人ID: |
3 | reply_to_id | int | 10 | 0 | N | N | 0 | 回復評論ID:空為0 |
4 | content | longtext | 2147483647 | 0 | Y | N | 內容: | |
5 | nickname | varchar | 255 | 0 | Y | N | 昵稱: | |
6 | avatar | varchar | 255 | 0 | Y | N | 頭像地址:[0,255] | |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間: |
9 | source_table | varchar | 255 | 0 | Y | N | 來源表: | |
10 | source_field | varchar | 255 | 0 | Y | N | 來源字段: | |
11 | source_id | int | 10 | 0 | N | N | 0 | 來源ID: |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | dish_information_id | int | 10 | 0 | N | Y | 菜品信息ID | |
2 | dish_name | varchar | 64 | 0 | Y | N | 菜品名稱 | |
3 | classification_of_cuisine | varchar | 64 | 0 | Y | N | 菜系分類 | |
4 | price_of_dishes | int | 10 | 0 | Y | N | 0 | 菜品價格 |
5 | taste_of_dishes | varchar | 64 | 0 | Y | N | 菜品口味 | |
6 | description_of_dishes | varchar | 64 | 0 | Y | N | 菜品描述 | |
7 | dish_pictures | varchar | 255 | 0 | Y | N | 菜品圖片 | |
8 | introduction_to_dishes | longtext | 2147483647 | 0 | Y | N | 菜品簡介 | |
9 | praise_len | int | 10 | 0 | N | N | 0 | 點贊數 |
10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間 |
11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間 |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | dish_reservation_id | int | 10 | 0 | N | Y | 菜品預訂ID | |
2 | dish_name | varchar | 64 | 0 | Y | N | 菜品名稱 | |
3 | classification_of_cuisine | varchar | 64 | 0 | Y | N | 菜系分類 | |
4 | price_of_dishes | int | 10 | 0 | Y | N | 0 | 菜品價格 |
5 | taste_of_dishes | varchar | 64 | 0 | Y | N | 菜品口味 | |
6 | regular_users | int | 10 | 0 | Y | N | 0 | 普通用戶 |
7 | user_name | varchar | 64 | 0 | Y | N | 用戶姓名 | |
8 | user_phone_number | varchar | 64 | 0 | Y | N | 用戶電話 | |
9 | booking_time | date | 10 | 0 | Y | N | 預訂時間 | |
10 | booking_quantity | int | 10 | 0 | Y | N | 0 | 預訂數量 |
11 | booking_amount | varchar | 64 | 0 | Y | N | 預訂金額 | |
12 | booking_remarks | varchar | 64 | 0 | Y | N | 預訂備注 | |
13 | pay_state | varchar | 16 | 0 | N | N | 未支付 | 支付狀態 |
14 | pay_type | varchar | 16 | 0 | Y | N | 支付類型: 微信、支付寶、網銀 | |
15 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間 |
16 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間 |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | front_desk_staff_id | int | 10 | 0 | N | Y | 前臺人員ID | |
2 | personnel_name | varchar | 64 | 0 | Y | N | 人員姓名 | |
3 | gender_of_personnel | varchar | 64 | 0 | Y | N | 人員性別 | |
4 | age_of_personnel | varchar | 64 | 0 | Y | N | 人員年齡 | |
5 | examine_state | varchar | 16 | 0 | N | N | 已通過 | 審核狀態 |
6 | user_id | int | 10 | 0 | N | N | 0 | 用戶ID |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間 |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間 |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | hits_id | int | 10 | 0 | N | Y | 點贊ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 點贊人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間: |
5 | source_table | varchar | 255 | 0 | Y | N | 來源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 來源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 來源ID: |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | kitchen_staff_id | int | 10 | 0 | N | Y | 后廚人員ID | |
2 | personnel_name | varchar | 64 | 0 | Y | N | 人員姓名 | |
3 | gender_of_personnel | varchar | 64 | 0 | Y | N | 人員性別 | |
4 | age_of_personnel | varchar | 64 | 0 | Y | N | 人員年齡 | |
5 | examine_state | varchar | 16 | 0 | N | N | 已通過 | 審核狀態 |
6 | user_id | int | 10 | 0 | N | N | 0 | 用戶ID |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間 |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間 |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | notice_id | mediumint | 8 | 0 | N | Y | 公告id: | |
2 | title | varchar | 125 | 0 | N | N | 標題: | |
3 | content | longtext | 2147483647 | 0 | Y | N | 正文: | |
4 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間: |
5 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間: |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | ordering_orders_id | int | 10 | 0 | N | Y | 點餐訂單ID | |
2 | dish_name | varchar | 64 | 0 | Y | N | 菜品名稱 | |
3 | classification_of_cuisine | varchar | 64 | 0 | Y | N | 菜系分類 | |
4 | price_of_dishes | int | 10 | 0 | Y | N | 0 | 菜品價格 |
5 | taste_of_dishes | varchar | 64 | 0 | Y | N | 菜品口味 | |
6 | order_number | varchar | 64 | 0 | Y | N | 訂單編號 | |
7 | regular_users | int | 10 | 0 | Y | N | 0 | 普通用戶 |
8 | user_name | varchar | 64 | 0 | Y | N | 用戶姓名 | |
9 | user_phone_number | varchar | 64 | 0 | Y | N | 用戶電話 | |
10 | order_date | date | 10 | 0 | Y | N | 點餐日期 | |
11 | order_quantity | int | 10 | 0 | Y | N | 0 | 點餐數量 |
12 | order_amount | varchar | 64 | 0 | Y | N | 點餐金額 | |
13 | order_notes | varchar | 64 | 0 | Y | N | 點餐備注 | |
14 | order_status | varchar | 64 | 0 | Y | N | 訂單狀態 | |
15 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間 |
16 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間 |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | order_settlement_id | int | 10 | 0 | N | Y | 訂單結算ID | |
2 | dish_name | varchar | 64 | 0 | Y | N | 菜品名稱 | |
3 | classification_of_cuisine | varchar | 64 | 0 | Y | N | 菜系分類 | |
4 | price_of_dishes | int | 10 | 0 | Y | N | 0 | 菜品價格 |
5 | taste_of_dishes | varchar | 64 | 0 | Y | N | 菜品口味 | |
6 | order_number | varchar | 64 | 0 | N | N | 訂單編號 | |
7 | regular_users | int | 10 | 0 | Y | N | 0 | 普通用戶 |
8 | user_name | varchar | 64 | 0 | Y | N | 用戶姓名 | |
9 | user_phone_number | varchar | 64 | 0 | Y | N | 用戶電話 | |
10 | order_date | date | 10 | 0 | Y | N | 點餐日期 | |
11 | order_quantity | int | 10 | 0 | Y | N | 0 | 點餐數量 |
12 | order_amount | varchar | 64 | 0 | Y | N | 點餐金額 | |
13 | order_notes | varchar | 64 | 0 | Y | N | 點餐備注 | |
14 | settlement_date | date | 10 | 0 | Y | N | 結算日期 | |
15 | pay_state | varchar | 16 | 0 | N | N | 未支付 | 支付狀態 |
16 | pay_type | varchar | 16 | 0 | Y | N | 支付類型: 微信、支付寶、網銀 | |
17 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間 |
18 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間 |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | outbound_information_id | int | 10 | 0 | N | Y | 出庫信息ID | |
2 | item_name | varchar | 64 | 0 | Y | N | 物品名稱 | |
3 | item_type | varchar | 64 | 0 | Y | N | 物品類型 | |
4 | purpose_of_the_item | varchar | 64 | 0 | Y | N | 物品用途 | |
5 | outbound_date | date | 10 | 0 | Y | N | 出庫日期 | |
6 | outbound_quantity | int | 10 | 0 | Y | N | 0 | 出庫數量 |
7 | outbound_remarks | varchar | 64 | 0 | Y | N | 出庫備注 | |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間 |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | praise_id | int | 10 | 0 | N | Y | 點贊ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 點贊人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間: |
5 | source_table | varchar | 255 | 0 | Y | N | 來源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 來源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 來源ID: |
8 | status | bit | 1 | 0 | N | N | 1 | 點贊狀態:1為點贊,0已取消 |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | regular_users_id | int | 10 | 0 | N | Y | 普通用戶ID | |
2 | user_name | varchar | 64 | 0 | Y | N | 用戶姓名 | |
3 | user_gender | varchar | 64 | 0 | Y | N | 用戶性別 | |
4 | user_age | varchar | 64 | 0 | Y | N | 用戶年齡 | |
5 | examine_state | varchar | 16 | 0 | N | N | 已通過 | 審核狀態 |
6 | user_id | int | 10 | 0 | N | N | 0 | 用戶ID |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間 |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間 |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | slides_id | int | 10 | 0 | N | Y | 輪播圖ID: | |
2 | title | varchar | 64 | 0 | Y | N | 標題: | |
3 | content | varchar | 255 | 0 | Y | N | 內容: | |
4 | url | varchar | 255 | 0 | Y | N | 鏈接: | |
5 | img | varchar | 255 | 0 | Y | N | 輪播圖: | |
6 | hits | int | 10 | 0 | N | N | 0 | 點擊量: |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間: |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | storage_information_id | int | 10 | 0 | N | Y | 入庫信息ID | |
2 | item_name | varchar | 64 | 0 | Y | N | 物品名稱 | |
3 | item_type | varchar | 64 | 0 | Y | N | 物品類型 | |
4 | purpose_of_the_item | varchar | 64 | 0 | Y | N | 物品用途 | |
5 | storage_date | date | 10 | 0 | Y | N | 入庫日期 | |
6 | inventory_quantity | int | 10 | 0 | Y | N | 0 | 入庫數量 |
7 | storage_remarks | varchar | 64 | 0 | Y | N | 入庫備注 | |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間 |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | upload_id | int | 10 | 0 | N | Y | 上傳ID | |
2 | name | varchar | 64 | 0 | Y | N | 文件名 | |
3 | path | varchar | 255 | 0 | Y | N | 訪問路徑 | |
4 | file | varchar | 255 | 0 | Y | N | 文件路徑 | |
5 | display | varchar | 255 | 0 | Y | N | 顯示順序 | |
6 | father_id | int | 10 | 0 | Y | N | 0 | 父級ID |
7 | dir | varchar | 255 | 0 | Y | N | 文件夾 | |
8 | type | varchar | 32 | 0 | Y | N | 文件類型 |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | user_id | mediumint | 8 | 0 | N | Y | 用戶ID:[0,8388607]用戶獲取其他與用戶相關的數據 | |
2 | state | smallint | 5 | 0 | N | N | 1 | 賬戶狀態:[0,10](1可用|2異常|3已凍結|4已注銷) |
3 | user_group | varchar | 32 | 0 | Y | N | 所在用戶組:[0,32767]決定用戶身份和權限 | |
4 | login_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 上次登錄時間: |
5 | phone | varchar | 11 | 0 | Y | N | 手機號碼:[0,11]用戶的手機號碼,用于找回密碼時或登錄時 | |
6 | phone_state | smallint | 5 | 0 | N | N | 0 | 手機認證:[0,1](0未認證|1審核中|2已認證) |
7 | username | varchar | 16 | 0 | N | N | 用戶名:[0,16]用戶登錄時所用的賬戶名稱 | |
8 | nickname | varchar | 16 | 0 | Y | N | 昵稱:[0,16] | |
9 | password | varchar | 64 | 0 | N | N | 密碼:[0,32]用戶登錄所需的密碼,由6-16位數字或英文組成 | |
10 | | varchar | 64 | 0 | Y | N | 郵箱:[0,64]用戶的郵箱,用于找回密碼時或登錄時 | |
11 | email_state | smallint | 5 | 0 | N | N | 0 | 郵箱認證:[0,1](0未認證|1審核中|2已認證) |
12 | avatar | varchar | 255 | 0 | Y | N | 頭像地址:[0,255] | |
13 | open_id | varchar | 255 | 0 | Y | N | 針對獲取用戶信息字段 | |
14 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間: |
15 | vip_level | varchar | 255 | 0 | Y | N | 會員等級 | |
16 | vip_discount | double | 11 | 2 | Y | N | 0.00 | 會員折扣 |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | group_id | mediumint | 8 | 0 | N | Y | 用戶組ID:[0,8388607] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 顯示順序:[0,1000] |
3 | name | varchar | 16 | 0 | N | N | 名稱:[0,16] | |
4 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述該用戶組的特點或權限范圍 | |
5 | source_table | varchar | 255 | 0 | Y | N | 來源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 來源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 來源ID: |
8 | register | smallint | 5 | 0 | Y | N | 0 | 注冊位置: |
9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間: |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間: |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | warehouse_information_id | int | 10 | 0 | N | Y | 倉庫信息ID | |
2 | item_name | varchar | 64 | 0 | Y | N | 物品名稱 | |
3 | item_type | varchar | 64 | 0 | Y | N | 物品類型 | |
4 | inventory_of_items | int | 10 | 0 | Y | N | 0 | 物品庫存 |
5 | purpose_of_the_item | varchar | 64 | 0 | Y | N | 物品用途 | |
6 | item_images | varchar | 255 | 0 | Y | N | 物品圖片 | |
7 | item_remarks | text | 65535 | 0 | Y | N | 物品備注 | |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間 |
進入系統首頁,系統以上中下的布局進行展示,首先映入眼簾的是系統的導航欄,下面是輪播圖,最下面是餐飲資訊,其主界面展示如下圖所示。
圖4-1?前臺首頁界面圖
用戶注冊:當用戶想要進入系統中對信息進行查看的時候,就必須要登錄到系統當中,要是新的用戶沒有系統的賬號的話,點擊“注冊”按鈕,就會進入到新用戶注冊這個界面上,用戶輸入對應的賬號(必須填寫)+密碼(必須填寫)+確認密碼(必須填寫,而且要與密碼一直)+昵稱+郵箱+性別+聯系電話+選擇用戶身份等,然后點擊“注冊”,系統在用戶這一數據庫中會查詢賬號是不是存在,兩次密碼是不是一樣,都填寫正確就會注冊成功,然后再進行登錄,如果是之前已經注冊過的用戶很長時間沒有使用,忘記密碼,也可以點擊“忘記密碼”進行找回。用戶注冊界面如下圖所示。
圖4-2?用戶注冊界面圖
注冊代碼如下:
public String encryption(String plainText) {
????????String re_md5 = new String();
????????try {
????????????MessageDigest md = MessageDigest.getInstance("MD5");
????????????md.update(plainText.getBytes());
????????????byte b[] = md.digest();
????????????int i;
????????????StringBuffer buf = new StringBuffer("");
????????????for (int offset = 0; offset < b.length; offset++) {
????????????????i = b[offset];
????????????????if (i < 0)
????????????????????i += 256;
????????????????if (i < 16)
????????????????????buf.append("0");
????????????????buf.append(Integer.toHexString(i));
????????????}
????????????re_md5 = buf.toString();
????????} catch (Exception e) {
????????????e.printStackTrace();
????????}
????????return re_md5;
}
系統中的前臺上注冊后的用戶是可以通過自己的賬戶名、密碼進行登錄的,當用戶輸入完整的自己的賬戶名和密碼信息并點擊“登錄”按鈕后,將會首先驗證輸入的有沒有空數據,再次驗證輸入的賬戶名+密碼和數據庫中當前保存的用戶信息是否一致,只有在一致后將會登錄成功并自動跳轉到系統的首頁中;否則將會提示相應錯誤信息。用戶登錄界面如下圖所示。
圖4-3用戶登錄界面圖
登錄代碼如下:
/**
?????* 登錄
?????* @param data
?????* @param httpServletRequest
?????* @return
?????*/
????@PostMapping("login")
????public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {
????????log.info("[執行登錄接口]");
????????String username = data.get("username");
????????String email = data.get("email");
????????String phone = data.get("phone");
????????String password = data.get("password");
????????List resultList = null;
????????Map<String, String> map = new HashMap<>();
????????if(username != null && "".equals(username) == false){
????????????map.put("username", username);
????????????resultList = service.selectBaseList(service.select(map, new HashMap<>()));
????????}
????????else if(email != null && "".equals(email) == false){
????????????map.put("email", email);
????????????resultList = service.selectBaseList(service.select(map, new HashMap<>()));
????????}
????????else if(phone != null && "".equals(phone) == false){
????????????map.put("phone", phone);
????????????resultList = service.selectBaseList(service.select(map, new HashMap<>()));
????????}else{
????????????return error(30000, "賬號或密碼不能為空");
????????}
????????if (resultList == null || password == null) {
????????????return error(30000, "賬號或密碼不能為空");
????????}
????????//判斷是否有這個用戶
????????if (resultList.size()<=0){
????????????return error(30000,"用戶不存在");
????????}
????????User byUsername = (User) resultList.get(0);
????????Map<String, String> groupMap = new HashMap<>();
????????groupMap.put("name",byUsername.getUserGroup());
????????List groupList = userGroupService.selectBaseList(userGroupService.select(groupMap, new HashMap<>()));
????????if (groupList.size()<1){
????????????return error(30000,"用戶組不存在");
????????}
????????UserGroup userGroup = (UserGroup) groupList.get(0);
????????//查詢用戶審核狀態
????????if (!StringUtils.isEmpty(userGroup.getSourceTable())){
????????????String res = service.selectExamineState(userGroup.getSourceTable(),byUsername.getUserId());
????????????if (res==null){
????????????????return error(30000,"用戶不存在");
????????????}
????????????if (!res.equals("已通過")){
????????????????return error(30000,"該用戶審核未通過");
????????????}
????????}
????????//查詢用戶狀態
????????if (byUsername.getState()!=1){
????????????return error(30000,"用戶非可用狀態,不能登錄");
????????}
????????String md5password = service.encryption(password);
????????if (byUsername.getPassword().equals(md5password)) {
????????????// 存儲Token到數據庫
????????????AccessToken accessToken = new AccessToken();
????????????accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));
????????????accessToken.setUser_id(byUsername.getUserId());
????????????Duration duration = Duration.ofSeconds(7200L);
????????????redisTemplate.opsForValue().set(accessToken.getToken(), accessToken,duration);
????????????// 返回用戶信息
????????????JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));
????????????user.put("token", accessToken.getToken());
????????????JSONObject ret = new JSONObject();
????????????ret.put("obj",user);
????????????return success(ret);
????????} else {
????????????return error(30000, "賬號或密碼不正確");
????????}
????}
當用戶點擊“餐飲資訊”這一菜單按鈕,會顯示管理員在后臺發布的所有的餐飲資訊信息,支持通過關鍵詞對資訊進行搜索,選擇需要的資訊信息點擊可以進入到資訊信息詳細的介紹界面,同時可以進行點贊、收藏和評論等操作,餐飲資訊界面如下圖所示。
圖4-4餐飲資訊界面圖
當用戶點擊“菜品信息”這一菜單按鈕,會顯示管理員在后臺發布的所有的菜品信息,支持通過關鍵詞對菜品信息進行搜索,選擇需要的菜品信息點擊可以進入到菜品信息詳細的介紹界面,同時可以進行預訂、點餐、點贊、收藏和評論,菜品信息界面如下圖所示。
圖4-5菜品信息界面圖
管理員進入到系統登錄界面,需要填寫正確的賬號、密碼和驗證碼等信息輸入準確無誤后登錄進入到系統操作界面。管理員的賬號是在數據表表中直接設置生成的,不需要進行注冊;修改密碼:管理員可以隨時修改自己進入系統的登錄密碼,以保證系統的安全性。管理員登錄界面如下圖所示。
圖4-6管理員登錄界面圖
管理員可以查看系統用戶、倉庫信息管理、菜系分類管理、菜品信息管理、菜品預訂管理、點餐訂單管理、訂單結算管理、系統管理(輪播圖)、公告消息管理、資源管理(餐飲資訊、資訊分類)等,并且可以根據需要進行相應的操作。在功能界面可以查看菜品預訂統計和訂單結算統計。管理員功能界面如下圖所示。
圖4-7管理員功能界面圖
管理員可以對系統中所有的用戶角色進行管控,包含了管理員、普通用戶、前臺人員和后廚人員這四種角色,如果需要添加新的用戶,點擊頁面中的“添加”按鈕根據提示輸入上用戶信息,點擊“提交”以后在對應的用戶界面就可以查看到了,可以點擊用戶后面的“刪除”按鈕直接刪除某一用戶。系統用戶管理界面如下圖所示。
管理員可以管理系統中的倉庫信息,包括添加新的倉庫、編輯已有倉庫的信息、刪除倉庫等操作,以確保系統中的倉庫信息準確完整。倉庫信息管理界面如下圖所示。
圖4-9倉庫信息管理界面圖
管理員可以對系統前臺展示的輪播圖進行增刪改查,方便用戶進行查看。系統管理界面如下圖所示。
圖4-10系統管理界面圖
@PostMapping("/add")
????@Transactional
????public Map<String, Object> add(HttpServletRequest request) throws IOException {
????????service.insert(service.readBody(request.getReader()));
????????return success(1);
????}
public Map<String, Object> addMap(Map<String,Object> map){
????service.insert(map);
?????return success(1);
?}
管理員可以對系統前臺展示的通知公告進行增刪改查,方便用戶進行查看。公告消息管理界面如下圖所示。
圖4-11公告消息管理界面圖
前臺人員可以管理系統中的菜品預訂信息,包括接受顧客的菜品預訂、確認預訂信息、調整預訂時間等操作,以便于提供更好的預訂服務。界面如下圖所示。
圖4-12菜品預訂管理界面圖
前臺人員可以管理系統中的點餐訂單,包括接受顧客的點餐、確認訂單信息、調整訂單內容等操作,以確保顧客點餐的準確性和及時性。界面如下圖所示。
圖4-13點餐訂單管理界面圖
后廚人員可以查看系統中的菜品預訂信息,包括已接受的預訂、預訂時間、預訂菜品等,以便于準備和安排菜品的制作。界面如下圖所示。
圖4-14菜品預訂管理界面圖
后廚人員可以查看系統中的點餐訂單信息,包括顧客的點餐內容、數量、要求等,以便于準備和安排菜品的制作。界面如下圖所示。
圖4-15點餐訂單管理界面圖
系統開發到了最后一個階段那就是系統測試,系統測試對軟件的開發其實是非常有必要的。因為沒什么系統一經開發出來就可能會盡善盡美,再厲害的系統開發工程師也會在系統開發的時候出現紕漏,系統測試能夠較好的改正一些bug,為后期系統的維護性提供很好的支持。通過系統測試,開發人員也可以建立自己對系統的信心,為后期的系統版本的跟新提供支持。
系統測試包括:用戶登錄功能測試、餐飲資訊查看功能測試、菜品信息添加、菜品信息搜索、密碼修改功能測試,如表5-1、5-2、5-3、5-4、5-5所示:
表5-1?用戶登錄功能測試表
用例名稱 | 用戶登錄系統 |
目的 | 測試用戶通過正確的用戶名和密碼可否登錄功能 |
前提 | 未登錄的情況下 |
測試流程 | 1) 進入登錄頁面 2) 輸入正確的用戶名和密碼 |
預期結果 | 用戶名和密碼正確的時候,跳轉到登錄成功界面,反之則顯示錯誤信息,提示重新輸入 |
實際結果 | 實際結果與預期結果一致 |
餐飲資訊查看功能測試:
表5-2餐飲資訊查看功能測試表
用例名稱 | 餐飲資訊查看 |
目的 | 測試餐飲資訊查看功能 |
前提 | 用戶登錄 |
測試流程 | 點擊餐飲資訊列表 |
預期結果 | 可以查看到所有餐飲資訊信息 |
實際結果 | 實際結果與預期結果一致 |
管理員添加菜品信息界面測試:
表5-3?管理員添加菜品信息界面測試表
用例名稱 | 菜品信息添加測試用例 |
目的 | 測試菜品信息添加功能 |
前提 | 管理員正常登錄情況下 |
測試流程 | 1)管理員點擊菜品信息添加,填寫信息。 2)點擊進行提交。 |
預期結果 | 提交以后,菜品信息列表會顯示新的菜品信息 |
實際結果 | 實際結果與預期結果一致 |
菜品信息搜索功能測試:
表5-4菜品信息搜索功能測試表
用例名稱 | 菜品信息搜索測試 |
目的 | 測試菜品信息搜索功能 |
前提 | 無 |
測試流程 | 1)在搜索框填入搜索關鍵字。 2)點擊搜索按鈕。 |
預期結果 | 頁面顯示包含有搜索關鍵字的菜品信息 |
實際結果 | 實際結果與預期結果一致 |
密碼修改功能測試:
表5-5 密碼修改功能測試表
用例名稱 | 密碼修改測試用例 |
目的 | 測試管理員密碼修改功能 |
前提 | 管理員用戶正常登錄情況下 |
測試流程 | 1)管理員密碼修改并完成填寫。 2)點擊進行提交。 |
預期結果 | 使用新的密碼可以登錄 |
實際結果 | 實際結果與預期結果一致 |
通過編寫餐飲管理系統的測試用例,已經檢測完畢用戶登錄模塊、餐飲資訊查看模塊、菜品信息添加模塊、菜品信息搜索模塊、密碼修改功能測試,通過這5大模塊為餐飲管理系統的后期推廣運營提供了強力的技術支撐。
餐飲管理系統的開發與實踐,無疑是我大學生活中極具挑戰性和收獲的一段經歷。這個項目不僅考驗了我的技術能力,還鍛煉了我對餐飲行業管理需求的理解與應對能力,為我未來的職業發展奠定了堅實的基礎。
在餐飲管理系統的開發過程中,我充分利用了所學的專業知識,結合餐飲市場的實際需求,為餐飲企業量身打造了一套高效、實用的管理系統。該系統涵蓋了菜品信息管理、菜品預訂管理、點餐訂單管理、訂單結算管理等多個核心模塊,實現了餐飲業務從前端到后端的全面數字化管理。
通過餐飲管理系統的應用,餐飲企業能夠更加高效地管理菜品信息、庫存數據、顧客訂單等關鍵信息,提升了工作效率和服務質量。同時,系統還提供了豐富的數據分析和報表功能,幫助企業管理層更好地了解業務狀況,制定更加科學的經營策略。
在項目的推進中,我深刻體會到了團隊協作的重要性。我們團隊成員緊密配合,共同攻克了一個又一個技術難題,不斷優化和完善系統功能。這種團隊協作的精神不僅提升了項目的開發效率,也增強了我們之間的默契和信任。
展望未來,我將繼續關注餐飲行業的發展動態和技術趨勢,不斷優化和完善餐飲管理系統。我希望能夠引入更多的創新技術,進一步提升系統的智能化和自動化水平,為餐飲企業提供更加便捷、高效的管理工具。
同時,我也希望能夠將餐飲管理系統拓展到更多的餐飲業態中,滿足不同規模和需求的餐飲企業的管理需求。我相信,隨著餐飲行業的不斷發展和技術的不斷進步,餐飲管理系統將會發揮更加重要的作用,為餐飲企業的運營和管理帶來更大的便利和效益。
總之,餐飲管理系統的開發與實踐是我大學生活中的一次寶貴經歷。它不僅提升了我的技術能力和團隊協作精神,也讓我更加深入地了解了餐飲行業的實際需求和發展方向。在未來的道路上,我將繼續努力學習、不斷進步,為餐飲行業的發展貢獻自己的力量。
參考文獻
[1]Salsabila D ,Awalia N ,Maharani S , et al.The Correlation Between Economic Activities to Water Pollution in Banyumas District, Central Java Province, Indonesia[J].IOP Conference Series: Earth and Environmental Science,2024,1313(1):
[2]Insani N ,Ridhoi R ,Hidajat G H , et al.Pro-Environmental Tourism: Lessons Learned from Adventure, Wellness and Eco-tourism in Padusan Village, Mojokerto, East Java[J].IOP Conference Series: Earth and Environmental Science,2024,1313(1):
[3]Annisa F L ,Umi L .Accuracy of Antenatal Visits in West Java Province: Comparison between Rural and Urban Areas Data Analysis of the Indonesian Demographic and Health Survey 2017[J].IOP Conference Series: Earth and Environmental Science,2024,1313(1):
[4]Acintya R ,Kinanthi D H ,Kuncoro B A , et al.Impact of Rice Field Conversion on the Availability of Rice in Banyumas Regency, Central Java Province[J].IOP Conference Series: Earth and Environmental Science,2024,1313(1):
[5]Utami W B ,Hariadi S S ,Raya B A .The Paradox of Farmers in Response Agricultural Land Conversion to National Strategic Development Policies in Central Java[J].IOP Conference Series: Earth and Environmental Science,2024,1313(1):
[6]孫鐵強,劉俊,于洪健,等.基于SpringBoot框架的在線監測和專家系統的研究[J].自動化應用,2024,65(04):15-16+19.DOI:10.19769/j.zdhy.2024.04.006.
[7]徐少軍,李宗哲,梅杰,等.基于Springboot+Vue框架的質量檢驗監督管理系統研發[J].紡織標準與質量,2024,(01):11-14+21.
[8]雷欣,馬宏琳,鄭霖,等.基于SpringBoot的域名信息系統設計與實現[J].電腦知識與技術,2024,20(05):44-47.DOI:10.14004/j.cnki.ckt.2024.0188.
[9]施海濤.基于Java的連鎖餐飲管理系統設計[J].無線互聯科技,2023,20(18):83-85.
[10]張金鳳.餐飲管理系統的統計模塊設計[J].福建電腦,2022,38(09):90-93.DOI:10.16707/j.cnki.fjpc.2022.09.020.
[11]唐春燕.基于微服務的智慧餐飲系統的設計與實現[D].華東師范大學,2022.DOI:10.27149/d.cnki.ghdsu.2022.002129.
[12]鐘良堂,譚昊,廖瑾睿,等.基于圖像識別的智慧餐飲管理系統[J].信息與電腦(理論版),2022,34(06):175-179.
[13]張健.餐飲系統的設計與實現[J].信息與電腦(理論版),2021,33(08):135-138.
[14]張銀霞,郭暢.虛擬化校園食堂餐飲管理系統的設計與實現[J].現代計算機,2020,(25):90-96.
[15]孫晨熙.基于微信公眾平臺的餐飲管理系統的設計與實現[D].山東大學,2020.DOI:10.27272/d.cnki.gshdu.2020.000686.
[16]仇博.酒店餐飲信息管理系統的設計與實現[J].信息與電腦(理論版),2020,32(06):78-80.
[17]楊陽,徐淮東,劉柏君,等.互聯網+智能餐飲管理系統的實現[J].現代營銷(經營版),2020,(01):126-127.DOI:10.19921/j.cnki.1009-2994.2020.01.103.
[18]葉久峰,沈明旦.基于移動互聯網的精神專科醫院餐飲管理系統設計與實現[J].電腦編程技巧與維護,2019,(11):61-63.DOI:10.16184/j.cnki.comprg.2019.11.020.
[19]張光勇.餐飲管理系統的設計與優化[J].電腦知識與技術,2019,15(24):98-99.DOI:10.14004/j.cnki.ckt.2019.2829.
[20]何敏,羅云清.基于C#的酒店餐飲管理系統開發研究[J].電腦知識與技術,2019,15(12):57-59.DOI:10.14004/j.cnki.ckt.2019.1341.
致謝
經過幾個月時間的努力終于完成了這篇文章,在文章的寫作與研究的過程中遇到了很多困難,都在同學和老師的幫助下解決了。尤其非常感謝我最敬愛的老師,他對我進行了無私的指導和幫助,不厭其煩的幫助進行文章的修改。老師嚴謹的治學態度、淵博的學術知識、誨人不倦的敬業精神以及寬容的待人風范使我獲益頗豐。此外,在校圖書館查找資料的時候,圖書館的老師也給我提供了很多方面的支持與幫助。在此,向幫助和指導過我的老師表示最衷心的感謝!感謝這篇文章所涉及到的各位學者。本文引用了數位學者的文獻,如果沒有各位學者的研究成果的幫助和啟發,我將很難完成本篇文章的寫作。感謝我的同學和朋友,在我寫文章的過程中給與了我很多素材和幫助,還在文章的撰寫和排版過程中提供熱情的幫助。同時,感謝我的室友對我的熱心指導和幫助,經常有不懂之處都是大家在幫助我,才使得我比較順利的完成了這篇文章。由于我水平有限,所寫文章難免有不足之處,懇請各位老師和學友批評和指正!
免費領取項目源碼,請關注?點贊收藏并私信博主,謝謝~