springboot餐飲管理系統-計算機畢業設計源碼43667

摘?要

在信息化、數字化的時代背景下,餐飲行業面臨著前所未有的挑戰與機遇。為了提高運營效率、優化顧客體驗,餐飲企業亟需一套高效、穩定且靈活的管理系統來支撐其日常運營。基于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章 總結與展望

參考文獻

致謝

  1. 緒論
    1. 研究背景與意義

餐飲管理系統,作為現代餐飲業的核心支撐工具,其研究背景與意義深遠而廣泛。隨著科技的飛速發展和人們生活水平的持續提升,餐飲業正面臨著前所未有的變革與機遇。在這一背景下,餐飲管理系統的研究與應用顯得尤為重要。

從研究背景來看,餐飲行業正逐漸從傳統的經營模式向數字化、智能化轉型。傳統的餐飲管理方式往往依賴于人工操作和紙質記錄,效率低下且容易出錯。而隨著消費者需求的日益多樣化和個性化,餐飲企業急需一種高效、準確的管理方式來應對市場的快速變化。此外,隨著互聯網和移動設備的普及,線上預訂、在線支付等新型消費模式也逐漸成為主流,這進一步推動了餐飲管理系統的研發與應用。

在意義方面,餐飲管理系統的研究與應用對于提升餐飲企業的運營效率、降低成本、優化顧客體驗等方面具有顯著作用。通過系統化的管理,餐飲企業可以實現對食材采購、庫存管理、菜品制作、銷售等各個環節的精準把控,從而確保食材的新鮮度、提高菜品的制作效率、減少浪費和損耗。餐飲管理系統還可以幫助企業更好地了解顧客需求和消費習慣,通過數據分析和挖掘,為企業的菜品創新、營銷策略制定等提供有力支持。最后,通過優化顧客的點餐、支付等流程,餐飲管理系統可以大大提升顧客的用餐體驗,增強顧客的忠誠度和口碑傳播。

綜上所述,餐飲管理系統的研究與應用是餐飲業發展的必然趨勢,也是提升餐飲企業競爭力和可持續發展的關鍵所在。隨著技術的不斷進步和創新,相信未來餐飲管理系統將為餐飲業帶來更多的驚喜和變革。

    1. 國內外研究現狀

在國內,隨著餐飲行業的快速發展和市場競爭的加劇,餐飲企業對于高效、精準的管理系統的需求日益迫切。國內的研究機構和企業紛紛投入大量資源進行餐飲管理系統的研發與創新,以滿足市場的多樣化需求。這些系統不僅涵蓋了倉庫信息管理、菜系分類管理、菜品信息管理、菜品預訂管理、點餐訂單管理、訂單結算管理等基礎功能,還通過引入大數據、人工智能等先進技術,實現了更加智能化、個性化的服務。例如,一些先進的餐飲管理系統能夠通過對消費者行為的分析,為餐飲企業提供精準的營銷策略和菜品推薦,從而提升顧客滿意度和忠誠度。

在國際上,餐飲管理系統的研究與應用同樣取得了顯著的進展。發達國家在餐飲管理系統的技術研發、應用推廣等方面具有較高的水平,一些國際知名的餐飲管理軟件廠商提供了全面的解決方案,涵蓋了從前端點餐到后端供應鏈管理的全流程。同時,這些系統也注重與物聯網、云計算等前沿技術的融合,為餐飲企業提供了更加便捷、高效的管理工具。

然而,盡管餐飲管理系統在國內外的研究與應用取得了一定的成果,但仍然存在一些挑戰和問題。例如,系統的穩定性和安全性需要得到進一步保障,同時,隨著消費者需求的不斷變化和技術的快速發展,餐飲管理系統也需要不斷更新和升級,以適應市場的變化。

綜上所述,餐飲管理系統在國內外的研究與應用均呈現出積極的發展態勢,但仍需不斷完善和創新,以更好地滿足餐飲企業的需求,推動餐飲行業的持續發展。

    1. 論文組成結構

根據市場調研得到的信息數據,結合國內外前沿研究,利用相關系統開發和設計方法,最終設計出餐飲管理系統。

本文共有七章,如下所示。

第一章概述了餐飲管理系統的研究背景和意義;精煉地總結了國內外研究情況和未來的研究趨勢,最后給出了論文的組成結構。

第二章簡要對系統各業務流程進行需求分析、可行性分析。

第三章對餐飲管理系統進行設計。

第四章對餐飲管理系統進行實現,并貼出相關頁面截圖,語言描述出具體功能實現的操作方法。

第五章對餐飲管理系統采用測試用例的方式來對一些主要功能模塊測試,最后得出測試結果。

第六章總結全文并對未來的研究做出展望。

  1. 系統分析
    1. 可行性分析

在軟件開發的過程中系統的可行性分析是必不可少的,可行性的研究就是評估問題是否能得到解決并且是要以最少的時間和最少的代價來解決。為實現上面的目標還要必須考慮到解決這些問題的方法的優點和缺點,還要考慮到實現了這些系統規模的開發帶來的經濟效益。這里可以用技術的可行性,操作的可行性,經濟的可行性對我們的系統進行可行性的研究。餐飲管理系統的可行性分析如下所示:

      1. 技術可行性

餐飲管理系統采用Spring Boot框架進行開發,在技術上是完全可行的。Spring Boot以其簡潔、快速和高效的特點,為系統的開發和部署提供了強大的支持。它集成了眾多成熟的技術和組件,使得開發者能夠專注于業務邏輯的實現,而無需過多關注底層技術的細節。同時,Spring Boot還提供了豐富的文檔和社區支持,使得開發者在遇到問題時能夠快速找到解決方案。因此,基于Spring Boot開發餐飲管理系統,不僅技術實現上可行,而且能夠確保系統的穩定性和可擴展性,為餐飲行業的運營管理提供可靠的技術保障。

      1. 經濟可行性

餐飲管理系統在經濟可行性方面展現出顯著優勢。通過引入該系統,餐飲企業能夠實現對各項業務流程的精準把控和高效管理,從而有效降低運營成本、提升運營效率。同時,系統提供的數據分析和預測功能有助于企業做出更明智的決策,優化資源配置,進一步降低經營風險。長遠來看,餐飲管理系統的投資回報率高,能夠為企業創造持續的價值和競爭優勢,因此在經濟層面具備高度的可行性。

      1. 操作可行性

本系統是基于瀏覽器和服務器的餐飲管理系統,系統開發完成之后用戶只需要在瀏覽器中輸入正確的URL地址即可進行訪問。本系統的前臺頁面簡單明了,在沒有操作指導的情況下也可以進行操作,無論是系統管理員還是用戶在頁面中所有的操作都是在瀏覽器中完成的,因此只要電腦在有網絡的情況下,打開瀏覽器都能操作。而且在使用之前也不用進行相關的環境配置,因此本系統方便、簡單、易于使用,所以該系統是容易并且可操作的。

    1. 需求分析

在設計和開發餐飲管理系統之前,我們進行了詳盡的需求分析,旨在確保系統能夠精準地滿足餐飲企業及其用戶群體的實際需求。

明確業務核心:餐飲管理系統應全面覆蓋倉庫信息管理、菜系分類管理、菜品信息管理、菜品預訂管理、點餐訂單管理、訂單結算管理等核心業務流程。這些流程需要緊密銜接,以確保餐飲企業能夠高效、有序地運營。

系統性能與效率:餐飲行業通常面臨高峰時段的業務壓力,因此系統必須具備高性能和穩定性,能夠應對大量并發請求,確保業務流程的順暢進行。此外,系統還應提供快速的數據處理和分析能力,幫助餐飲企業實時掌握經營情況,做出及時有效的決策。

用戶體驗與交互:系統界面應設計得直觀、友好,易于操作。通過優化用戶體驗,降低顧客和員工的學習成本,提高操作效率。同時,系統還應支持多種設備接入和支付方式,以滿足不同顧客的需求。

數據安全與隱私:餐飲管理系統涉及大量的敏感信息,如顧客資料、交易數據等。因此,系統必須采取嚴格的數據加密和訪問控制措施,確保數據的安全性。此外,系統還應具備完善的備份和恢復機制,以防止數據丟失或損壞。

擴展性與可維護性:隨著餐飲業務的不斷發展和市場的變化,系統可能需要適應新的業務模式或調整現有功能。因此,在設計系統時,我們充分考慮了擴展性和可維護性,采用模塊化設計和靈活的架構,以便在未來能夠輕松地添加新功能或進行功能調整。

綜上所述,餐飲管理系統的需求分析旨在確保系統能夠精準地滿足餐飲企業的業務需求,提升企業的運營效率和服務質量。通過優化性能、提升用戶體驗、保障數據安全以及實現系統的可擴展性和可維護性,我們期待這一系統能夠為餐飲企業帶來實質性的改進,推動餐飲行業的健康發展。

    1. 性能分析

餐飲管理系統的性能分析是評估系統是否能夠滿足餐飲企業日常運營需求的關鍵環節。以下是關于餐飲管理系統性能的主要分析點:

響應速度是評估系統性能的重要指標之一。在餐飲業務中,尤其是在高峰時段,系統需要能夠快速響應各種操作請求,如訂單處理、菜品更新等。快速的響應速度能夠提升顧客滿意度,減少等待時間,同時也有助于提高工作效率。

系統的穩定性和可靠性也至關重要。餐飲管理系統需要能夠持續穩定運行,避免因系統故障或崩潰導致業務中斷。這要求系統具備強大的容錯能力和恢復機制,能夠在遇到問題時迅速恢復正常運行。

系統的數據處理能力也是性能分析的重要方面。餐飲管理系統需要處理大量的數據,包括訂單信息、庫存數據、顧客資料等。系統需要能夠高效地處理這些數據,確保數據的準確性和實時性,為企業的決策提供有力支持。

易用性和用戶友好性也是影響系統性能的關鍵因素。餐飲管理系統的界面設計應簡潔明了,操作流程應簡單易懂,以降低員工的學習成本和提高操作效率。同時,系統還應提供完善的幫助文檔和客服支持,以便用戶在使用過程中遇到問題時能夠及時得到解決。

系統的擴展性和可維護性也是性能分析不可忽視的方面。隨著餐飲業務的發展和市場的變化,系統可能需要不斷升級和擴展以滿足新的需求。因此,系統在設計之初就應考慮到未來的擴展性,采用模塊化設計等方式以便于后期的維護和升級。

綜上所述,餐飲管理系統的性能分析涉及多個方面,包括響應速度、穩定性、數據處理能力、易用性以及擴展性和可維護性等。通過對這些方面的全面評估,可以確保系統能夠滿足餐飲企業的實際需求,并為企業的發展提供有力支持。

    1. 系統用例分析

餐飲管理系統的完整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后廚人員用例圖

    1. 系統流程分析

(1)增加數據流程

系統中的所有用戶(管理員、普通用戶、前臺人員和后廚人員)都可以實現增加數據功能,圖2-5顯示的就是在增加數據時的流程。

圖2-5增加數據流程圖

(2)修改數據流程

在錄入系統信息的時候如果信息有錯,可以對系統中的數據進行編輯。圖2-6顯示的就是修改數據的流程。

圖2-6修改數據流程圖

(3)刪除數據流程

在系統中經常會出現一些過期的數據,那就可以直接刪除這些數據,圖2-7就是刪除數據時的流程圖。

圖2-7刪除數據流程圖

  1. 系統設計
    1. 系統架構設計

由于本系統在邏輯事務處理方面對數據庫的操作比較頻繁所以系統在底層連接數據庫時并沒有使用原生的JDBC,而是把JDBC進行了封裝,封裝之后相當于一個連接數據庫的工具DB UTIL,這樣使用起來會更加方便而且這樣進行封裝還可以降低系統中代碼的冗余,當我們需要連接和使用數據庫時只需要調用這個工具里面的一個方法就可以了。而且通過封裝可以把對數據庫的操作獨立起來,當需要連接不同種類的數據庫時只需要加以修改就可以達到目的。

DAO層本來并無這個類,它只是java中MVC構造里的一個model概念,主要就是里面的一些方法,而這些方法就是用來訪問數據庫的方法。我們在軟件開發時DAO層我們一般都放接口和接口的實現類,用于來規范實現類的我們叫它接口,實現類重點用于對數據庫的操縱。

MVC是一種系統研發的關鍵模型,M是Model模型,它是系統內部關鍵程序運行的核心,主要進行對數據庫的各種操作。視圖View是V也叫做視圖,主要的作用是對一些數據進行顯示。控制器Controller 是C執行從View的視圖層來讀取數據,然后控制用戶的輸入。

系統架構如下圖所示。

圖3-1系統架構圖

    1. 系統功能結構

進入系統后首先要進行登錄,驗證你的身份,賦予你不同的權限。當你成功登錄后,頁面會有多個板塊,分別是系統用戶、倉庫信息管理、菜系分類管理、菜品信息管理、菜品預訂管理、點餐訂單管理、訂單結算管理、系統管理(輪播圖)、公告消息管理、資源管理(餐飲資訊、資訊分類)等。系統分為普通用戶、前臺人員、后廚人員和管理員四大模塊,里面界面簡單易懂,根據標示可以直接進行方便快捷的操作。

系統功能結構圖如下所示。

圖3-2系統功能結構圖

    1. 數據庫設計

一個好的系統它的后臺數據庫一定要考慮的全面,這和我們建造房子一個概念,房子不是隨心所欲建起來的,一切都是在合理設計的基礎是實現的,地基打牢固了房子才能建的更高。數據庫如果設計的很合理,而且每個方面都能考慮到了那么這個系統才能不會出現大的問題。

一個好的數據庫可以關系到程序開發的優劣,數據庫設計離不開表結構的設計,還有表與表之間的聯系,以及系統開發需要設計的數據表內容等信息。在進行數據庫設計期間,要結合實際情況來對數據庫進行針對性的開發設計。

      1. 數據庫E-R圖設計

餐飲管理系統采用的是mysql數據庫,數據存儲快,因為餐飲管理系統,主要的就是對信息的管理,信息內容比較多,這就需要好好的設計一個好的數據庫,分類要清楚,不能添加信息的時候,造成信息太過混亂,設計好的數據庫首先就需要先把各個實體之間的關系表達明確,

系統的主要實體間關系E-R圖如下圖所示。

圖3-3系統E-R圖

      1. 邏輯結構設計

此環節把概念轉變成數據。由于整個數據庫所處理的信息過多,就只展示以下幾個表。

表access_token (登陸訪問時長)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

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

用戶編號:

表article (文章:用于內容管理系統的文章)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

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

文章描述

表article_type (文章分類)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

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

更新時間:

表auth (用戶權限管理)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

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

更新時間

表collect (收藏)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

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

更新時間:

表comment (評論)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

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:

表dish_information (菜品信息)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

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

更新時間

表dish_reservation (菜品預訂)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

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

更新時間

表front_desk_staff (前臺人員)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

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

更新時間

表hits (用戶點擊)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

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:

表kitchen_staff (后廚人員)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

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

更新時間

表notice (公告)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

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

更新時間:

表ordering_orders (點餐訂單)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

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

更新時間

表order_settlement (訂單結算)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

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

更新時間

表outbound_information (出庫信息)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

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

更新時間

表praise (點贊)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

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已取消

表regular_users (普通用戶)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

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

更新時間

表slides (輪播圖)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

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

更新時間:

表storage_information (入庫信息)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

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

更新時間

表upload (文件上傳)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

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

文件類型

表user (用戶賬戶:用于保存用戶登錄信息)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

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

email

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

會員折扣

表user_group (用戶組:用于用戶前端身份和鑒權)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

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

更新時間:

表warehouse_information (倉庫信息)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

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

更新時間

  1. 系統實現
    1. 普通用戶模塊的實現

4.1.1 前臺首頁界面

進入系統首頁,系統以上中下的布局進行展示,首先映入眼簾的是系統的導航欄,下面是輪播圖,最下面是餐飲資訊,其主界面展示如下圖所示。

圖4-1?前臺首頁界面圖

4.1.2?用戶注冊界面

用戶注冊:當用戶想要進入系統中對信息進行查看的時候,就必須要登錄到系統當中,要是新的用戶沒有系統的賬號的話,點擊“注冊”按鈕,就會進入到新用戶注冊這個界面上,用戶輸入對應的賬號(必須填寫)+密碼(必須填寫)+確認密碼(必須填寫,而且要與密碼一直)+昵稱+郵箱+性別+聯系電話+選擇用戶身份等,然后點擊“注冊”,系統在用戶這一數據庫中會查詢賬號是不是存在,兩次密碼是不是一樣,都填寫正確就會注冊成功,然后再進行登錄,如果是之前已經注冊過的用戶很長時間沒有使用,忘記密碼,也可以點擊“忘記密碼”進行找回。用戶注冊界面如下圖所示。

圖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.1.3?用戶登錄界面

系統中的前臺上注冊后的用戶是可以通過自己的賬戶名、密碼進行登錄的,當用戶輸入完整的自己的賬戶名和密碼信息并點擊“登錄”按鈕后,將會首先驗證輸入的有沒有空數據,再次驗證輸入的賬戶名+密碼和數據庫中當前保存的用戶信息是否一致,只有在一致后將會登錄成功并自動跳轉到系統的首頁中;否則將會提示相應錯誤信息。用戶登錄界面如下圖所示。

圖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.1.4?餐飲資訊界面

當用戶點擊“餐飲資訊”這一菜單按鈕,會顯示管理員在后臺發布的所有的餐飲資訊信息,支持通過關鍵詞對資訊進行搜索,選擇需要的資訊信息點擊可以進入到資訊信息詳細的介紹界面,同時可以進行點贊、收藏和評論等操作,餐飲資訊界面如下圖所示。

圖4-4餐飲資訊界面圖

4.1.5?菜品信息界面

當用戶點擊“菜品信息”這一菜單按鈕,會顯示管理員在后臺發布的所有的菜品信息,支持通過關鍵詞對菜品信息進行搜索,選擇需要的菜品信息點擊可以進入到菜品信息詳細的介紹界面,同時可以進行預訂、點餐、點贊、收藏和評論,菜品信息界面如下圖所示。

圖4-5菜品信息界面圖

    1. 管理員功能模塊的實現?

4.2.1 管理員登錄界面

管理員進入到系統登錄界面,需要填寫正確的賬號、密碼和驗證碼等信息輸入準確無誤后登錄進入到系統操作界面。管理員的賬號是在數據表表中直接設置生成的,不需要進行注冊;修改密碼:管理員可以隨時修改自己進入系統的登錄密碼,以保證系統的安全性。管理員登錄界面如下圖所示。

圖4-6管理員登錄界面圖

4.2.2?管理員功能界面

管理員可以查看系統用戶、倉庫信息管理、菜系分類管理、菜品信息管理、菜品預訂管理、點餐訂單管理、訂單結算管理、系統管理(輪播圖)、公告消息管理、資源管理(餐飲資訊、資訊分類)等,并且可以根據需要進行相應的操作。在功能界面可以查看菜品預訂統計和訂單結算統計。管理員功能界面如下圖所示。

圖4-7管理員功能界面圖

4.2.3?系統用戶管理界面

管理員可以對系統中所有的用戶角色進行管控,包含了管理員、普通用戶、前臺人員和后廚人員這四種角色,如果需要添加新的用戶,點擊頁面中的“添加”按鈕根據提示輸入上用戶信息,點擊“提交”以后在對應的用戶界面就可以查看到了,可以點擊用戶后面的“刪除”按鈕直接刪除某一用戶。系統用戶管理界面如下圖所示。

圖4-8系統用戶管理界面圖

4.2.4倉庫信息管理界面

管理員可以管理系統中的倉庫信息,包括添加新的倉庫、編輯已有倉庫的信息、刪除倉庫等操作,以確保系統中的倉庫信息準確完整。倉庫信息管理界面如下圖所示。

圖4-9倉庫信息管理界面圖

4.2.5?系統管理界面

管理員可以對系統前臺展示的輪播圖進行增刪改查,方便用戶進行查看。系統管理界面如下圖所示。

圖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.2.6公告消息管理界面

管理員可以對系統前臺展示的通知公告進行增刪改查,方便用戶進行查看。公告消息管理界面如下圖所示。

圖4-11公告消息管理界面圖

    1. 前臺人員功能模塊的實現?

4.3.1菜品預訂管理界面

前臺人員可以管理系統中的菜品預訂信息,包括接受顧客的菜品預訂、確認預訂信息、調整預訂時間等操作,以便于提供更好的預訂服務。界面如下圖所示。

圖4-12菜品預訂管理界面圖

4.3.2點餐訂單管理界面

前臺人員可以管理系統中的點餐訂單,包括接受顧客的點餐、確認訂單信息、調整訂單內容等操作,以確保顧客點餐的準確性和及時性。界面如下圖所示。

圖4-13點餐訂單管理界面圖

    1. 后廚人員功能模塊的實現?

4.4.1菜品預訂管理界面

后廚人員可以查看系統中的菜品預訂信息,包括已接受的預訂、預訂時間、預訂菜品等,以便于準備和安排菜品的制作。界面如下圖所示。

圖4-14菜品預訂管理界面圖

4.4.2點餐訂單管理界面

后廚人員可以查看系統中的點餐訂單信息,包括顧客的點餐內容、數量、要求等,以便于準備和安排菜品的制作。界面如下圖所示。

圖4-15點餐訂單管理界面圖

  1. 系統測試

5.1系統測試的目的

系統開發到了最后一個階段那就是系統測試,系統測試對軟件的開發其實是非常有必要的。因為沒什么系統一經開發出來就可能會盡善盡美,再厲害的系統開發工程師也會在系統開發的時候出現紕漏,系統測試能夠較好的改正一些bug,為后期系統的維護性提供很好的支持。通過系統測試,開發人員也可以建立自己對系統的信心,為后期的系統版本的跟新提供支持。

5.2?系統測試用例

系統測試包括:用戶登錄功能測試、餐飲資訊查看功能測試、菜品信息添加、菜品信息搜索、密碼修改功能測試,如表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.3?系統測試結果

通過編寫餐飲管理系統的測試用例,已經檢測完畢用戶登錄模塊、餐飲資訊查看模塊、菜品信息添加模塊、菜品信息搜索模塊、密碼修改功能測試,通過這5大模塊為餐飲管理系統的后期推廣運營提供了強力的技術支撐。

  1. 總結與展望

餐飲管理系統的開發與實踐,無疑是我大學生活中極具挑戰性和收獲的一段經歷。這個項目不僅考驗了我的技術能力,還鍛煉了我對餐飲行業管理需求的理解與應對能力,為我未來的職業發展奠定了堅實的基礎。

在餐飲管理系統的開發過程中,我充分利用了所學的專業知識,結合餐飲市場的實際需求,為餐飲企業量身打造了一套高效、實用的管理系統。該系統涵蓋了菜品信息管理、菜品預訂管理、點餐訂單管理、訂單結算管理等多個核心模塊,實現了餐飲業務從前端到后端的全面數字化管理。

通過餐飲管理系統的應用,餐飲企業能夠更加高效地管理菜品信息、庫存數據、顧客訂單等關鍵信息,提升了工作效率和服務質量。同時,系統還提供了豐富的數據分析和報表功能,幫助企業管理層更好地了解業務狀況,制定更加科學的經營策略。

在項目的推進中,我深刻體會到了團隊協作的重要性。我們團隊成員緊密配合,共同攻克了一個又一個技術難題,不斷優化和完善系統功能。這種團隊協作的精神不僅提升了項目的開發效率,也增強了我們之間的默契和信任。

展望未來,我將繼續關注餐飲行業的發展動態和技術趨勢,不斷優化和完善餐飲管理系統。我希望能夠引入更多的創新技術,進一步提升系統的智能化和自動化水平,為餐飲企業提供更加便捷、高效的管理工具。

同時,我也希望能夠將餐飲管理系統拓展到更多的餐飲業態中,滿足不同規模和需求的餐飲企業的管理需求。我相信,隨著餐飲行業的不斷發展和技術的不斷進步,餐飲管理系統將會發揮更加重要的作用,為餐飲企業的運營和管理帶來更大的便利和效益。

總之,餐飲管理系統的開發與實踐是我大學生活中的一次寶貴經歷。它不僅提升了我的技術能力和團隊協作精神,也讓我更加深入地了解了餐飲行業的實際需求和發展方向。在未來的道路上,我將繼續努力學習、不斷進步,為餐飲行業的發展貢獻自己的力量。

參考文獻

[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.

致謝

經過幾個月時間的努力終于完成了這篇文章,在文章的寫作與研究的過程中遇到了很多困難,都在同學和老師的幫助下解決了。尤其非常感謝我最敬愛的老師,他對我進行了無私的指導和幫助,不厭其煩的幫助進行文章的修改。老師嚴謹的治學態度、淵博的學術知識、誨人不倦的敬業精神以及寬容的待人風范使我獲益頗豐。此外,在校圖書館查找資料的時候,圖書館的老師也給我提供了很多方面的支持與幫助。在此,向幫助和指導過我的老師表示最衷心的感謝!感謝這篇文章所涉及到的各位學者。本文引用了數位學者的文獻,如果沒有各位學者的研究成果的幫助和啟發,我將很難完成本篇文章的寫作。感謝我的同學和朋友,在我寫文章的過程中給與了我很多素材和幫助,還在文章的撰寫和排版過程中提供熱情的幫助。同時,感謝我的室友對我的熱心指導和幫助,經常有不懂之處都是大家在幫助我,才使得我比較順利的完成了這篇文章。由于我水平有限,所寫文章難免有不足之處,懇請各位老師和學友批評和指正!

免費領取項目源碼,請關注?點贊收藏并私信博主,謝謝~

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/44825.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/44825.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/44825.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python基礎教學之一:入門篇——邁入編程世界的第一步

Python基礎教學之一&#xff1a;入門篇——邁入編程世界的第一步 一、Python簡介&#xff1a;歷史與現狀 Python&#xff0c;一種解釋型、高級和通用的編程語言&#xff0c;由Guido van Rossum在1989年圣誕節期間創造&#xff0c;并于1991年首次發布。設計哲學強調代碼的可讀性…

論文降痕降重全攻略:從技巧到工具,助你輕松應對學術挑戰

AIGC降重工具&#xff1a;快速降低論文查重率 高查重率是許多畢業生的困擾。通常&#xff0c;高查重率源于過度引用未經修改的參考資料和格式錯誤。傳統的降重方法&#xff0c;如修改文本和增添原創內容&#xff0c;雖必要但耗時且成效不一。 鑒于此&#xff0c;應用AI工具進…

【企業級監控】源碼部署Zabbix與監控主機

Zabbix企業級分布式監控 文章目錄 Zabbix企業級分布式監控資源列表基礎環境一、LNMP環境搭建&#xff08;在zbx主機上&#xff09;1.1、配置Yum倉庫1.1.1、下載阿里云的倉庫文件1.2.2、安裝PHP7的倉庫1.2.3、生成Mariadb10.11的倉庫文件1.2.4、快速重建Yum緩存 1.2、安裝PHP7.4…

請求取消(多種)

XMLHttpRequest XMLHttpRequest 可以使用 abort() 方法來實現請求取消。 const xhr new XMLHttpRequest();xhr.open(GET, http://localhost:3000/api/txt);xhr.timeout 2;xhr.ontimeout function () {xhr.abort();console.error(請求超時&#xff0c;已中斷);};xhr.onload …

shell腳本之for循環

一、循環中的常見語句 1.1 echo 打印 -n &#xff1a;表示不換行輸出-e &#xff1a;輸出轉義字符 \b &#xff1a;相當于退格鍵(backspace)\n &#xff1a;換行&#xff0c;相當于回車\f &#xff1a;換行&#xff0c;換行后的新行的開頭連著上一行的行尾\t &#xff1a;插入…

編程用什么軸體比較好用:全面解析四種軸體的優劣與應用

編程用什么軸體比較好用&#xff1a;全面解析四種軸體的優劣與應用 在編程的世界里&#xff0c;選擇一款合適的機械鍵盤軸體&#xff0c;不僅能提升工作效率&#xff0c;更能帶來舒適的打字體驗。然而&#xff0c;面對市場上琳瑯滿目的軸體類型&#xff0c;究竟該如何選擇呢&a…

a+=1和a=a+1的區別

文章目錄 a1 和a a1的區別一、實例代碼二、代碼解釋三、總結 a1 和a a1的區別 一、實例代碼 public class Test {public static void main(String[] args) {byte a 10; // a a 1; // a (byte) (a 1);a 1;System.out.println(a);} }上面的對變量a進行加一操作時&a…

[Linux安全運維] Nginx相關

Nginx相關 1. 概述 Nginx是一種Web服務器&#xff0c;其具有高并發、高負荷的能力&#xff0c;具有以下優點&#xff1a; 穩定、系統資源消耗少、占用內存較少。軟件安裝包小且定制化強。具有高并發能力&#xff0c;可處理30000-50000個請求。 Nginx作為靜態頁面的web服務器…

【《流暢的python》3.2-3.3節學習筆記】

目錄 前言字典推導dict.setdefault總結 前言 本文為《流暢的python》的3.2-3.3節的學習筆記。 字典推導 DIAL_CODES [(86, China),(91, India),(1, United States),(62, Indonesia),(55, Brazil),(92, Pakistan),(880, Bangladesh),(234, Nigeria),(7, Russia),(81, Japan),…

linux命令: ssh的使用

ssh隧道連通aws亞馬遜云 ssh -D 7017 -i "/cygdrive/e/tbqapps2/cfg/*****.pem" adminec2-43-207-84-117.ap-northeast-1.compute.amazonaws.com ssh -o ServerAliveInterval30 -fN -D 8080 root39.105.185.11ssh -fN -D 7002 -i "D:\tbqapps2\cfg\******.pem&…

Oracle 23ai 中的重要新特性 VECTOR 數據類型

Oracle 23ai 中的 VECTOR 數據類型是 Oracle 數據庫在 AI 領域的一個重要新特性&#xff0c;它允許用戶以向量的形式存儲數據&#xff0c;并在這些向量的基礎上進行高效的搜索和分析。以下是對 Oracle 23ai VECTOR 數據類型的詳細解析&#xff1a; 參考官方文檔地址 https://d…

【Ubuntu-18.04.6 LTS (Bionic Beaver)】串口無法root登錄解決方案

root用戶無法再窗口登錄 用戶界面登錄提示 soory that didnot work 解決方案 GDM 配置 /etc/gdm3/custom.conf 中增加或刪除注釋 [security] AllowRoottrue重啟服務 service gdm restart確認 PAM 配置 GDM 使用 PAM 進行認證&#xff0c;可能 PAM 配置中限制了 root 登錄…

GitHub網頁打開慢的解決辦法

有時候看資料絮叨github網頁打不開&#xff0c;經百度后&#xff0c;發下下面的方法有效。 1&#xff09;獲取github官網ip 我們首先要獲取github官網的ip地址&#xff0c;方法就是打開cmd&#xff0c;然后ping 找到github的地址&#xff1a;20.205.243.166 2&#xff09;配…

體驗升級!貴州“森林之城”攜蘇州金龍新V系譜寫高端旅運新篇章

自今年出臺文旅“四免一多一減”方案以來&#xff0c;貴州省圍繞旅游資源&#xff0c;著力打造亮點&#xff0c;不斷提升產品供給水平&#xff0c;旅游市場持續火爆。近日&#xff0c;貴州森林之城旅運公司從蘇州金龍批量采購50座海格新V系豪華大巴&#xff0c;為貴州高端旅游市…

域名系統DNS的工作原理和服務搭建

文章目錄 域名解析和DNSDNS概念 DNS服務工作原理遞歸查詢迭代查詢遞歸和迭代的區別DNS緩存 DNS服務器的安裝whoisDNS軟件bind DNS主服務器實現1.在主配置文件中定義區域2.定義區域解析庫文件各種資源類型解析庫記錄定義項 3.配置識別區域庫文件4.重啟named服務啟用DNS客戶端緩存…

【EasyExcel】動態替換表頭內容并應用樣式

1.定義實體類 import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ContentStyle; import com.alibaba.excel.metadata.BorderStyleEnum; import com.alibaba.excel.metadata.VerticalAlignmentEnum; import com.alibaba.excel.metadata.…

Java--static詳解

1.static靜態的意義&#xff0c;加在屬性面前就為靜態屬性&#xff1b;加在方法面前就為靜態方法 2.如圖&#xff0c;定義了一個靜態屬性age&#xff0c;一個非靜態屬性score&#xff1b; 輸出語句一共四句&#xff0c;其中第三句報錯&#xff0c;由于靜態和非靜態的區別&…

微氣象儀的工作原理

型號推薦&#xff1a;云境天合TH-WQX5】風力發電傳感器在風力發電系統中起著至關重要的作用&#xff0c;它們能夠實時監測和記錄各種關鍵參數&#xff0c;為風力發電機組的控制提供數據支持&#xff0c;從而確保風力發電系統的安全、高效運行。以下是對風力發電傳感器的詳細解析…

程序員有哪些職位?

互聯網行業中的崗位種類繁多、五花八門&#xff0c;學習一門技術后&#xff0c;重要的是找到合適的職業發展方向&#xff0c;程序員有哪些職業發展方向&#xff1f;一起來看看吧&#xff01; 1.架構師 架構師需要程序員有強大的技術實力和深厚的技術積累。建筑師的成長需要經…

使用Docker制作python項目鏡像

各docker桌面版本集合&#xff1a;如果提示新版本系統不支持&#xff0c;可下載舊版本 我也分享在下面。 鏈接: https://pan.baidu.com/s/1HvaO2wOIE3pNE0bM7Qm3sA?pwdg7ky 提取碼: g7ky –來自百度網盤超級會員v2的分享 來源參考&#xff1a;https://zhuanlan.zhihu.com/p/65…