基于SpringBoot的微信点餐系统的设计与实现毕业论文
2020-02-16 12:01:10
摘 要
随着互联网浪潮的到来,众多的实体店经营企业都借助其进行快速发展,餐饮行业作为人们日常生活中必不可缺的一部分,同样不会缺席这趟高速发展的快车。本文基于这一想法,利用软件开发技术开发一个基于手机微信端的外卖点餐系统。
本文介绍的内容为基于Spring Boot技术的微信点餐系统的开发与实现。使用Vue.js、webpack、thymeleaf模板等前端开发技术,Spring Boot、Spring JPA、webSocket、mybatis等服务端开发技术,开发基于Spring Boot技术的微信点餐系统。一方面买家可以通过买家端来选择自己喜欢的商品进行购买,另一方面卖家也可以通过卖家端后台来管理买家端显示的商品信息以及订单的处理操作。买家端订单操作通过webSocket消息实时通知卖家端后台,卖家端对买家订单的完结,取消操作信息也会通过微信公众号发送微信模板消息发送给买家。系统实现的主要功能有买家端的商品浏览、评论信息查看、商家详情、商品详情查看、商品加入购物车、下订单、订单支付、订单取消、评论订单等,以及卖家端的用户登录、所有买家订单查询、商品上下架、商品信息修改、商品目录增删、卖家登出等功能。
整个项目实现前后端分离,借助饿了么前端界面对项目前端进行优化,使用restful风格来进行前后端数据交换,解决跨域访问的相关问题,项目的功能点开发相对完善。
关键字:微信点餐;Spring Boot;Vue
Abstract
With the advent of the Internet wave, many physical store operators have relied on them for rapid development. The catering industry is an indispensable part of people#39;s daily life, and it will not be absent from this fast-growing express train. Based on this idea, this paper uses software development technology to develop a take-out order system based on mobile phone WeChat.
The content of this paper is the development and implementation of WeChat ordering system based on Spring Boot technology. Using Vue.js, webpack, thymeleaf templates and other front-end development technologies, Spring Boot, Spring JPA, webSocket, mybatis and other server-side development technologies, develop WeChat ordering system based on Spring Boot technology. On the one hand, the buyer can choose the product he likes through the buyer to purchase, on the other hand, the seller can also manage the product information displayed by the buyer and the processing operation of the order through the seller side background. The buyer-side order operation notifies the seller#39;s background in real time through the webSocket message, and the seller#39;s end of the buyer#39;s order, the cancellation operation information will also be sent to the buyer through the WeChat public number to send the WeChat template message. The main functions implemented by the system include buyer#39;s product browsing, review information viewing, business details, product details viewing, product addition to shopping cart, order placement, order payment, order cancellation, comment order, etc., as well as user login of the seller, all buyers. Order inquiry, product shelves, product information modification, product catalog addition and deletion, seller logout and other functions.
The whole project is separated from the front and back ends. The front end of the project is optimized by the hungry front-end interface. The restful style is used to exchange data between the front and back ends to solve the problems related to cross-domain access. The function development of the project is relatively complete.
Key Words:WeChat order ; Spring Boot; Vue
目 录
第1章 绪论 1
1.1 背景资料 1
1.2 目的和意义 1
1.3 国内外研究现状 1
1.4 课题研究内容 2
1.5 研究方案与研究内容安排 2
1.6 本章小结 2
第2章 系统需求分析 3
2.1 概述与运行环境 3
2.1.1 系统概述 3
2.1.2 运行环境 3
2.2 需求分析 3
2.2.1功能性需求包含 3
2.2.2 系统性能需求 4
2.2.3 系统可行性分析 4
2.3 系统用例图分析 4
2.3.1 买家端用例图 4
2.3.1 卖家端用例图 5
2.4 设计约束 6
2.5 本章小结 6
第3章 系统概要设计及数据库设计 7
3.1 总体设计 7
3.1.1 系统功能点 7
3.1.2 系统开发技术要点 9
3.2 数据库表设计 11
3.2.1 商品信息表 11
3.2.2 商品目录表 12
3.2.3 订单表 12
3.2.4 订单详情表 12
3.2.5 评论信息 13
3.2.6 卖家信息表 13
3.3 本章小结 14
第4章 系统实现 15
4.1 买家模块 15
4.1.1 买家登录 15
4.1.2 商品浏览 15
4.1.3 商品详情查看 16
4.1.4 将商品添加至购物车 17
4.1.5 下单 17
4.1.6 订单支付 18
4.1.7 订单取消 18
4.1.8 历史订单查看 19
4.1.9 评论区查看 19
4.1.10 商家详情 20
4.2 卖家端 20
4.2.1 卖家登录 20
4.2.2 订单查询 21
4.2.3 订单完结 21
4.2.4 订单取消 22
4.2.5 商品上下架 22
4.2.6 商品添加 22
4.2.7 商品类目增删 23
4.2.8 登出 23
4.3 开发难点及解决 24
4.4 本章小结 25
第5章 总结及未来展望 26
5.1 项目总结及不足之处 26
5.2 未来展望 26
参考文献 27
致谢 28
第1章 绪论
1.1 背景资料
互联网的变化,使得人们的生活中处处存在连接,互联网无处不在,衣食住行也与同样与互联网密切相关,人们足不出户便可享受到美食,网络订餐[1]也已经变成了整天呆在屋里的青少年,没有空闲时间做饭的城市白领的日常饮食方式。
网上点餐业务与原先的电话预定餐厅相比,原始的电话点餐方式已经不能满足人们的需求,通过网络的连接,微信点餐[2]方便商家客户互动。此外,用户可以及时看到餐饮商家更新的信息,预定菜品,就餐后可添加用户反馈。
1.2 目的和意义
网上点餐系统的提出是为了鼓励餐饮企业积极寻找企业经营的创新模式,促进国家经济发展,让企业经营实现网络化,推动线上与线下经营相融合。这样能够极大的便利人们的生活,为实现社会的全面小康做出积极贡献。
1.3 国内外研究现状
在查阅国内外相关资料后,我对网络点餐系统的发展趋势有了一个新的认识。目前我国很多公司都开发了基于网络点餐这一想法的软件,一部分已经在微信端有了网络订餐的平台。
网络点餐主要是利用互联网的便利来进行的,主要功能就是将线上线下相融合,使传统的实体店点菜,支付也同步的转移到了线上,让消费者可以在家便享受到外面的美食,餐饮商家则是可以进行线上线下同时销售,增加了他们的收入与食物的销售渠道。使得人们的生活得到了极大的便利。
在进行系统开发时则是大多采用现在开发最为流行的Spring Boot框架,其拥有以往框架开发时的优势,同样它也拥有其他框架所没有的特点,它以极其少的配置来进行快速开发,使得软件的开发周期缩短,也让软件开发时的犯错率降低。加之目前微信的用户基数较大,人们也开始偏向于使用便捷的微信端系统来替代APP的使用,例如一些外卖平台饿了么以及一些售票系统也拥有微信端供用户使用。这也为微信订餐系统的开发提供非常好参考例子,在系统中会通过Spring Boot开发的后端来进行数据的处理,然后将处理得到的结果封装后返回到微信端,保证了开发时的前后端分离,也让开发工作变得较为轻松,后期维护方便。
1.4 课题研究内容
本文的介绍内容为基于Spring Boot开发的微信点餐系统的软件系统开发。首先是进行国内外现状分析,针对此点餐系统进行系统的需求分析分析以及概要设计,明确微信点餐系统的各部分功能模块后进行数据库表设计,为系统开发做好充分准备。在系统开发阶段,系统分为微信买家端与pc买家端的相关功能,以及服务端项目部署的相关工作。
系统整体实现:系统实现主流的前后端分离的开发方式,前后端通信以restful风格进行,后端放回的数据格式进行统一封装,以相同的格式进行json数据集返回,以保证前端代码的可复用性。在买家在微信端进行下单操作后,前后端会以websocket方式进行通信,此时买家端可以接收到买家端下单的提示信息,以保证系统开发的合理性。
1.5 研究方案与研究内容安排
根据论文内容,本论文一共分为6个章节,每章的主要内容如下:
第1章,绪论。介绍目前外卖点餐系统的国内外现状分析,课题研究内容以及预期实现目标。
第2章, 系统需求分析。包括了系统的开发背景以及运行的环境,系统的功能需求以及系统的设计约束这几部分。
第3章, 系统概要设计及数据库设计。这一节主要是系统的概要设计说明,系统用例图分析和数据表字段设计详情等。
第4章, 系统实现。这里会详细的介绍买家端与买家端的功能详情以及实现情况,还有在开发过程中遇到的一些项目难点以及难点分析。
第5章,总结与展望。对项目总结及未来展望。
1.6 本章小结
介绍现阶段点餐系统的国内外现状分析,用于系统系统开发的SpringBoot框架拥有的优势,课题研究的内容,包括整个系统开发的流程。同时介绍了项目的预期实现目标,各部分模块的相关功能点。
第2章 系统需求分析
2.1 概述与运行环境
2.1.1 系统概述
本系统是开发一个基于Spring Boot的微信点餐系统。系统包含买家端与买家端,使用前后端分离的思想来实现,前后端之间通过restful风格来通信,后台使用Spring Boot来进行开发,前端则使用vue.js来实现。
2.1.2 运行环境
后台使用阿里云centos7服务器进行项目部署,MySQL数据库,tomcat8.5.40
前端运行于本地centos7系统,静态图片资源文件存放于阿里云服务器
2.2 需求分析
需求分析任务就是利用现有系统的思维方式来构建目标系统的逻辑。软件的需求包括功能需求,性能需求以及可行性需求。
网络营销[3]作为一个非常有效的竞争手段,故不少传统餐饮企业开始通过网络进行营销,以此来提高自己的营销额[4]。这让虚拟与现实相结合,人们将线下的商品转到线上去销售,支付也同样将其放到线上,促进消费者进行消费。此外,消费者也同样可以以最快的速度了解到商家的动态,这种方式相比消费者必须克服地理位置问题进店消费而言,无疑有非常有着非常大的市场潜力,通过移动端设备,让传统饮食行业商家接入网络,同时也让享受服务的消费者享受到更多的便利,加之如今微信的用户基数不断增长。因此开发一个基于微信端的点餐系统拥有非常好的市场可操作性。
2.2.1功能性需求包含
微信买家端:用户通过微信端打开系统链接地址或直接扫码登录,实现的功能主要包括商品浏览,商品详情查看,将商品加入购物车,清空购物车,下单,订单支付,订单取消,用户评论,历史评论查看,商家详情查看,历史订单查询等。
PC卖家端:商家通过账号密码来进行系统登录,登录后系统会将用户名保存到session中,若session中无用户信息时用户直接访问系统内地址,则会被拦截器拦截后跳转到登录首页。实现的功能点主要包括,所有用户订单查询,订单详情查看,订单完结,订单取消,商品列表查询,商品上下架,商品新增,商品目录增删,用户登出等。
2.2.2 系统性能需求
系统响应时间不能过长,如在进行商品列表查询时,先查询必要的商品信息进行页面展示,而不去查询该商品对应评论列表,当进入商品详情页后再对商品评论进行查询后展示到页面,如此在数据库查询时花费的时间便可以缩短。
数据完整性保证。对于点餐系统而言,数据完整性是最为重要的部分,由于用户下单后可能会有多种操作,这都需要与数据库进行交互,此时便需要使用数据库事务及其它方式来保证买家订单数据的一致性及完整性,避免买家与卖家财产遭受到损失。
系统容错性。在系统设计之初需要考虑到用户的不合法操作会引发的系统异常,并对这些异常进行处理后友好的呈现给用户。
2.2.3 系统可行性分析
社会因素分析。借助互联网来发展食品经济,具有这传统饮食习惯所不可比拟的优点。这些优点能够极大的方便买家卖家双方交易的进行,这也是传统文化与世界接轨的重要条件。同时该软件开发不会侵犯他人的合法权益。
技术可行性分析。本系统使用了前后端分离的设计思想,同时使用了目前软件开发较为流行的SpringBoot[5]技术进行后端代码的开发,并使用了MVC[7-9]模型分层设计,极大的节约开发软件的时间成本。前端代码则使用前端较受欢迎的Vue框架,结合组件分离的思想,每个组件都直接包含了组件的页面元素,对页面元素进行操作的函数,以及对页面的渲染的CSS样式,能够开发出后期维护以及代码检查较为方便前端页面。
经济可行性分析。整个系统使用的SpringBoot[6]技术目前较为流行,故使用人数非常多,遇到问题解决速度快,同时其为开发人员封装了更多传统开发技术需要自行开发的功能点,这为系统的快速迭代开发提供了非常有力的保障。同时整个系统的运行只需要使用一台centos7服务器进行部署,服务器安装jdk8,tomcat8,mysql等运行环境即可,只需要有人对服务器进行维护即可,经济投入较小。故此从经济方面进行考虑此系统完全能够运用到实际中并被人们接受。
2.3 系统用例图分析
2.3.1 买家端用例图
如图3.4所示,买家端包含了微信授权登录,商品浏览,商品详情查看,将商品加入购物车,清空购物车,下单,订单支付,订单取消,用户评论,历史评论查看,商家详情查看,历史订单查询等功能点。
图2.1 买家端用例图
2.3.1 卖家端用例图
如图3.5所示,卖家端包含了买家账号密码登录,所有用户订单查询,订单详情查看,订单完结,订单取消,商品列表查询,商品上下架,商品新增,商品目录增删,用户登出等。
图2.2 卖家端用例图
2.4 设计约束
系统设计基本规范:
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: