毕业论文-基于Web的线上外卖订餐系统的设计与实现.docx
本科生毕业论文(设计)题目:基于Web的线上外卖订餐系统的设计与实现姓名:学院:专业:Jfi级:学号:指导教师:耿称:2016年5月10日摘要1关键词1Abstract2Keywords21绪论错误!未定义书签。1.1 问题的提出31.2 国内外研究状况31.2.1 国外研究状况31.2.2 国内研究状况41.3 研究的目的和内容42开发平台及应用技术42. 1开发工具Eclipse43. 2开发语言简介54. 2.1JSP简介55. 2.2JaVaSCriPt和CSS简介66. 3MySQL数据库67. 4Tomcat月艮务器78. 5SpringMVC+Hibernate+Spring框架73系统分析88.1 系统可行性分析88.1.1 经济可行性88.1.2 技术可行性88.2 系统需求分析83. 2.1订餐用户需求分析83. 2.2商家用户需求分析99. 2.3管理员需求分析103.3系统架构分析124系统设计124.1 系统功能模块设计124.1.1 订餐用户浏览商家页面功能模块124.1.2 订餐用户个人中心功能模块134.1.3 商家用户商家中心功能模块144.1.4 管理员中心功能模块154.2 系统数据库设计164.2.1 数据库概要设计16422数据库详细设计215系统运行环境及功能实现245.1 系统运行环境245.2 主要功能的具体实现245.2.1数据库连接245.2.2用户下单功能的实现255.2.3用户评价订单功能的实现265.2.4 商家处理订单功能的实现265.2.5 商家管理销售食品功能的实现275.2.6管理员审核商家注册信息功能的实现285. 2.7管理员统计商家销售额功能的实现296系统测试296. 1系统测试的意义296.2 系统测试的方案306.3 系统测试的结果307总结与展望30致谢316.4 献32基于Web的线上外卖订餐系统的设计与实现摘要当代生活节奏不断加快,消费者对订餐效率越来越重视。针对传统电话订餐方式的商品信息展示不够直观、订单管理不便等缺陷,本文设计了一种稳定、高效且低成本的线上外卖订餐系统。本系统基于B/S架构,采用SPringMVC+Hibernaie+Spring作为开发框架,以MySQL为数据库,TOmCat为服务器,实现了订餐消费者、商家和管理员三类用户的各种功能。经测试,该系统不仅令消费者订餐更为便捷、选择更为丰富,而且扩展了商家的销售渠道,提高了订单管理的效率,基本满足了各类用户的不同需求,简化了消费者和商家的互动流程。关键词:线上订餐系统;订单管理;SPringMVC+Hibemate+Spring框架;MySQL数据库DesignandImplementationofOnlineTakeawayOrderingSystemBasedOnWebTechnologyAbstract:Withtheacceleratingpaceoflifeinmodernsociety,Consumerspaymoreattentiontotheefficiencyoforderingfood.Toovercomethedefectsoftraditionaltakeawayorderingmodesuchasinconvenienceofordermanagementandlackofdirectexhibition,thispaperdesignsanonlinetakeawayorderingsystemwhichisstable,efficientandlow-cost.ThissystemisbasedonB/SstructureanddevelopedbytheSpringMVC+Hibernate+Springframework.Furthermore,itchoosesMySQLasdatabasemanagementsystemandTomcataswebserver.Thesystemimplementsplentyoffunctionmodulesfbrconsumers,restaurantsandadministrator.Afterthetest,thissystemnotonlymakesfoodorderingmoreconvenientfbrconsumers,butalsoexpandsrestaurants1saleschannels.Insummary,itprovidesaplatformwhichbasicallymeetsthedifferentneedsofvarioususersandsimplifiestheprocedureoftheinteractivecommunicationbetweenconsumersandrestaurants.Keywords:Onlinefoodorderingsystem;Ordermanagement;SpringMVC+Hibemate+Springframework;MySQLdatabase1绪论.问题的提出现代社会的高速发展使得我们的生活节奏越来越快,忙碌的学习或是工作令我们不得不更加注重时间的节约。而今人们不仅对食物的种类及口味愈加挑剔,也对如何便捷快速的完成订餐提出了要求。外卖这一行业由此应运而生,旨在节约人们的用餐时间,提供高效率的服务。与此同时,众多传统行业搭上了这趟高速行驶的列车,以全新的面貌展示在世人面前,使得电子商务在近几年经历着突飞猛进的发展。传统的购物方式也在向着互联网方向发展,作为服务业支柱的餐饮业也不例外。互联网经济近几年来可谓是飞速发展,网络几乎遍布我们身边的每一寸角落。与此同时,不断加快节奏的生活与学习也令我们很难抽出时间下楼买饭,倘若采用传统的电话订餐,我们又无法直观了解到商家有哪些商品可供我们选择,而这些商品的具体信息也无法快速得知。另一方面,随着人民生活水平的不断提高,餐饮业随之蓬勃发展,但同时行业内的竞争也是愈加激烈。而规模较小的个体经营户很难投入大成本去宣传自己的产品,而网络这一平台的出现有效的解除了这一限制。与此同时,传统只以门面方式进行经营的店铺通常需要以人工方式进行信息的记录与管理,无论是顾客订餐的需要还是订单信息的管理亦或是销售额的统计都需要以纸质材料进行记录。这样既不利于保存,也提高了人力的成本。而一旦互联网与餐饮业走上了结合的道路,上述问题都将迎刃而解。1.2 国内外研究状况1.3 .1国外研究状况在全球经济发展较为领先的国家和区域,互联网技术应用于餐饮业己经相当成熟,而外卖对于当代人来说早己成为大家重度使用的一种日常服务。2012年,美国人访问餐厅的总次数高达600多亿,而此中有约250亿之多和外送服务息息相关:而美国人在外卖服务上的花销每年更是达到了140亿美元的规模,也就是说如果餐馆如果想增进营收提高效益,外卖这块市场乃是兵家必争之地。于是一些较有远见的服务商如Seamless.D.FoodToEat等公司早早盯上了这一市场,开发构建了自己的互联网平台,提高了用户订购外卖的效率,并给餐馆提供可靠的订单管理系统,使得全套业务操作流程信息化处理,如今这些网站都己颇具规模。著名的连锁快餐企业肯德基和麦当劳更是多年前就运营起了自己的网上订餐业务,在电视、网络等多种媒体上进行宣传。这些具有创新精神的企业意识到,在如今这个信息时代,线上和线下有机结合的运营模式,代表着未来商业发展的新方向,充满了无限的商机。122国内研究状况与此同时,中国020行业虽然后知后觉,但发展势头也非常迅猛。经统计,在2014年中国网络用户的数量就己高达5.6亿,稳居世界首位,这为020市场的发展前景奠定了坚实的用户基础。但另一方面,2014年020行业整体渗透率仅为4.5%,有成百上千的行业正等待着人们在互联网上开拓商机,市场空间无比辽阔。在己有的热门市场之中,餐饮行业的用户消费比重极高,市场规模接近千亿。另一方面,外卖020平台也受到了资本市场的广泛认可,相当数量的第三方020企业己经得到多轮融资。不到一年时间,各家外卖网站就已发展至不小的规模,当然他们彼此也进行着白热化的激烈竞争,从上班族白领到高校学生从写字楼里到校园宿舍,各大外卖平台不遗余力地抢占市场的每一个角落,通过不断吸引目光甚至亏本赚吆喝的优惠活动和铺天盖地、丰富多彩的广告宣传,奋力拓展用户渠道,最终“口碑外卖”、“美团外卖”等网络订餐平台依仗自身用户基础的优势或广告宣传的力度从这场战役中占得先机,站稳了脚跟。1.4 研究的目的和内容网络技术的不断发展给我们的生活带来越来越多的便利,同时人们对于生活质量也有着更高的追求,而更加快速便捷的订餐方式能够有效提高我们忙碌工作或学习中的效率。针对这一现状,本文对线上外卖订餐系统做出了设计与实现,主要意义是简化消费者的订餐流程,扩大外卖的选择范围;对商家而言能实现订单的数字化管理,拓展销售渠道,获得更高的经济效益;而管理员使用本网站对订餐用户和商家进行服务。2开发平台及应用技术在本系统中,主要采用JSP进行后台开发并应用了SPringMVC+Hibernate+Spring框架,前端网页的布局使用hlml+css进行设计,配合JaVaSCript、JQUery以及ajax实现页面的动态效果。为提高开发效率,选择使用EeliPSe作为开发工具,以开源的MySQL作为数据库,并搭配TOmCaI服务器来一起构成完整的开发环境,整个系统基于B/S架构进行开发。2.1开发工具EclipseECIiPSe是一个开源的、适应性强、扩展性高的集成开发平台,它是由IBM公司向开源社区捐赠的JaVa语言开发框架。它是一个成熟的可扩展的体系结构,支持HTML、JSP、CSS、JaVaSCriPt等各种脚本语言,它授权给开发人员构造和开发环境或别的开发工具良好兼容的工具,而各种功能的工具的具体实现是通过在ECliPSe中集成插件,凭借不断扩展和集成各式各样的插件,ECIiPSe也在不断拓展着功能,以满足多样化的开发需求,甚至也可以作为其他语言的开发平台。2.2开发语言简介2.2.1JSP简介JSP并非是一种全新的语言,而是以JaVa语言为脚本来响应客户端发起的请求,动态形成HTML.XML或其他格式的Web页面的技术标准。JSP全称为JaVaSerVerPageS,它利用规定的标签在HTML页面中镶嵌JaVa语言代码,JSP标签大多以%开始,用结束。JSP可以通过网页上的表单来获取用户输入数据、操作数据库等来动态生成网页。和其他开发技术相比较而言,JSP有着显而易见的优点。它可以直接在HTML页面中动态插入元素,易与服务器交互从而进行访问数据库或处理图像等操作,可以很方便的编写或修改而不必面对大量Printin语句,除此之外,JSP还拥有很好的跨平台兼容性,在各类主流操作系统上均能高效运行。Web服务器通过JSP来生成网页的具体流程如下:浏览器作为客户端提交一个HTTP请求给后台服务器;Web服务器一旦成功识别这是一个对JSP网页的请求,就通过Url或.jsp文件将该请求传达给JSP引擎;然后JSP引擎读取JSP文件并将他们转换为SerVlet文件;JSP引擎再将servlet文件编译成为可执行类,并将原始请求发给servlet引擎;服务器中的相应组件将调用servlet引擎,执行servlet类,此过程中产生HTML格式的输出并将其内嵌于HTTPresponse中传递给服务器:服务器以静态HTML页面的形式将HTTPreSPonSe返回到客户端浏览器中;最后,由Web浏览器处理HTTPreSPOnSe中动态产生的HTML网页,将前端界面展示给用户问。JSP的运行机制如图2-1所示:JSP容器图21 JSP文件的执行过程2.2.2JavaScript和CSS简介JaVaSCriPt是互联网上最为流行的轻量级的脚本语言,可应用于HTML和Web,更可广泛应用于各式终端之上。JaVaSCriPt用于开发可交互式的动态Web页面,有着自身独特的特点。JaVaSCriPt通常以小程序段的方式来实现编程,一般与HTML语言相结合,一起在浏览器中被解释执行。JaVaSCriPt虽然形式简单,但功能全面,应用十分广泛,可以完成制作网页特效、提供表单客户端验证、实现窗口的动态操作、实现动态响应事件等各种功能,让网页的功能更加强大,视觉效果更加丰富。CSS的全称为层叠样式表(CaSCadingStyleSheets),是一种不需要编译的标记语言,属于浏览器解释型语言。CSS一般用作一组规则来设置相关格式,从而规定Web页面的视图外观。通过使用CSS来设置页面固定的格式,能够让代码中页面的内容和格式设置部分相互分离,提高效率。2.3MySQL数据库MySQL是一个知名的小型关系型数据库管理系统,而关系数据库系统是指支持关系模型的数据库系统。关系数据库将数据保存于不同的数据表中,而非将全部信息存在一处,这样大大提高了数据的读写速度和操作的灵活性。MySQL中相应操作采用的是SQL语言,即“结构化查询语言”,它是我们访问并管理数据库内容时使用最为频繁的标准化语言。凭借MySQL体积小量级轻、查询效率高、后期维护运行成本低的优势,更因其开源且适应性广的特点,很多网站为了保证服务质量的同时降低成本,就使用MySQL作为网站后台的数据库。2. 4Tomcat服务器Tomcat是Apache软件基金会的一个关键项目,因为有着java开发公司Sun的介入与支持,它都能适应最新的JSP规范。TOmCat拥有着技术规范先进、性能稳定、适应性广的优点,且免费开源,是目前相当主流的轻量级Web应用服务器。此外,TomCat运行时占用较少的系统资源,拓展性也相当优秀,能满足Web开发的绝大部分常用功能,且时常进行更新与完善。3. 5SpringMVC+Hibernate+Spring框架SPring框架是目前应用十分广泛的轻量级一站式企业应用程序解决方案,它为应用程序开发提供了业务处理、远程调用、信息处理等众多基础结构,使开发人员能够专心致力于实现程序的业务逻辑,而MVC模式是最近使用极为普遍的应用程序架构,它将整个系统分为模型(MOdeI).视图(VieW)和控制器(ContrOlIer)3大部分网。这3部分中,模型用于保存系统中的数据,视图承担呈现用户使用界面的职责,控制器则负责对于模型和视图的控制。采用MVC模式能显著提高程序结构的可读性和清晰度,有效地降低了系统的耦合,更利于后期系统的维护和修改。当下已有众多发展成熟的MVC框架,如Struts>ZendFrarneWorkS.NETMVC等。Spring框架也发展出了一个MVC框架,它与SPring的结合使用能发挥出更大的作用。SPringMVC体现了MVC模式的关键理念,它为COntrOHer以及处理业务的程序提供了大量相关的功能。它具备高度的灵活性,仅通过简易的配置更改就可以实现动态更改组件。SpringMVC在接受一个请求时的具体处理流程,如图2-2所示。浏览器图2-2 Spr i ng MVC请求处理流程Hibernale是一个对象关系映射持久层框架,它对JDBC(java数据库连接)进行了十分轻量级的对象封装,使用ORM(对象关系映射)机制实现数据的持久化,可以看作在JaVa应用和相应关系数据库之间架起了一座桥梁,这使得它可以被应用在几乎所有需要利用JDBC功能的场合,如JaVa桌面级客户端程序和SerVIet/JSP的Web应用中,体现了其广泛的通用性。更主要的是,它能够透明简单的完成数据库的操作,作为开发者,你不必了解它的具体实现细节,只要访问其提供的相关接口,就可以对象化的思维来操作数据库,这将对关系型数据库的增删查改操作变得轻松容易U%数据持久化这一概念,狭义来说仅是指把域对象储存到数据库中,但一般我们也可以将其理解为与数据库相关的各类操作。总的来说,Hibemate是通过数据库和配置信息来为系统提供持久化服务的,其基本工作流程是通过相应的配置文件和映射文件把项目中的model对象或持久化对象映射到详细的数据表中,接着通过操作持久化对象,对表中的相关数据进行各类操作,这样极大的简化了数据库的相关操作。3系统分析3.1 系统可行性分析3.1.1 经济可行性无论是本系统开发所需要的软硬件资源还是后期维护运行所需的经费,都无需投入多少成本。开发本系统只需要一台计算机作为开发环境,而服务器和数据库也在本机配置运行,所需要的软件都是免费开源的,技术的学习也可以通过网络资源获得,因此本系统的开发与设计具有相当高的经济可行性。3.1.2 技术可行性在开发技术上,实现本系统运用的技术主要是J2EE、HTML、JaVaSCriPI等,经过多年的考研,这些技术目前己经处于非常成熟的状态,许多知名网站都是通过这些技术来实现。而因为其广泛使用的普及性,无论是书籍资料还是网络上的资源,都有众多的开发教程可以学习,因此使用这些技术来实现本系统的开发是具备高度可行性的。3. 2系统需求分析在线订餐系统需要为订餐用户以及商家用户分别提供相应的服务,需做到既让顾客进行便捷快速点菜,同时也能让商家对每一个顾客的订单信息完成保存并及时处理。本系统旨在提高订餐者以及商家双方的效率,根据不同用户的功能需求,将系统分为订餐用户、商家用户和管理员三大模块。4. 2.1订餐用户需求分析订餐用户的功能需求包括:(1)用户在注册后可以登录订餐系统,能在用户中心修改个人基本资料,管理收货地址以方便在不同地点进行订餐。(2)在首页浏览所有商家列表,可以通过检索来缩小选择范围,也可以对商家的送货速度与评分进行排序来挑选心仪商家;(3)进入某一商家的信息展示页面后,可以浏览商家地址在地图上的具体位置、营业时间等基本信息,可以收藏喜欢的商家,查看以往用户对于商家的评价和打分,最重要的是可以将商家展示的菜肴加入页面上的临时购物车,挑选完毕后确认下单,选择送货地址进行支付来完成下单;(4)进入用户中心后查看订单状态的更新以及以往订单,能即时对商家催单,对完成的订单可以进行评价,评价包括文字内容以及打分,如果对该订单有所不满,也可以对完成的订单向系统管理员发送投诉信息,等待管理员收到并通知商家整改之后的反馈。订餐用户的用例图如下所示:3.2.2商家用户需求分析商家用户的功能需求包括:(1)与订餐用户不同,商家用户在注册时需要提供业主姓名、身份证号、营业执照扫描照片等具体信息,在管理员通过审核后才能登陆订餐系统。登录系统后进入商家中心后可以管理基本信息如营业时间、具体地址等,能修改在自己店铺页面出示的公告,也能收到管理员对于用户投诉的警告做出整改;(2)订单处理:商家需要即时收到用户下单的信息来做出处理,做出接受订单或拒绝订单的选择,完成订单后在系统中确认,也能即时接收到订餐用户的催单提醒;(3)菜单管理:对出售菜肴进行信息管理,实现对食物的增删改操作:(4)销量统计:商家可以对自己出售的菜肴进行销量的具体统计。商家用户的用例图如图3-2所示:订餐系统图3-2商家用户用例图3.2.3管理员需求分析管理员的功能需求包括:(1)登录系统以及密码修改;(2)审核商家注册:在确认商家具备资质后可以通过其申请请求;(3)用户信息管理:查看并修改两类系统用户的信息,对相应用户发送站内信来处理投诉;(4)查询订单号获得订单具体信息,查看店铺销售额统计,从而做出市场分析。管理员的用例图如卜所示:订餐系统通知商家查看订餐用户投诉通知投诉用户销售额统计删除俏息皆询订单范本信息用户基本管理审核商家注册信息图3-3管理员用例图下图展示了本线上外卖订餐系,所需求的总体功能凹系结构:在线外卖订餐系统I商家用户模块i餐用户模块管理员模块筛选商家个人值息管理浏览菜辰及评价收嗫两家收货地址管理购物车修改及F单向管理员投诉商家销售额统计-看投诉并通知商看修改用户信息密码修改图3-4系统功能体系结构图3. 3系统架构分析B/S(浏览器/服务器)架构是新兴的一种网络结构模式也可以说是一种基于Web技术的从浏览器端通过网络请求服务器处理业务并返回响应结果的一种通讯模式。在这种结构中,作为前端的用户界面主要由浏览器的和相应的Web页面来实现,大部分情况下前端只处理一小部分的业务逻辑,而大量关键的业务逻辑处理均在服务器端进行,形成了一个有着三层结构的客户/服务器体系。第一层客户端是用户与系统进行交互的接口;第二层Web服务器将启动相应的服务来响应用户请求:第三层数据库服务器负责调和不同的服务器提交的差异请求,对数据库进行管理皿)。在用户的终端上工作的时候,大大降低了系统应用对的硬件配置的要求,同时有效降低了系统的运行维护难度以及升级系统时需要的工作量,开发系统所需要的总体成本随之得到大大降低。本系统使用B/S架构的优势在于,只要用户的任意终端能访问Web页面,就能够使用本订餐系统,无需安装另外的客户端程序。如此能使本系统应用更加灵活,同时也降低了后期维护和运营的成本与难度。4系统设计4.1系统功能模块设计4. 1.1订餐用户浏览商家页面功能模块用户想要订餐时,首先需要登录己注册过的账号,在首页浏览检索商家列表,可以通过条件及店铺名检索店铺,可以按照平均评分以及平均送达时间对商家来进行排序,挑选到心仪的商家后进入商家页面以后能够浏览商家菜单的基本营业信息包括在地图上的实际位置等,可以查看其他用户对商家的评价做出自己的选择,也能将该商家添加到自己的收藏当中,商家展示的商品可以按评价或是月销量进行排序,选择完商品后进行确认下单。具体功能模块流程如图4-1所示:用户注册浏览菜单及评价浏览基本信息收藏店铺下单图4订餐用户浏览商家页面功能模块流程图4. 1.2订餐用户个人中心功能模块订餐用户想要查看并修改自己的相关信息时,首先仍需作为注册用户登录,进入自己的个人中心,首先可以查看自己的订单历史,对过去的订单进行评价或是投诉。用户也可以在个人中心修改自己的密码、头像等相关信息。为了考虑到用户可能在多个地点进行订餐,提供了地址管理服务,用户可以在下单时选择自己当前想要配送到的地址。用户也可以从自己的收藏夹里快速进入过去曾收藏的店铺,提高点单效率。订餐消费者用户中心的功能模块流程如下图所示:用户注册;进入用户中心、 杳看投诉反馈 管理收藏夹 一评价或投诉订单 T 收货地址管理 ,个人信息管理 查看订单(结束)图4-2订餐用户个人中心功能模块流程图4. 1.3商家用户商家中心功能模块商家在注册经过管理员审核通过后,登录进入商家中心。对于用户刚提交的订单,商家可以选择接受或是拒绝接受订单后当送达订餐用户手中以后商家可以将订单状态改为己完成与订餐用户类似,商家也可以修改自己的基础信息,除此之外,可以对店铺内出售的食物商品信息进行新增、修改和删除的管理操作,管理的信息包括食物的价格、图片、名称以及具体描述简介。另外,商家还可以直观看到选定时间段内商品销量的统计表,从而调整销售策略,更加迎合消费者的需求。商家中心的功能模块流程如图43所示:I结束)图4-3商家中心功能模块流程图4.1.4管理员中心功能模块管理员账户登录后跳转至管理员中心页面,能修改自己的密码,也可以通过商家或订餐用户的id检索来查询他们的基本信息并进行管理。管理员的一大重要功能就是审核商家的注册信息如营业执照、业主身份证号等,从而保证商家具备相应的营业资质,提高食品的安全保障。管理员还需要查看用户对商家的投诉,通过用户反映的订单号查询到订单的详细信息,通知商家进行整改并将结果反馈给投诉用户。除此之外,管理员也能查看一段时间内不同种类的店家例如销售冒菜或是销售烧烤的店铺的销售总额,以便有需要的时候做出市场分析。管理员功能的模块流程图如下所示:开始图4-4管理员中心功能模块流程图4.2系统数据库设计4.2.1数据库概要设计-个高效稳定的信息管理系统需要设计合理的数据库作为支持,通过对本系统进行需求分析,可以抽象出本系统数据库所包含的各类信息实体和它们之间的关系。一般通过E-R图来表现实体的属性和不同实体之间的具体关系。E-R方法指的是实体-联系方法,是一种用来解释真实世界实体结构模型的表示方法。这种方法中实体以矩形表示,实体名在矩形框内标注;实体具有的属性以椭圆形来表现,并以无向边连接与其对应的实体;实体之间的联系用菱形表示,在菱形框内标注联系名,以无向边连接与其相关的信息实体,并在无向边旁标写清联系的类型(1:1,1:m或m:n)心】。本系统的总E-R图如下:图4-5系统总E-R图(I)订餐用户账号信息实体订餐用户账号信息实体包含着订餐用户的所有基本账号信息,其属性包括用户名、密码、联系方式、(2)订餐用户地址信息实体订餐用户地址信息实体使得用户可以在多个配送地址之间灵活选择,其中包括收货人姓名、详细地址、联系方式等属性,订餐用户地址信息实体属性图如下所示:地址id用户id图4-7订餐用户地址信息实体属性图(3)订餐用户收藏信息实体订餐消费者收藏信息实体用来存放用户id以及该用户收藏的商家id,订餐用户的收藏信息实体的实体属性图如下所示:图4-8订餐用户收藏信息实体属性图(4)订单信息实体订单信息实体包括:商家id、用户id、订单id、下单时间、食物清单、地址id、订单总额,存放着用户下单的具体内容和订单的状态以及时间信息,实体属性图如下所示:图4-9订单信息实体属性图(5)订餐用户评价信息实体订餐用户评价的信息实体的属性包括:用户id、订单id、评商家id、文字描述、分数、价时间,其实体属性图如图4-10:图4-10订餐用户评价信息实体属性图(6)商家用户账户信息实体商家账户信息实体的属性有:餐馆名称、商家id、商家公告信息、账户密码、餐厅详细地址、业主身份证号、业主真实姓名、营业执照照片、商家联系方式、商家类别、平均送达速度、派送区域、平均评分。商家用户账户信息的实体属性图如下所示:(7)商家食物信息实体店内食物的信息实体的属性包括:食物名称、食物id、商家id、食物图片、食物价格、文字简介,食物信息实体属性图如下所示:图4-12食物商品信息实体属性图(8)订单中食物清单信息实体为了储存每一订单所包含的食物信息,该实体内容包括清单项id、订单id、食物id和食物数目,其实体属性图如下:(9)管理员账户信息实体管理员账户信息实体的内容包括管理员用户名和管理员密码,管理员账户信息实体属性图如下所示:(IO)投诉信息实体投诉信息实体的内容包含投诉的id、用户id、商家id、投诉时间和投诉内容,投诉信息实体属性图如图4T5:图4-15投诉信息实体属性图(11)管理员站内信信息实体管理员收到用户投诉之后需通知商家进行整改,并将信息反馈给用户,需要通过站内信来联系他们,站内信实体内容包括:消息id、消息发送时间、文字内容、消息状态、发送对象。这一功能需要的站内信实体属性图如下:图4/6管理员站内信信息实体属性图4. 2.2数据库详细设计本系统根据功能需求分别建立了订餐用户信息表COnSUmer.商家用户信息表shop、订餐用户收臧信息表favor.订餐用户地址信息表address.用户评价信息表comments.用户投诉信息表advice、商家食物信息表food、订单信息表Order.订单内食物清单表foodlist、管理员账户信息表admin以及管理员站内信表email<,以下为本系统所创建的数据库表详细设计内容。ConSllmer表存储了订餐用户的账户基本信息,详细设计如下表所示:表4-1consumer表字段名数据类型能否为空备注consumer!dIK(5)否订餐用户id(主键)consumernameVKCHAR(15)否订餐用户账号名passwordVARCHAR(20)否订餐用户密码phoneVAKCHAR(15)是订餐用户联系方式areaVAKCHAR(30)是订餐常住区域pictureVARCHAR(20)是订餐用户头像图片mai1VAKCHAR(30)是用户电子邮箱address表用来存储订餐用户收货地址的具体信息,详细设计如下表:表4-2address表字段名数据类型能否为空备注addressidINT否地址id(主键)ConsumerridINT(IO)否地址所属订餐用户id(外键)addressVARIAR(50)否收货详细地址mineVARaiAR(IO)否收货人姓名phoneVARCHAR(否收货人联系电话favor表用来存储用户收藏的商家id信息,作为订餐用户实体和商家实体多对多关系的中间表,详细设计如下:表4-3favor表字段名数据类型能否为空备注ConsumeridINT(IO)否用户id(外键)shoplistVARQIAR(50)否收藏的店铺id(外犍)IavoridINT(IO)否收藏项id(主键)ShoP表用来存储商家账户的基本信息,设计如下:表4-4shop表字段名数据类型能否为空务注shopidIMr否商家用户ID(主键)shopnameVARCHAR(20)否店铺名称passwordVARCHAR(20)否登录密码phoneVARCHAR(15)否商家联系方式areaVARCHAR(30)否商家配送区域pictureVARCHAR(20)是商家图片speedIMr是平均送达时间starIW(2)是用户平均打分addressVARCHAR(50)否商家详细地址opentimeVARCHAR(20)否商家营业时间truenameVARCHAR(20)否业主真实姓名idcardnumVARCHAR(30)否业主身份证IicensepicVARCHAR(30)否商家营业执照照片statusI NT (2)VRGIR(200)审核状态标记商家店铺公告Order表用来存储用户订单的详细信息,如订购了哪些食物、食物的具体数量、下单时间、完成订单时间、订单状态等具体信息,它的设计如下所示:表4-5order表字段名数据类型能否为空备注orderidIff(l5)否订单id(主键)shopidICT(IO)否订单对应的店铺id(外链)consumer!dIMT(IO)否下单用户id(外锻)timeVARCHAR(20)否下单时间totalEEAT(8)否订单总额addressid<5)否用户选择的地址id(外链)now1CT(2)否订单状态标记值submitVARCHAR(20)否下单时间acceptVAKCHAR(20)是商家接单时间completeVARCHAR(20)是确认订单完成时间food表用来储存商家所出售食物的详细信息,具体设计如下表所示:表4-6food表字段名数据类型能否为空备注foodidINT(IO)否食物id住犍)shopidINT(IO)否食物所属商家id(外键)naneVARCHAR(20)否商品具体名称priceDECIMAL(5)否食物具体价格pictureVARCHAR(20)是食物展示图片descriptVARC1IAR(50)是食物简介foodlist表存储了订单内包含的食物的id,作为多对多关系的中间表具体设计如下表所示表4-7foodIist表字段名数据类型能否为空备注fOodlistidINT(IO)否食物内容项id(主键)orderidINra5)否订单id(外键)foodid(io)否食物id(外键)count1NT否食物数目COmmemS表存储了订餐用户对于订单评价的详细信息,详细设计见下表:表4-8comments表字段名数据类型能否为空备注idIWT(IO)否评论id(主键)IneSgVarchar(100)是评论详细内容shopidINT(IO)否评论针对的店铺id(外键)timeVARCHAR(15)否点评发起时间starINT(2)否评价所打的分orderidVARCHAR(20)否评论所属订单id(外键)advice表用来存储订餐用户对于商家的投诉信息,具体设计如下:表4-9advice表字段名数据类型能否为空备注idINT(IO)否投诉id(主键)contextVRR(l)否投诉详细内容ConsumeridINT(IO)否投诉用户id(外键)tineVARGIAR(15)否投诉时间targetVARCW(30)否投诉针对的商家及订单idadmin表用来存储管理员的账户信息,具体设计如下:表4-10admin表字段名数据类型能否为空备注naneVARGIAR(20)否管理员账户名(主键)passwordVARCHAR(20)否管理员密码email表用来存储管理员向订餐用户或是商家发送的站内信信息,详细设计如下:表411email表字段名数据类型能否为空备注idINT(IO)否投诉id(主键)contextVARCHAR(Kx)否站内信详细内容targetVARGIAR(20)否消息发送H标idtimeVARGIAR(15)否消息发送时间statusINT否消息状态5系统运行环境及功能实现4.1 系统运行环