毕业设计(论文)基于java的电商网站的设计与实现_第1页
毕业设计(论文)基于java的电商网站的设计与实现_第2页
毕业设计(论文)基于java的电商网站的设计与实现_第3页
毕业设计(论文)基于java的电商网站的设计与实现_第4页
毕业设计(论文)基于java的电商网站的设计与实现_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

1、盐城师范学院毕业设计基于Java的电商网站的设计与实现摘 要随着移动互联网的迅速发展以及互联网用户数量的爆炸式的增长,电子商务以便捷、安全、经济的特点受到了广大消费者的欢迎。越来越多的企业应用电子商务降低成本提高竞争力。电商网站分为前台模块和后台模块,前台模块包含了商品模块、发布模块和订单模块。商品模块是前台商品的展示,发布模块可以让用户自己发布商品,订单模块是用户可以查看自己的订单。后台模块包含管理员管理模块、焦点图管理模块、订单管理模块、类别管理模块、商品管理模块以及基本信息模块。后台模块主要是对网站前台信息的管理。对于网站商品的查询、抢购,订单的核销、排队、评论功能以及发布的编辑、核销、

2、下架等功能进行详细设计,利用Hibernate创建实体类生成数据表,创建了商品表、商品图片表、发布订单表、订单表、评论表、焦点图表和标签表。网站采用Java为编程语言,使用IDEA进行开发,以MySQL为数据库,使用Tomcat为服务器,页面使用HTML5、CSS与JavaScript脚本语言,主要实现用户可以发布商品、用户可以在线浏览商品、收藏商品、可以选择需要的商品进行购买、查看订单、评论。后台管理系统对用户抢购的订单订单、发布的商品进行管理。经过调试,系统可以正常的运行。电商网站使得消费者购物变的更加的方便,商家的成本也降低很多。商家会更加注重自己产品的质量、服务和消费者的利益。【关键词

3、】Java;电商网站;设计;实现;MySQL盐城师范学院毕业设计Design and implementation of Java-based electricity supplier websiteAbstractWith the rapid development of mobile Internet and the number of Internet users explosive growth of e-commerce with convenient, safe and economic characteristics by the majority of consumers. M

4、ore and more enterprises use e-commerce to reduce costs and improve competitiveness.Powers Web site is divided into front and back office modules module, reception module includes a commodity module, issuing module and line modules. Product module is to demonstrate the foreground of goods, issuing m

5、odule allows users to publish their own merchandise, order module is that users can view their own orders. Module contains background administrator management module, management module focus map, order management module, category management module, merchandise management module and basic information

6、 module. Background module is the management of the reception site information. Check website for merchandise, buy, order verification, queuing, commenting and editing published, verification, shelves and other functions detailed design, create entity classes use Hibernate generate data tables, crea

7、ting the merchandise table, table product images , release the orders table, the orders table, comments, tables, charts, and the focus of the label table. Website using Java programming language, using IDEA developed to MySQL database, using the Tomcat server, the page using HTML5, CSS and JavaScrip

8、t scripting language, the main users can publish product, users can browse merchandise, Favorite, you can choose goods need to make a purchase, view orders, comment. Background management system users buy orders orders release of merchandise management. After debugging, the system can run normally.P

9、owers Web site allows consumers shopping becomes more convenient, cost businesses too much lower. Businesses will pay more attention to the interests of their own product quality, service and consumers.Key words Java; electricity supplier website; design; implement; MySQL目 录1 绪论11.1 设计现状11.2 设计的目的和意

10、义11.3 设计内容及组织结构11.3.1 组织结构22 网站功能模块的分析22.1 网站需求分析22.1.1 网站前台模块22.1.2 网站后台模块32.2 网站开发环境及技术介绍42.2.1 开发工具及环境42.2.2 技术概述42.3 数据库介绍53 网站功能模块的设计53.1 网站前台的设计53.2 网站后台的设计63.3 数据库的设计83.2.1 数据表结构的设计83.2.2 系统数据库连接124 网站界面的设计与实现124.1 前台界面的实现124.1.1商品模块界面的实现124.1.2 发布模块界面的实现204.1.3 订单模块界面的实现234.2 后台管理系统界面的实现274.

11、2.1 管理员管理模块界面的实现294.2.2 焦点图管理模块界面实现294.2.3 订单管理模块界面的实现304.2.4 类别管理模块界面的实现314.2.5 商品管理模块界面的实现324.2.6 基本信息模块界面的实现335 网站功能模块的测试345.1 发布模块测试345.2 下单功能测试355.3 后台功能测试35总 结38参考文献39致 谢401 绪论1.1 设计现状随着Internet的迅速发展、互联网用户爆发式的增长和移动网络的普及,传统行业收到了互联网极大的冲击。Internet改变了人们的生活方式和行为习惯,也改变了许多企业的竞争模式。随着人们对网络的依赖越来越高,越来越多的

12、企业也积极应用电子商务来提高自己的竞争能力。电子商务进入密集创新和扩张发展的新阶段,日益成为拉动我国消费需求、促进传统产业升级、发展现代服务业的重要引擎。目前电子商务依然在快速增长,潜力和前景非常巨大。信息化的快速发展为电子商务奠定了坚实的基础,市场结构也进入加速优化期,电商平台之间开展平台化、开放化战略,企业之间也呈现竞和态势。1.2 设计的目的和意义相对线下商店,电商网站的意义在于也极大的降低商家了成本,而节约的成本商家可以用来提升自己的消费者服务以及售后。而且商家也不需要像传统商店一样需要时刻呆在店铺里。只需要及时收到消费者的订单信息,并进行处理即可,这个可以随时随地的处理。节约了商家很

13、多的时间。而对于消费者来说,因为商家成本的降低,商品的价格会有一定的降低,消费者可以通过更低的价格获取相同的商品,消费者也可以在任何地方任何时间进行下单。这个对于消费者和商家是一个共赢的局面。电子商务网站的目的是为了使得消费者能够快速准确的获取商家的商品信息,商家的信息也更为透彻准确,这使得商家更加注重自己产品的质量及服务,而经营不注重消费者利益的商家将会被淘汰。同时,电商网站极大的扩展了商家的营销渠道。在大数据时代和云时代的到来,信息会更多更准确,电子商务会经历信息全球化的潮流。而随着移动互联网全球的普及,移动互联网的用户也在不断的增长,电子商务的市场只会越来越大。在未来,甚至会出现一大批基

14、于大数据进行精准营销的电商网站。1.3 设计内容及组织结构电子商务是时代所趋,课题选择电子商务网站建设,在实现网站功能的过程中,深入地了解电子商务网站运行的流程,了解电子商务的相关业务,也能熟悉网站的建设,在实现这个设计的过程中,也能锻炼自己的技术,从中找到自己感兴趣的方面,并且也能将以前对电子商务模糊地地方清晰化、熟悉化。1.3.1 组织结构本设计的组织结构如下:1.绪论:本章主要介绍电商网站的现状、目的、意义及应用背景。2.网站功能模块的分析:本章主要进行网站的需求分析、开发工具及技术介绍。3.网站的功能模块设计:本章主要介绍功能模块设计及数据库表的设计。4.网站界面的设计与实现:本章主要

15、介绍网站前台模块和后台模块的界面设计和实现。5.网站功能模块的测试:本章主要介绍前台商品、发布、订单模块、后台商品、订单模块的功能测试。6.总结:本章总结全文。总结该评价系统的功能、难点及解决方案。2 网站功能模块的分析2.1 网站需求分析网站主要是实现用户自己发布商品、可以购买商品、查询商品、查看订单、退单、评论、收藏等功能。可以分为俩大模块,前台和后台俩大模块。在前台可以分为商品模块、发布模块、订单模块。而在后台是对前台的一些主要的信息进行管理,包含管理员管理模块、焦点图管理模块、订单管理模块、类别管理模块、商品管理模块以及基本信息模块。2.1.1 网站前台模块网站前台模块结构图,如图2-

16、1所示,由图中可以看出网站前台的主要模块有商品模块、发布模块以及订单模块:1.商品模块:商品模块需要有商品的查询功能和浏览功能。用户还可以根据自己的定位查询自己周边的商品,用户可以选择不同条件进行筛选商品,在商品详情中还需要能查看商品的详细信息以及商品的评论。2.发布模块:发布模块需要包含核销、下架、排队和编辑功能。用户发布商品之后等待管理员后台审核,审核通过之后其他用户就可以浏览该商品。用户可以在发布模块对其他用户的订单进行核销,对已经发布的商品进行下架,也可以当前商品的排队号,可以编辑已经发布商品的信息。图2-1 网站前台模块结构图3.订单模块:订单模块需要包含核销、取消、评论功能。用户在

17、订单模块中主要功能有对于未支付的订单可以进行取消或者支付,而对于已支付的订单可以进行订单的核销、排队、退单,对于已经消费的订单可以进行评价。 2.1.2 网站后台模块网站后台的功能结构如图2-2所示:图2-2 后台功能结构图由上图中网站后台包含了六个模块:管理员管理模块、焦点图管理模块、订单管理模块、类别管理模块、商品管理模块以及基本信息模块。1.管理员管理模块:管理员管理模块有添加管理员和修改管理员的功能。用来对后台管理员的管理。需要能够禁用或启用管理员、修改管理员信息以及管理员具体权限的配置。2.焦点图管理模块:焦点图管理模块是对网站前台的轮播图进行管理。需要可以添加焦点图片、修改焦点图片

18、、删除焦点图片等操作。3.订单管理模块:订单模块包含订单查询功能。需要可以通过订单状态、下单时间、付款时间、商品名称、订单号等条件进行筛选查询。还需要对于用户的退单能够进行审核。4.类别管理模块:类别管理模块是对商品类别的管理,需要能够添加商品类别,修改商品类别,删除商品类别。5.商品管理模块:商品管理模块有商品查询和商品审核的功能。主要是管理商家发布的商品信息,可以对商家的商品进行审核、下架、置顶等操作。需要能通过商品的分类来查询商品列表。6.基本信息模块:主要配置网站的基本信息,包括关于我们和联系我们信息的管理,可以更改关于我们以及联系我们的信息。2.2 网站开发环境及技术介绍2.2.1

19、开发工具及环境1.网站开发工具:IntelliJ IDEA14.42.数据库:MySQL、Redis3.服务器 :Apache Tomcat7.04.运行环境 :JDK1.7。2.2.2 技术概述IntelliJ IDEA,是Java语言开发的集成环境,尤其在JUnit的完美支持、对重构的优越支持、J2EE支持、版本控制完美支持、完美的自动代码完成、编码辅助、代码检查、智能编辑等方面的功能可以说是超常的。SpringMVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架1,即使用了MVC架构模式的思想,它支持灵活的URL到页面控制器的映射,有非常灵活的数据验证,

20、提供了一套强大的JavaScript库标签,使得JavaScript开发更为简单。Java是由Sun公司发行的一门面向对象语言2。Java有着强大的类库、丰富的解决方案和强大的开源生态使得Java在未来一段时间里也不会被其他语言所取代3。对于初学者来说,Java相对来说简单,容易学习。2.3 数据库介绍MySQL是目前最流行的免费小型关系数据库系统4。因为免费所以受到很多中小型企业的欢迎,虽然MySQL没有Oracle强大和安全,但是可以满足一般企业的使用5。MySQL对Java有很好的支持6。3 网站功能模块的设计3.1 网站前台的设计网站前台主要包含三个大的模块:商品模块、发布模块和订单模

21、块。1.商品模块商品模块主要是展示为主,将用户发布的商品在网站中展示出来,让其他用户可以看见。商品模块有首页和商品列表页面7。首页是展示的一些参与置顶的商品。商品列表页面是展示所有的商品信息。用户也可以根据需要选择条件进行查询商品,还可以通过定位查询自己周边的商品。2.发布模块用户在进入网站之后也可以自己发布商品,点击发布进入发布中心。系统会判断用户是否登录,如果登录了用户进入发布中心可以看见自己已经发布的商品。也可以新发布商品。流程如图3-1所示。在发布中心中用户也可以对自己已经发布的商品进行管理,包括排队、核销、下架、上架、编辑操作。如果商品在发布的时候设置了需要核销,商家可以对消费者的订

22、单进行核销,在核销的时候由消费者提供订单密钥,商家输入消费者的订单密钥核销对应的订单。如果需要排队,商家可以对商品进行当前叫号,当前发号进行设置。对于已经发布的商品信息还可以进行编辑更改操作,可以修改已经发布的商品信息,也可以进行重新竞价下雨排名。新发布的商品状态是待审核,需要管理员后台进行成功才可以让其他用户进行购买。3.订单模块用户进入网站之后可以先进行浏览商品,点击某个商品进入详情页面后可以进行抢购,抢购成功之后进行支付,支付成功之后将会创建订单。订单可以在订单中心中查看。用户下单流程如图3-2所示。图3-1 进入发布中心流程图进入订单中心后可以订单会有不同的状态,不同状态订单的可以对其

23、进行不同的操作。未支付的订单可以对其进行支付、取消操作。已支付未消费的订单可以对其进行排队、核销、退单操作。对于已经消费的订单可以对其进行评价操作。3.2 网站后台的设计网站后台包含管理员管理模块、焦点图管理模块、订单管理模块、类别管理模块、商品管理模块以及基本信息模块。采用了Amaze UI的框架。权限配置使用Apache shiro的权限管理。进入后台管理系统的流程图如图3-3所示,进入后台系统需要先进入登录页面进行登录,输入账号密码,后台会进行验证,验证成功后登录成功,进入后台管理系统。根据管理员的具体权限可以管理不同的模块。1.管理员管理模块管理员模块是展示管理员的信息,名字,角色;管

24、理员可以更改其他管理员的信息和权限。一般最高权限只有超级管理员才能拥有。一般管理员是不可以管理管理员的。超级管理员是可以进行管理员管理的。可以添加管理员、修改管理员、禁用管理员。图3-2 下单流程图图3-3 后台登录流程图2.焦点图模块焦点图模块是对网站轮播图片的管理。管理员进入后台后点击banner管理进入焦点图管理页面,管理员可以上传本地的图片,将图片存放的服务器中,并将图片地址存储在表t_banner中。网站前台首页可以将焦点图展示出来。管理员可以添加焦点图片、更改焦点图片、删除焦点图片。3.订单管理模块订单管理模块是对于用户抢购订单的管理。进入后台管理系统之后,点击菜单的订单管理,查看

25、订单的一个列表,列表中的数据时从t_order中查询的订单信息。可以通过下拉框选择查询条件,或者选择日期,点击搜索可以进行订单的查询。对于退单中的订单,在操作列中可以对其进行退单确认操作。4.类别管理模块类别模块是管理商品分类的模块,进入后台点击商品类目进入页面。商品分为了俩个大类。下面有一级分类和二级分类。一级分类包含美食、娱乐这些大类,二级分类是火锅、烧烤这些小类。属于某一级分类。页面采用二级联动的形式,当选择某个一级分类的时候,二级分类列会自动加载数据。管理员可以对添加分类,修改分类、对分类进行先后排序、删除分类。5.商品管理模块商品管理是对用户发布的商品进行管理和查询。管理员进入后台系

26、统之后点击商品管理进入到商品管理页面。在商品管理列表中的数据是从t_good表中取出来的商品信息数据。管理员可以查看到所有用户已经发布的商品。对于没有审核的商品,管理员需要进行审核;而对于已经审核的商品,管理员可以对其进行下架或者进行置顶。6.基本信息模块基本信息模块包含对关于我们和联系我们信息的配置。使用富文本以便更改信息的格式。管理员进入后台点击关于我们管理,页面里有富文本编辑器,当前关于我们的信息显示在编辑器里,管理员可以在原有基础上进行更改并提交保存。3.3 数据库的设计数据库采用的是MySQL5.5数据库,用的UTF-8编码,数据库命名为hsh。3.2.1 数据表结构的设计本网站主要

27、的表有:商品表,商品图片表,发布订单表,订单表,焦点图表,类别表,评论表,管理员表,标签表、城市表。1.商品表(t_goods)包含的字段有主键、发布者id、地区id、类别id、店家名称、店家地址、经度、纬度、电话、优惠类型、商品原价、抢购价格、活动标题、活动简述、活动小图、活动描述、库存数量、累计销量、库存方式、评分、竞价排名、评论人数、状态、是否支持排队、开始时间、结束时间、发布时间、到店人数、是否公开号码;是否需要核销、核销密码;具体结构如表3-1所示:表3-1 商品表字段名数据类型长度描述idvarchar36主键addressvarchar80商家地址area_idbigint20地

28、区idcategory_idbigint20类别idcustomer_idvarchar36发布者idcommentint20评论人数goods_desctext活动描述endTimedateTime结束时间imgtext活动小图latitudevarchar20经度longitudevarchar20纬度openMobileint1是否公开号码originalPricedouble商品原价passwordvarchar32核销密码ppcdouble竞价pricedouble优惠价pvint11到点人数queueint11是否支持排队saleint11累计销量sketchvarchar255活

29、动简述scoredouble商品评分startTimedateTime活动开始时间statusint11状态stockint11库存stockTypeint11库存类型store_namevarchar30商店名称telvarchar11电话titlevarchar30活动标题addTimedatetime发布时间stockNumint11库存数量isPassint11是否需要核销goods_typeint11商品类型2.商品图片表(t_goods_image)包含的字段有id、商品pk(商品主键)、图片地址、图片描述;具体结构如表3-2所示:表3-2 商品图片表字段名数据类型长度描述idva

30、rchar36主键gidvarchar36商品主键urltext图片urldescvarchar50图片描述3.发布订单表(t_goods_order)包含的字段有id(主键)、用户id、商品id、订单code、支付序列号、状态、订单金额、下单时间、付款时间。具体结构如表3-3所示:表3-3 发布商品订单表字段名数据类型长度描述idvarchar36主键goods_idvarchar36商品主键orderCodevarchar18订单codecustomer_idvarchar36用户idaddTimedateTime下单时间moneydouble订单金额payTimedateTime付款时间

31、serialvarchar36支付序列号statusint11状态4.订单表(t_order)主要包含了主键、用户id、商品id、订单code、订单状态、订单金额、订单密钥、支付序列号、下单时间、付款时间、排队号、退单理由、退单时间。具体结构如表3-4所示:表3-4 订单表字段名数据类型长度描述idvarchar36主键goods_idvarchar36商品主键orderCodevarchar18订单codecustomer_idvarchar36用户idaddTimedateTime下单时间moneydouble订单金额payTimedateTime付款时间serialvarchar36支付

32、序列号statusint11订单状态orderkeyvarchar12订单密钥reasonvarchar80退单理由returnTimedateTime36退单时间queueint11排队号5.焦点图(t_banner)表包含了主键、名称、描述、图片、状态、跳转页面。具体结构如表3-5所示:表3-5 焦点图表字段名数据类型长度描述idvarchar36主键descvarchar36描述imgtext图片urlstatusint11图片状态linktext跳转地址6.类别表(t_category)包含的字段有id、类别名称、上级分类code、分类图片、类目状态、类目code;具体结构如表3-6所

33、示:表3-6 类别表字段名数据类型长度描述idvarchar36主键namevarchar36类别名称imgtext类别图片statusint11类别状态numberint11类别codepidint11上级类别code7.评论表(t_comment)包含的字段有id、商品pk、订单pk、星级、评论内容、评论时间。具体如表3-7所示:表3-7 评论表字段名数据类型长度描述idvarchar36主键gidvarchar36商品pkoidvarchar36订单pkstarint11星级contentvarchar200评论内容timedateTime评论时间8.标签表(t_biaoqian)包含的

34、字段有id、商品pk、标签id、标签内容、标签数。具体如表3-8所示:表3-8 标签表字段名数据类型长度描述idvarchar36主键gidvarchar36商品pklidvarchar36标签idcontentvarchar200标签内容countint11标签数量9.城市表(t_city)包含的字段有id、城市名称、城市code、上级城市id。具体结构如表3-9所示:表3-9 城市表字段名数据类型长度描述idvarchar36主键city_namevarchar36城市名称city_codeint11城市codepidint11上级城市code3.2.2 系统数据库连接数据库连接采用了al

35、ibaba的druidDataSource数据库连接池8,druidDataSource是alibaba的开源数据库连接池,它支持所有JDBC兼容的数据库,包括Oracle、MySQL、SQL Server、Postgresql、Derby等等,而且druid针对oracle与MySQL做的优化,同时druid有很多的优点,稳定、高效率、可扩展、可以监控、可以动态配置并且能防止SQL注入9;在Spring中配置druid与传统的数据库连接池DBCP、C3P0等的配置基本相同。首先通过Spring读取数据库配置文件,获取到基本的数据库的信息。然后通过Spring配置文件配置数据库连接池,设置基本

36、属性包括数据库连接地址、账号密码、连接池初始大小以及最大最小连接数10。超时时间设置。因为网站用了Hibernate作为持久层框架,还需要配置事务。在Spring中为service层配置事务11。关键代码如下: 以上代码是为service中的load、get开头的方法开启事务,并且配置了只读属性。以这俩个单词开头的方法不能执行数据库的更新、写入操作,只可以进行读取。4 网站界面的设计与实现4.1 前台界面的实现4.1.1商品模块界面的实现商品模块的主要实现的功能是用户在进入网站之后可以浏览到商品、搜索商品、查看自己周边的商品、查看商品详情、查看评论、收藏商品等功能9。商品模块包括了网站首页、地

37、图页面、分类页面、商品列表页面以及商品详情页面。1.网站首页网站首页也展示了置顶的商品,只有参与竞价的商品才能在首页展示出来,在首页可以通过商家名称或者分类进行查询商品。在首页右上角可以进入地图页面查询在自己附近的商家。网站首页如图4-1所示:图4-1 网站首页图首页的坐上角可以进行城市切换,每一次切换城市都会通过城市id请求后台查询选择城市的商品列表。关键代码如下: StringBuffer hql = new StringBuffer(from Goods where status = 1 and isTop = 1 ); hql.append( and (aid in(select id

38、 from Area where pid = ?) or aid = ?); String title_ = ; if (null != title) hql.append( and title like ?); title_ = % + title + %; hql.append( order by ppc desc, startTime desc); Page pageGoods = this.getEntities(pageIndex, pageSize, hql.toString(), new Objectaid, aid, title_);以上代码是到层中的方法首页查询商品的功能最终

39、是由这个方法实现的,在首页中文本框中输入商家名称或者切换城市也可以通过这个方法进行查询。banner图片可以有后台添加和管理。点击banner图片可以跳转到设置好的url地址。商品列表中商品显示了商品的活动标题、活动简述、已抢数量、剩余数量、累计销量、还有优惠类型以及是否支持排队。2.地图页面地图页面的实现的主要功能用户可以通过进行查询周边的商家,并可以进行条件筛选。地图界面页面如图4-2所示:图4-2 地图界面地图中红色的地标就是其他用户发布的商品的商家所在地点,这个是从后台获取的商品信息,通过经纬度定位到地图上,点击定位到的点时,会弹出这个窗口,显示,此方法就是调用百度地图api初始化地图

40、的方法并定位到用户当前的位置获取经纬度,根据这个经纬度去后台查询在周边的商家。当查询商家接口返回数据后,可以获取到商家的经纬度。for(var i=0;idata_info.length;i+) var marker = new BMap.Marker(new BMap.Point(data_infoi0,data_infoi1); / 创建标注 var content = data_infoi2; map.addOverlay(marker); / 将标注添加到地图中 addClickHandler(content,marker);通过以上代码实将商家的标注添加到地图中。当用户点开某个商家的

41、信息会跳转到导航页面,调用百度地图的api获取总用户当前位置到商家位置线路。3.分类页面从首页或者其他页面点击分类可以跳转带分类页面,分类页面展示了商品的所有分类,用户可以选择商品的分类查看商品列表,商品的分类可以在后台进行管理,分类页面如图4-3所示:图4-3 分类页面分类页面用户主要可以选择自己想查询的商品的分类,获取这些分类信息主要通过一个工具类实现的,代码如下:public static void reInitCategories() ICategoryService categoryService = SpringContent.getBean(categoryService); L

42、ist list = categoryService.getAllEntities(number,true); categories = new ArrayList(); categoriesMap = new HashMapLong, List(); categoryMap = new HashMap(); for(Category c:list) if(HuiStaticVariable.CATEGORY_STATUS.NORMAL.equals(c.getStatus() Long pid = c.getPid(); Long id = c.getId(); List l = categ

43、oriesMap.get(pid); l.add(c); categoriesMap.put(pid,l); categoryMap.put(id,c); 工具类的方法可以变量都是静态的,在项目启动的时候这些方法会执行一遍。获取的数据会存在缓存里。在前端调用的时候只会调用缓存中的数据。缓存对于那种不经常变动且调用频繁的数据使用。这样也大大提高了效率,不需要再请求数据库,节约了很多时间。4.商品列表页面在分类页面选择某个分类之后会进入商品列表页面,商品列表页面展示的是当前城市所有商家发布的商品,按照竞价进行排序的。在商品列表页面用户可以选择不同的筛选条件进行查询,后台接受到用户选择的条件后,拼接

44、出符合用户需求的SQL语句,去连接数据库进行查询。商品列表页面如图4-4所示。商品列表中的商品信息与首页中商品信息一致,这个页面的主要功能就是查询,可以根据价格的升序和降序、发布日期的升序与降序、评分的高低、剩余量的升序降序、城市、关键词进行搜索。在文本框中输入关键词,匹配的数据就可以显示图4-4 商品列表页面出来。这个功能实现的主要代码如下: Page pageGoods = goodsService.getByCateIdAid(cateId, aid, price, startTime, score, stock, pageIndex, pageSize, title); List li

45、st = pageGoods.getResult(); List listPojo = new ArrayList(); for (Goods goods : list) listPojo.add(new TopGoodsPojo(goods.getId(), goods.getTitle(), goods.getSketch(), goods.getImg(), goods.getQueue(), goods.getStatus(), goods.getSale(), goods.getStock(),goods.getTotal(), goods.getType(),goods.getIs

46、Pass(),goods.getReview(); Page page = new Page(pageGoods.getPageIndex(),pageGoods.getPageSize(),pageGoods.getEntityAmount(); page.setResult(listPojo);以上方法是查询按钮调用的接口。aid是地区id,cateId是类别id,price是价格排序标志(1:降序,0是升序),startTime是发布时间标志(1:降序,0是默认升序),stock是剩余数量(1:降序,0是升序),padeIndex是当前页数,PageSize是一页包含的数量。Title是

47、查询的关键词。更多的判断是在dao层中处理的。5.商品详情页面用户在商品列表页面选择某个商品之后变回进入商品详情页面,商品详情页面展示商品的详细信息,商品详情页面如图4-5所示:图4-5 商品详情页面商品详情页面主要信息有商品图片、活动标题,简述、详述、标签、评分、销量、店家地址、电话、价格。用户可以点击右上角的五角星进行收藏商品或者取消商品。橙色的代表已收藏。如果商品还有库存那么用户就可以进行抢购。在详情页面可以点击评论跳转到评论页面查看该商品的评论信息。如果商家公开电话的话,那么用户可以点击电话拨打商家电话。点击商家地址回调转到导航页面。立即抢购就会创建订单。在立即抢购的时候首先需要验证用

48、户是否登录,如果登录就会跳转到支付页面,如果没有登录那么就会跳转到登录页面,用户登录玩之后会自动跳转回来。实现立即抢购创建订单的关键代码如下: Order order = new Order(); order.setGid(gid); order.setCid(cid); order.setSid(sp.get(0).getId(); order.setMoney(money); order.setAddTime(new Date(); order.setStatus(HStaticVariable.ORDER_STATUS.HSINGLE); order.setType(HStaticVar

49、iable.ORDER_TYPE.HSH); /获取orderCode String orderCode = OrderCodeUtils.getOrderCode(flag); order.setOrderCode(orderCode); orderDao.saveEntity(order); /订单存在,更新goods销售情况 Goods goods = goodsDao.getEntity(gid); goods.setSale(goods.getSale()+1); goods.setTotal(goods.getTotal()+1); if(goods.getStock() 0) g

50、oods.setStock(goods.getStock()-1); goodsDao.updateEntity(goods); 此方法是对用户抢购商品的验证。验证通过创建一个订单,等待用户进行支付前太页面也会跳转到支付页面。用户点击支付的时候后台会判断用户的账户余额是否足够,余额足够便会进行扣款和支付成功。支付成功之后会跳转到抢购成功页面。抢购成功页面如图4-6所示。每个订单会生成一个订单密钥。订单密钥是用来核销订单的。订单密钥的生成方法如下代码:/* 生成序列号 */订单是抢购单/生成订单密钥String num = ;String str = ;Random rm = new Rando

51、m();for(int i = 0; i 3; i+) num = num +(rm.nextInt(10); str = str +(char)(Math.random()*26+A);订单密钥是一个随机的6位字符,由前3位数字后3位字母组成的。用户需要消费是,需要向商家提供次订单密钥由商家进行核销10。商家核销功能在后面会做说明。还有可以让商家提供商家的核销密码可以由用户在订单中心输入商家核销密钥自己进行核销。这个在订单中心模块也会有说明。图4-6 抢购成功页面4.1.2 发布模块界面的实现网站还有另外一个重要的功能,用户可以自己发布自己的商品。可以对自己已经发布的商品进行操作,上架、核销、编辑、设置管理员、叫号、查看评论、删除评论、下架这些功能。在商家发布页面中用户可以查看到自己已经发布的商品。商家发布中心页面如图4-7所示。发布模块包含了核销页面、排队功能、发布功能以及编辑功能。1.核销页面核销功能是针对需要核销的商品的功能,用户消费时对用户的订单好进行核销。在核销页面中可以输入用户的订单密钥进行核销。订单密钥列表是已经抢购成功并且订单状态为101(已支付)的订单的密钥,可以直接在订单密钥后面进行核销,核销的时候后台会接收到商家输入的订单密钥,通过订单密钥去订单

温馨提示

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

评论

0/150

提交评论