点餐小程序的数据库设计以及系统实现
Posted 水星李布斯
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了点餐小程序的数据库设计以及系统实现相关的知识,希望对你有一定的参考价值。
- 1、角色用例图
管理员角色用例图
管理员用例:通过登录云开发后台管理的账号,让商家能够直接对店铺的点餐系统进行直接管理,对店铺内的一系列数据进行操作,便于商家对店铺商品进行更新和维护。
用户角色用例图
通过登录云开发后台管理的账号,让商家能够直接对店铺的点餐系统进行直接管理,对店铺内的一系列数据进行操作,便于商家对店铺进行更新和维护。
- 用户可以登录小程序平台,进入到点餐平台首页。
- 用户可以在小程序界面进行商品的下单。
- 用户可以在排号点餐页面提前下单。
- 用户可以在我的界面更改我的信息,查询订单的相关信息。
- 管理员审核并处理订单。
- 管理员可以上架或下架商品。
总体程序逻辑流程图
用户点餐数据流图
用户通过小程序点餐平台下单,小程序会按照所选中的商品类型提交到购物车,按用户下单的菜品类型及数量等信息,提供给后台管理。
后台数据流图
数据字典:
数据项条目:用户数据项是程序下单流程的主体,通过ID来唯一标识每个用户;管理员数据项是管理这整个系统的主体,通过账号登录可以管理所有的相关数据。
数据结构条目:在程序订单交易流程中,有以下4个数据结构项目,它们是组成点餐系统的组件模块,实现了点餐程序的基本功能。
点餐小程序功能模块图
数据库设计
ER图设计:
1、用户实体ER图
2、商品实体ER图
3、管理员实体ER图
4、订单ER图
5、评论ER图
6、购物车ER图
7、店铺实体ER图
8、餐桌ER图
9、总体ER图
数据库逻辑设计与物理实现
数据库是程序项目中的重要部分,本小程序平台的开发过程中,数据库作为存储数据的工具,存储了店铺、订单、菜品等重要信息数据。在页面展示上,通过对本系统的各个页面测试,符合常规的管理系统的操作交互。[7]本程序系统借鉴了其他优秀的数据结构设计,经过反复修改验证,使数据库逻辑设计合理、清晰。
逻辑设计要注意以下几点:
1.确立的各个模块的主要对象。
2.绘表时设计好表的列名、数据类型、判断是否非空、进行数据描述。
3.设计好表的主键与外键。
按照以上几个要点,创建了的角色表如下:
1.用户表主要是将用户在点餐平台的信息保存起来。其中桌号为主键,此表还包含桌号、订单评论、购物车、订单信息,订单记录等。
表 3.1用户表
列名 | 数据类型 | 约束 | 描述 | 备注 |
varchar (10) | 非空 | 用户ID | 主键 | |
COMMENT | varchar (20) | 空 | 订单评论 | 外键 |
SHOPPING | varchar (20) | 空 | 购物车 | 外键 |
ORDER_MESSAGE | varchar (11) | 空 | 订单信息 | 外键 |
ORDER_RECORD | varchar (50) | 空 | 订单记录 |
2.商品表是小程序平台的商品信息保存起来,商品的名称是主键,还分别列出了商品的分类、价格、图片、销售数量,通过商品分类和其他主体角色表关联起来。
表 3.2商品表
列名 | 数据类型 | 约束 | 描述 | 备注 |
GOODS_ID | int (10) | 非空 | 商品编号 | 主键 |
GOODS_TITLE | varchar (50) | 非空 | 商品分类 | 外键 |
GOODS_PRICE | double | 非空 | 商品价格 | |
GOODS_IMAGE | varchar (10) | 非空 | 商品图片 | |
GOODS_BOLG | varchar (100) | 非空 | 销售数量 |
3.管理员表用于保存商家对于小程序平台操作的信息。其中包括登录账号、登录密码、订单管理、商品管理、桌号管理。
表 3.3管理员表
列名 | 数据类型 | 约束 | 描述 | 备注 | |
varchar(20) | 非空 | 管理员ID | 主键 | ||
ADMIN_NUMBER | int (20) | 非空 | 登录账号 | ||
ADMIN_PAD | int (20) | 非空 | 登陆密码 | ||
ORDER_MANAGE | varchar (100) | 空 | 订单管理 | 外键 | |
GOODS_MANAGE | varchar (100) | 非空 | 商品管理 | 外键 | |
STORE_MANAGE | int (1) | 非空 | 店铺管理 | 外键 | |
TABLE_MANAGE | int (20) | 非空 | 餐桌管理 | 外键 |
4.订单表主要是在用户购物车下单付款之后,对生成的商品订单实体进行描述。
表 3.4订单表
列名 | 数据类型 | 约束 | 描述 | 备注 |
ORDER_ID | varchar (20) | 非空 | 订单编号 | 主键 |
GOODS_NAME | varchar (20) | 非空 | 商品名称 | 外键 |
ORDER_TIME | varchar (30) | 非空 | 下单时间 | |
GOODS_MESSAGE | varchar (11) | 非空 | 商品价格 |
5.评论表主要是用户在对已完成订单进行评论反馈的实体。
表 3.5评论表
列名 | 数据类型 | 约束 | 描述 | 备注 |
COMMENT_ID | varchar (20) | 非空 | 评论编号 | 主键 |
COMMENT_TIME | number (20) | 非空 | 评论时间 | |
COMMENT_TEXT | varchar (30) | 非空 | 评论内容 | |
ORDER_MESSAGE | varchar (11) | 非空 | 订单编号 | 外键 |
6.购物车表,主要是将用户在点餐平台下单的商品信息保存起来,在用户付款之后,提交给后台。
表 3.6购物车表
列名 | 数据类型 | 约束 | 描述 | 备注 |
SHOPCART_ID | varchar (20) | 非空 | 购物车编号 | 主键 |
GOODS_SORT | varchar (20) | 非空 | 商品类别 | 外键 |
GOODS_PRICE | varchar (30) | 非空 | 商品价格 | |
GOODS_AMOUNT | varchar (11) | 非空 | 商品数量 |
7.店铺表是管理员对店铺的小程序进行名称、地址、logo等相关信息的更新和修改。
表 3.7店铺表
列名 | 数据类型 | 约束 | 描述 | 备注 |
STORE_ID | varchar (20) | 非空 | 店铺ID | 主键 |
STORE_ADDRESS | varchar (20) | 非空 | 店铺地址 | 外键 |
STORE_LOGO | varchar (10) | 非空 | 店铺logo | |
STORE_PHONE | number (11) | 非空 | 商家电话 | |
STORE_WECHAT | varchar (10) | 非空 | 商家微信 |
8.餐桌表是店铺在店内给用户提供就餐的实体表,用以区别用户,避免上传商品时出现差错。
表 3.8餐桌表
列名 | 数据类型 | 约束 | 描述 | 备注 |
TABLE_ID | int (10) | 非空 | 餐桌编号 | 主键 |
CODE | varchar (20) | 非空 | 二维码 | 外键 |
TABLE_AMOUNT | varchar (30) | 非空 | 餐桌数量 |
9.商品分类表是店铺商品在前台展示时,对商品按类型进行列表分类的,便于用户查询自己所需要的商品。
表 3.9商品分类表
列名 | 数据类型 | 约束 | 描述 | 备注 |
SORT_ID | int (10) | 非空 | 商品分类ID | 主键 |
GOODS_ID | varchar (20) | 非空 | 商品名称 | 外键 |
GOODS_PRICE | varchar (30) | 非空 | 商品价格 | |
GOODS_IMAGE | varchar (30) | 非空 | 商品图片 |
10.二维码表是用户在下单时表明自己的餐桌,保证商家准确的处理相应订单。
表 3.10二维码表
列名 | 数据类型 | 约束 | 描述 | 备注 |
CODE_ID | int (10) | 非空 | 二维码编号 | 主键 |
TABLE_ID | int (10) | 非空 | 餐桌编号 | 外键 |
程序设计
1、用户登录模块流程图
2、下单模块流程图
3、商品信息搜索模块流程图
4、管理员管理模块流程图
5、用户评论模块流程图
6、地图调用模块
未完待续,后续更新
基于JavaScript的餐厅点餐系统微信小程序的设计与实现
摘要
随着都市的快速发展,人们的生活节奏在不断加快,时间观念在不断增强,对效率也有了更高追求。类似的,人们在就餐方面也希望能够节省时间,将大家对新式就餐概念和微信小程序这个新发展事物结合在一起就产生了餐厅点餐小程序。
该系统主要由两个部分组成,分别是前端的点餐小程序和后台的点餐管理系统。前端主要使用的技术有JavaScript和css3以及微信小程序自带框架,后台管理主要用到Spring-boot框架技术。
其中小程序中的排队预约座位功能相较于传统的点餐小程序是一个较新的功能,可以实现预约座位的功能,有了这个功能,顾客到店可以直接入座,有更好的就餐体验。结构分明,功能实用,界面简介是这个点餐系统的主要优点。
需求分析
系统功能需求分析
点餐小程序部分
登录功能
顾客进入小程序我的页面,点击微信授权登录。
个人信息功能
完成登录后顾客填写个人信息,首次填写个人信息并提交后,第二次进入可进行个人信息修改操作;本信息栏为顾客必填选项,以方便后续使用小程序进行点餐操作。
首页轮播图功能
进入点餐程序首页,映入眼帘的是本餐厅后台系统操作的宣传轮播图。
搜索菜品功能
顾客可以用首页的搜索框搜索相关菜品,只需要输入关键字就可以达到操作目的。
扫码功能
顾客来到餐厅就餐,可以扫空座位桌角的二维码就座点餐。
排号等位功能
可以用此功能向餐厅预订座位,在可以就座时后台系统会传递信息到小程序端提醒客人就座。
菜品分类功能
对菜品进行早中晚餐招牌菜等等的分类。
购物车菜品的增减功能
顾客在购物车模块,可以对购物车内的菜品进行增减和清空等操作。
催单功能
顾客可以通过小程序向餐厅后台传递催单信息。
评论功能
顾客就餐后可以对菜品进行评论。
餐厅后台管理系统部分
登录功能
管理员登录:使用系统初始设置的账号密码,登录到餐厅后台管理系统;
非管理员登录:使用管理员设置的专属账号密码,登录进系统。
设置餐厅管理系统人员
管理员可以在这里修改或设置新的系统管理人员,有两种角色设置,分别是管理员角色和员工角色,新设置的角色有自己全新独立的账户密码,均可登录系统,唯一区别在于登录系统后,员工角色没有权限访问此页面。
排号管理功能
在接收到顾客小程序端传输的排号请求时,可以在此响应请求,邀请顾客就座。
菜品订单功能
这里记录所有通过小程序点餐的顾客订单,查看订单详情,接受或者取消订单,已取消的订单可进行删除,还可以将所以订单导出到Excel表格。
菜品管理功能
管理员可以跟据厨房库存对菜品进行管理操作,修改菜品信息,下架、删除菜品,添加单个或者批量导入菜品,也可以将菜品信息导出到Excel表格。
菜品分类管理功能
将菜品分为几个不同的类别,早中晚餐,招牌菜等,与小程序端相对应,也可对菜品类别进行添加或删除的操作。
轮播图页管理功能
这里可以将所选图片在小程序端轮播。
退出登录功能
完成一系列操作后,管理员可以退出点餐系统后台。
系统用户需求
管理员
管理员进入点餐后台管理系统,在统计信息模块可以看到店铺的月收入及年收入;在餐厅人员模块,可以修改管理员登录信息,添加管理员或者员工,当以员工身份登录后台系统时,将没有权限访问此页面;在排号管理模块可以安排预约座位的顾客就座;在菜品订单模块,可以看到所有顾客的订单请求,进行确认或者取消订单的操作,已取消的订单可将其从列表中移除,还能将所有订单导出到Excel表格中,在菜品管理模块,可以单个或批量添加菜品,修改菜品的信息,对菜品进行下架、删除等操作;在菜品类目模块,可以对菜品进行分类;在轮播图模块,可以设置展示在小程序端首页的轮播图,用于菜品推广宣传等;以及最后的退出系统操作。
顾客
顾客进入点餐小程序,先微信授权登录;扫桌角二维码就座;排号等位预约座位;点击首页的菜单浏览,进入菜单,浏览搜寻自己想要的菜品;根据菜品分类,挑选想要的类别菜品;搜索框快速找到菜品;购物车模块,对购物车中菜品进行增减处理,对购物车的菜品进行提交订单和结算操作;我的模块,可以查看、修改个人信息;点击我的订单可以查看待上餐、已取消、待评价和已完成的订单;查看我的排号状态。
部分运行截图
获取方式
以上是关于点餐小程序的数据库设计以及系统实现的主要内容,如果未能解决你的问题,请参考以下文章