洗力洗车行会员管理系统的设计与实现 马枫桐 11406_第1页
洗力洗车行会员管理系统的设计与实现 马枫桐 11406_第2页
洗力洗车行会员管理系统的设计与实现 马枫桐 11406_第3页
洗力洗车行会员管理系统的设计与实现 马枫桐 11406_第4页
洗力洗车行会员管理系统的设计与实现 马枫桐 11406_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、序号(学号): 041240726长 春 大 学洗力洗车行会员管理系统的设计与实现姓 名张松学 院计算机科学技术学院专 业计算机科学与技术班 级电算12407指导教师刘威2015年6月3日装订线长 春 大 学 毕业设计(论文)纸洗力洗车行会员管理系统的设计与实现摘要 本洗力洗车行会员管理网站采用JAVA语言开发,基于MVC模式进行开发,主要应用了Struts、Hibernate、Spring三大框架技术知识以及oracle数据库技术,实现了一个基于web的B/S(Browser/Server,浏览器/服务器)模式的会员洗车网。其主要功能包括 会员管理、预约服务、用户自服务、商品管理、部门管理、

2、角色管理等功能。注册会员成功后,可享受会员优先洗车,购买车需用品等服务。本文阐述了洗力洗车行会员网上预约及办理业务的优势,并对所做会员管理系统的分析、设计及实现过程做了详细介绍。关键词MVC模式;三大框架;B/S;网上预约Design and Implementation of the Member Management System for XiLi WashAbstract The xili wash member management website using JAVA language development,based on the MVC pattern development,

3、the main application of Struts、Hibernate、Spring three framework technology and oracle database technology,implements a web based B/S (Browser/Server) mode of wash Shared members. Its main function includes member management、 reservation service、user service、product management、department management、r

4、ole management and other functions. After the success of the registered members, can enjoy preferential car wash, need to buy car supplies and other services.This paper expounds the wash wash force members online booking and deal with the advantage of the business, member management web site and to

5、do the analysis、design and implementation process of the details.Key words MVC;Struts、Hibernate、Spring;B/S;online booking 目 录1 引 言11.1 课题分析11.2 研究价值12 需求分析22.1 项目背景22.2 问题定义22.3可行性分析23 开发环境介绍33.1 JAVA语言开发33.2 MVC设计模式43.3 三大框架(SSH)技术53.3.1 Struts53.3.2 Hibernate63.3.3 Spring73.4 SQL语言73.5 开发环境83.5.1

6、MyEclipse简介83.5.2 tomcat简介84 数据库设计104.1 数据库的概念104.2 数据库的选择104.3 数据库表104.3.1 系统用户表(WEB_SYS_USER)104.3.2 系统角色表(WEB_SYS_ROLE)114.3.3 商品信息表(WEB_SYS_GOODS)124.3.4 预订信息表(WEB_SYS_YD)124.3.5 会员信息表(WEB_SYS_MEMBER)124.3.6 会员类型表(WEB_SYS_MEMBERTYPE)134.3.7 登录日志信息表(WEB_SYS_LOGIN_LOG)134.3.8系统菜单表(WEB_SYS_MENUS)14

7、4.3.9角色菜单关联表(LINK_ROLE_MENU)144.3.10商品消费信息表(WEB_SYS_SPEND)155 详细设计与系统实现155.1 网站总体架构及实现165.1.1网站页面登陆显示165.2 各部分功能模块的实现165.2.1员工管理模块165.2.2会员管理模块195.2.3角色管理模块205.2.4预约服务模块225.2.5商品管理模块245.2.6用户自服务模块255.2.7部门管理模块265.2.8日志管理模块266 测 试276.1单元测试286.2 集成测试306.3 系统测试307 结 论31致 谢32参考文献331 引 言1.1 课题分析随着互联网时代的到

8、来,网络生活几乎已经成为每个人生活中不可或缺的一部分,网上购物,网上订票,网上充值,网上聊天,网上交友,网上游戏,互联网给人们的生活带来无穷无尽的方便和快捷,在互联网飞速发展的浪潮下,很多传统的销售行业也受到了很大的冲击,大部分企业都完成了和网络的完美转型,当然也有一些行业在这场浪潮中消声遗迹,所以要想在当今这个科技高速发展的时代,我们的企业或个体商户要想有一席之地就应顺应时代的发展。在这个人们生活基本小康的社会,轿车这个名词已不再是陌生,更不在是奢望,每个家庭都会为买一辆轿车作为代步的工具,车给人们带来的已不仅仅是方便,特此,为了满足市场对于当前洗车行业的需求,我们推出洗力洗车行会员管理系统

9、,让司机朋友们可以轻松的在网上进行洗车预约以及购买车需用品。1.2 研究价值当前大部分洗车行业都是以洗车实体店等待顾客上门的模式经营,在这个互联网高速发展的时代,显然这种经营方式已经落伍了,虽然这种洗车店依然会有客户光临,但大部分都是老顾客或者是半道客户,所以效益可想而知,不会达到预期的高度,再加上洗车店的广泛。就此,我们推出网上预约和购物功能,凡是注册洗力洗车行的会员便可在网上进行线上预约,和购买商品等服务。洗力洗车行会员管理系统是基于互联网平台以予用户方便,高效乃至双赢的理念而开发,用户只需在客户端注册本店会员即可享受最便利的服务,用户可以根据自身的需要办理相关的优惠服务,在线预约减去了用

10、户洗车难,排队等候,找不到洗车地点等诸多困难因素,当用户预约了洗车时间便可在该时间在店内优先洗车,既做到了节省用户时间又为用户出行带来了极大的方便。展望未来,网上预约洗车势必成为社会发展不可缺少的一部分,而其自身的发展趋势也必然更专业化、高质量化。那么就要求我们提供的不仅仅是简单的预约和购物这些简单的功能,而是要做到以客户的需求、客户的标准、想客户之所想达客户之不能达来改进我们的服务,使之更加专业,更加权威,更加特色。2 需求分析2.1 项目背景在这个互联网高速发展的时代,传统的洗车行业要想有个好的发展与互联网挂钩已势在必行。2.2 问题定义系统功能设计本着从用户的角度出发的原则,要求实用,且

11、符合用户提出的合理需求。系统设计在不违反系统整体性的基础上,可根据用户的需求进行二次开发,不断完善系统功能,便于系统升级。会员管理在企业管理中有重要的地位和意义。开发会员管理信息系统是提高管理水平和管理效率以及更好的运营公司的客观需要,结合会员管理系统的研究和开发工作,阐述了会员管理信息系统的特点,功能,以及高效性,会员管理系统将会员信息与会员权限完美整合,使会员管理系统充分发挥出其特有的功能。2.3 可行性分析当我们在做任何一件工作以前,首先必须明确工作的性质、任务,制定完成任务的计划,这是十分必要的。同样对于软件产品的开发,显然也要解决好类似的问题,明确该软件产品开发的任务,以及完成任务的

12、价值从而制定出完成该任务的计划。可行性分析是研究开发的软件是否具有可行性。通常需要考虑一下几个方面:项目考虑:成本和进度范围内,系统配置如何实现以及相关的风险有多大。商业考虑: 是否能抢占市场,是否能盈利。技术分析:根据当前具有的技术能否实现,以及性能问题。可行性分析还需考虑人员分配,配置评估,法律考虑等诸多因素。所以可行性研究不是解决问题而是看该问题是否值得去解决。3开发环境介绍3.1 JAVA语言开发随着开发市场的不断壮大和丰富,相应的应用开发产品的种类也相应的增多。通过各种途径的了解和查询,列举了下列可用并且现在流行的企业级开发语言:SUN公司的Java;Borland公司的Delphi

13、;Microsoft公司的Visual C+;Microsoft公司的Visual Basic,简称VB;Powersoft公司的PowerBulider。. 大多的开发语言都具有其各自的优点和功能以满足不同用户对软件开发的需求。现有软件市场上的开发工具,有些语言简洁紧凑、灵活多变,有些语言专注于图形化页面,有些语言专注于执行效率,有些语言专注于开发工具的方便性,当然软件开发最重要的是程序的安全性,可靠性与实用性,这些开发语言在不同的角度满足了不同用户的需求。本系统选择Java语言开发基于以下因素:Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言 ,具有简单、面相对象、分布式、健壮

14、性等特点。【1】(1)语言简单。Java语言的特点类似于C和C+,使程序员容易理解和学习,它摒弃了C+中令人费解的那些特性,如操作符重载和多继承等。 此外Java还具有垃圾自动回收机制,为内存管理带来了很大便利。 (2)面向对象。面向对象可以说是Java最重要的特性。Java语言提供类、接口和继承等原语。Java语言是一种纯面向对象的程序设计语言。 (3)分布式。Java包括一个支持HTTP和FTP等基于TCP/IP协议的子库。它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket等,Java应用程序可凭借URL打开并访问网络上的对象,其访问方式与访问本地文件系统

15、几乎完全相同。(4)健壮性。Java具有强类型机制,异常处理、垃圾自动收集等机制使其具有健壮性。Java致力于检查程序在编译和运行时的错误。Java还提供Null指针检测数组边界、检测异常出口、字节代码校验。 (5)安全性。Java的安全性可从两个方面得到保证。一方面,在Java语言里,像指针和释放内存等C+功能被删除,避免了非法内存操作。另一方面,当Java用来创建浏览器时,语言功能和浏览器本身提供的功能结合起来,使它更安全。(6)体系结构中立。Java程序在Java平台上被编译成体系结构中立的字节码格式,继而可在任何实现Java平台的系统中运行。(7)可移植的。Java的可移植性来源于体系

16、结构的中立性,该特性一直是Java程序设计师们的精神指标,也是Java之所以能够受到程序设计师们喜爱的重要原因之一。Java规定了各个基本数据类型的长度,其系统本身也具有很强的可移植性。 (8)解释型的,Java程序在运行时,Java平台中的解释器对这些这些字节码进行解释执行。(9)高性能的。Java可以在运行时直接将目标代码翻译成机器指令。Sun用直接解释器一秒钟内可调用300,000个过程。翻译目标代码的速度与C/C+的性能没什么区别。 (10)多线程的。在Java语言中,线程是一种特殊的对象,Java支持多线程,并提供多线程之间的同步机制。多线程功能使得在一个程序里可同时执行多个子任务。

17、(11)动态的。Java的动态特性是其面向对象设计方法的发展。Java程序需要的类能够被动态的被加载的运行环境,这是C+语言进行面向对象程序设计所无法实现的。Java编译器是将符号引用信息在字节码中保存下传递给解释器,再由解释器完成动态连接类后,将符号引用信息转换为数值偏移量。3.2 MVC设计模式MVC全名是Model View Controller,它是一种设计模式,一种软件设计典范,它把应用程序分成三个核心模块:模型(model)、视图(view)、控制器(controller),用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。模型表示业务数据和业务逻辑,是应用程序

18、的主体部分。模型与数据格式无关,一个模型能为多个视图提供数据,应用于模型店代码只需写一次就可被重复利用,因此提高了代码的可重用性。视图是用户看到并与之交互的界面,老式web程序视图是由HTML元素组成的界面,新的web视图则在老视图基础上进行了改进,继而引进了一些新的技术,如:Macromedia Flash和象XHTML,XML/XSL,WML等一些标识语言和Web services.视图的作用包括向用户显示相关的数据信息、向模型查询业务状态、接受模型发出的数据更新事件,从而对用户界面进行同步更新。控制器接受用户的输入并调用模型和视图去完成用户的需求。当单击Web页面中的递交按钮来发送HTM

19、L表单时,控制器本身不输出任何东西和做任何处理。控制器接收请求并决定调用哪个模型构件去处理请求,然后决定调用哪一个视图来显示模型处理返回的数据。简言之,控制器接收模型构件处理视图返回数据。MVC的优点表现在如下几个方面:(1) 多个视图能共享一个模型。同一个模型可以被不同的视图重用,大大提高了代码的可重用性。(2) 模型是自包含的,并且与控制器和视图相分离,所以很容易改变你的应用程序的数据层和业务规则。由于MVC的三个模块相互独立,改变其中一个不会影响其他两个,所以依据这种设计思想能让用户很容易进行操作。(3) 控制器提高了应用程序的灵活性和可配置性。控制器可以用来联接不同的模型和视图去完成用

20、户的需求,这样控制器可以为构造应用程序提供强有力的手段。给定一些可重用的模型和视图,控制器可根据用户的需求选择模型进行处理,然后选择视图将处理结果显示给用户。MVC处理过程的结构图,如图3-1所示。图3-1 MVC处理过程的结构图3.3 三大框架(SSH)技术 3.3.1 StrutsStruts 是开源软件。使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。Struts由一组相互协作的类(组件)、Servlet以及jsptaglib组成。由于Struts 实质上就是在JSP Model2的基础上实现的一个MVC框架,所以基于struts构架的web应用程序基

21、本上符合JSPModel2即MVC的设计标准。其中的模型是JavaBean,控制器是ActionServlet、Action,视图是JSP、Struts客户化标签。Struts 控制器组件主要包括:充当Struts框架的中央控制器的ActionServlet组件、充当每个子应用模块的请求处理器的RequestProcessor组件、负责处理一项具体的业务的Action组件,其工作流程如图3-2所示。图3-2 struts工作流程Struts的优点主要集中体现在两个方面:Taglib和页面导航。Taglib是Struts的标记库,灵活运用,能大大提高开发效率。struts可以清晰地区分控制,事务

22、逻辑和外观,从而简化了开发应用程序的过程。struts提供的类使得开发工作更加简单。 3.3.2 HibernateHibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了轻量级的对象封装,使得Java程序员可以轻松的使用对象编程思维来操纵数据库。实现了Java对象的持久化;封装了所有数据访问细节,使业务逻辑层专注于业务逻辑。并且通过对象关系映射(Object Relational Mapping,简称ORM)解决了面向对象与关系数据库之间存在的互不匹配的现象,如图3-3所示。图3-3 关系对象映射 3.3.3 SpringSpring是一个开源框架,它是为了解决企业应用开发的

23、复杂性而创建的。Spring的优势之一是其分层架构,它只使用基本的JavaBeans就能完成以前必须通过EJB来完成的事情,而与EJB是相比,Spring 的核心是个轻量级的容器,它是实现IOC(Inversion Of Control控制反转)容器,是非侵入性的框架,并提供AOP(Aspect-oriented programming面向方面编程)概念的实现方式,提供对持久层和事务的支持,提供MVC Web 框架的实现,并对一些常用的企业服务API提供一致的模型封装,是一个全方位的应用程序框架。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。3.4 SQL语

24、言结构化查询语言(Structure Query Language)简称SQL,SQL语言是一种交互式查询语言,允许用户直接查询存储数据,但它不是完整的程序语言。SQL基本上是域关系演算,但可以实现关系代数操作。SQL语言的分类:(1)DDL(Data Definition Language)数据定义语言,其作用包括对数据库对象的创建、更新和删除。(2)DML(Data Manipulation Language)数据操纵语言,其作用包括对数据信息的查询,添加,修改和删除。(3)DCL(Data Control Language)数据控制语言,作用主要对是授权数据库对象。3.5 开发环境操作系

25、统:WINDOWS 7;运行工具:IE 7.0;开发工具:MyEclipse 7.1.0 GA, Dreamweaver V8.0;服务器: Tomcat 7.0;数据库:Oracle;辅助工具:Adobe Photoshop CS, Flash V8.0。3.5.1 MyEclipse简介MyEclipse企业级工作平台(MyEclipse Enterprise Workbench,简称MyEclipse)是在Eclipse IDE的基础上开发出来的,开发人员利用它可以在数据库和J2EE的开发、发布、应用程序服务器的整合等方面提高工作效率。MyEclipse也全面支持各种主流的第三方框架和各

26、种基于Eclipse平台的插件,让程序人员能够快速高效地进行开发工作。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。在结构上,MyEclipse的特征可以分为7类:(1)J2EE模型; (2)J2EE项目部署服务;(3)EJB开发工具;(4)WEB开发工具;(5)数据库服务;(6)应用程序服务器的连接器;(7)MyEclipse整合帮助。3.5.2 tomcat简介tomcat服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型

27、系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。目前最新版本是8.0。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可。又由于运行时占用的系统资源小、扩展性好所以深受广大程序员的喜欢。而且它还在不断的改进和完善中,如果你有兴趣你也可以成为完善tomcat的一员。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Ser

28、vlet。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和 JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。4 数据库设计4.1 数据库的概念对于数据库的概念,不同人有不同的理解,但是万变不离其中。例如,有人说数据库是一个“记录保存

29、系统”,也有人说数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,也有人说数据库是“人们为解决特定的任务,以一定的组织方式存储在一起的相关的数据的集合”,更有甚者称数据库是“一个数据仓库”,也有更严谨的说法说数据库是“按照数据结构来组织、存储和管理数据的仓库”。无论从何种角度理解,数据库都是管理信息系统的核心部分,是进行科学研究和决策管理的重要技术手段。数据库通常分为层次式数据库、网络式数据库和关系式数据库三种。【2】本实验将使用一直以来使用都最为广泛的关系模型作为数据库的建设依据。在用户的观点下,关系模型中数据的逻辑结构是一张二维表,一个关系对应通常说的一张表,并且关系的

30、每一个分量必须是一个不可分的数据项。而一个基于关系模型的数据库则是由若干个二维表组成的。对于一些大型和中型的数据库,如Oracle,SQL Server 2000/7.0等都属于关系型数据库。本次实验我们采用的是关系式数据库Oracle,可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。4.2 数据库的选择本系统使用Oracle实现关系型数据库。4.3 数据库表4.3.1 系统用户表(WEB_SYS_USER)该表主要完成洗车行工作人员信息的录入、查询、更新、删除等功能。在此表中定义了11个字段来进行工作人员的信

31、息存储,如表4-1所示。表4-1 员工信息表标识符数据类型长度非空描述主键外键说明uer_idNumber10Y用户idYACCOUNTVARCHAR220Y账号PASSWORDVARCHAR215Y密码USER_NAMEVARCHAR2(64 CHAR)20Y用户名TELPHONEVARCHAR211Y电话号电话号码必须为11位,且必须符合常规电话号SEXVARCHAR22Y性别POSITIONVARCHAR220Y职位CREATE_COUNTVARCHAR220N创建者账号HOMEPAGEVARCHAR2128 N访问空间EMAILVARCHAR250N电子邮件ACCOUNT_STATUS

32、VARCHAR24Y账号状态账号状态为激活、冻结两种PHOTOVARCHAR250N头像CREATE_TIMEDATEY创建时间ORG_IDNumber10Y日志idYSALARYVARCHAR220N薪资4.3.2 系统角色表(WEB_SYS_ROLE)该表主要完成了系统角色的分配,分为商家和客户两个角色。此表中定义了4个字段来进行系统角色信息的存储。如表42所示。表4-2 系统角色表标识符数据类型长度非空描述主键外键说明ROLE_IDNUMBER10Y角色idY ROLE_NAMEVARCHAR220Y角色名ROLE_DESCVARCHAR250N角色描述ROLE_STATUSVARCHA

33、R21Y角色状态以1代表正常0代表异常4.3.3 商品信息表(WEB_SYS_GOODS)该表主要完成车需商品信息的录入、删除、更新、查询等功能。在此表中定义了5个字段来进行商品的信息存储,如表4-3所示。表4-3 商品信息表标识符数据类型长度非空描述主键外键说明GOODS_IDNUMBER10Y商品idYGOODS_NAMEVARCHAR230Y商品名GOODS_STATUSVARCHAR22Y商品状态以1代表正常0代表异常GOODS_PRICEVARCHAR220Y商品价格GOODS_TYPE_IDNUMBER10Y商品 类型idY4.3.4 预订信息表(WEB_SYS_YD)该表主要完成

34、会员预约洗车信息录入。在此表中定义了4个字段来进行预约信息存储,见表44。表4-4 预定信息表标识符数据类型长度非空描述主键外键说明YD_IDNUMBER10Y预约idYYD_NAMEVARCHAR220Y预约人姓名YD_TELVARCHAR211Y预约电话电话号码为11位YD_STATUSVARCHAR22Y预约状态4.3.5 会员信息表(WEB_SYS_MEMBER)该表主要完成会员预约洗车信息录入。在此表中定义了8个字段来进行会员信息存储,见表45。表4-5 会员信息表标识符数据类型长度非空描述主键外键说明MEMBER_IDNUMBER10Y会员idYMEMBER_CODEVARCHAR

35、240Y会员编号MEMBER_NAMEVARCHAR220Y会员名MEMBER_TELVARCHAR210Y电话11位MEMBER_DESCVARCHAR210N会员描述MEMBER_STATUSVARCHAR210Y会员状态MEMBER_TYPE_IDVARCHAR210Y会员类型idYMEMBER_REMAINVARCHAR2卡内余额4.3.6 会员类型表(WEB_SYS_MEMBERTYPE)该表主要完成会员预约洗车信息录入。在此表中定义了4个字段来进行预约信息存储,见表46。表4-6 会员类型表标识符数据类型长度非空描述主键外键说明MEMBER_TYPE_IDNUMBER10Y会员类型

36、idYMEMBER_TYPE_NAMEVARCHAR220Y会员卡类型MEMBER_TYPE_DISCOUNTVARCHAR220Y折扣率不同会员折扣率不同MEMBER_TYPE_STATUSVARCHAR22Y会员类型状态4.3.7 登录日志信息表(WEB_SYS_LOGIN_LOG)该表主要完成日志信息录入。在此表中定义了6个字段来进行登录日志信息存储,见表47。表4-7登录日志信息表标识符数据类型长度非空描述主键外键说明IDNUMBER10YidYACCOUNTVARCHAR220Y账号USER_NAMEVARCHAR220Y用户名LOGIN_IDVARCHAR230Y登录idIP地址L

37、OGIN_TIMETIMESTAMP6N登录时间LOGIN_OUT_TIMETIMESTAMP6Y退出时间4.3.8系统菜单表(WEB_SYS_MENUS)该表主要完成系统菜单名称的录入和分配。在此表中定义了7个字段来进行登录日志信息存储,见表48。表4-8系统菜单表标识符数据类型长度非空描述主键外键说明MENU_IDNUMBER10Y菜单idYMENU_NAMEVARCHAR220Y菜单名称MENU_URLVARCHAR220Y菜单路径PARENT_IDNUMBER10Y父节点idMENU_STATUSVARCHAR26Y菜单状态MENU_ICONVARCHAR26NMENU_POSITIO

38、NVARCHAR2N4.3.9角色菜单关联表(LINK_ROLE_MENU)该表主要完成角色表和菜单表的级联。在此表中分别取角色表和菜单表的主键作为自己的字段,见表49。表4-9角色菜单关联表标识符数据类型长度非空描述主键外键说明MENU_IDNUMBER10Y菜单idYROLE_IDNUMBER10Y菜单名称Y4.3.10商品消费信息表(WEB_SYS_SPEND)该表主要完成网站车需商品销售信息记录。在此表中定义了12个字段来进行车需商品的销售信息存储,见表4-10。表4-10商品消费信息表标识符数据类型长度非空描述主键外键说明SPEND_IDNUMBER10Y消费idYGOODS_COU

39、NTVARCHAR220Y商品数量SPEND_TIMEVARCHAR220Y消费时间GOODS_TOTAL_PRICEVARCHAR220Y商品总价USER_NAMEVARCHAR26Y用户名GOODS_NAMEVARCHAR26N商品名GOODS_TOTALVARCHAR220N商品总数显示SPEND_OTHERVARCHAR220Y其他GOODS_PRICEVARCHAR2Y单价GOODS_IDNUMBER10Y商品idYGOODS_TYPE_IDNUMBER10Y商品类型idYMEMBER_TELVARCHAR211Y会员电话5 详细设计与系统实现5.1 网站总体架构及实现5.1.1网站

40、页面登陆显示此系统对于用户的登录界面设计的比较简单合理,只需登录用户登录注册过的用户名和自己设定的密码即可。以下是用户的登界面显示:图5-1登录页面显示5.2 各部分功能模块的实现5.2.1员工管理模块管理员登录系统后可在员工管理模块对员工信息进行查询、添加、修改、删除等操作。在员工管理模块可根据员工姓名对员工信息进行查询,查询显示如下:图5-2用户管理模块在员工管理模块添加员工信息,添加如下: 图5-3用户添加页面员工信息更改界面显示如下:图5-4员工信息修改页面算法描述如下:车行管理人员登录系统后,点击员工管理,进入员工信息查询页面,输入员工姓名(user_name),将user_name

41、存入session,并根据此员工名加载出此员工的信息,根据员工表与其它表的关联关系,一并查出其它关联表的数据信息,并将数据信息存入List对象中,确定各个List的数据类型,以便供前台JSP页面提取遍历。public void select()throws ExceptionselectList = new ArrayList();/定义一个Select类型的散列表user = userService.selectOne(user_name);/根据员工名查询员工信息id = user.getId();Iterator it = user.getUserManager().iterator()

42、;while(it.hasNext()/定义遍历对象,循环遍历出homework数据Iterator ih = it.next().getSelect().iterator();while(ih.hasNext()Select sl = ih.next();if(sl.getReadOver().equals(no)/将符合条件的值添加到一个列表中if(selectList.add(sl)System.out.println(成功);5.2.2会员管理模块车行管理人员登录系统后可对本店会员信息信息进行查询、添加、修改、删除等操作。在员工管理模块可根据员工姓名对员工信息进行查询,查询显示如下:图

43、5-5会员信息查询页面在此模块中,管理人员可对该店会员进行会员信息的及时修改,以便给客户带来方便,修改显示如下:图5-6会员信息修改页面算法描述:查询算法如员工管理模块,不再赘述。在此SQL语句的拼写,在进行会员查询时,查询条件是用户名不能为空且不能有空格,长度须大于零,拼写如下:public PageBean find(PageBean pageBean,MemberQuery query) String hql = from Member as m where 1=1;if(query!=null)if(query.getMember_name()!=null&query.getMembe

44、r_name().trim().length()0)hql += and m.member_name like %+query.getMember_name().trim()+%;return baseDao.find(hql, pageBean);5.2.3角色管理模块在该模块中,系统管理员(经理)可对角色进行分配,以及查询系统拥有的角色,编辑和删除用户拥有的角色信息,此模块中用户角色分为激活和冻结两种,在该模块中可根据角色名来查询,该模块显示如下:图5-7角色管理页面当然,在此模块中也可对系统的角色进行分配,显示如下:图5-8角色分配页面更新角色中可选择菜单中的任意功能,如注册会员,用户自

45、服务,预约服务等。算法描述:车行人员进入角色管理模块,点击角色查询,继而对角色进行分配时,管理人员可为用户进行“已选择”和“未选择”的用户角色分配,当用户选择消费品记录,消费品记录则由未选择转为已选择,下拉框的交换由JQuery实现。/下拉框交换JQuery$(function() /移到右边 $(#add).click(function() /获取选中的选项,删除并追加给对方 $(#unselectedMenus option:selected).appendTo(#selectedMenus); ); /移到左边 $(#remove).click(function() $(#selecte

46、dMenus option:selected).appendTo(#unselectedMenus); ); /全部移到右边 $(#add_all).click(function() /获取全部的选项,删除并追加给对方 $(#unselectedMenus option).appendTo(#selectedMenus); ); /全部移到左边 $(#remove_all).click(function() $(#selectedMenus option).appendTo(#unselectedMenus); ); /双击选项 $(#unselectedMenus).dblclick(fun

47、ction() /绑定双击事件 /获取全部的选项,删除并追加给对方 $(option:selected,this).appendTo(#selectedMenus); /追加给对方 ); /双击选项 $(#selectedMenus).dblclick(function() $(option:selected,this).appendTo(#unselectedMenus); ););5.2.4预约服务模块在该模块中,可根据会员的电话为会员提供预约服务,但预约人必须为会员,如预约人非会员,可先为预约人注册会员,然后在进行预约服务。也可让客户在网上自行注册会员。预约洗车显示如下:图5-9预约洗车

48、页面保存后显示预约成功!在预约模块,我们可以进行查询预约服务,点击“查询预约”,显示如下:图5-10查询预约页面当我们要为此客户进行洗车时,我们只需点击“服务此客户”即可为该客户提供洗车服务。当客户洗车后需要购买车需用品时,我们可在预约服务模块中点击“结算”,可对车需用品进行购买,购买界面显示如下:图5-11结算页面算法描述:当会员消费完成后,将会涉及到结算服务,当管理人员进入预约服务点击结算时,此时调用结算函数,将以弹出框形式显示结算页面,在结算页面,用户选择消费品名称,如防冻液,输入消费品数量,会员电话,折扣率,卡内现有余额将自动显示。点击结算,将提交form表单,再在接收端进行结算。结算

49、余额=卡内余额-消费品单价消费品数量。部分封装代码如下:private ISpendService spendService;public String jiesuan()if(goods_id!=0)spendService.addSpend(spend,goods_id);elsespendService.addSpend1(spend);System.out.println(member_rel_remain);memberService.updateById(member,member_rel_remain);spendService.updateYuyue(yuyue);this.f

50、lag=tuifang;this.message=结算成功;this.toFolder=main;this.toJsp=message;return SUCCESS;5.2.5商品管理模块在该模块中工作人员可根据商品的名称对商品进行查询,编辑,添加,删除等操作。执行效果如下图:图5-12查询效果图图5-13商品编辑效果图5-14商品删除效果图算法描述:车行工作人员登录后,可点击商品管理模块,对商品信息进行管理,首先,可在此页面对商品信息进行查询,输入用户名,如:防冻液,将在当前页面显示出防冻液的具体信息,如商品名称,价格,状态,消费品单价等。当然管理人员也可在该页面进行商品信息的是修改,如,点击商品右侧编辑,将以弹出框形式显示出商品信息,在此弹出框,管理员可对商品的名称,价格,类型,状态信息进行更改。点击删除亦可删除已下架的商品,删除后将不会有该商品的信息。重要算法皆以描述完,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论