Java实现餐厅点餐系统

1.点餐管理系统背景

随着科技的发展,去饭店吃饭点餐和结账都是以线上操作的形势完成。
a.和现在有的系统比较起来,本系统有餐桌管理,菜系管理,菜名管理,订单管理,订单详情等功能。
b.和现有系统比较起来,本系统是B/S结构,一般点餐系统为C/S结构,性能方面不如B/S结构,并且C/S接口需要安装客户端,客户端压力很大,我的系统只需要电脑或者手机具有浏览器,在同一局域网就可以进行订餐。
c.从架构方面来讲,我们的系统为分布式架构,传统的点餐系统没有我们的架构合理。

2.点餐管理系统技术架构

主要技术
Spring、SpringMVC、Mybatis
JSP、JSTL、jQuery、HTML、CSS、JS
Mysql
bootstrap
开发工具和环境
Eclipse
Maven
Tomcat 7
JDK 1.8
Mysql 5.6
Win10 操作系统

3.系统架构及功能

在这里插入图片描述

4.数据库设计

-- 餐桌表
CREATE TABLE `dinnertable` (
  `id` int(11) NOT NULL AUTO_INCREMENT,--餐桌id
  `tableName` varchar(20) DEFAULT NULL, -- 餐桌名称
  `tableStatus` int(11) DEFAULT '0',   -- 餐桌状态   0表示空闲状态   1表示已预订状态
  `orderDate` datetime DEFAULT NULL,   -- 预定餐桌时间
  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,              -- 菜名图片对应路径
  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',                --支付状态  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,           -- 订餐数量
  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.后台管理功能

登录系统首页
在这里插入图片描述
餐桌列表:显示餐桌详情,可以通过上面搜索按钮搜索类似餐桌,也可以删除餐桌
在这里插入图片描述
添加新餐桌功能
在这里插入图片描述
菜系列表:显示菜系详情,可以通过上面搜索按钮搜索类似菜系,也可以删除菜系
在这里插入图片描述
修改菜系名称功能
在这里插入图片描述
添加菜系功能
在这里插入图片描述
菜品列表:显示菜品列表,可以通过上面搜索按钮搜索类似菜品,也可以删除菜系
在这里插入图片描述
修改菜品功能:可以修改菜系所属菜系、菜品名称、价格、简介、图片等属性。
在这里插入图片描述添加菜品功能在这里插入图片描述
订单列表管理:显示已有餐桌订单情况,如果未结账的,用户点击结账付款后可以进行结账。
在这里插入图片描述
订单详情:可以查看用户都点了哪些菜,每个菜单价多少,数量多少
在这里插入图片描述

6.前台用户点餐功能

用户点餐时进入菜单页,选择没有预定的餐桌,这里只显示未预定餐桌

在这里插入图片描述
选择餐桌后会进入餐桌首页,可以查看到所有菜品信息
在这里插入图片描述
用户可以根据菜系列表和关键字搜索对应的菜品
在这里插入图片描述
点击菜品进入菜详情页面,用户可以将菜加入餐车中
在这里插入图片描述
放入购物车后会进入清单列表,在这里我们可以返回继续点餐,也可以修改已加入菜品数量,或者移除菜品
在这里插入图片描述
点击下单后后端会受到这个消息,开始做菜;如果用户结束吃饭可以点击结账按钮,通知服务员进行结账
在这里插入图片描述

发布了39 篇原创文章 · 获赞 157 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/qq_34417749/article/details/88949535