摘要:当前,随着人类的生活水平的进步以及提升,人们对于衣食住行也开始变得重视起来,而平常的饮食与人们的身体健康有着很大的关系,越来越多的人选择去餐厅就餐,这就不可避免的致使餐厅门口排队现象的产生。餐厅人员由于没有对等位管理的成熟经验,致使了很多食客在排队过程中逐渐离开;随着餐饮行业的竞争日渐激烈,营收提升变得愈发困难,餐厅开始重视等位管理。目前市面上的大部分餐厅采用线下取票排队,而这种方式有较多弊端,比如提高商家成本、可能导致餐厅过于拥挤,用户就餐体验下降。对于如何有效的针对等位进行管理,餐厅管理人员普遍存在心有余而力不足的尴尬状况。
本课题通过分析目前餐厅的等位流失的现状和原因,先描述了课题背景和意义以及目前国内外的研究现状,展示了现有技术及优势,技术选型上选择了架构上采用了目前业界最流行的微服务,数据库采用了postgre数据库,并且使用nginx作为反向代理为前端请求到后端,服务器采用tomcat来运行部署和测试,最后完成了智能等位系统的设计与实现。
本文在研究目前国内外餐厅在等位管理进行了严谨的需求分析,利用了java的跨平台性,使用了JavaEE的技术SpringBoot、SpringCloud、SpringMvc、Spring、Mybatis 等技术设计并实现了餐厅管理人员使用的等位系统,系统受众为餐厅管理人员和食客。食客和餐厅管理人员可以通过网页查看目前的等位情况,管理人员可以对食客队列进行操作。
关键字:排队系统;协同推荐模型;微服务;Spring;Mybatis
目录
摘要
ABSTRACT
1 绪论-1
1.1 课题背景及研究目的意义-1
1.2 国内外研究现状与存在问题、-1
1.3 课题需解决的问题-2
1.4 论文组织结构-3
2 系统实现技术-4
2.1 系统架构-4
2.1.1目前主流架构介绍-4
2.1.2 单体应用-4
2.1.3 面向服务架构(SOA)-5
2.1.4 微服务架构-6
2.2 网页开发技术-6
2.2.1 Vue.js-6
2.2.2 Vuex-7
2.3 后端框架-7
2.3.1 SpringBoot-7
2.3.2 SpringCloud-8
2.3.3 Mybatis与通用Mapper-9
2.4 PostgreSQL数据库-10
2.5小结-10
3 系统需求分析-11
3.1 系统可行性分析-11
3.1.1 技术可行性-11
3.1.2 操作可行性-11
3.1.3 经济可行性-11
3.2 功能需求分析-12
3.2.1 系统用户-12
3.2.2 餐厅工作人员-12
3.2.3 食客-13
3.2.4点餐组合推荐算法-13
3.3 小结-14
4 系统设计-15
4.1 系统运行环境-15
4.2 系统功能模块-15
4.2.1 餐厅工作人员模块-15
4.2.2 食客模块-16
4.2.3 点餐组合推荐算法-16
4.3 数据库设计-17
4.3.1 E-R图-17
4.3.2 数据库表设计-18
4.4系统设计结构-23
4.4.1 设计理念和设计模式-23
4.4.2 持久层-23
4.4.3 业务层-23
4.4.4 控制层-23
4.4.5 表现层-24
4.5 小结-24
5 系统实现-25
5.1 登录-25
5.1.1 用户登录流程及界面展示-25
5.1.2 SHA加密-26
5.2 取号功能流程及界面展示-27
5.3 获取等位列表及排序逻辑-30
5.4 叫号功能流程-31
5.5 就餐与过号-32
5.6 已叫号记录列表-33
5.6.1 恢复功能-33
5.6.2 补打功能-34
5.7 模糊查询与插号功能-35
5.7.1 插号功能-35
5.8 取消排号功能-36
5.9 设置功能模块-36
5.9.1 选择广告-36
5.9.2 注销功能-36
5.9.3 清空排号功能-36
5.10 点餐组合推荐算法-37
5.11 小结-39
6 系统测试-39
6.1 登录测试-39
6.2 取号功能测试-39
6.3 就餐、过号功能测试-40
6.4 首页列表测试-40
6.4 小结-42
7 总结与展望-43
参考文献-45
致谢-46