- 一、项目简介
- 二、功能简介
- 三、数据库表的设计
- 3.1 用户表
- 3.2 菜单表
- 3.3 订单表
- 3.4 订单详情表
- 四、具体功能实现
- 4.1 普通用户
- 4.1.1 注册
- 4.1.2 登陆
- 4.1.3 下单菜品
- 4.1.4 查看订单
- 4.1.5 查看订单详情
- 4.1.6 查看菜品
- 4.1.7 退出登录
- 4.2 管理员
- 4.2.1 登录
- 4.2.2 查看所有订单
- 4.2.3 查看所有菜品
- 4.2.4 删除菜品
- 4.2.5 新增菜品
- 4.2.6 查看订单详情
- 4.2.7 退出登录
现如今,随着餐饮行业的不断扩大,消费者的年轻化,餐饮行业的点餐逐渐由线下转为线上点单,因此我们这个点餐系统就应运而生。点餐系统为餐厅增添了用户与餐厅的互动性,还可以实现更加多样化的点餐。
本项目运用Servlet框架,vue前端,java后端,mysql连接数据库实现了一个具有管理员和普通用户的双角色点餐系统。
二、功能简介普通用户:注册、登录、下单、查看自己的订单、查看订单详情、查看菜品、退出登录。
管理员:登录、查看所有订单、查看订单详情、新增菜品、删除菜品、查看所有菜品、退出登录等功能。
要实现普通用户所需的功能,需要设计以下数据库表:
3.1 用户表字段:uid、用户名、密码、管理员的标识、状态、创建时间;
--创建用户表
create table userinfo(
`uid` int primary key auto_increment,
`username` varchar(255) not null unique,
`password` varchar(32) not null,
`isadmin` int default 0,
`state` int default 0,
`createtime` datetime default now()
) default charset='utf8mb4';
3.2 菜单表
字段:id、菜名、价格、是否下架、创建时间、是否删除
--创建菜单表
create table dish(
`did` int primary key auto_increment,
`name` varchar(255) not null,
`price` decimal(5,1) not null,
`isdown` int default 0,
`createtime` datetime default now()
) default charset='utf8mb4';
3.3 订单表
字段:id、状态(制作中/已完成)、金额、创建时间、uid
--创建订单表
create table `order`(
`oid` int primary key auto_increment,
`state` int default 0 not null ,
`money` decimal(6,1) not null,
`createtime` datetime default now()
)default charset='utf8mb4';
3.4 订单详情表
字段:odid、did、oid
--创建订单详情表
create table orderdetail(
`odid` int primary key auto_increment,
did int not null,
oid int not null
)default charset='utf8mb4';
四、具体功能实现
4.1 普通用户
4.1.1 注册
源码就不在这里展出了,只给出具体实现结果。
登录成功!
普通用户可以查看所有已经上架的菜品。
只有将用户表中的是否管理员的标识设置为1,才可以登录成功,否则就会登录失败。
可以通过点击状态按钮来标记订单已完成,普通用户可以在自己的订单页面看到这个订单的状态变为已完成。
管理员可以查看所有菜品,包括上架菜品和已下架菜品。



