欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于Android的网上订餐与配送系统的设计与实现.docx

    • 资源ID:96763941       资源大小:1.46MB        全文页数:48页
    • 资源格式: DOCX        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于Android的网上订餐与配送系统的设计与实现.docx

    摘 要当今社会,随着人们生活节奏的提高,太多顾客由于工作繁忙不能抽出时间去享受美食,网上订餐已成为一种必不可少的饮食方式,随着网络技术的迅速发展,传统的人工点餐已经不能满足人们的需求,急需一种快捷的在线订餐方式,因此,基于Android的网上订餐与配送系统应运而生。基于Android的网上订餐与配送系统的后台部分是采用SSH框架来开发的,然后配合Ajax,JSP等开发技术来进行前端页面的开发,该系统有移动端的订餐系统和管理员后台系统。移动端订餐系统有用户的注册与登录功能、定位功能、配送路线计算功能、商家菜品展示功能、餐品配送时间预约、在线支付、添加菜品进购物车功能、浏览菜品详细信息功能。管理员后台管理系统主要有用户、餐厅信息、菜品、订单、买家留言等管理功能模块。基于Android的网上订餐与配送系统是一个操作便捷、运行高效的在线订餐平台,它可以提高菜馆的的工作效率,还为用户提供了更加便捷的订餐服务,用户可以脱离空间时间的限制,随时随地享用美食。关键词:订餐 安卓 SSH JSPAbstractIn today's society, with the improvement of people's living rhythm, too many customers can't find time to enjoy food due to their busy work, so online ordering has become an essential way of eating. With the rapid development of network technology, traditional manual ordering can't meet people's needs, so a fast online ordering method is urgently needed. Therefore, the online ordering and distribution based on Android The system came into being.The background part of the online ordering and distribution system based on Android is developed by SSH framework, and then the front page is developed with Ajax, JSP and other development technologies. The system has the reservation system and administrator background system on mobile.Mobile client reservation system has the functions of user registration and login, positioning,positioning function, distribution route calculation function, merchant's dish display function, meal distribution time appointment, online payment, adding dish into shopping cart function, browsing dish details function.The administrator background management system mainly includes user, restaurant information, dishes, orders, buyer messages and other management function modules.The online ordering and distribution system based on Android is a convenient and efficient online ordering platform. It has increased the efficiency of the restaurant,and also provides users with more convenient ordering service,Users can out of the space time constraints, anytime, anywhere.Keywords: Ordering meals Android SSH JSP目 录第一章 绪论11.1 课题的背景及意义11.2 研究动机11.3 论文的主要目的2第二章 技术性研究与开发工具32.1 Android系统简介32.2 SSH框架介绍42.3 JSP技术介绍52.4 MySQL数据库62.5开发环境62.6 Tomcat62.7 地图定位技术7第三章 需求分析83.1 可行性分析83.1.1 技术可行性分析83.1.2 经济可行性分析83.1.3 操作可行性分析83.2 功能需求分析93.3 功能需求用例11第四章 系统设计124.1 基于Android的网上订餐与配送系统结构124.2 API网关的设计134.3 数据库设计144.3.1系统的概念数据模型144.3.2数据库关系E-R图164.3.3系统的物理数据模型17第五章 系统实现195.1 开发与实现195.1.1前端设计与实现195.1.2 后台管理的设计与实现305.2 本章小结38第六章 软件测试396.1 功能测试396.2 兼容性测试406.3 本章小结41第七章 总结与展望42参考文献43致 谢44广东东软学院本科生毕业设计(论文)第一章 绪论1.1 课题的背景及意义现代社会人们的生活变得愈发急促,个人的空闲时间被挤压的严重,休息和放假时间都想多休息一会,很多人因此就不想自己做饭,也不想出去吃饭,因为还需要在饭馆等待上菜,这里里外外怎么也需要1个小时,但是预约订餐的话就可以避免了在外等待时间,还可以在家忙点自己喜欢的事情,让人们在紧凑的生活中多出自己的一份空闲时间。所以说传统的去饭店吃饭已经不能适应市场的高速发展1。总的来看,主要原因有如下两个方面:1)人们平时工作压力大,导致身心很疲惫,在这个基础上谁也不愿意为了吃饭再去等待很长时间,从而浪费更多的学习和工作时间;2)外卖订餐相对来说价格便宜,下单方便,商品信息一目了然,免去了很多在订餐中因个人表达从而造成的误会,更适合现代青年。快捷订餐应运而生,构成了基于Android的网上订餐与配送系统的需求,利用现在发达的互联网环境和遍地开花的餐馆来一次融合,将网络和订餐相结合,就形成了基于Android的网上订餐与配送系统,为用户提供对线下商店的菜品进行在线的订餐服务23。但是目前很多的订餐平台存在价格定制不合理,菜品种类混乱的问题,本文将针对这些问题进行改进,让用户得到菜系明确、价格清晰的优质体验4。1.2 研究动机21世纪互联网技术高速发展,网上订餐也乘着这股浪潮走进了人们的生活中,它让人们的饮食生活有了更加便捷多样的选择,减少了人们去店铺消费所损耗的时间,提高生活效率的同时还能第一时间品尝到美味的饭菜。但是目前外卖平台五花八门,商户间的各种价格战让商户利益无法得到保障的同时,用户也看得眼花缭乱,影响用户体验,菜品口味也不够清晰5,导致用户不能高效地挑选自己心仪的菜品,所以我们需要有一个能让用户根据自己喜爱的菜系分类更高效地挑选菜品,根据其他用户对商品的评价进行参考,拥有透明的菜品价格的订餐平台,让不同的订餐群可以自由的选择不同菜系,都能第一时间能享用自己订购的美食6。1.3 论文的主要目的本文的主要目的,主要是针对当前网上订餐平台存在的问题进行比较深入的讨论,提出了自己的网上订餐与配送系统,方便用户第一时间尝到可口的饭菜。本系统研发基于Android的网上订餐平台系统的主要目的是,为一些订餐企业们扩展销售业绩,使得客户最大化而简单有效的来挣钱,从此不受地域地界限制,并且紧跟时代的潮流,提高销售效率。本系统还将实现将商品的图片与对应的文字描述进行相互关联,并将建立分类模块,实现功能,便于用户在网上订餐时能避免烦琐的选择过程,让顾客选择菜品的过程变得省时、高效的快节奏生活。不仅可以节约用户在订餐上花费的时间和精力,还简化的商品的销售模式,让商品的额外成本能够大幅降低,便于人们的日常消费,商户也可以依靠数据库,累计大量的商品数据,通过分析数据得出结论来作为餐厅经营的参考和借鉴。第二章 技术性研究与开发工具2.1 Android系统简介Android是一个以Linux内核为基础的开放源码移动操作平台,Google成功迈出了移动互联网时代的第一步依托的就是Android的发展,同时还在移动互联网行业激起了新一轮浪潮。它还是一个开源的系统,谷歌公司把Android放在ASL许可证之下,开发人员在编写代码时没有特殊限制,这样Android就得到了很多公司的青睐,他们还利用自己特有的技术在平台上研究和开发,用来给用户提供更多与更好的服务,给用户更好的使用体验。下面详细介绍Android的优点:1)开放性Android应用商店能够规模不断扩大的主要原因就是Android的开发性2。在这个基础上,这种开发性降低了很多开发人员的开发难度,还为他们提供了不同的开发模式,节省了开发成本,这样商业公司和开发人员就拥有了更多的操作空间去开发应用。2)平等性Android系统自己附带的程序可以被开发人员开发新的程序给替代,让开发人员的不同需求可以得到满足。3)无界限应用程序在Android上是不存在界限,Android平台上的开发人员可以个性化的把自己的应用程序与其他相关程序进行替换或者结合扩展。比如说开发人员可以把系统附带的多媒体播放功能加入到自己的应用中或者把网络和GPS功能进行交互扩展,甚至连拨号程序和主屏幕这种核心组件也是可以个性化扩展的。4)便利性Android平台带有许多便利的库和工具,还集成了强大的Voice和Google Maps之类的功能,开发应用程序的时候开发人员可以调用相关代码将相对应的功能加入到自己的application中,这样就不需要开发人员自己手动编写每一个功能就可完成自己的application中。2.2 SSH框架介绍SSH框架是由Spring、Struts和Hibernate这三个框架集合成的一种web应用程序开源框架,主要用来提升系统开发效率和系统的扩展性及相关特性。它还有许种不一样的应用模型与设计理念,例如,工厂模式以及单例模式。Struts7是为开发MVC提供了重要的技术支持的MVC框架; Hibernate910是一个对象关系映射系统,是对象持久化的解决办法,需要了解对象持久化的基本原理;Spring8是有许多应用程序,为封装关系型数据库的应用程序框架,也是我们这是系统实现的主要组成部分。Struts2的基本构成如图2-1所示。图2-1 Struts框架工作流程Spring框架结构图如图2-2所示。图2-2 Spring框架结构图图2-3为Hibernate框架结构图图2-3 Hibernate框架结构图2.3 JSP技术介绍JSP是当前很受开发人员青睐的服务器页面,使用JSP页面时,需要先使用JSP接口。开发人员可以让网页插入到想要放置的位置。然后利用标记技术和编程语言对动态网页和逻辑处理包进行编程。JSP技术可以为应用提供强大的助力组件来处理服务端的任务。JSP(JavaServer Pages)起始之处由美国Sun Microsystems公司提出整个构建框架,这样吸引了很多的运营商加入它们,从而就成为了现在的这种动态网页技术标准。同时提供很多开源标准类库供大家使用,导致了多样性。2.4 MySQL数据库MySQL数据库是数据和数据库对象的集合,它的实质是一种很好掌握的非结构化语言,结构简单,可以存储大量信息,可以满足不同用户的需求。时至今日,市面上存在有多种多样的数据库,但最受开发商喜爱的数据库是MySQL。它能够直接查询大量的数据,相应记录所对应的集合是它的操作对象,是数据的坚实保障。该数据库不同于市面上的其他种类的数据库之处是,它的代码比较简练,使用少量的代码就可以完成其他数据库所实现的同等功能。它可以通过连接其他的数据库,对相应的数据库接口进行连接。使用该数据库来开发DTS结构工具,可以提高数据库管理人员操作灵活性,它还便利了开发人员和数据库管理人员的使用操作;而用户也可以通过数据库里的简洁明了的报表进行更好更方便地分析和管理数据,也便于用户对数据进行深度的挖掘和利用。2.5开发环境u 操作系统:Windows10u 数据库:MySQLu 开发工具包:JDK 1.8u JSP服务器:Tomcat 8.5u 浏览器:IE5.0,推荐使用IE6.02.6 TomcatTomcat是由Sun公司推出的一种Servlet容器,是以JavaServer Web DevelopmentKit基础上建立以及java来实现的,功能主要是做插件,Tomcat和Servlet都是在服务器端运行的;Java语言是Servlet服务器的依托;Servlet服务器服务于客户机,还要为服务器提供代码;并且不依赖于浏览器,任何情景下都访问Servlet,与语言没有任何关系,Servlet容器的基本功能如图2-4所示。图2-4 Servlet容器基本功能图2.7 地图定位技术地图定位技术是订餐系统功能中重要的一步,主要实现移动端的定位,我们在移动端使用了百度地图提供的API实现该功能,通过内置的GPS定位功能,获取终端所在位置的具体地理位置,将信息上传到百度地图的服务器进行精确定位的。移动端定位是使用百度地图的定位技术来定位读取用户位置信息的技术。目前主要有下述几种移动端的定位技术:1)GPS定位。这是我们日常生活中经常听到和使用的一直定位技术,它主要是借助卫星来精确地定位到用户位置。定位精准是GPS定位技术的优点,但是也存在有一定的局限性,移动设备必须具有GPS模块,而且在使用定位功能时,GPS的感应器不能收到高大障碍物的阻扰,但是现在很多都市都是高楼林立,GPS感应器的信号很容易受到影响,导致GPS定位有时候没有办法准确进行定位。2)Wi-Fi三角测量定位。这个定位技术在一定程度上弥补了GPS定位技术的不足,因为现在各大都市都是人手一台手机,定位供应商可以根据人们手机上的Wi-Fi热点信息得出相对位置和距离,建立一个资料库用来进行用户的定位。但是他也有自己的缺点,就是需要不断更新资料库来确保定位信息的准确性。3)基地台三角测量定位。这是一种借助手机信号来进行的定位技术,通过测试信号与多个基地台的信号传输时间来计算出相对位置来确定用户的具体位置。这三种技术相辅相成,具体定位效果也是视周围环境而定,总的来说是GPS定位准确度最高,Wi-Fi三角测量定位次之,基地台三角测量定位最差但都是便于我们定位的好技术。第三章 需求分析第二章对开发系统所需的工具和技术进行了说明,下面将对系统需求来对可行性和功能需求这两个方面进行分析以及具体系统用例图的描绘。3.1 可行性分析3.1.1 技术可行性分析技术可行性分析是需要对开发人员的编程能力和现有的硬件条件来进行判断的,能否利用现存的开发框架以及算法技术和开发模式,能实现系统的功能。标准为以下三点:建站目标:实现功能与需求一致,所选技术能完成系统的实现。可用性分析:系统交互友好、无原则性错误,界面整洁清楚。安全性分析:用户进行订单支付时,要对支付环境的安全进行保证。由以上的技术可行性分析可得出的相关结论:基于Android的网上订餐与配送系统依托于流行的技术可以完成实现目标。该系统不仅可以满足用户浏览商品和订餐服务,而且还可以实时追踪订单状态,确保用户订餐需求顺利完成,并且界面简洁精美,操作简便,交互友好。所以该系统具备有技术可行性。3.1.2 经济可行性分析通过贴吧、论坛上的问卷调查结果显示,有超过97%的用户都有过在网上订餐的经历,用户选择网上订餐的原因:一是现在生活节奏快,大家工作和生活时间过于紧张,缺少多余的时间到餐馆进行排队用餐,二是网上商品的种类多,传统菜系以及新型快餐等菜品一应俱全,用户可以脱离一定的地域局限性进行挑选;三是价格透明公开,用户可以根据自己的经济能力来购买自己想要的餐品,而且价格比饭店里的便宜,更没有服务费等额外费用;四是用户可以自由挑选外卖送达时间,送餐模式比较灵活,可以让用户在第一时间食用自己的餐品,提高用户体验。所以该系统具备有经济可行性。3.1.3 操作可行性分析基于Android的网上订餐与配送系统客户操作便捷易于使用,设计大气,产品定位实在,评价真实靠谱,各种菜系应有尽有可以满足上班族的生活所需。同时可以给卖家备注留言自己口味需求让商家进行调整,此外还有刷新订单的功能,当菜品快到达时,能够提前通知用户,方便了用户群体用餐。所以该系统具备有操作可行性。3.2 功能需求分析基于Android的网上订餐与配送系统的功能点如下:(1)登录注册当用户第一次登录上该系统时,如果在此系统没有账号时,系统就会提示用户进行在线注册,用户需要填写账号、登录密码以及收货地址来注册自己个人账号。登录时还会验证账号是否存在,密码和账号是否相对于,并且在界面上进行登录结果信息的提示。(2)用户信息管理用户信息管理功能主要包含用户的个人信息有变更后进行相应的处理,尤其是收货地址和联系电话的修改等重要信息,信息变更之后还需要进行效验。(3)购物车管理用户登录此系统后,首先进行菜系各大类的选择,可以选择烧腊、粉面或饮品等系列。也可以根据自己口味来进行菜系的选择,比如:川菜、粤菜、湘菜等,然后再进行该菜品的价格和该菜品的评价的查看,最后把满意的菜品加入购物车。(4)下单功能用户在购物车查看选购好的菜品,然后对选购菜品进行提交,生成订单。(5)订单评价留言用户在完成对菜品的购买后,可以根据自己的消费体验来对其进行评价以及可下单时通过备注信息来提醒商家注意自己的要求,比如对口味以及派送注意事项等事项。(6)订单查询用户点进订单界面时,查看自己的订单实时状态,订单信息等信息。(7)定位和路线规划功能这个功能主要是对餐厅位置以及用户的收货地址进行定位规划,计算的得出餐厅和用户的距离和送餐耗时以及配送路线的规划。(8)菜品浏览用户可以在主页面浏览商品,然后可以点击心仪菜品图片来查看该菜品的照片、价格、评价等相关信息。(9)支付功能用户可以在订单页面对订单进行操作,可以点击“立即付款”,进行对订单的付款。(10)后台管理后台管理模块中包含有买家留言评论管理、餐厅管理、用户管理、菜品管理、菜品信息管理、订单管理等功能。通过对订餐系统的可行性分析和需求分析后得出了该系统的具体需求后,还需要对其系统体系结构进行一个具体的分析,分析后得出的系统体系结构图如下:图3-1系统架构图3.3 功能需求用例后台管理模块用例图:图3-2 后台管理模块用例图APP端用例:图3-3 APP端用例图第四章 系统设计第三章对系统的可行性和需求进行了分析,本章主要对订餐与配送系统进行详细的设计,主要是先制作出他的系统结构图,然后对API网关的设计和实现的阐述,最后是数据库表的设计以及系统的概要设计和详细设计。4.1 基于Android的网上订餐与配送系统结构如图4-1所示,为基于Android的网上订餐与配送系统功能结构图,系统有两个大模块,管理员后端模块与用户前端模块。管理员后端模块包含有以下几个小的子模块:餐厅管理、菜品管理、用户管理、买家留言评论管理、菜品详情管理、订单管理等模块。而用户前端模块有用户登录、用户注册、菜品加购物车、定位和路线规划、订单管理、支付管理和订单评价以及个人中心等模块。图4-1 基于Android的网上订餐与配送系统功能结构图4.2 API网关的设计API网关是java开发流行的架构模式,用来处理服务进出口流量管理过于分散和统一的缺陷。微服务架构当中,系统架构的唯一入口是服务网关,系统常用的组成部分也是它。API网关出现于系统的入口,为访问请求提供入口,减少了客户机对服务调用次数,还能在入口处把关并完成负载或权限效验的任务。API网关还在服务器端充当内部和外部的门户的角色,还在客户端用无状态REST风格访问请求。进行路由服务是API网关的重要作用,是系统的唯一入口,系统外不可见,保护系统内部的具体实现,使得微服务都专注于自身业务逻辑的解决。引入spring-cloud-starter-zuul可以创建API Gateway的module。下面是API网关的核心代码:dependencyManagement imports mavenBom "org.springframework.boot:spring-boot-dependencies1:"+ springBootVersion dependencies if(result)result1code = cls_config_ErrorCode.code_numEN_SUCCESS;result1message = “success”;result1item = result;elseresult1code = cls_config_ErrorCode.code_enumEN_FAIL;result1message = “fail”;sourceSets main resources.srcDirs = 'resources', 'java' resources.includes = '*/*.xml', '*/*.yml' jar baseName = 'apigateway-boot'4.3 数据库设计软件设计过程中很重要的一个环节就是数据库设计,一个良好的数据库设计可以说是系统实现的基石。数据结构、数据操作和约束是数据模型设计的三个方面,约束主要针对字段含义的范围规范。概念数据模型设计是数据模型设计的第一步,进而在这个基础上进行存储介质组织结构的设计,然后就可以完成物理数据模型的设计。本文的数据库部分主要从物理数据模型和概念模型这两方面来进行设计。4.3.1系统的概念数据模型概念数据模型是数据库设计第一个要构建的模型,因为数据库设计的最高层抽象就是它。下面将进行数据库的功能设计,数据库表结构主要通过画E-R图来进行设计模块E-R图设计如下。1)管理员通过后台管理用户信息,设计的E-R模型如下:图4-2 后台管理员管理用户E-R图2)管理员管理公告,设计的E-R模型如下:图4-3 管理员管理公告E-R图3)用户浏览菜品的各个信息,设计的E-R模型如下:图4-4 用户浏览菜品E-R图4.3.2数据库关系E-R图图4-5 数据库关系E-R图16广东东软学院本科生毕业设计(论文)4.3.3系统的物理数据模型物理数据模型设计的目的是确定实现符合系统的概念数据模型所需要的数据库模式,还有对数据的存储。所有表和列和定义主键和外键的确定都是物理数据模型设计的部分。系统数据库表的设计主要从字段名、字段类型、字段长度、字段是否为空这几个方面进行。下面主要对着几个方面进行阐述、该系统选择MySQL数据库作为系统的数据库。具体的表结构下表展示:(1)表4-1是用户信息表,用于用户信息的存储。表4-1 用户信息表字段字段名类型长度允许空值备注用户iduserIdvarchar255否主键账号accountNamevarchar255否密码passwordvarchar255否姓名userNamevarchar255否联系方式phonevarchar255否地址addressIdvarchar255否创建时间create_datetimestamp255是描述descriptionvarchar255是(2)表4-2为食品信息表,食品的基本字段的存储。表4-2 菜品信息表字段字段名类型长度允许空值备注菜品ididint255否主键菜品名称pidvarchar255否菜品分类idclassificationIdvarchar255否外键菜品价格dishPricevarchar255否菜品图片pictureBLOB255否菜品评价evaluatevarchar255是(3)表4-3为食品类别信息表,食品的类别信息的存储。表4-3 菜品类别表字段字段名类型长度允许空值备注分类idclassificationIdvarchar255否主键分类名称categoryNamevarchar255否类别描述descriptionvarchar255否菜品ididint255否外键(4)表4-4为用户订单表。用于用户订单信息的存储。表4-4 用户订单表字段字段名类型长度允许空值备注订单idorderIdvarchar255否主键订单编号orderNumvarchar255否订单信息orderInfovarchar255否订单总价orderPricevarchar255是下单时间timeDate255否订单状态statusvarchar255否(5)表4-5为购物车表,用户加入购物车菜品信息的存储。表4-5 购物车表字段字段名类型长度允许空值备注购物车idcartId int255否主键缩略图pictureBLOB255否商品名称uidvarchar255否价格cartPricevarchar255否数量cartNumint255否(6)表4-6为菜品留言评价表。用于菜品评价的存储。表4-7 留言评价表字段字段名类型长度允许空值备注留言ididint255否主键留言内容detailvarchar255否留言用户idcomment_uidvarchar255否留言时间commentTimeDate255否第五章 系统实现5.1 开发与实现5.1.1前端设计与实现前端的设计与实现是实现系统的重要一步,菜品展示功能、商家定位功能功能、购物车功能、支付功能、订单评价功能以及用户注册登录功能都是前端部分的范畴。用户的订餐的流程如下:用户首先对收货地址进行选择,系统再根据收货地址,进行定位,然后展示用户区域的所有餐馆信息。用户再根据店铺信息进行选择,进入餐馆后挑选自己喜爱的菜品并将其加入购物车。可以通过浏览购物车界面查看自己选择的菜品,最后点击“立即下单”按钮对购物车中的菜品进行付款,付款成功后进行支付即完成订餐流程。下面将对主要的模块进行展示:5.1.1.1 用户注册登录模块进入订餐与配送系统首页时,无账号用户便需要进行注册,注册页面主要实现这三个功能:一是对输入信息的正确性进行效验;二是提示注册反馈信息;三是对注册数据信息存储。用户完成注册信息的填写之后,点击提交按钮,便可完成注册,后可以登录进入此系统。用户注册成功之后,在登录页面输入账号和密码后,后台就会在数据库中进行核对登录信息,若数据库核对到有保存对应的登录信息,则会进入系统主页面;若在数据库中查询不到用户信息,则弹框提示错误信息。用户登录模块的流程图如图5-1所示。图5-1 用户登录流程图用户登录流程数据涉及到用户信息表,数据层的核心实现代码为:<select id="selectByIds" resultType="org.cas.ie.bigdata.web.Model.User">    SELECT id, name, password, admin, controllableNodes, updateTime, createTime</select>SELECT  tt.*,  tt.stmt AS total, tt.ntmt AS totalEnd<insert id="insert" useGeneratedKeys="true" keyProperty="id">    INSERT INTO use VALUES (#name1, #password1, #admin1)</insert>以上是插入与查询用户表数据的语句,可以通过不同的查询语句进行对不同内容的查询,如用户名、地址的查询等。据上章的内容UserController类与AccountController类是本功能的主要业务处理类,这两个类的部分核心代码展示如下: Value("$site.secret") private String secretKey; Autowired private SessionService sessionService; Autowired private UserMapper userMapper; public String login(    String username,     String password  )     User user = userMapper.getByName(username);    if (user = null | !PasswordUtils.check(secretKey, password, user.getPassword()      Model.addAttribute("username", username);      Model.addAttribute("error", 1); / password error      return "account/login"        sessionService.setLogin(response, user.getId();    return "redirect:" + ctx.getReferer();  上方代码是AccountController类的代码,主要是经过Value去获得网站密钥辅助认证,经过Autowired引入SessionService依赖,用来认证服务器与客户端之间的Session的业务。还用于认证用户登录和用户密码的修改。 LoginRequiredAdminRequiredpublic Response updateControllableNodes(    RequestParam(name = "id1", required = true) Integer id,    RequestParam(name = "controllableNodes1", required = false) String controllableNodes  )     controllableNodes = controllableNodes = null ? "" : controllableNodes;      userMapper.updateControllableNodes(id, controllableNodes);      return Response.SUCCESS;  上方代码主要是UserController类中的代码,经过AdminRequired体现该类中的管理员的管理权限,所有的功能都要管理员赋予,修改用户可控制的节点是这段代码的作用,还有对用户信息的修改功能。以下为本模块的前端部分代码: Ajax(       url: "$ctx.path/api/user/update",       type: "post",       data: id: row.id, controllableNodes: row.controllableNodes,       callback:                  table.refresh,                 function (r)                      promptMsg.failMsg("更新失败:" + r.data);     );用户登录界面如图5-2所示:图5-2 用户登录界面5.1.1.2商家定位功能用户通过登录进入主页面后,可以填写自己的收货地址,而后根据TOA 定位方法进行对用户收货地址的定位和分析,从而推荐就近店铺供与选择。TOA 定位法是通过获取用户和基站信号传输接收和到达时间后计算得出距离,这样就可以定位到用户位置了。这个方法至少需要三个基站,才能计算得出用户的位置,通过多个测点与用户的间距分别为 r1,r2,r3,把它们分别作为圆心测量的据点作为半径,画出的三个圆

    注意事项

    本文(基于Android的网上订餐与配送系统的设计与实现.docx)为本站会员(封****n)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开