视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
服装销售系统的设计与实现【毕业作品】
2025-09-29 17:00:50 责编:小OO
文档
BI YE SHE JI

服装销售系统的设计与实现

所在学院                             

专业班级          软件工程           

学生姓名            学号             

指导教师            职称             

完成日期           年       月       

服装销售系统的设计与实现

摘  要

伴随着目前互联网的飞速的发展,人们的生活方式呢也随之发生了非常大的变化。随着电子商务不断被众人所接受,网上服装销售作呢是作为电子商务的一种形式正在以它高效率,低成本,低消耗的优势,逐步成为一种新的经营模式和经营理念。人们可以便捷的通过网络来实现网上线上购物,不去实体店也能够买到逞心如意的服饰。越来越多的企业提供网上销售的功能,吸引了越来越多的网消费者,同时还给给企业降低了与实体店相比的各种经营成本,带来更大的收益。

本系统是一个基于B/S模式构建的一个服装销售系统。本系统在技术实现上采用了目前较为火热的J2EE技术和JSP技术和Spring框架和MyBatis框架以及PHP史最快的框架Phalcon框架等技术。系统主要功能有游客商品的浏览,检索,分类查询,前台用户注册和登录操作、浏览商品操作、商品检索操作、购物车操作以及订单管理操作和个人信息管理操作等,后台会员管理、商品分类管理、字典管理、上传商品、上下架商品、订单管理。本系统采用开源而且免费的MySQL5.6数据库来管理服装销售系统的数据。 

关键词:网上销售购物商城;服装销售系统;JSP技术;Spring框架;MyBatis框架;Phalcon框架

The design and implementation of clothing sales system

Abstract

Along with the rapid development of the Internet, people's way of life has also been a very big change. Along with the electronic commerce has been accepted by all, online clothing sales is as a form of e-commerce is with its high efficiency, low cost, the advantages of low consumption, and gradually become a new business model and business philosophy. People can easily through the Internet to achieve online online shopping, also can go to the store to buy clothes not feel fully satisfied. More and more enterprises to provide online sales function, has attracted more and more network consumers, while also to the enterprise to reduce the operating costs compared with the physical store, bring more revenue.

The system is based on a B/S model to build a clothing sales system. The system in the technical realization of the current more fiery J2EE technology and JSP technology and Spring framework and MyBatis framework and PHP history of the fastest framework Phalcon framework and other technologies. The main functions of this system include tourist commodity browsing, retrieval, query classification, the onstage user registration and login operation, browse merchandise operation, commodity retrieval operation, shopping cart and order management operation and personal information management operation, and membership management background, the classification of goods tube, dictionary management, upload commercial, off the shelf products, order management. This system uses the open source and free MySQL5.6 database to manage the data of the clothing sales system.

Keywords: online shopping mall sales; clothing sales system; JSP technology; Spring framework; MyBatis framework; Phalcon framework.

第一章 绪论

1.1论文研究的目的和意义

众所周知,当下服装销售系统已经发展的很成熟了,在世界上有着不可以阻挡的迅速发展流行势头,而因特网的发展呢也成为促进了网商的经济的繁荣,在这样的大潮流中,服装销售系统的设计与已实现逐步走向历史的舞台。而基于web的服装销售系统的这种设计和发展方式必将是一种不可逆的潮流,被众人所接受,所喜爱,成为电子商务系统发展的路标和指明灯。电商本身作为一种改变人们生活方式的发展模式,它与互联网相结合之后,发展更加迅猛,使得人们更加简单简易不分时间、地点的在网上商城中浏览自己所需要的商品。也大大降低了物质交换的成本,通过网络进行购物的服装销售系统。越来越多的消费者希望能通过网上购物来替代去实体商场去购物,这种消费的方式,不仅仅使得消费者有更多的选择,更重要的是消费者可以更加方便快捷在互联消费。同时采用这种方式可以有效地控制“商场”的运营成本,比实体商城的运营成本减少了很多,开辟一中新鲜的营销模式。

本文从服装销售系统架构的角度,基于目前非常流行的J2EE技术、MVC架构、Spring架构以及Phalcon等框架技术,设计一个网上购物商城的系统,在毕业设计中有现实的应用价值。

1.2本文的主要目标

设计本系统的主要目标,就是实现商家通过网络传发布商品,用户浏览网站来进行网上服装交易,实现管理员对商品信息的管理和系统用户以及对其用户的管理,除此之外,还有管理员对系统的设置和维护工作。

设计出的服装销售系统的优势在于用户不需要去实物店或者商城就能够购买到自己心仪的服装,能够使用户根据自己需求分类检索商品,或者模糊查找,提高用户寻找商品的效率,从而促进商品的交易率,也方便了用户出门难的问题。

1.3论文的组织结构 

通过对服装销售系统的设计与实现,将论文的组织结构分为以下五章内容。

第一章为绪论,主要描述了论文的研究目的和意义,系统要实现的主要目标以及论文的组织结构。

第二章为相关技术,介绍了在本系统开发过程中使用到的工具和开发语言以及相关技术。

第三章为需求分析,主要分析了系统的功能需求、非功能需求,以及对系统的可行性方面的分析,从而体现开发此系统价值。

第四章为系统设计,主要根据需求分析,论述了开发此系统的设计思想,系统的总体结构设计、系统各个模块的功能结构的设计以和系统的数据库的设计。

第五章为系统的实现,主要是对整个系统功能实现的界面展示,主要义务代码的展现,并介绍每个界面所实现了哪些功能。

论文最后为结束语,致谢和参考文献以及诚信承诺书。

第二章 相关技术

2.1 开发工具

本系统的开发工具一,MyEclipse 10,是Java开发的主流工具,是J2EE集成开发环境,支持HTML,CSS,JavaScript,Spring,Spring MVC,JSP,SQL,MyBatis。MyEclipse 10对开发周期管理以及对 Spring 和 MyBatis 的更好支持,同时强大的代码提示功能还提升开发发速度。

本系统的开发工具二,Phpstorm2016.1是一个轻量级且便捷的PHP IDE,其旨在提供用户效率,可深刻理解用户的编码,提供智能代码补全,快速导航以及即时错误检查。其功能十分丰富,PHP集成开发环境,支持HTML, Phalcon、JavaScript、CSS等,该工具启动速度快,完美的代码提示功能,优雅的界面风格,提供自动保存功能,不用担心电脑突然断点代码为保存。

2.2 网站开发语言Java、PHP介绍

Java语言是一种可以编写跨平台应用程序的面向对象的程序设计语言。Java语言拥有极强的通用性,平台一移植性,安全性,随处的都可以见到Java的影子,广泛用在数据库开发,游戏开发,科学超级计算机、移动app、硬件植入程序和互联网的开发。是一种很很热门的计算机语言,发展历史较短,拥有全球最大的开发者专业群。Java程序可以支持智能消费型电子产品的开发,各种应用程序的开发包括个人应用程序和企业级的应用程序,尤其是网络程序的开发。之所以用Java语言开发是因为Java语言编写程序比较严谨,每次修改代码需编译后方可执行,而且调试花费的时间也相对较短。

PHP语言,PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。它的语法风格吸收了C语言、Java和Perl的特点,利于学习和使用,主要适用于Web网站开发的领域。PHP独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快,并且PHP无须编译即可直接运行,深受广发web开发者的喜爱。

2.3 框架Spring、MyBatis、Phalcon介绍

Spring、MyBatis是基于Java的开源框架,是目前比较流行的一种Java web应用程序的开源框架。

Phalcon则是开源的、全功能栈的、使用C扩展编写的,针对高性能优化的PHP 5 框架,是一套实现MVC架构的高性能PHP应用程序框架。集数据库对象操作与一身的PHP框架,称作世上最快的PHP框架

2.3.1 Spring轻量级架构

Spring有分层的体系结构,也就是说你可以选择只使用它的任何一个的部分,而其他的仍然使用相关的实现。侧重于减小开发的复杂度,相应的处理能力就有所减弱,比较适合于中小型企业应用,使用Spring构建的应用程序易于单元测试,Spring提供一些web应用上的EJB的替代方案,为数据存取提供了一个一致的框架。

2.3.2 MyBatis框架

之所以使用MyBatis框架第一是因为它对JDBC访问数据库的代码做了封装,大大的简化了数据库访问层烦琐的重复性代码。第二提供的持久层框架包括SQL Maps和Data Access Objects(DAO)。MyBatis的性能非常好,使用非常灵活,因为它不仅仅是一款开源的免费框架,而且一样都是轻量级框架,支持各种关系数据库。

2.3.3 Phalcon框架

Phalcon是一套实现了MVC架构的超高性能的PHP应用程序框架。初始版本发布于2012年11月,开放源代码并基于BSD授权条款。与其他大部分的PHP框架不同,Phalcon是以扩充的方式以C语言所编写,因此Phalcon的执行速度高过其他PHP框架,并且消耗更少的资源,根据官方的测试,Phalcon是目前世界上速度最快的PHP框架, 没有之一。

2.4 JSP介绍

JSP(Java Server Pages),学习过软件开发的学生都很熟悉的这个Java服务器语言他简化了Servlet的开发设计是由血多公司参与开发设计的一门动态网页技术标准,它可以在网页文件里插入了程序片段和html标记,经过编译,从而形成Servlet类。Java web程序选择它的原因是用它开发的应用是跨平台,开发后可以在不同的平台中运行,其次有一个非常方便之处是我们常使用它的原因是它的所有对程序的操做都是统一在服务器端执行,最后返回执行后的html静态结果页面,而客户端上的只是服务端生成的html文件结果。

2.5 数据库MySQL5.6介绍

    窗体顶端

MySQL广大开发者所使用的一种开源关系型数据库系统,在本系统设计中采用的是MySQL5.6,MySQL数据库系统是使用使用最频乏的数据库管理语言,结构化数据库查询语言(SQL)进行数据库的管理。

除此之外 MySQL5.6 还结合了分析、报表、集成和通知的功能。还可以紫东苑函数,存储过程,方便不同需求下的定义,使任何一家企业可以构建和部署经济有效的 BI 解决方案,帮助企业的团队Dashboard、Web services 和移动设备将数据应用推向业务的各个领域。

第三章 需求分析

3.1系统的需求概述

所谓需求分析就是分析系统的用户的需求是都有哪些。简单的说,需求就是承述系统必须要实现的功能或者系统必需具备的特征或能力,需求从本质上可以分为功能需求和非功能需求。

3.2系统的功能需求

系统的功能需求与系统必须执行的过程或必须含有的功能或者包含的信息直接的关系。在本系统中,功能需求有一下几点,前台用户注册,用户账号激活,登陆,用户信息管理(修改基本信息,修改密码,上传头像),商品信息浏览,分页查询,模糊搜索,分类检索,添加到购物车,商品购买,商品评价,后台商品分类管理(添加,修改,删除),字典管理(尺寸,颜色),上传商品,上架商品,下架商品,删除商品,用户管理(修改,查询,密码重置),管理员管理,订单管理,导出订单,发货管理。

3.3 系统的非功能性需求

非功能需求是指系统依据某些条件系统运作情形或其特征性,而不是系统必须拥有的行为或属性。它解决了如何使这个系统在实际运行环境中的运行。非功能需求主要应用于设计阶段。本系统的非功能需求可分为系统的性能需求,安全性需求,易用性需求,可靠性需求,有效性需求。

性能需求,用户在使用软件时的响应速度要快、系统资源消耗要低、结果精准度要高。

安全性,用户在注册、授权控制、商品购买、用户隐私等方面的的安全保障。权限不足的用户访问不能访问的资源时,具备防盗链能力。

易用性,用户操作界面的简洁大方,易于操作,用户使用手册。

可靠性,用户在使用系统的过程中失效的频率不得太高,严重损坏之后容易恢复。

有效性,当用户访问不存在的资源时,系统要能够处理这种请求。

3.4 系统的可行性分析

如今的在市场竞争日益激烈,信息划管理已成为企业赖以提升竞争力的重要手段。同时,我国服装企业决策者往往集管理者、执行者等多种身份于一身,不利于信息的整体把握和及时处理。长时间以来,中型服装公司一直采用手工管理方式经营,原材料采购、提货、进货、下单、货物入库和核算的信息管理存在工作量大、服务质量差、工作效率低、耗费人员,客户意见不能及时反馈,客户满意度低等问题。为了改善生产销售管理的落后局面,所以基于web的服装销售系统的建设,可以提高工作效率、加快信息反馈、提高服务质量、增强竞争实力有着重大意义。

3.4.1 经济可行性

开发本系统的好处在于它极大的减轻了工作人员的工作量,减少人力资源的浪费,并且还提高了工作人员的工作效率,节约了大量的人力物力和财力。因此在经济上是可行的。  

现实生活中,大部分人忙于工作,生活压力,甚至都没时间给自己置办一身服饰,而本系统能为他们带来便捷,他们无须在商城中左挑右选,浪费宝贵的时间,他们可以利用工作的额外时间进行网上选购商品。经过调查发现上班族中,大部分人都喜爱网购,所以经济上也是可行的。  

3.4.2 技术可行性

技术可行性主要是技术风险分析,技术是否能够做到,开发本系统前台功能是在MyEclipse开发工具下完成开发的,前台功能主要利用网站开发语言Java进行编程。商品后台管理部分功能主要使用PHP语言,PHP作为服务器端的脚本语言,支持在线编程,无须编译即可运行,可大大缩短开发周期,并且使用当下称最快的PHP框架即Phalcon,后台数据库采用MySQL5.6,是一种开放源代码的关系型数据库管理系统,在性能支持以及接口上,相比其他数据库要更加适合中小型系统网站。继而,该系统在技术上是可行的。   

第四章 系统设计

4.1系统设计思想

系统的设计思想是首先要建立一个完善的网络体系结构,从而对系统整体的开发构成一个良好的开端。从而有一个正确的设计思想,正确合理的选择开发工具与环境去构成一个网络体系结构,充分发挥基于web的服装销售系统的优势。

在此系统的设计中利用了网络软件、硬件提供的各种安全措施,在明确了系统的各个功能设计的基础上,具有有效性即有用性和可用性以及比较高的安全性和先进性。本系统使用Java、PHP开发语言进行前台及后台功能的开发,使用MySQL5.6数据库作为网站后台数据库。,可维护性,主要维护方面包括软件的及时更新与更改,以及硬件环境的配置等,最后是系统的发布、部署。

4.2系统总体结构设计

前台游客,进入系统首页,浏览商品,检索商品以及分类查询服装信息。当游客选中喜爱的服装之后,若想要购买或者添加购物或者收藏,需先登陆系统,没有账户,先注册,用户注册完(或者登陆)之后,可进入系统首页,选择洗好的商品进行添加购物车或者下单购买。游客成为系统会员之后,可以在用户中心进行用户基本信息的修改,可以添加收货地址,修改收货地址。当用户想要给商品发布评论时,先检查用户是否登陆,若登陆了,在检查用户是否购买过此商品,若购买过此商品,则用户可以参与商品的评价。

后台系统管理,管理员登陆后台系统,可以对普通用户进行管理,添加商品分类、修改商品分类、删除商品分类,商品字典管理,包括尺寸、颜色的增删改查,添加商品,上下架商品,查看商品,商品状态,导出用户订单,发货,管理普通用户,添加管理员,删除管理员,修改管理员。

4.2.1 游客模块的设计

游客访问系统时,进入商城首页,浏览商品信息,检索商品,服装分类查询,可以注册成为系统的普通用户。

游客功能模块图,如图4-1。

图4-1 游客功能模块图

4.2.2 普通用户模块的设计

普通用户模块设计主要是新用户的注册和登录,普通个人信息以及密码的修改,商品浏览,添加购物车,商品评价,产生订单。

1)注册,未使用过本系统的用户第一次使用前需要注册,填写个人信息注册成功后即可。

2)登录,注册成功后填写用户名和密码点击登录按钮进入普通用户界面。

3)商品浏览,普通用户可以在浏览商品信息,查看商品详情。

4)添加购物车,普通用户可以将自己喜爱的商品添加到购物车。

5)个人信息,用户个人信息以及密码的修改。

6)商品评价,用户购买过的商品可以参与商品评价。

7)购买商品,用户选择商品后下单,货到付款的方式,即可生成订单。

8)订单追踪,查看订单的发货状态。

普通用户功能模块图如图4-2。

图4-2 普通用户功能模块图

4.2.3 后台管理模块的设计

后台管理模块的设计主要是后台登陆,普通用户管理,重置用户密码,商品分类,商品字典管理,包括尺寸、颜色,添加商品,上下架商品,查看商品,商品状态,导出用户订单,发货,添加管理员,删除管理员,修改管理员。

1)登录,后台管理员填写用户名和密码点击登录进入本系统。

2)普通用户管理,实现管理员分页查看用户列表,重置用户密码,查看用户状态

3)个人信息,个人资料的修改或修改密码。

4)商品分类,对商品分类的添加,修改,删除。

5)字典管理,商品颜色的增、删、改、查,商品尺寸的增、删、改、查。

6)商品管理,添加商品基本信息,上传商品图册,修改商品基本信息、商品图册、商品介绍,删除商品以及商品相关的图片文件。

7)商品评价,查看商品评价信息。

8)订单管理,查看订单状态,导出订单,发货。

9)管理员管理,添加普通管理员,修改普通管理员信息

后台管理功能模块图如图4-3。

图4-3 后台管理员功能结构图

4.3 系统用户的功能设计

4.3.1 游客的功能设计

1)浏览商品列表,游客进入系统后,可以分页浏览商品列表信息。

2)检索商品,游客可以模糊搜索商品。

3)分类查询商品,游客选择商品类别查询同类别商品信息。

4)查看商品详情,查看商品的详细信息,包括商品名称、市场价与商城价、商品图文、商品评价。

5)注册系统,游客可以通过注册,成为本系统会员。

4.3.2 普通用户功能设计

1)登陆

   注册成功后填写用户名和密码点击登录按钮进入普通用户界面。

2)商品浏览

   普通用户可以在浏览商品信息,查看商品详情。

3)添加购物车

      普通用户可以将自己喜爱的商品添加到购物车。

4)个人信息

   用户个人信息以及密码的修改,上传头像。

5)商品评价

   用户购买过的商品可以参与商品评价

6)购买商品

   用户选择商品后下单,选择付款方式,货到付款的方式,即可生成订单

7)订单追踪

   追踪订单状态,查看订单是否发货。

4.3.3 管理员用户功能设计

1)后台登陆

   后台管理员填写用户名和密码点击登录进入本系统后台。

2)普通用户管理

   实现分页查看普通用户用户列表,重置用户密码,查看用户是否激活状态。

3)个人信息

   用户个人信息以及密码的修改,上传头像。

4)商品分类管理

   对商品分类的添加,修改,删除。

5)字典管理

   商品颜色的增、删、改、查,商品尺寸的增、删、改、查。

6)商品管理

   添加商品基本信息,上传商品图册,修改商品基本信息、商品图册、商品介绍,删除商品以及商品相关的图片文件

7)商品评价

   查看商品评价信息

8)订单管理

   查看订单状态,导出订单,发货

9)普通管理员管理

   添加普通管理员,修改普通管理员信息

4.4 数据库设计

4.4.1 数据库的概念结构设计    

基于web的服装销售系统E-R图如下,图4-6。

  图4-4 系统功能模块E-R图

4.4.2 数据库的逻辑结构设计

系统的数据库表如下:                  

admin管理员表,如图4-5。

图 4-5 admin管理员表

address用户收货地址表,如图4-6。

表4-6 用户收货地址表

album商品图册表,如图4-7。

表4-7 商品图册表

brand商品品牌表,如图4-8。

表4-8 商品品牌表

cart购物车表,如图4-9。

表4-9 购物车表

color商品颜色表,如图4-10。

表4-10 商品颜色表

size商品尺寸表,如图4-11。

表4-11 商品尺寸表

goods商品表,如图4-12。

表4-12 商品表

goods_color商品颜色关联表,如图4-13。

表4-13 商品颜色关联表

goods_size商品尺寸关联表,如图4-14。

表4-14 商品尺寸关联表

goods_type商品分类表,如图4-15。

表4-15 商品分类表

order订单表,如图4-16。

表4-16 订单表

users普通用户表,如图4-17。

表4-17 普通用户表

第五章 系统实现

5.1 游客功能实现

下面的系统截图是游客进入到系统所见的首页界面,首页有商品大图展示,热销商品,商品分类列表,商品分类检索,商品检索,用户注册登陆等,如图5-1。

图5-1 商城首页图功能截图

执行流程图:

 1. 用户向服务器发送请求/index/toImdex.res,请求被Spring 前端控制ServeltDispatcherServlet捕获;

2. DispatcherServlet对请求URL进行解析,得到请求资源标识符(URI)。

3. DispatcherServlet 根据获得的Handler,选择一个合适的HandlerAdapter。

4. 提取Request中的模型数据,填充Handler入参,开始执行Handler(Controller)。

5.  Handler执行完成后,向DispatcherServlet 返回一个ModelAndView对象;

6.  根据返回的ModelAndView,选择一个适合的ViewResolver(必须是已经注册到Spring容器中的ViewResolver)返回给DispatcherServlet ;

7. ViewResolver 结合Model和View,来渲染视图

8. 将渲染结果返回给客户端。

首页IndexController控制器toIndex代码如下:

@RequestMapping("/toIndex")

public String toIndex(HttpServletRequest request, Model model){

// 获取请求中的参数

        String sizeStr = request.getParameter("pageSize"); // 分页 页大小

        String currStr = request.getParameter("current");  // 当前页

// 初始化一个 Page对象

        Page page = new Page();

       if ( sizeStr != null ) 

page.setPageSize(Integer.parseInt(sizeStr));        

else 

page.setPageSize(12);

       if ( currStr != null )                                  

page.setCurrent(Integer.parseInt(currStr));

       else 

page.setCurrent(1);

       int count = dao.countGoodsItemd();

page.setCount(count);

        page.setItems(dao.goodsList(page));

List isHost = dao.isHostGoodsList(10);

List goodsTypes = typeDao.twoLevelType(1);

// 取二级商品分类, 需存入session

List types = new ArrayList();

        if (goodsTypes.size() > 0) {

            for (GoodsType gt : goodsTypes) {

                gt.setChildren(typeDao.twoLevelType(gt.getId()));

types.add(gt);

            }

        }

        model.addAttribute("types", types);

        model.addAttribute("page", page);

        model.addAttribute("isHost", isHost);

        

        return "index";

}

工具类Page代码:

public class Page {

    private Integer     pageSize;  // 每页大小

    private Integer     begin;     // 开始

    private Integer     current;   // 当前页

    private Integer     total_page;// 总页数

private List items; // 分页结果集

    private String      value;     // 模糊搜索商品名称

    private int         typeId;    // 分类查询分类Id

    private Integer     count;     // 总记录数

    // 计算分页开始位置

    public Integer getBegin() {

        this.begin = (this.current-1)*this.pageSize;

        return begin;

    }

    // 计算总页数

    public Integer getTotal_page() {

        if ( this.count%this.pageSize == 0 ) 

            this.total_page = this.count/this.pageSize;

        else 

            this.total_page = this.count/this.pageSize+1;

        

        return total_page;

    }

}

数据模型层dao代码:

@ScanDao

public interface GoodsMapperDao {

    // 统计商品数量

    public int countGoodsItemd();

    // 查询所有商品,按时间排序

public List goodsList(Page page);

    

    // 热销商品  前num项

public List isHostGoodsList(Integer num);

    

    // 获取商品分类

public List twoLevelType(Integer parentId);

Mapper.xml:

        SELECT * FROM goods WHERE isShow=1 AND isHost=1 

                           ORDER BY createTime DESC LIMIT #{num }

        SELECT * FROM goods WHERE isShow=1 AND isHost=1 

ORDER BY createTime DESC LIMIT #{num }

        SELECT * FROM goods WHERE isShow=1 ORDER BY createTime DESC 

LIMIT #{begin }, #{pageSize }

        SELECT COUNT(*) AS count FROM goods WHERE isShow=1

游客根据服装的名称模糊搜索服装,如图5-2。

图5-2 服装模糊搜索功能截图

商品检索功能主要业务代码:

@RequestMapping("/search")

public String search(HttpServletRequest request, Model model){

        String gName = request.getParameter("goodsName");

        String sizeStr = request.getParameter("pageSize");

        String currStr = request.getParameter("current");

        Page page = new Page();

        if ( sizeStr != null ) 

            page.setPageSize(Integer.parseInt(sizeStr)); 

        else 

            page.setPageSize(12);

        if ( currStr != null ) 

            page.setCurrent(Integer.parseInt(currStr));

        else 

            page.setCurrent(1);

        page.setValue(gName);

        int count = dao.countFuzzyItemd(page.getValue());

        page.setCount(count);

        page.setItems(dao.fuzzySelect(page));

        model.addAttribute("page", page);

        model.addAttribute("goodsName", gName);

        return "searchlist";

}

游客通过注册,成为系统用户,包括验证码功能,用户注册功能,如图5-3。

如图5-3 用户注册功能截图

注册功能的实现代码:

@RequestMapping("/doRegister")

public String register(User user, HttpServletRequest req, Model model,                           HttpSession session) {

        String code = req.getParameter("code");

        // 对用户密码进行MD5加密

        user.setPassword(UtilMD5.MD5(user.getPassword()));

        user.setKeyCode("WSL_SHOP"+new Date().getTime());

        user.setPicture(); //设置默认头像

//验证码校验        

if (!(code.equalsIgnoreCase(session.getAttribute("code").toString()))) {  

            model.addAttribute("user", user);

            model.addAttribute("msgCode", "验证码错误!");

            return "register";

        }else {

            dao.register(user);

            return "temp/success";

        }

}

5.2 普通用户功能实现

5.2.1 用户登陆

用户成功激活之后,即可登陆本系统啦,输入用户名,密码,验证码,点击登陆,登陆成功后就直接进入主页,如图5-4。

图5-4用户登陆页面

用户成功登陆后进入系统首页,如图5-5。

图5-5系统首页

用户选择单一商品,查看商品详细信息,如图5-6。

图5-6 商品详情页面

5.3 后台管理功能实现

后台管理是使用angularjs做的单页应用程序,支持前端的MVC,下面是系统后台管理界面,默认展示热销商品,如图5-7。

图5-7 后台管理主页页面

5-3-1 用户中心

管理员基本信息,管理员可以编辑修改个人基本信息,上传头像如图5-8。

图5-8 管理员基本信息页面

后台管理员修改、删除、查看普通用户,如图5-9。

图5-9 普通用户列表页面

后台管理员能够修改普通用户信息,管理员选择需要修改的用户,点击修改,弹出修改框,输入要修改的内容后,提交,通过JavaScript进行数据的提交,并执行数据跟新,如图5-10。

图5-10 修改普通用户信息页面

修改普通用户功能代码:

前端html代码,Angularjs双向绑定,将html页面数据绑定到JS代码中,代码:

前端Angularjs代码,表单输入的数据将会绑定到$scope.user对象中,通过$http.post()发送异步请求执行数据跟新,代码:

$scope.ok = function () {

    $http.post('/api/v1/user/update', $scope.user)

        .success(function(response){

            if (response.data.msg == -1) {

                $scope.add_message = "修改失败, 请检查数据合法性...";

            }else {

                $uibModalInstance.close($scope.user);

            }

        });

};

后台PHP代码,获取前端JS异步传递过来的数据,查询出对应的数据,修改相应字段的值,执行保存, 最后反馈成功或者失败:

 public function updateAction() {

$obj = $this->request->getJsonRawBody();

$user = User::findFirstById($obj->id);

$user->username = $obj->username;

$user->phone = $obj->phone;

$user->email = $obj->email;

$user->des = $obj->des;

    $obj = new  \\stdClass();

if ($user->save()) {

     $obj->msg = 1;

    }else{

     $obj->msg = -1;

    }

return $this->toJson2($obj);

}

5-3-2 分类管理

后台管理员可以添加、修改、删除商品分类,如图5-11。

图5-11 商品分类管理页面

5-3-3商品中心

管理员可以添加商品,上架商品,下架商品,查看商品评价信息。管理员上传商品信息,功能如图5-12。

图5-12上传商品页面

上传商品代码:

前端界面代码包括前端js以及html代码,angularjs通过检查页面ng-model指令将页面输入信息绑定到angular的作用域vm.goods中,使用异步请求提交数据到后台处理,代码:

部分Html代码:

    

AggularJS代码:

vm.save = function () {

    vm.isAdd = true;

    if ($scope.imgFile == null) {

        alert("商品主图不能为空");

        return;

    }

    $http.post('/api/v1/goods/addGood', vm.goods)

        .success(function(response){

            vm.data = response.data;

            if (vm.data.error == 0) {

                vm.add_message = "商品添加失败, 请检查数据合法性...";

            }else {

                vm.add_message = "商品添加成功 !";

                vm.good = vm.data.data;vm.uploadImg();

            }

        });

};

后台执行商品添加,获取前端异步提交的数据,构建model对象,执行保存入库,PHP代码:

/* 添加商品 */

public function addGoodAction() {

$obj = $this->request->getJsonRawBody();

$user = $this->session->get("user");

    $good = new Goods();

$good->suId = $user->id;

$good->type = $obj->typeId;

$good->brand = $obj->brand;

$good->name = $obj->name;

$good->marketPrice = $obj->marketPrice;

$good->mallPrice = $obj->mallPrice;

$good->num = $obj->num;

$good->isHost = 0;

$good->isShow = 0;

    $msgObj = new \\stdClass();

if ($good->save() == false) {

        $msgArr = array();

     foreach ($good->getMessages() as $message) {

         $arr = array("Message"=>$message->getMessage(), "Field"=>$message->getMessage(), "Type"=>$message->getType());

            array_push($msgArr, $arr);

        }

     $msgObj->error = 0;

     $msgObj->data = $msgArr;

    }else{

     if (count($obj->colors) > 0){

         foreach ($obj->colors as $color) {

                $goodColor = new GoodsColor();

             $goodColor->gId = $good->id;

             $goodColor->colorId = $color;

             $goodColor->save();

            }

        }

     if (count($obj->sizes) > 0){

         foreach ($obj->sizes as $size) {

                $goodSize = new GoodsSize();

             $goodSize->gId = $good->id;

             $goodSize->sizeId = $size;

             $goodSize->save();

            }

        }

     $msgObj->error = 1;

     $msgObj->data = $good;

    }

return $this->toJson2($msgObj);

}

管理员上下架商品,功能如图5-13。

图5-13 上下架商品页面

5-3-4订单管理

管理员登陆系统后,管理用户订单,包括查看最新订单列表,管理员可以以Excel方式导出订单,按日期范围查询订单,订单发货管理和订单的退货管理。

订单列表如下图5-14。

图5-14 订单管理

导出excel流程图,如图5-15。

图5-15 导出Excel流程图

生成Excel文件代码:

public function indexAction() {

    $letter = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','AA','AB','AC','AD','AE','AF','AG');

    error_reporting(0);

$result = $this->request->getJsonRawBody();

$name = $result->name;

    if($result == false){

        $response = array(

         'success' => false,

         'errmsg' => '传递数据出错!',

        );

     return $this->toJson($response);

    }

    $objPHPExcel = new \\PHPExcel();

    // Set document properties

$objPHPExcel->getProperties()->setCreator("Maarten Balliauw")

     ->setLastModifiedBy("Maarten Balliauw")

     ->setTitle("Office 2007 XLSX Test Document")

     ->setSubject("Office 2007 XLSX Test Document")

     ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")

     ->setKeywords("office 2007 openxml php")

     ->setCategory("Test result file");

    //第一行

for($i=1;$ititle[0])+1;$i++){

     $objPHPExcel->getActiveSheet()->setCellValue($letter[$i-1] . '1', $result->title[0][$i-1]);

    }

    //内容循环

for($j=1;$jdata)+1;$j++){

     for($k=1;$kdata[$j-1])+1;$k++){

            $row = $j + 1;

         $objPHPExcel->getActiveSheet()->setCellValue($letter[$k-1].$row, $result->data[$j-1][$k-1]);

        }

    }

    // Rename worksheet

$objPHPExcel->getActiveSheet()->setTitle($result->name[0]);

    // Set active sheet index to the first sheet, so Excel opens this as the first sheet

$objPHPExcel->setActiveSheetIndex(0);

$title = $result->name[0];

//$title = iconv("utf-8", "gb2312", $result->name[0]);

    // Redirect output to a client’s web browser (Excel5)

    header('Content-Type: application/vnd.ms-excel');

    header("Content-Disposition: attachment;filename='".$title.".xls'");

    header('Cache-Control: max-age=0');

    // If you're serving to IE 9, then the following may be needed

    header('Cache-Control: max-age=1');

    // If you're serving to IE over SSL, then the following may be needed

    header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past

    header ('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); // always modified

    header ('Cache-Control: cache, must-revalidate'); // HTTP/1.1

    header ('Pragma: public'); // HTTP/1.0

    $objWriter = \\PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');

//$objWriter->save('php://output');导出到浏览器

    $fileName = iconv("utf-8", "gb2312", $name ).".xls";

$objWriter->save('files/'.$fileName);

    $response = array(

     'success' => true,

     'url' => '../files/'.$fileName

    );

return $this->toJson($response);

}

结束语

通过对稿件管理信息系统的设计与实现,我从中学到了很多开发系统方面的知识与技术。处处体现了信息管理与信息系统方面的知识,并且改变了过去在系统开发中对相对文档撰写的忽视。同时,我认识到在软件开发之前,有计划的设计和开发可以让项目的进行少走弯路,避免重复工作。

本系统的优点是界面清晰,简单,易管理。任何一个系统的管理对系统后期的维护来说都是很重要的,本系统是利用Java编程语言和SQL Server2005数据库设计实现的,整个运行环境都相对比较简单。

还存在着一些缺陷和问题,一个完整的系统并不是只靠实现一些基本的功能就可以长期得到好的发展的,而是需要长时间对其功能的完善和更新及测试,除此之外要加强对整个系统的安全性和硬软件的技术支持与维护,保证系统的正常运行。还有就是本系统在界面设计上虽然清晰简单但总体还不够美观,在系统功能方面还不够完全,需要进一步的开发与更新。

致  谢

 在做毕业设计的过程中,遇到一些问题,但在指导老师的细心指导和同学的帮助以及自己的不懈努力下克服了种种困难。十分感谢我的指导老师王老师,王老师十分负责,整个过程中王老师多次给我们开会讲解关于毕业设计以及论文的一些相关注意事项。然而老师还专门打电话问我们毕业设计的进展,有时还在QQ上督促我们好好做毕业设计写论文,关于论文王老师也是十分细致的指导。在他的细心指导下,使得自己无论是做设计还是写论文,思路都十分清晰,避免了做一些无用功而浪费时间和精力。真的很感谢王老师,能选择王老师作为我的指导老师真心感到很幸运。

此外,还要感谢所有在校期间给予我知识和帮助的老师们,没有他们四年来的细心教导,我也不会有今天的发展和能力。老师们,辛苦了!

最后,再次向帮助过我的老师和同学表示衷心的感谢!

参考文献

[1] 申 丽红. 新闻 稿   件 管 理 系 统的设计与实现. 技术在线, 2012

[2] 周玉云. 高校学报稿件管理信息系统的设计与实现. 电子科技大学硕士学位论文,2009

[3] 赵卫星. 稿件管理信息系统的设计与实现. 大连理工大学硕士学位论文,2008

[4] 张茂林. 管理杂志社稿件管理系统的设计与实现. 山东大学硕士学位论文,2012

[5] 潘峰. 电台新闻稿件管理系统的设计与实现. 电子科技大学硕士学位论文,2013

[6] 杨武. 基于WEB的电子稿件管理系统设计与实现. 中国海洋大学硕士学位论文,2009

[7] 潘伟. 基于网络的稿件管理系统的设计与实现. 山东大学硕士学位论文,2011

[8] 于海波.基于Struts会议稿件管理系统的设计与实现. 北京邮电大学硕士学位论文,2012

[9] 商海亮. 杂志社在线投稿系统的设计与实现. 东北大学硕士学位论文,2013

[10] 周仁峰.电子稿件审阅系统的设计与实现. 华东师范大学软件工程硕士学位论文, 2011

[11] 王颖振. 期刊出版行业稿件管理系统的设计与实现. 山东大学软件工程硕士学位论文, 2013

[12] 杨再礼. 广播电台稿件采编播系统. 贵州大学计算机技术硕士学位论文, 2007

[13] 姜新旸.《学习与探索》杂志远程稿件处理系统的设计与实现. 吉林大学软件工程硕士学位论文,2009

[14] 刘嗣睿. 编辑部管理系统的设计与实现. 华东师范大学硕士学位论文, 2008

[15] 徐栋. 学术期刊网络编辑管理系统的设计与实现. 郑州大学计算机技术硕士学位论文, 2009下载本文

显示全文
专题