Java實現(xiàn)餐廳點餐系統(tǒng)的實例代碼
學習Java實現(xiàn)餐廳點餐系統(tǒng),本文實現(xiàn)該系統(tǒng)的功能截圖,和數(shù)據(jù)庫設(shè)計SQL語句,系統(tǒng)功能圖,功能優(yōu)勢等供大家參考
1.點餐管理系統(tǒng)背景
隨著科技的發(fā)展,去飯店吃飯點餐和結(jié)賬都是以線上操作的形勢完成。
a.和現(xiàn)在有的系統(tǒng)比較起來,本系統(tǒng)有餐桌管理,菜系管理,菜名管理,訂單管理,訂單詳情等功能。
b.和現(xiàn)有系統(tǒng)比較起來,本系統(tǒng)是B/S結(jié)構(gòu),一般點餐系統(tǒng)為C/S結(jié)構(gòu),性能方面不如B/S結(jié)構(gòu),并且C/S接口需要安裝客戶端,客戶端壓力很大,我的系統(tǒng)只需要電腦或者手機具有瀏覽器,在同一局域網(wǎng)就可以進行訂餐。
c.從架構(gòu)方面來講,我們的系統(tǒng)為分布式架構(gòu),傳統(tǒng)的點餐系統(tǒng)沒有我們的架構(gòu)合理。
2.點餐管理系統(tǒng)技術(shù)架構(gòu)
主要技術(shù)
Spring、SpringMVC、Mybatis
JSP、JSTL、jQuery、HTML、CSS、JS
Mysql
bootstrap
開發(fā)工具和環(huán)境
Eclipse
Maven
Tomcat 7
JDK 1.8
Mysql 5.6
Win10 操作系統(tǒng)
3.系統(tǒng)架構(gòu)及功能

4.數(shù)據(jù)庫設(shè)計
-- 餐桌表 CREATE TABLE `dinnertable` ( `id` int(11) NOT NULL AUTO_INCREMENT,--餐桌id `tableName` varchar(20) DEFAULT NULL, -- 餐桌名稱 `tableStatus` int(11) DEFAULT '0', -- 餐桌狀態(tài) 0表示空閑狀態(tài) 1表示已預(yù)訂狀態(tài) `orderDate` datetime DEFAULT NULL, -- 預(yù)定餐桌時間 PRIMARY KEY (`id`) ) -- 菜系表 川菜,湘菜等 CREATE TABLE `foodtype` ( `id` int(11) NOT NULL AUTO_INCREMENT, --菜系id `typeName` varchar(20) DEFAULT NULL, --菜系名稱 PRIMARY KEY (`id`) ) -- 菜名表 CREATE TABLE `food` ( `id` int(11) NOT NULL AUTO_INCREMENT, -- 菜名id `foodName` varchar(20) DEFAULT NULL, -- 菜名 `foodType_id` int(11) DEFAULT NULL, -- 所屬菜系 `price` double DEFAULT NULL, -- 價格 `mprice` double DEFAULT NULL, -- 會員價格 `remark` varchar(200) DEFAULT NULL, --菜名描述 `img` varchar(100) DEFAULT NULL, -- 菜名圖片對應(yīng)路徑 PRIMARY KEY (`id`), KEY `fk_food_foodType_id` (`foodType_id`), CONSTRAINT `fk_food_foodType_id` FOREIGN KEY (`foodType_id`) REFERENCES `foodtype` (`id`) ) -- 訂單表 CREATE TABLE `orders` ( `id` int(11) NOT NULL AUTO_INCREMENT, -- 訂單id `table_id` int(11) DEFAULT NULL, -- 餐桌id `orderDate` datetime DEFAULT NULL, -- 下單時間 `totalPrice` double DEFAULT NULL, -- 總金額 `orderStatus` int(11) DEFAULT '0', --支付狀態(tài) 0未支付 1已支付 PRIMARY KEY (`id`), KEY `order_table_id` (`table_id`), CONSTRAINT `order_table_id` FOREIGN KEY (`table_id`) REFERENCES `dinnertable` (`id`) ) -- 訂單明細表 CREATE TABLE `orderdetail` ( `id` int(11) NOT NULL AUTO_INCREMENT, -- 訂單明細id `orderId` int(11) DEFAULT NULL, -- 所屬訂單id `food_id` int(11) DEFAULT NULL, -- 菜名id `foodCount` int(11) DEFAULT NULL, -- 訂餐數(shù)量 PRIMARY KEY (`id`), KEY `orderDetail_order_id` (`orderId`), KEY `orderDetail_food_id` (`food_id`), CONSTRAINT `orderDetail_food_id` FOREIGN KEY (`food_id`) REFERENCES `food` (`id`), CONSTRAINT `orderDetail_order_id` FOREIGN KEY (`orderId`) REFERENCES `orders` (`id`) ) -- 管理員表 CREATE TABLE `admin` ( `id` varchar(20) NOT NULL, -- 管理員id `name` varchar(20) DEFAULT NULL, -- 管理員姓名 `password` varchar(32) DEFAULT NULL, -- 管理員密碼 PRIMARY KEY (`id`) )
5.后臺管理功能
登錄系統(tǒng)首頁

餐桌列表:顯示餐桌詳情,可以通過上面搜索按鈕搜索類似餐桌,也可以刪除餐桌

添加新餐桌功能

菜系列表:顯示菜系詳情,可以通過上面搜索按鈕搜索類似菜系,也可以刪除菜系

修改菜系名稱功能

添加菜系功能

菜品列表:顯示菜品列表,可以通過上面搜索按鈕搜索類似菜品,也可以刪除菜系

修改菜品功能:可以修改菜系所屬菜系、菜品名稱、價格、簡介、圖片等屬性。

添加菜品功能

訂單列表管理:顯示已有餐桌訂單情況,如果未結(jié)賬的,用戶點擊結(jié)賬付款后可以進行結(jié)賬。

訂單詳情:可以查看用戶都點了哪些菜,每個菜單價多少,數(shù)量多少

6.前臺用戶點餐功能
用戶點餐時進入菜單頁,選擇沒有預(yù)定的餐桌,這里只顯示未預(yù)定餐桌

選擇餐桌后會進入餐桌首頁,可以查看到所有菜品信息

用戶可以根據(jù)菜系列表和關(guān)鍵字搜索對應(yīng)的菜品

點擊菜品進入菜詳情頁面,用戶可以將菜加入餐車中

放入購物車后會進入清單列表,在這里我們可以返回繼續(xù)點餐,也可以修改已加入菜品數(shù)量,或者移除菜品

點擊下單后后端會受到這個消息,開始做菜;如果用戶結(jié)束吃飯可以點擊結(jié)賬按鈕,通知服務(wù)員進行結(jié)賬

總結(jié)
到此這篇關(guān)于Java實現(xiàn)餐廳點餐系統(tǒng)的文章就介紹到這了,更多相關(guān)java 餐廳點餐系統(tǒng)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Intellij IDEA集成JProfiler性能分析工具
作為Java程序員,性能分析是我們必須掌握的技能之一,在性能分析中,JProfiler是一款非常強大的工具,本文就來介紹一下Intellij IDEA集成JProfiler性能分析工具,就有一定的參考價值,感興趣的可以了解一下2023-12-12
idea集成shell運行環(huán)境以及shell輸出中文亂碼的解決
這篇文章主要介紹了idea集成shell運行環(huán)境以及shell輸出中文亂碼的解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08

