基于ssm框架的校园百货交易平台的设计与实现_第1页
基于ssm框架的校园百货交易平台的设计与实现_第2页
基于ssm框架的校园百货交易平台的设计与实现_第3页
基于ssm框架的校园百货交易平台的设计与实现_第4页
基于ssm框架的校园百货交易平台的设计与实现_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

第1章绪论1.1研究目的和意义在互联网的不断发展下,在线购物成为了生活中的一部分。随着人们消费水平提高和消费方式丰富,在线购物消费也逐渐融入了我们的生活,同时也走进校园之中。虽然已经有较为大型的购物平台,如京东、天猫等,但其受众人群较为广泛,不能够准确的满足校内学生对交易平台的独特需求。综上所述,建立一个基于SSM框架的校园百货交易平台,使校内学生可以放心的校园商铺,无需花费大量的时间去外面进行物品购买,以减少等待物流时间,能够为学生的日常生活更加便捷提供很大的帮助。1.2国内外研究现状随着经济和科学技术的发展,在我国《当前经济背景下校园二手交易平台的构建——以邵阳学院为例》中提到,凭借互联网资源,大学生在节省购物成本、保护环境、减少资源浪费的同时,还可以获得一定的经济收入。现有的二手交易平台存在人员构成复杂、无法保障交易安全性以及客户分布在全国各地,邮寄周期较长以及偏远地区的快递企业可能不接收货品的问题。因此,针对大学生校内二手交易市场进行研究,设计了一个基于Android的校园二手交易平台,以期实现校园内点对点无人员接触配送服务以及校园二手商品的快捷交易REF_Ref19470\r\h[1]。在《关于大学生App的开发与现实意义——以校园二手交易平台“拾物”App为例》中提到,为切实缓解在校大学生在应用网络交易App中遭遇欺诈等问题,专门研究了综合性的校园二手交易平台“拾物”App。该App可以把大学生的闲置物品流通起来,同时也有平台的保障,相对于立足于社区的传统二手交易平台,“拾物”App更具有安全性、便利性、社交性等,贯彻了绿色、低碳发展理念,具有一定的核心竞争力REF_Ref19683\r\h[2]。在国外的2021年,\t"/kcms2/article/_blank"NaomiJFenila;\t"/kcms2/article/_blank"RoshanJenielR;\t"/kcms2/article/_blank"SakthiEswaranK;\t"/kcms2/article/_blank"SanjeevKumaarNM.

在《IntelligentTransactionSystemforFraudDetectionusingDeepLearningNetworks》中提到,由于用户的支付模式和不法分子的违法行为在不断变化,因此提高检测结果的稳定是非常具有挑战性的。随着技术的快速发展,日常生活中更多是使用在线交易而不是现金,这为不法分子以不正当的形式使用交易平台打开了许多新的大门。因此,提高功能的可分离性和鉴别力是交易系统需要处理的首要问题REF_Ref19767\r\h[20]。2019年,\t"/kcms2/article/_blank"AnnaliseKempen.在《Counterfeitgoods&second-handgoodsdistinguishingthegoodfromthebadandtheugly》中提到,越来越多的消费者在购买汽车或家居用品时选择搜索或访问二手交易平台以获得便宜货。因为低廉的价格、商品的来路以及商品是否损坏是需要考虑的首要问题,所以需要对商品的来源以及状况进行严格的把控,以确保消费者购买的商品是完好无损且正规的REF_Ref19839\r\h[21]。1.3论文组织架构本文的结构安排如下:第1章:绪论。本章节主要介绍了研究目的和意义以及国内外研究现状。第2章:相关理论和技术。本章节主要介绍了系统所采用的相关理论和技术。第3章:系统分析。本章节主要针对系统的可行性分析和需求方面分析进行了介绍。第4章:系统设计。本章节主要针对系统的功能模块进行分析和设计。第5章:系统实现。本章节主要针对系统的各个功能模块进行设计和编码实现。第6章:系统测试。本章节主要针对系统的主要功能模块进行全面的测试,并将测试结果进行展示。第7章:结论。本章节主要针对系统进行全面的综述。第2章相关理论和技术2.1Java简介Java编程语言由太阳微系统公司于1995年开发并发布。它是Java编程和Java平台的通用语言。因其具有高度的可移动性和可移植性,随着时间的推移,Java逐渐成为了编程爱好者们不可或缺的工具。Java平台包括J2SE(Java2PlatformStandardEdition)、J2EE(Java2PlatformEnterpriseEdition)、J2ME(Java2平台StandardEdition)。Java是一种在互联网上广泛使用的优秀编程语言。与其他编程语言不同,Java具有其他语言无法提供的新功能,尤其是它没有了指针的概念,避免了命令的混淆与复杂的多继承问题。Java中Ding模式的删除使自动管理系统内存为主要管理模式。Java开发人员可以在系统中分配内存,无需重启或重新分配,使得可以在创建过程中忽略内存的影响,并且可以使用Java虚拟机服务后端组件等多种机制进行处理,解决内存问题。在Java的开发过程中,一般会采用内置的开发工具以及Eclipses,其中为各种Java服务提供接口支持的包括JavaEE公共服务类库和软件系统组件,根据Java的这些条件,使得开发人员可以将工作从一个单独的系统转移到另一个独立的系统。在Java中,Wed应用程序可广泛应用于软件开发、快速开发和应用程序部署,这其中包括但不限于Gram、桌面应用程序以及分布式应用程序,但是这些系统都需要通过第三方软件来实现对其的控制。Java平台还包括一些不可或缺的内部组件,以及在集成开发环境中所嵌入的各种插件和功能包。Java的基础架构涵盖了大量对编程至关重要的基本库函数,这为程序带来了近乎完美的使用体验,特别是Java企业应用程序编程接口,为开发直接可用的企业Java应用程序提供了广泛的类库。这些类帮助Java可以实现不同类型的应用程序转换到一个通用平台上,提高整个系统的可移植性和可扩展性。因此,Java为共同开发软件未来的维护提供了极大的便利,为使用者带来了无限的可能性。基于Java的强大优势使得该语言受众面大并深受使用者的青睐,这些优势也是选择采用Java作为主要编程语言之一的原因。2.2MySQL特点 1.功能强大配备了大量的存储引擎,并且每个引擎都拥有独特的优势,使得可以适应各种不同的场景,使用者可以根据自己的需求进行灵活的选择。系统还提供了丰富的数据存储接口和多种数据库技术,例如:MySQL5提供了多种功能,包括但不限于服务、视图、存储过程和触发器等,为使用者提供了全面的支持和便利。多平台支持MySQL支持至少20个开发平台,包括Linux、Windows、FreeBsD、IBMAIX、AIX、FreeBSD等。MySQL能够通过网络将来自各种系统的应用集成到一起并为每个程序分配唯一标识,使得使用者可以从一台计算机上同时调用多个应用程序,同时MySQL为还这些操作系统提供了一种统一的用户界面,使用者可以通过单一的浏览器轻松访问所以应用程序并进行同步操作。在未经过任何修改的情况下,可通过技术手段,将程序迁移到任何平台,从而实现灵活的使用体验。运行速度快MySQL提供了多种快速查询技术,包括但不限于直接从数据库中查询、基于关键字检索等方式。高效运行得益于其卓越的存储引擎和检索压缩技术,这些技术使得运行速度和流畅度得到了极大的提升。通过对多通道的单扫描链接进行优化,使得MySQL能以惊人的速度实现链接。4.安全性高MySQL的授权和密码系统呈现出高度的可序性和保密性,支持最基本的主机身份验证,为使用者提供了一种高度灵活的身份验证机制。MySQL的安全机制允许用户通过客户端访问服务器来完成登陆操作,这样大大提高了安全性并极大的降低了网络负载的压力。为了确保数据传输的机密性,MySQL还对链接到数据库时的所有传输密码进行了加密处理。5.成本低MySQL开源且免费,可以在互联网上随意下载。支持多种开发语言MySQL支持许多流行的编程语言,并为他们提供了许多API功能,包括PHP和ASP、NET、Java、Eiffel、Python、Ruby、Tcl、C++、Perl等。拥有强大的内置功能MySQL提供了丰富的内部功能,几乎覆盖了在创建网络应用程序过程中的所有功能。MySQL是一个功能强大的开源工具,允许用户定义系统架构,并能根据实际情况来定制应用程序代码。提供了连接至数据库和下载文件等多项功能,为使用者提供了便利。通过支持MySQL的多个扩展库,可以轻松地开发出web应用程序。总而言之,MySQL可以使网站变得更加丰富多彩,并且能够更快地更新网页。2.3SSM介绍SSM是一种现今非常成熟的一种开发框架,且是一种轻量级的软件开发架构,结构简单清晰易懂,代码为开源,可充分满足研发所需。下面分别介绍Spring、SpringMVC、MyBatis。1.Spring框架Spring框架最初由一个简单的Java框架演化而成。Spring框架可高效的解决传统管理模式的问题。Spring框架拥有丰富的JavaBean类库进行调用来满足需求。在业务逻辑的处理方面,具有的优势是其他框架无法相比的。总之,Spring框架功能强大。2.SpringMVC框架SpringMVC是使用MVC三层架构设计模式的流行开源框架。SpringMVC集成了基于Spring的StrutS2框架。与Spring的关系可以理解为SpringMVC只是Spring框架的模块,如AOP或IOC。处理SpringMVC请求的一般过程如下:用户首先发送请求,然后SpringMVC的主要组件DispatcherServlet接收URL信息并选择要处理的页面控制器,在信任页面控制器的情况下,需要收集相关参数并将相关参数绑定到对象上,接着调用对象进行逻辑代码处理,最后通过ModelAndView进行返回,用户可在用户界面设置一个或多个属性以用于显示和/或选操作,经过命名处理,前端控制器生成了相应的视图,并将相应的视图送至前端以做出响应。3.MyBatis框架MyBatis框架主要用于长期数据处理,是一个基于对象的关系数据库管理系统。在SSM框架中,MyBatis已取代传统的数据库连接池,支持简单的数据库查询和所有与数据库操作相关的进程,为用户提供了更加高效的查询体验。为了使用户能够快速地访问和控制数据库,可以把MyBatis框架扩展成一个持久化框架。若欲在数据库中执行永久性操作,则需运用XML文件进行配置。对于需要对数据集或对象进行修改或者增加的应用程序,可将数据集或对象转换为一个独立于应用程序的类。MyBatis框架的简洁易用和相对灵活的特点,使MyBatis框架无需依赖任何组件即可使用。对于一些特定的应用,如电子商务、企业内部信息共享等,MyBatis框架能够提供强大的性能和良好的可用性,通过简单的设置,可以轻松上手。此外,XML文件是MyBatis框架中支持所有SQL语言地唯一运行平台,操作十分简单,运行速度较快。第3章系统分析3.1可行性分析3.1.1操作可行性系统被提供给用户后,确保易用性至关重要,这将直接影响到用户地使用体验。在许多方面,系统需要为每个用户建立一个简单易用的用户界面。系统中大部分的功能需要精心设计的图形界面来实现的,数据输入需要具有高度灵活性和充分的设计,以确保没有任何歧义存在。因此,所有操作人员必须对每个人进行严格审查,以确保信息的真实性,这是必须进行的重要任务。系统中功能需要被保护并且防止非法访问,设置权限变得至关重要。为了使不同级别地用户都有良好的体验,系统必须具备简洁高效地特点。为了达到这些目标,需要对现有系统进行改进,以确保更高的可行性,满足新需求。根据以上因素,可以得出结论,这种进展是可行地。3.1.2法律可行性关于法律的适用,以下定义是关键定义:1.在不同梯度中使用的所有开放工具都用于开发并且合法的。2.本文章不存在任何抄袭行为。3.本人的任何操作行为都是合法合规的。3.2需求分析通过对系统的功能需求进行深入分析,可以更加全面地了解软件功能需求的实现过程,包括所需实现的功能和无需实现的功能。通过对整个软件开发过程进行全面深入的研究,可以发现软件项目开发的成功与否很大程度上取决于前期阶段的分析活动是否正确。通过精心设计的分析活动,可以有效避免或者及早发现错误,从而提高软件生产效率,降低开发成本,改善软件品质。3.2.1功能需求分析在基于SSM框架的校园百货交易平台当中,用户注册登录进入系统后,可以进入首页,查看商品信息、加入购物车、对留言板进行留言、查看公告通讯;管理员能够在后台对用户管理、商品信息管理、商品分类管理、留言板管理、订单管理、个人中心和系统管理进行管理。3.2.2非功能需求分析在对基于SSM的校园百货交易系统进行需求分析的过程中,发现重点不仅仅是要确保平台自身的业务,还要确保生产力,所以对系统的非功能需求进行了全面的评估,综合考虑了可靠性、稳定性、可扩展性和维护性等多个方面,以确保在各个领域均呈现出卓越的表现:可靠性:为确保系统在运行过程中始终处于安全、正常、可靠的状态,系统采用了ID访问控制技术,以确保系统的稳定性和可靠性。ID访问控制技术是通过对数据库进行授权访问来实现对数据库的管理,确保用户数据在输入、存储、传输和处理过程中始终保持完整性和一致性,以确保信息的完整性和可靠性。2.稳定性:\o"javascript:;"为确保系统的稳定运行,需要全面考虑其运行和安全问题,不能因追求新技术而忽视其稳定性,也不能因过度强调其稳定性而忽视其潜在的风险。3.可扩展性:在系统设计的过程中,除了满足当前系统的需求,还需要具备高度的可扩展性,以便能够随着业务的不断演变和变化,灵活地扩展平台的新功能。4.易于维护:为了确保系统的高效运行和稳定性,需要提供易于维护\o"javascript:;"的管理方案,以满足关键系统参数的各项要求。智能合约作为一种新型的安全机制,具有良好的可移植性、可扩展能力和灵活性,在合约续订或失败的情况下,智能合约是一种高效的解决方案。3.3用例分析校园百货交易平台可以满足两类用户的需求,一类是用户,另一类是管理员。用户的功能包括:注册登录、查看商品信息、查看公告栏、查看及编辑留言板、添加购物车、购买商品、评价订单、编辑地址信息、充值余额等功能。用户用例图如图3.1所示。图3.1用户用例图2.管理员的功能包括:用户管理、商品分类管理、商品管理、留言板管理、订单管理、订单评价管理、系统管理等功能。管理员用例图如图3.2所示。图3.2管理员用例图3.4业务流程图1.用户登录系统,查看留言板,用户可进行留言,管理员对留言进行回复。留言板流程图如图3.3所示。图3.3留言板流程图2.用户登录交易平台进行挑选、浏览、查看商品信息等操作,可选择直接购买或者添加购物车后生成订单。用户可以取消订单或者完成订单。管理员执行发货操作后用户可执行确认收货操作。用户确认收货后可进行退款或评价操作。由管理员进行退款审核,审核通过完成退款,审核未通过会向用户发送通知,由用户进行确认。订单流程图如图3.4所示。图3.4订单流程图第4章系统设计4.1功能模块设计校园百货交易平台的核心模块涵盖了多个方面,包括用户管理、商品信息管理、商品分类管理、购物车管理、订单管理、订单评价管理、个人中心以及系统管理等,这些模块之间相互协作,共同形成了该平台的完整架构。系统的功能模块如图4.1所示:图4.1系统功能模块图4.2数据库概念设计1.管理员实体图图4.2管理员实体图2.用户实体图图4.3用户实体图3.商品信息实体图图4.4商品信息实体图4.校园百货交易平台E-R图图4.5校园百货交易平台E-R图4.3数据库物理设计数据库的物理设计注重于实现数据的存储和检索,解决了将系统数据存储于数据库中所面临的技术问题。在数据库中构建索引,以便实现对数据的无障碍访问。根据用户需求,选择合适的数据结构和数据组织形式进行数据库物理设计。数据库系统的整体设计离不开存储结构的精心设计。存储结构可根据其访问类型划分为索引表和序列表,每一种存储结构都具备独特的查询效能。上一节中抽象的数据单元和各个数据单元之间的关系模式构成了E-R图,本节为上一节的每个实体建立适当的数据库和表。校园百货交易平台具体表设计如下:1.管理员表users“管理员表users”制作一张图表,记录管理员相关信息。管理员表users的结构如表4.1所示。表4.1管理员表字段名称类型长度字段说明主键默认值idbigint主键主键usernamevarchar20用户名passwordvarchar20密码rolevarchar20角色管理员addtimetimestamp新增时间CURRENT_TIMESTAMP2.token表“token表”是用来记录用户token的信息。token的结构如表4.2所示。表4.2token表字段名称类型长度字段说明主键默认值idbigint主键主键useridbigint用户idusernamevarchar20用户名tablenamevarchar20表名rolevarchar20角色tokenvarchar20密码addtimetimestamp新增时间CURRENT_TIMESTAMPexpiratedtimetimestamp过期时间CURRENT_TIMESTAMP3.公告栏表news“公告栏表news”是一种图表,用于记录公告栏内的信息。公告栏表news的结构如表4.3所示。表4.3公告栏表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPtitlevarchar100标题introductionlongtext100简介picturelongtext100图片contentlongtext100内容4.商品信息表shangpinxinxi“商品信息表shangpinxinxi”是一种记录商品信息的图表,可以帮助了解商品的信息。商品信息表shangpinxinxi的结构如表4.4所示。表4.4商品信息表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPshangpinbianhaovarchar10商品编号shangpinmingchengvarchar10商品名称shangpinleixingvarchar5商品类型shangpinjieshaolongtext100商品介绍shangpinfengmianlongtext100商品封面shangjiariqidate上架日期onelimittimesint单限alllimittimesint库存pricefloat价格5.订单表orders“订单表orders”是用来记录订单的信息。orders的结构如表4.5所示。表4.5订单表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPorderidvarchar10订单编号tablenamevarchar10商品表名shangpinxinxiuseridbigint用户idgoodidbigint商品idgoodnamevarchar20商品名称picturelongtext20商品图片buynumberint购买数量pricefloat价格0discountpricefloat折扣价格0totalfloat总价格0discounttotalfloat折扣总价格0typeint支付类型1statusvarchar10状态addressvarchar10地址telvarchar20电话consigneevarchar10收货人remarkvarchar100备注logisticslongtext20物流6.留言板表messages“留言板表messages”是用来记录留言板的信息。messages的结构如表4.6所示。表4.6留言板表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPuseridbigint留言人idusernamevarchar10用户名avatarurllongtext100头像contentlongtext100留言内容cpicturelongtext100留言图片replylongtext100回复内容rpicturelongtext100回复图片7.用户表yuangong“用户表yuangong”是用来记录用户的信息。表yuangong的结构如表4.7所示。表4.7用户表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPyonghuzhanghaovarchar10用户账号xingmingvarchar10姓名mimavarchar20密码xingbievarchar10性别shoujivarchar20手机续表4.7用户表touxianglongtext100头像moneyfloat余额08.购物车表cart“购物车表cart”是一张记录购物车信息的图表,提供购物车信息。购物车表cart的结构如表4.8所示。表4.8购物车表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPtablenamevarchar10商品表名shangpinxinxiuseridbigint用户idgoodidbigint商品idgoodnamevarchar10商品名称picturelongtext100图片buynumberint购买数量pricefloat单价discountpricefloat会员价9.商品分类表shangpinfenlei“商品分类表shangpinfenlei”是一张记录商品分类信息的图表,协助了解商品的分类状况。shangpinfenlei的结构如表4.9所示。表4.9商品分类表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPshangpinleixingvarchar10商品类型(10)地址表address“地址表address”是用来记录地址的信息。address的结构如表4.10所示。表4.10地址表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPuseridbigint用户idaddressvarchar20地址namevarchar10收货人phonevarchar20电话isdefaultvarchar10是否默认地址[是/否]第5章系统实现5.1登录注册用户可直接访问网站,进行浏览商品列表、商品详情和留言板等操作。当用户需要购买商品或者留言时,系统自动跳转至登录界面。用户登录界面如图5.2所示。如果用户没有注册,可以点击登陆界面的“注册”按钮进行注册。用户注册界面如图5.1所示。管理员或用户可以登录后台系统,执行后台操作。后台登录界面如图5.3所示:图5.1用户注册界面图5.2用户登录界面图5.3后台登录界面用户单击注册按钮时,系统会自动弹出注册成功提示信息,表示用户已经顺利完成注册流程,否则注册失败。用户注册成功界面如图5.4所示。图5.4用户注册成功界面用户在登录界面输入用户名和密码后,单机“登录”键,系统将自动提示其登录成功或登录失败。用户登录成功界面如图5.5所示。图5.5用户登录成功界面实现该功能的关键代码如下:@IgnoreAuth @PostMapping(value="/login") publicRlogin(Stringusername,Stringpassword,Stringcaptcha,HttpServletRequestrequest){ UsersEntityuser=userService.selectOne(newEntityWrapper<UsersEntity>().eq("username",username)); if(user==null||!user.getPassword().equals(password)){ returnR.error("账号或密码不正确"); } Stringtoken=tokenService.generateToken(user.getId(),username,"users",user.getRole()); returnR.ok().put("token",token); }5.2商品分类管理以管理员身份登录到系统中,进入商品分类管理界面,点击商品类型通过进行搜索,就可以跳转到所搜索商品分类的详细信息,也可以对商品分类进行增删查改和查看详情。商品分类管理界面如图5.6所示:图5.6商品分类管理界面实现该功能的关键代码如下:@RequestMapping("/page")publicRpage(@RequestParamMap<String,Object>params,ShangpinfenleiEntityshangpinfenlei, HttpServletRequestrequest){EntityWrapper<ShangpinfenleiEntity>ew=newEntityWrapper<ShangpinfenleiEntity>(); PageUtilspage=shangpinfenleiService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,shangpinfenlei),params),params));returnR.ok().put("data",page);5.3商品信息管理当以用户身份进入系统时,只需再次点击“商品信息”按钮,即可进入商品信息界面。用户商品信息界面如图5.7所示:图5.7用户商品信息界面用户可以通过商品信息搜索框输入一种或多种商品信息,进行多信息联合搜索。多信息联合搜索完成界面如图5.8所示:图5.8多信息联合搜索完成界面实现该功能的关键代码如下:@IgnoreAuth@RequestMapping("/list")publicRlist(@RequestParamMap<String,Object>params,ShangpinxinxiEntityshangpinxinxi,@RequestParam(required=false)Doublepricestart,@RequestParam(required=false)Doublepriceend, HttpServletRequestrequest){EntityWrapper<ShangpinxinxiEntity>ew=newEntityWrapper<ShangpinxinxiEntity>();if(pricestart!=null)ew.ge("price",pricestart);if(priceend!=null)ew.le("price",priceend); PageUtilspage=shangpinxinxiService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,shangpinxinxi),params),params));returnR.ok().put("data",page);}以管理员身份进入后台系统,点击“商品信息”键进入商品信息界面。该界面可进行商品信息添加、删除、修改操作。管理员商品信息界面如图5.9所示:图5.9管理员商品信息界面图5.10管理员商品详情界面实现该功能的关键代码如下:@RequestMapping("/info/{id}")publicRinfo(@PathVariable("id")Longid){ShangpinxinxiEntityshangpinxinxi=shangpinxinxiService.selectById(id);returnR.ok().put("data",shangpinxinxi);}5.4购物车管理用户通过点击商品信息上的商品图片,即可进入商品详情界面。详情界面可用于购买商品以及将商品添加至购物车操作。商品详情界面如图5.11所示:图5.11用户商品详情界面用户在购物车界面可任选购买多件或一件商品,并且可设置购买单件商品的数量,点击“点击购买”后用户支付多件或一件商品的总价。购物车界面如图5.12所示:图5.12购物车界面实现该功能的关键代码如下:@RequestMapping("/lists")publicRlist(CartEntitycart){EntityWrapper<CartEntity>ew=newEntityWrapper<CartEntity>();ew.allEq(MPUtil.allEQMapPre(cart,"cart"));returnR.ok().put("data",cartService.selectListView(ew));}5.5订单管理以用户身份登录到前台系统中,用户通过商品详情或购物车购买商品生成订单,进入个人中心点击“我的订单”按钮即可查看订单。用户订单管界面如图5.13所示:图5.13用户订单管理界面实现该功能的关键代码如下:@IgnoreAuth@RequestMapping("/list")publicRlist(@RequestParamMap<String,Object>params,OrdersEntityorders,HttpServletRequestrequest){EntityWrapper<OrdersEntity>ew=newEntityWrapper<OrdersEntity>();PageUtilspage=ordersService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,orders),params),params));returnR.ok().put("data",page);}用户在已支付订单中点击“退款”按钮即可完成退款。在已退款订单中可查看已退款订单。用户退款界面如图5.14所示:图5.14用户退款提示界面图5.15用户退款完成界面图5.16用户已退款界面实现该功能的关键代码如下:@RequestMapping("/delete")publicRdelete(@RequestBodyLong[]ids){ordersService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}管理员在订单管理系统中点击“已支付订单”按钮,单击“发货”按钮,用户可在已完成订单中点击“确认发货”按钮完成订单。完成订单在已收货订单中显示。订单完成如图5.17所示:图5.17管理员已支付订单界面图5.18用户收货验证界面图5.19用户收货完成界面图5.20用户已完成订单界面实现该功能的关键代码如下:@RequestMapping("/update")@TransactionalpublicRupdate(@RequestBodyOrdersEntityorders,HttpServletRequestrequest){//ValidatorUtils.validateEntity(orders);ordersService.updateById(orders);returnR.ok();}用户在已完成订单中点击“退货”按钮即可完成退货,然后在已退款订单中即可查看已退货订单。如图5.21所示:图5.21用户退款验证界面实现该功能的关键代码如下:@RequestMapping("/save")publicRsave(@RequestBodyOrdersEntityorders,HttpServletRequestrequest){orders.setId(newDate().getTime()+newDouble(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(orders);orders.setUserid((Long)request.getSession().getAttribute("userId"));ordersService.insert(orders);returnR.ok();}管理员登录后台系统中,进入订单管理列表界面。订单管信息可进行多项操作,包括但不限于添加、删除、修改、物流、查看详细信息以及发货等。管理员订单管界面如图5.22所示:图5.22管理员订单管理界面图5.23订单物流界面图5.24管理员已退款订单界面实现该功能的关键代码如下:@RequestMapping("/page")publicRpage(@RequestParamMap<String,Object>params,OrdersEntityorders, HttpServletRequestrequest){ if(!request.getSession().getAttribute("role").toString().equals("管理员")){ orders.setUserid((Long)request.getSession().getAttribute("userId")); }EntityWrapper<OrdersEntity>ew=newEntityWrapper<OrdersEntity>(); PageUtilspage=ordersService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,orders),params),params));returnR.ok().put("data",page);}5.6留言板管理以用户身份登录到系统中,进入留言板界面,查看留言板以及编辑留言板。用户留言板界面如图5.25所示:图5.25用户留言板界面图5.26用户编辑留言板界面实现该功能的关键代码如下:@IgnoreAuth@RequestMapping("/list")publicRlist(@RequestParamMap<String,Object>params,MessagesEntitymessages,HttpServletRequestrequest){EntityWrapper<MessagesEntity>ew=newEntityWrapper<MessagesEntity>();PageUtilspage=messagesService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,messages),params),params));returnR.ok().put("data",page);}以管理员身份登录到系统中,进入留言板界面,可以对留言板信息进行增删查改、回复和查看详情。管理员留言板界面如图5.27所示:图5.27管理员留言板界面图5.28管理员回复留言板界面实现该功能的关键代码如下:@RequestMapping("/page")publicRpage(@RequestParamMap<String,Object>params,MessagesEntitymessages, HttpServletRequestrequest){ if(!request.getSession().getAttribute("role").toString().equals("管理员")){ messages.setUserid((Long)request.getSession().getAttribute("userId")); }EntityWrapper<MessagesEntity>ew=newEntityWrapper<MessagesEntity>(); PageUtilspage=messagesService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,messages),params),params));returnR.ok().put("data",page);}5.7订单评价管理用户在已完成订单中,点击“评价”按钮,可对商品进行评价。订单评价界面如图5.29所示:图5.29订单评价界面管理员订单评价管理中,点击“回复”按钮,可对用户进行回复。订单评价管理界面如图5.30所示:图5.30订单评价管理界面图5.31订单评价回复界面实现该功能的关键代码如下:@RequestMapping("/lists")publicRlist(OrdersEntityorders){EntityWrapper<OrdersEntity>ew=newEntityWrapper<OrdersEntity>();ew.allEq(MPUtil.allEQMapPre(orders,"orders"));returnR.ok().put("data",ordersService.selectListView(ew));}5.8个人中心以用户身份登录到前台系统中,点击“个人中心”按钮进入个人中心,在个人中心中可以修改并更新姓名、密码、性别、手机号、头像等信息。点击“点我充值”按钮,可以充值余额。用户在系统中进行购买或者退货/退款,都会增加或减少余额。个人中心界面如图5.32所示:图5.32个人中心界面图5.33用户充值界面图5.34用户充值成功界面实现该功能的关键代码如下:@IgnoreAuth@RequestMapping("/detail/{id}")publicRdetail(@PathVariable("id")Longid){YonghuEntityyonghu=yonghuService.selectById(id);returnR.ok().put("data",yonghu);}个人中心点击“我的地址”按钮,可查看、添加、修改、删除地址信息以及设置默认地址。如图5.35所示:图5.35我的地址界面图5.36添加地址界面实现该功能的关键代码如下:@RequestMapping("/lists")publicRlist(AddressEntityaddress){EntityWrapper<AddressEntity>ew=newEntityWrapper<AddressEntity>();ew.allEq(MPUtil.allEQMapPre(address,"address"));returnR.ok().put("data",addressService.selectListView(ew));}5.9公告栏管理用户登录系统中,进入公告栏界面,可对公告栏信息进行查询和查看详情。公告栏界面如图5.37所示:图5.37用户公告栏界面图5.38公告栏查询完成界面实现该功能的关键代码如下:@IgnoreAuth@RequestMapping("/list")publicRlist(@RequestParamMap<String,Object>params,NewsEntitynews, HttpServletRequestrequest){EntityWrapper<NewsEntity>ew=newEntityWrapper<NewsEntity>(); PageUtilspage=newsService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,news),params),params));returnR.ok().put("data",page);}管理员登录系统中,进入系统管理界面,可以对公告进行管理。管理员公告界面如图5.39所示:图5.39管理员公告栏信息界面图5.40管理员公告栏详情界面实现该功能的关键代码如下:@RequestMapping("/query")publicRquery(NewsEntitynews){EntityWrapper<NewsEntity>ew=newEntityWrapper<NewsEntity>();ew.allEq(MPUtil.allEQMapPre(news,"news"));NewsViewnewsView=newsService.selectView(ew);returnR.ok("查询公告栏成功").put("data",newsView);}5.10用户管理管理员登录系统中,进入用户管理界面,可以对用户进行增删查改和查看详情。用户管理界面如图5.41所示:图5.41用户管理界面图5.42用户信息详情界面实现该功能的关键代码如下:@RequestMapping("/page")publicRpage(@RequestParamMap<String,Object>params,YonghuEntityyonghu, HttpServletRequestrequest){EntityWrapper<YonghuEntity>ew=newEntityWrapper<YonghuEntity>(); PageUtilspage=yonghuService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,yonghu),params),params));returnR.ok().put("data",page);}}5.11系统管理以管理员身份登录到系统中,进入系统管理界面,可以看到“轮播图管理”和“公告栏”,可以对轮播图信息进行增删查改和查看详情。轮播图管理界面如图5.43所示:图5.43轮播图管理界面实现该功能的关键代码如下:@RequestMapping("/page")publicRpage(@RequestParamMap<String,Object>params,NewsEntitynews, HttpServletRequestrequest){EntityWrapper<NewsEntity>ew=newEntityWrapper<NewsEntity>(); PageUtilspage=newsService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,news),params),params));returnR.ok().put("data",page);}第6章系统测试为确保系统的稳定可靠运行,需要在完成各项功能模块的设计和前台操作界面的设计后,进行一系列的功能和性能测试,以确保在正式使用时系统运行正常。6.1测试步骤在试验的过程中,应该采取分阶段实施的方式,以确保测试的顺利进行。第一步就是将整个软件项目分成若干个子程序开发出来,然后再把它们组装成完整的软件系统。在逻辑上,每一步都是对前一步的延续和延伸。在软件的开发阶段和运行时,要对所有可能出现的错误作出反应并采取相应措施,以确保整个软件开发活动达到预定目标。通常情况下,一个庞大的软件程序会由多个互相关联的子程序构成,每个子程序都由多个模块构成。在开发软件时,为了提高代码质量和效率,需要对其执行过程加以检查,并根据这些结果修改或重新编制新的程序结构。综上所属,对于大规模软件程序的测试而言,必须经过一系列的程序设计和测试,以确保其可靠性和稳定性。以下为测试步骤:1.模块的测试是找出程序中的编码错误和设计错误。2.对程序进行测试,以发现设计中存在的错误。3.遵循规范要求,以确保验收测试方案的准确,及时发现并纠正错误。6.2测试用例6.2.1测试用例图图6.1订单已完成界面图6.2登录注册界面图6.3登录成功界面图6.4登录失败界面图6.5用户管理修改用户界面界面6.2.2登录测试用例为了满足用户的需求,用一些技术手段进行测试,以保证能正常使用。但由于篇幅限制,本文仅提供了一些具有代表性的测试用例表,如表6.1所示。表6.1登录测试用例表测试编号测试目的操作步骤预期结果实际结果001登录测试输入正确的用户名和密码登录成功登录成功002登录测试输入错误的用户名登录失败登录失败003登录测试输入错误的的密码登录失败登录失败6.2.3用户管理测试用例管理端在运行时要满足浏览器的运行需求,比如添加用户信息测试、修改用户信息测试、删除用户信息测试等。本节根据管理端各模块进行测试,因考虑到本文篇幅有限,这里代表性的部分测试用例,如表6.2所示。表6.2用户管理测试用例表测试编号测试目的操作步骤预期结果实际结果001添加用户信息测试在添加页面输入用户信息,点击确认按钮添加成功添加成功002修改用户信息测试在修改页面修改用户信息,点击确认按钮修改成功修改成功003删除用户信息测试在管理用户信息页面,点击某一用户的删除按钮删除成功删除成功004查询用户信息测试在管理用户信息页面查询输入框输入要查询的账号和名字,点击查询按钮查询成功查询成功6.2.4订单管理测试用例在用户进行购物以及管理员进行订单管理中,订单状态需要保持一致。所以需要进行测试,例如用户购买、用户退款、管理员发货、用户收货和用户退货几个方面。因考虑到本文篇幅有限,这里代表性的部分测试用例,如表6.3所示。表6.3订单管理测试用例表测试编号测试目的操作步骤预期结果实际结果001用户购买测试在购买页面,点击购买按钮购买成功购买成功002用户退款测试在已支付订单页面,点击某一订单的退款按钮退款成功退款成功003管理员发货测试在订单管页面,点击某一订单的发货按钮发货成功发货成功004用户收货测试在已发货订单页面,点击某一订单的收货按钮收获成功收获成功005用户退货在已完成订单页面,点击某一订单的退货按钮退货成功退货成功6.3测试结论系统在经过多个测试用例的全面检验后,成功地展示了高度精准的数据,无论是在系统的功能还是使用方面,都达到了预期的结果,展现出了卓越的性能。第7章结论在基于SSM框架的校园百货交易平台的设计与实现中,可行性研究和系统需求分析证

温馨提示

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

评论

0/150

提交评论