版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于JAVA语言的长途汽车票网上售票系统的设计与实现目录TOC\o"1-2"\h\u21165摘要 116531关键词:网上售票系统设计与实现系统开发 230366第1章绪论 2130501.1课题背景 224001.2课题研究的意义 2120181.3课题目标 287981.4系统特点 3164861.5本文结构 320314第2章设计技术与开发环境 4126802.1运行环境 4162072.2开发工具及技术简介 452972.3可行性分析 41368第3章系统需求分析与设计 6230853.1需求分析 6152953.2概要设计 7147273.3数据库概念结构设计 820647第4章系统详细设计 14128154.1管理员功能模块设计 14207204.1.1通知公告功能 14175834.2会员功能模块实现 2127457第5章系统测试 31228585.1系统测试目的与意义 31297925.2测试过程 3151815.3测试总结 3317593总结 336921参考文献 33摘要随着如今网络时代的迅速发展,互联网已经日渐深入到人们的社会与生活中的每个角落,大家的生活也越来越离不开它。作为当今社会相对发达的交通工具之一——客车,当面对这个铁路交通、航空交通都已迈入网络售票的时代时,恰逢其时研究出一套网上客车售票系统就是必须马上要做的事。开发这套客车票网上售票系统能让客车站上班的工作人员及时知道每趟客车车票的售出情况以及各位乘客买票的情况;还能让各位乘客在这个客车票网上售票系统中退掉不能乘坐的车票,或者修改已经买错的车票,总的来说,大大提高了工作的效率。客车票网上售票系统的开发由开发前端应用程序以及建立后台数据库与维护后台数据库这三个方面构成。系统的数据库为MYSQL数据库,连接数据库用的是JAVA语言编写的程序,制作页面用的是JAVA技术,开发一个功能包含用户管理、票务管理、基础信息管理(票务信息、新闻公告、留言信息管理)的长途客车网上售票系统。关键词:网上售票系统设计与实现系统开发第1章绪论1.1课题背景以现在的情况来看,中国的科技水平已经进入了飞速发展的时代。在这个时代背景下,面对着火车售票、飞机售票已经逐渐网络化的情况,我们得出:开发一套客车票网上售票系统势在必得。客车站售票都是传统的人工售票方式,而在这个早已被信息化覆盖的社会中,这种传统方式的缺点尤为突出。因为传统的售票是人工的,乘客们需要到客车站买票,有些乘客与客车站相距比较远,这样就非常不便。但是为了买票就必须得去客车站买,而这样就会在路上花费大量的时间。另外如果客流量大,客车站的工作人员就会工作量激增。反之来说,如果有这样一套客车票网上售票系统,这些问题都会迎刃而解。所以在如今这种趋势下,开发一套这种系统,势在必得,形势所迫。用计算机去进行客车售票的管理任务,有类似搜索快,可靠性高,保密性好,成本低的优势,这些是手工管理所无法比拟的。这些厉害之处能让这个系统更加所向披靡。比起客车站人工售票的这种传统方式,网上售票更加具有自由化。因为人们再也不会被时间、地域等因素限制,人们可以直接在网上售票系统上搜索自己想要乘坐的客车票,然后进行购买,这样的确可以方便许多。这个客车票网上售票系统当中的各项信息都由管理员添加,而且有的用户可以根据系统向用户显示的各项信息,查询到相关的客车票票务信息,然后自己判断到底要不要乘坐,到底要不要购票,省时又省力,何乐而不为。1.2课题研究的意义广大出行者可以通过客车票网上售票系统避免去客车站买票的情况,这样又省时间,又可以免去询问客车站工作人员的环节,自己能够直接方便地查看各趟客车的信息,另外还能够在客车票网上售票系统上,对自己已经购买的车票进行改签或者退票操作。从另一个角度来说,对于在客车站工作的工作人员来说,也是一种解脱。他们不仅可以减少工作量,提高工作效率,而且能提高心情愉悦度。另外,现在社会上黄牛票贩极度猖狂,尤其是在春运这种客流量极度大的情况下,黄牛党变本加厉,更加猖狂。他们哄抬票价,买断票源,让那些迫切需求客车票的乘客无力承担昂贵的票价,广大乘客对此叫苦不迭。虽然公安机关和相关部门已经大力严查,重力打击黄牛、杜绝炒票,但仍有人能够钻到漏洞,所以都是治标不治本。由此可见,优化票务体系,开发一套客车票网上售票系统是解决问题的最好办法。1.3课题目标本系统分为两部分:1.前台功能模块(1)使用者注册(该系统的使用者进入这个系统需要进行注册,那使用者才能在这个系统中进行一切与买票有关的操作);(2)票务查询(系统的使用者之乘客根据从哪儿出发、到哪儿去来查询各车次的车票情况);(3)车票销售(该系统的使用者把自己需要购买的票选上,再把自己的买票信息(如身份证号)输入上去,点击提交);(4)修改车票信息(使用者把自己已经付款的车票信息进行修改,也称改签);(5)退掉车票(使用者根据自身实际出行情况,可以选择将无法乘坐的车票进行退货操作);(6)系统上的信息浏览(使用者能够查看管理员发布到系统上的的每条信息);(7)留言板(使用者登录上此客车票网上售票系统以后,可以在其发表对其他使用者、管理员想说的话,比如改进意见等);(8)使用者修改其信息。2.后台系统管理模块(1)管理其网上售票系统的所有使用者;(2)管理其网上售票系统的所有车票信息;(3)发布信息(包含图片及文字信息);(4)留言管理;(5)统计交易成功的人数;(6)查询此系统的卖票情况;(7)修改密码。1.4系统特点此系统有几个尤为突出的特点:1.这个系统的界面设计的简单易懂,使用者方便上手。2.这个系统可以不断修改,如果客运有关部门发布相关政策,此系统可以随之更改,灵活运用。而且任何一个浏览器也能轻易进入,具有很好的可移植性和拓展性。3.这个系统从有想法再到其开发出来,考虑的都是完美实现人机交互,能让对计算机、网络并不算熟悉的操作人员,也能快速地掌握和操作该系统。4.当系统的操作者因为一些原因把数据输错时,此系统能够实现自动提示,告诉操作者输入出错,随之系统的操作者就能够知错就改,从而输入正确的数据。1.5本文结构这篇毕业设计论文主要研究的是如何设计这个客车票网上售票系统并把它开发出来,这篇论文大体分为以下几章。第一章是绪论。这章主要说明了设计这个系统的原因以及这个系统所面临的情况。第二章从Javsa、MySqls这两方面对相关的技术及开发系统会用到的环境进行介绍。第三章从系统的需求这方面进行分析。第四章从系统的设计这方面进行详解。第五章是对系统测试的描述。
第2章设计技术与开发环境2.1运行环境2.1.1硬软件平台1.开发软件选择使用Eclipse开发工具包、tomcat9.0服务器。2.操作系统选择选用windows1064位操作系统。3.数据库选择MySQL数据库。4.浏览器选择IE浏览器、Firefox浏览器。2.2开发工具及技术简介2.2.1开发工具简介1.EcliipseEclipsse全名是EclipseEnterpriseWorkbench,简称Eclipses,是现在开发者使用率最高、最广泛的的。它由Geenuines公司研发出的的一款商业化软件。Eclipse是针对于EclipsesIDE的拓展,它的功能更为丰富,它最具有价值的方面来自于发布包中大量的工具,利用它能够很大程度的提高工效,在J2EE和数据库的开发、发布,及应用程序服务器的整合方面都有着较为显著的成效。总之,非常强大得我开发工具中必有Eclipse的一席之地,在进行JavaWeb开发时能够更为方便。2.MysSQLMysSQL数据库具有精巧的特点,它不仅拥有强大的功能,还十分灵活,同时又有很高的安全性,它能够让让使用者用得放心,用得安心。在建立基于数据库的动态网站这方面,它具备完全的多线程编程的核心程序、灵活又安全的权限口令系统、大型数据库的技术支持、灵活修改、强大的查询功能2.2.2技术简介1.JSP技术全称为为JavaServerPage,它的中文名字叫Java服务器语言。在动态网页的建设中使用它,能够增强其功能的强大性及完美性。2.CSS。全名为CascadingStyleSheets,中文名为层叠样式表,也有人称它为样式表,它是一种可以用来设计网页样式的工具,在设计过程中使用它,能让页面的布局更规范、更好看。2.3可行性分析2.3.1技术可行性这个客车票售票系统采用Eclipse去开发,MySQL作为数据库。Eclipse整合其他很多工具(比如Tomcat等等)一起工作,这样做一个工程就很方便了。开发过程中采用Java语言。MySQL它做的工作是提供先进的数据库结构,能让公司的开发具有强大的保障性,还能让使用者感觉用的可靠与安心。2.3.2经济的可行性这个客车票售票系统是本着将工作效率提高、将劳动成本降低的初衷,这无疑是为企业创造了巨大的价值。这个客车票网上售票系统,其系统规模并不大,运用的资源也相对比较小,在运行时所需要的环境也是相对来说较为便宜的,,普通的电脑即可以满足,因此开发该系统的成本相对较低,而且维护所需的费用也并不昂贵。综合以上说法,这个客车票售票系统能达到经济可行性。2.3.3法律的可行性本系统纯为私人设计,在开发过程中没有涉及合同、责任等与法律相抵触的方面。因此,本系统在法律上是可行的。
第3章系统需求分析与设计3.1需求分析以数据库为核心的计算机信息系统,在其技术支持下,进行信息的加工、传播和其他操作,然而能够直接影响到整个系统的质量和效率的是其数据库设计的好坏。那么数据库的设计一般就以下几个步骤:规划、需求分析、概念设计、逻辑设计、物理设计。3.1.1功能需求车站方面的需求(1)买票和取票需分离卖票的办法并不局限于一种。乘客能在网上买票,能在电话里买票,也能去代替售卖的地方买票。买票的时候买票者需和相关人员说出自己的姓名,身份证号等信息,然后相关工作人员将买票者留在公安系统内的信息进行比对,查看是否一致。坚决杜绝假票。(2)付款对于网络付款来说,可以通过网络银行等手段进行支付。如果在代替售卖票的地方买票,那其需给购票者开发票,增加保障。同样,在客车票网上售票系统里,也需把购票者所留的电话、身份证号、所购车票的车次及时间等信息留存下来。(3)取票购票者能够在车站、代替售卖票的地方将票取出,这些地方需采用自动化机器进行工作,进行身份证识别。(4)检验票的真假检验票的真假也应该和把票取出来的方式一样,也应该采用自动化机器去工作。买票的人拿上自己买的票,再同时把自己的身份证拿上,去提供的自动化机器上使用,当这两个同时进行检验,就可检验其真假,决定是否可以放行。(5)把客车站内现场售卖票和人工验票的方式保留在客车站内,应该保留留人工卖票和人工验票的场所。而且有些购票者有可能忘记携带身份证,那么需要这样一个地方帮助没携带身份证的人进行买票操作,但是也有相关的要求,不可能轻易放人通行。没有携带身份证的人需要把自己其他的证件,像是驾照、学生证、教师资格证等有效证件,这些证件只要其中一个能够证明其身份即可。而有人验票就是不用机器去验票。2.乘客的需求(1)乘客的要求是可以实现对车票信息的实时查询(包括车票起点站和终点站,以及余票),方便乘客订票。(2)乘客的要求是能够查看客车站发布的实时通知公告,以便及时了解,改变行程。(3)乘客的需求是可以实现网上支付。(4)乘客的要求是能够进行对已订购的车票改签、退票的操作。(5)乘客要求系统设置功能可以提交建议给车站。3.1.2权限与责任这个长途客车票售票系统里总共存在两种角色身份,一个是能够查询买的票及买票的人,另一种是发布卖的票的信息而且管理这些买票的人的人,因此需要设置两种权限,针对上述的两种人。3.2概要设计3.2.1总体设计该客车票网上售票系统不仅具备用户进行注册登录、验证功能,还具备管理员进行登录、验证等功能。除此之外,还应具备更多可以实现的功能,如下:1.此客车票售票系统的使用者,将其想去的地方和目前所在的地方输入进去,然后就能看见这张车票多少钱,如果想买那就把它买下来,不想买就算了。2.此客车票售票系统的使用者登陆进去,把自己的各项信息输进去,能够直接找到自己买的那张车票。3.此客车票售票系统的使用者若想去别的地方,就把车票进行改签的操作,要是基于现实原因不想乘车,就进行退票的操作。另外特别提示,退票与改签的操作是有时间限制的,若超过允许操作的时间,会另外收取费用。4.退票及改签车票的操作就允许操作一次,不允许重复操作。5.购票者在代替售卖票处买了票,却遇到了难题,可以在客车票网上售票系统上拨打客服电话,进行咨询寻求帮助,从而解决问题。6.该客车票网上售票系统的后台管理员实现管理:a.管理员能够对车次出发、到达及车票价格进行修改。b.该系统的管理员能够在系统内发布文字、图片及其他类型的公告。C.该系统的管理员可以将不良好的、信誉度不高的使用者进行删除。3.2.2系统功能结构图图3-1系统功能结构图3.2.3模块结构1.系统使用者之购票者可以进行的操作(1)用户中心:购票者能够查看客车票的相关信息;也能进一步修改个人信息;还能查看自己购票、出票的具体情况。(2)查看想要乘坐的车次的出发时间、出发地、目的地、票价等。(3)购票者的订单情况:核对自己所购票车次的情况。(4)购票者若因为实际情况无法乘坐所购车票,能够进行退票操作,但是要收取5%的中间费,只能给购票者退票价的95%。如果购票者由于个人原因选错车次,想对乘坐时间或出发地等进行调整,可进行改签操作,但是要求只能进行一次修改,而且改的票必须和一开始买的那张票价位相同,不然还存在补差价的问题。2.系统管理员可以进行的操作(1)用户信息的管理:管理员可对用户进行增删改查的操作。(2)管理员能够修改车次的出发时间、出发地、到达地、票价。(3)该客车票网上售票系统的管理员能够发布公告,还能够对黑名单用户进行通报。可以随时提醒用户关于车票的相关信息,若在系统内发现有黄牛、票贩子的身影,可将其加到黑名单用户中,使其无法进入系统。3.3数据库概念结构设计3.3.1数据库概念结构设计开发系统的人最看重的是与系统用户之间的互相交流及可操作性,由此看出数据库是必不可少的。数据库是数据管理最为前沿的技术,而该客车票网上售票系统用到的就是MYSQL数据库。根据以上对该客车票网上售票系统的分析,如下图。1.总E-R图图3-2总E-R图(1)用户E-R图包括用户的ID、USRNAME、PASSWORD、NAME、用户权限及是否删除,如图3-3所示。图3-3用户E-R图(2)车票信息E-R图包括ID、车次、目的地、到达地、TIME、备注、COUNT及是否删除,如图3-4所示。图3-4车票信息E-R图(3)销售E-R图包括ID、车次、COUNT、购买人信息及DATE,如图3-5所示。图3-5销售E-R图(4)留言E-R图包括ID、内容、TIME及USER,如图3-6所示。图3-6留言E-R图(5)新闻E-R图包括ID、标题、内容、图片、类型及时间,如图3-7所示。图3-7新闻E-R图3.3.2数据库表设计本系统共有9张数据表,其中包括(yhm)用户表,待确认表,票务记(pw)录主表,写东西(ly)表,订单表,车票表,商品类别表,广告图片表等,看下面的表3-1至下面的表3-9所示。(1)用户信息表该系统里用户信息表主要是用来存储用户的相关信息。包含ID主键(ids)、电话(dtel)、地址(aaddr)、删除状态(sdelstatus)、买票的人类别(ytype)。表的结构如下面的表3-1所示。表3-1系统用户信息表(xtyhxx)字段名数据类型长度描述IDint11ID(主键)unamevarchar20用户名upassvarchar20密码realnamevarchar20姓名sexvarchar10性别agevarchar20年龄telvarchar20电话addrvarchar50地址delstatusvarchar50删除状态typevarchar50用户类别2.待确认信息表待确认信息表主要是用来存储用户所选购的车票的信息。用来保存用户预选的车票信息。包含ID主键(id)、车票ID(productid)、数量(num)、会员ID(memberid)。表的结构如表3-2所写。表3-2待确认信息表(dqrxx)字段名数据类型长度描述IDint11ID(主键)productidvarchar20车票IDnumvarchar50数量memberidvarchar20会员ID3.关于票务记录信息的主要的表此表用来记录商品出入库时所记录的信息。包含ID主键(iid)、车票ID(cproductid)、增减数量(znum)、增减类型(ztype)、日期(rsavetime)。表的结构如下面的表3-3所示。表3-3票务记录信息表(pwjlxx)字段名数据类型长度描述IDint11ID(主键)productidvarchar20车票IDnumvarchar50增减数量typevarchar20增减类型savetimedate日期4.留言信息表此表用来保存用户所写的的留言的有关信息。包含ID主键(yid)、留言内容(ycontent)、回复内容(yreply)、留言日期(ysavetime)、会员ID(ymemberid)。表的结构如表3-4所示。表3-4留言信息表(lyxx)字段名数据类型长度描述YIDint11ID(主键)Ycontentvarchar50留言内容Yreplyvarchar50回复内容Ysavetimedate留言日期Ymemberidvarchar20会员ID5.加载并显示重要通知的表加载并显示重要通知的表主要是是用来装得下和记住那些系统内的重要的通知。表的结构如表3-5所示。表3-5新闻信息表(xwxx)字段名数据类型长度描述IDint11ID(主键)titlevarchar50信息标题contentvarchar50内容savetimedate日期typevarchar50信息类别6.总结订单信息的表订单表用来保存用户提交的订单信息。表的结构如表3-6所示。表3-6订单信息表(ddxx)字段名数据类型长度描述DIDint11ID(主键)Dorderidvarchar20订单IDDproinfovarchar50订单车票明细Dmemberidvarchar20会员IDDpricevarchar60订单金额Dsavetimedate订单日期Dfkstatusvarchar20付款状态Dtelvarchar20收货人电话Daddrvarchar20身份证Dtypevarchar20订单类别7.车票信息表车票信息表是用来把车票信息保存起来的表。包含ID主键(Cid)、车票编号(Cprono)、出发地(Cfiled1)、到达地(Cfiled2)、单价(Cprice)、车票详情(Cremark)、删除状态(Cdelstatus)。表的结构如表3-7所示。表3-7商品信息表(spxx)字段名数据类型长度描述CIDint11ID(主键)Cpronovarchar20车票编号CFiled1varchar20出发地CFiled2varchar20到达地Cpricevarchar10单价Cremarktext0车票详情Cdelstatusvarchar50删除状态8.关于车票类别的信息表车票类别信息表是把车票的车票类别情况信息保存起来的表。包含ID主键(Cid)、车票ID(Cproductid)、销售数量(Cnum)、销售日期(Csavetime)。表的结构如表3-8所示。表3-8销量信息信息表(xlxx)字段名数据类型长度描述CIDint11ID(主键)Cproductidvarchar20车票IDCnumvarchar50销售数量Csavetimedate20销售日期9.广告图片信息主表此表包含ID主键(Gid)、图片路径(Gimgurl)、类别(Gtype)。表的结构如表3-9所示。表3-9广告图片信息表(ggtpxx)字段名数据类型长度描述IDint11ID(主键)imgurlvarchar50图片路径typevarchar20类别
第4章系统详细设计4.1管理员功能模块设计4.1.1通知公告功能客车票网上售票系统的管理员能够对其发布的系统内的信息及其公告进行编辑修改,用户和维修人员只能进行查看操作。notice.jsp为通知公告管理界面,noticeadd.jsp为新增通知公告的页面,noticeedit.jsp为编辑通知公告的页面。界面如下:图4-1通知公告图新增通知公告的实现代码为:////添加公告 publicStringnoticeAdd(){ Noticenotice=newNotice(); notice.setTitle(title); notice.setContent(content); notice.setSavetime(Info.getDateStr()); commonDAO.save(notice); return"success"; }编辑通知公告的实现代码为:////编辑公告 publicStringnoticeEdit(){ Noticenotice=(Notice)commonDAO.findById(id,"Notice"); notice.setTitle(title); notice.setContent(content); commonDAO.update(notice); return"success"; }4.1.2会员管理功能系统管理员需要去管理使用者的信息,需要对使用者进行增删改查等操作,因为这时候购票者的个人信息与购票信息相关联,即每个买票的人有一个dedlstatus删东西的状态,不出意外的话就是0s,已经给它删了的是1s,当买票的人的delsatatus状态为1s时,那购票者登录不上去,也就无法在系统上将其查出。购票者有一竖行表为mesmber.jsp,这个客车票网上售票系统的管理者能够操作黑名单,意思是说如果管理者将此购票者加入到黑名单中,那此购票者就不能再在此系统上买票,加到黑名单上的购票者的信息从balackname设为YEsS。功能界面如下: 图4-2会员管理图实现代码为:ifif(inid!=null){Sysusers1=(Sysuser)dao.findById(inid,"Sysuser");s1.setBlackname("yes");dao.update(s1);}if(outid!=null){Sysusers2=(Sysuser)dao.findById(outid,"Sysuser");s2.setBlackname("no"); dao.update(s2);}4.1.3车票管理功能这个客车票网上售票系统的管理员具有将票务信息增删改查的功能,即这个系统的管理员能把系统里现如今没有的票务信息添加上去,如:这个车是哪个时间,从哪个地方出发,到哪里去等,系统上所售卖的票的信息是这整个客车票网上售票系统的最重要的部分。功能界面如下: 图4-3车票管理图车票管理的核心代码的实现如下://新增车票//新增车票 publicStringproductAdd() { System.out.println("11=="+field1); Productproduct=newProduct(); product.setProname(proname); product.setProno(prono); //product.setImg(img); product.setPrice(price); product.setProtype(protype); product.setRemark(remark); product.setDelstatus("0");//0:正常;1:删除 product.setField1(field1);//时间 product.setField2(field2.trim()); product.setField3(field3.trim()); product.setField4(field4); product.setField5(field5); product.setField6(field6); product.setField9(field9); product.setField10(field10); commonDAO.save(product); return"success"; }//删除车票publicStringproductDel(){ //删除车票publicStringproductDel(){ Productproduct=(Product)commonDAO.findById(id,"Product"); product.setDelstatus("1"); commonDAO.update(product); return"success";}//编辑车票publicStringproductEdit(){ Productproduct=(Product)commonDAO.findById(id,"Product"); product.setProname(proname); product.setProno(prono); product.setPrice(price); product.setProtype(protype); product.setRemark(remark); product.setField1(field1);//时间 product.setField2(field2); product.setField3(field3); product.setField4(field4); product.setField5(field5); commonDAO.update(product); return"success";}4.1.4订单管理功能该客车票网上售票系统的管理员能够查询系统上的用户所注册及所购买车票的信息,这个系统是一个自动的售票系统,所以这个系统的管理员只能对购票者的信息进行查看并询问,不允许做其他别的操作,还可以查询所卖出的车票的信息及数量、购票者的姓名、电话、身份证等信息。图4-4订单管理图4.1.5订单退票查询功能若用户已经在系统上进行过注册并且已经购买了车票,但想要进行退票,退票之后产生的一系列数据,能一眼就清楚的看到,能看到的信息里包括退的这张车票的相关信息及购票者的基本信息,注意一下以上只有管理员能看。图4-5订单退票查询图4.1.6余票查询功能这个客车票网上售票系统的管理员能够查询到查到余票的数量,这样的话如果客车站实地售票售完的的话,网上售票可以支援一下,可以把剩下的票分担给客车站去售卖,这样客车站和客车票网上售票系统可以互惠互利,互相帮助。图4-6余票查询图图4-7余票查询图4.1.7留言管理功能该客车票网上售票系统的管理员能够及时的查看和回复会员所留言反映的问题,能够在系统内形成一个相互互动的平台,这样可以对车站和乘客的沟通及交流有很大的帮助。图4-8留言管理图管理员后台回复留言和留言删除的代码实现为:////留言回复publicStringmsgReply(){ Msgmsg=(Msg)commonDAO.findById(id,"Msg"); msg.setReply(reply); commonDAO.update(msg); return"success";}//留言删除publicStringmsgDel(){ commonDAO.delete(id,"Msg"); return"success";}4.2会员功能模块实现4.2.1会员注册功能想要购票的乘客在购票前需要先在客车票网上售票系统上进行注册操作,注册时需填写自己的个人信息,例如名字、身份证号码、联系电话等,并且客车票网上售票系统的管理员在后台也需对使用者所填写的那些信息进行核对,确定二者是否一致。另外,填写的必要信息不可为空,若购票者欲不填写,为空的话,系统将进行自动提醒不可为空。图4-9会员注册图//用户注册//用户注册 sysuser.setRealname(realname); sysuser.setSex(sex); sysuser.setAge(age); sysuser.setTel(tel); sysuser.setAddr(addr); sysuser.setType("会员"); sysuser.setDelstatus("0"); sysuser.setEmail(email); sysuser.setMoney("0"); commonDAO.save(sysuser); return"success"; 会员登陆后可以对自己的个人信息进行修改。sysuser.setRealname(realname);sysuser.setRealname(realname); sysuser.setSex(sex); sysuser.setAge(age); sysuser.setTel(tel); sysuser.setAddr(addr); sysuser.setEmail(email); commonDAO.update(sysuser); return"success";4.2.2票务查询功能在该系统进行过注册的会员或者是单纯的购票者,都可以进入该客车票网上售票系统进行查看,而这些人最后查询到的东西都会在一张竖的表里显示出来,买票的人注册了以后就能点那个卖票的现实的界面进行买票这个动作。图4-10票务查询图4.2.3会员订票功能在该系统进行过注册的购票者,去订票的过程是,选好自己想买的车票后,把它放到购物车里,然后付款时在购物车里就可以进行付款,付款后就能生成一个订单,而且还可以点击进入到订单的详情页面进行查询。图4-11会员订票图一如果该客车票网上售票系统上票的剩余数量为0的话,就意味着告诉这些购票者,不可以再买票了,因为没有票,否则就得待在购物车里去采用购买、把票移出去等操作,购票者可以对车票的数量采用修改的操作。买票的人订票代码的实现://移出车票public//移出车票publicStringcarDel(){ commonDAO.delete(id,"Car"); return"success"; }//修改购物车内车票数量 publicStringcarNumEdit(){ Carcar=(Car)commonDAO.findById(id,"Car"); car.setNum(num); commonDAO.update(car); return"success";}Carcar=newCar();car.setProductid(productid);car.setNum(num);car.setMemberid(memberid);commonDAO.save(car);intresponseContext;responseContext=1;System.out.println(responseContext);HttpServletResponseresponse=ServletActionContext.getResponse();response.setContentType("text/html");PrintWriterout=response.getWriter();out.println(responseContext);图4-12会员订票图二////新增订单 Orderorder=newOrder(); order.setOrderid(Info.getAutoId()); order.setMemberid(memberid); order.setPrice(price); order.setFkstatus("未付款"); order.setProinfo(proinfo); order.setSavetime(Info.getDateStr()); order.setFhstatus("未发货"); order.setShstatus("未确认"); order.setTel(tel); order.setAddr(addr); order.setType("0");//0:订单1:退货 order.setIsgq("no");//yes:改签订单no:非改签订单 commonDAO.save(order); commonDAO.delete(carids,"Car"); return"success";订单页面为已付或未付款订单的结果页面,会员可以在此对未付款订单进行付款和取消,对已付款订单进行退票及改签。//会员付款//会员付款 Kcrecordkc=newKcrecord(); kc.setProductid(b[0]);//车票ID kc.setNum(b[1]); //数量 ArrayList<Kcrecord>inlist=(ArrayList<Kcrecord>)commonDAO.findByHql("fromKcrecordwhereproductid='"+b[0]+"'andtype='in'"); ArrayList<Kcrecord>outlist=(ArrayList<Kcrecord>)commonDAO.findByHql("fromKcrecordwhereproductid='"+b[0]+"'andtype='out'"); intk=0; if(inlist.size()!=0){ intinnum=0; intoutnum=0; for(Kcrecordin:inlist){ innum+=Integer.parseInt(in.getNum()); }for(Kcrecordkout:outlist){ outnum+=Integer.parseInt(kout.getNum()); }k=innum-outnum;}else{ k=0;} if(Integer.parseInt(b[1])<=k){ kc.setType("out"); if(Integer.parseInt(b[1])<=k){ kc.setType("out"); kc.setSavetime(Info.getDateStr()); commonDAO.save(kc); Salessales=newSales(); sales.setProductid(b[0].toString());//车票ID sales.setNum(b[1].toString());//数量 sales.setSavetime(Info.getDateStr()); commonDAO.save(sales); }else{ is="no";} if(is!="no"){ o.setFkstatus("已付款"); commonDAO.update(o); return"success"; }else{return"erro"; }}在该系统已经进行买票的人可以登录上去把已经买了但是不想坐的票实施退票的操作,而这时车票的剩余数量将自己恢复到没有添加购物车时的数量,并且还会将车票定价的百分之九十五退还到注册的用户的账户上。图4-14订单退票图订单退票核心代码的实现://会员订单退票publicStringorderTh(){Ordero=newOrder();//会员订单退票publicStringorderTh(){Ordero=newOrder(); o=(Order)commonDAO.findById(id,"Order"); Stringpinfo=o.getProinfo();//返库 Stringb[]=pinfo.split(","); Kcrecordkc=newKcrecord(); kc.setProductid(b[0]); kc.setNum(b[1]); kc.setType("in"); kc.setSavetime(Info.getDateStr()); commonDAO.update(kc);//变更退票状态 o.setType("1"); o.setFhstatus("退票成功");//这里加退票返金额至会员帐户Sysusersysuser=(Sysuser)commonDAO.findById(o.getMemberid(),"Sysuser"); Stringfh=o.getPrice();//返还金额 sysuser.setMoney(String.valueOf(Double.valueOf(sysuser.getMoney())+Double.valueOf(fh)-Double.valueOf(fh)*0.05)); commonDAO.update(sysuser); commonDAO.update(o); return"success"; }每一个在该客车票网上售票系统上购票的人均有一次进行修改车票的机会,但是修改车票只限制于修改该车票的其他趟次,而且改签不收手续费。这个模块设置的是,如果没进行过修改,显示NO,如果进行过修改,就会变成YES。改签的页面为:图4-15车票改签图当该系统注册过的会员决定好选择的客车票以后,这个客车票网上售票系统的管理员会首先去判断一下想选的这个车的票还有多少张,如果原本买的那个车票的剩下的数量比那个要改正的那个车票的数量多的话就能改签,不然的话,就不能改签,数量都比改签前的数量少,肯定不能改。车票改签核心代码的实现:////检查目标车票库存Kcrecordkc=newKcrecord();kc.setProductid(newpid);//车票IDkc.setNum(newnum); //数量ArrayList<Kcrecord>inlist=(ArrayList<Kcrecord>)commonDAO.findByHql("fromKcrecordwhereproductid='"+newpid+"'andtype='in'");ArrayList<Kcrecord>outlist=(ArrayList<Kcrecord>)commonDAO.findByHql("fromKcrecordwhereproductid='"+newpid+"'andtype='out'");intk=0;//总库存 ////如果目标车票数量小于总库存则可以改签 if(Integer.parseInt(newnum)<=k){ //目标车票出库 kc.setType("out"); kc.setSavetime(Info.getDateStr()); KcrecordoldProductkc=newKcrecord(); //旧车票入库 oldProductkc.setProductid(oldpid); oldProductkc.setNum(oldnum); oldProductkc.setType("in"); oldProductkc.setSavetime(Info.getDateStr()); commonDAO.save(oldProductkc); commonDAO.save(kc); commonDAO.update(o);
第5章系统测试5.1系统测试目的与意义该长途客车票网上售票系统,本人在开发系统的过程中,认为系统测试是一个超级重要并且季极度漫长的部分。而它的重要性为可以保证系统的质量及可靠度,也是是最终在系统中进行分析、设计、实现的必要审查。系统测试的首要任务是检查出系统中的错误,来评判这个系统做的咋样,从而达到大幅度提高系统可靠性的目的。5.2测试过程测试一旦开始进行,由于该系统数据库中的数据是自己动手随意输入进去的,不具有较强的实
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论