本系统开发采用技术为JSP、Bootstrap、Ajax、SSM、Java、Tomcat、Maven
此文章为本人亲自指导加编写,禁止任何人抄袭以及各类盈利性传播, 相关的代码+部署+论文+ppt+代码讲解+答辩指导文件都有可私要
随着社会的发展、科技的进步和人民生活水平的提高,人们的消费观念和消费方式也正在发生转变,现代人的生活不仅注重品质,消费方式也要便利便捷,尤其最近几年,网络购物已经成为消费的主流趋势,随着近几年网络直播带货的风潮越来越强,足不出户的购物形式已经渗透到我们生活的方方面面。互联网技术在近几年取得了很大的进步,不论是在实体上的运用还是网络上的运用,都取得了很好地成绩并结合了定位等功能加以优化。网络购物对于消费者来说,刷刷网页就能买到自己心仪的商品,对于商家来说,增加了销售渠道的同时还节省了成本的支出。近些年,外卖种类越来越丰富,需求也越来越多,尤其对于现代女性来说,可以说是一种生活必需品了,但是不管是线下超市还是网络购物,专业的外卖购物网站还是不多的,所以线上外卖市场有很大的潜力,为此我们本次设计了外卖购物网站。
本次外卖销售系统设计的实现是基于SpringMVC的外卖销售系统,通过与计算机行业的结合来弥补传统销售的短板。此系统使用主流的Java语言、并结合JSP开发技术,使用eclipse作为开发工具,采用MySQL关系型数据库,来完成最后的设计与实现。为满足此系统的用户需求和功能需求,设置了管理员与用户两个角色。用户主要是进行注册登录、商品浏览、添加购物车、订单管理、评价管理、收藏管理等功能;管理员承担的工作主要是商品管理,包含添加商品、删除商品、外卖折扣等,除此还有用户管理、订单管理、外卖推荐等。通过开发此系统,对相关技术掌握的更加熟练,也得到了更深刻地理解。
关键词:外卖,购物,JSP,Java,线上
With the development of society, the advancement of science and technology and the improvement of people’s living standards, people’s consumption concepts and consumption patterns are also undergoing changes. Modern people’s lives not only pay attention to quality, but also pay more and more attention to the maintenance of the body, as well as convenient and convenient consumption methods. , Especially in recent years, online shopping has become the mainstream trend of consumption, especially in recent years, the trend of online live streaming has become stronger, and the form of homeless shopping has penetrated into all aspects of our lives. Internet technology has made great progress in recent years. Whether it is used on the physical or on the Internet, it has achieved good results and combined with positioning and other functions to optimize it. For consumers, online shopping can buy their favorite products by swiping the webpage. For merchants, it increases sales channels and saves costs at the same time. There are many types of cosmetics, especially for modern women, it can be said to be a daily necessities, but whether it is offline supermarkets or online shopping, there are still not many professional cosmetic shopping websites, so there are many online shopping cosmetics markets. With great potential, we have designed a cosmetics shopping website this time.
The realization of the cosmetics sales system design is based on the SpringMVC cosmetics sales system, which is combined with the computer industry to make up for the shortcomings of traditional sales. This system uses mainstream Java language, combined with JSP development technology, uses eclipse as a development tool, and uses MySQL relational database to complete the final design and implementation. In order to meet the user needs and functional requirements of this system, two roles, administrator and user, are set up. The user is mainly for registration and login, product browsing, shopping cart addition, order management, evaluation management, collection management and other functions; the administrator's work is mainly product management, including adding products, deleting products, cosmetics discounts, etc., in addition to others User management, order management, cosmetic recommendation, etc. Through the development of this system, I have become more proficient in relevant technologies and have a deeper understanding.
Keywords: cosmetics, shopping, JSP, Java, online
第1章 绪论
1.1课题的来源及意义
伴随着我国近几年在经济方面的发展,人们的需求不断增多,各行各业也随之兴起。并且这些行业大部分都抓住了机遇,也通过不断的探索找到了适合自己的发展模式。在这个计算机盛行的时代,如果一些商家没有抓住机遇可能就错过了良机,所以现在很多行业都与计算机进行了合作。现在的网络购物的受众面特别广泛,所以这种销售模式成了最常见的。外卖的品种十分丰富,不同的品种适合不同的人,所以为了外卖的销售行业的发展,设计了这个销售系统。
近几年的双十一可谓是非常火热,而且持续周期长,这对商家和消费者来说是互利互惠的,所以近几年的网络销售成交量远远地超过了实体销售,所以说网购成为消费者和商家都支持的消费方式。为什么在短短几年内网络销售就赶超了实体销售呢?首先从便捷程度上来说,网购可以满足消费者在任何场合浏览、下单,忙碌的上班族可以在上下班的路上买到所需品,老年人可以在家里买自己心仪的产。并且现在的快递行业也是十分的发达,网购的商品都有快递员送货上门,给消费者带来了全方位的便利。对于商家减少了店面的支出还增加了销售渠道。其次从合理化的角度来说,每一款商品都明码标价,顾客可以通过不同店铺的不同价位选择自己心仪的商品,而且在结账的时候不需要排队,即节省了时间有节省了很多的人力物力。所以说网络销售的成功是有情可原的,它能满足用户的基本需求与此同时还能节约时间和金钱。通过本次系统的设计,给人们带去真正的便利,让消费者买到想买的,让商家增添盈利。
1.2国内外研究现状
网购其实也就是电子商务的一种,电子商务最早起源于美国,同时美国也是电子商务发展的最成熟的国家。二十多年前,在美国、欧洲等国家你可以通过打电话到商城说出你需要的东西,告诉商家地址,然后商家就会给你派送了,这就是最早的电子商务。后来随着互联网行业的发展,国外逐渐出现了亚马逊、雅虎、沃尔玛等线上超市的出现,所以说科技的进步推动的购物的发展。
国内的网购比国外出现的晚,国内的购物网站最早的就是阿里巴巴,后来又出现了淘宝、京东以及近几年大热的拼多多,都是网购平台。而且今年双十一淘宝的成交额已经高达4982亿元,这足以证明了网购在人们生活中的影响。据统计我国的网购成交额远远地超过了其他国家。近几年随着网购的普遍化,支付方式也越来越多,从最开始的网银扣款到后来的支付宝,现在又开始了刷脸支付,这都是网购带动起来的,推动着科技的进步和创新。外卖的品种很多,但是传统意义的电商和线下超市都有很强的局限性,所以想设计一款专门的外卖销售系统,让用户可以尽情的挑选自己喜欢的外卖。
1.3本文研究内容
本系统主要研究内容为外卖销售系统,外卖销售系统的实现以及管理,本系统主要通过java的语言开发,jsp web页面,idea操作系统,Navicat以及SQL数据库进行实现。在整个系统设计中通过对外卖销售系统的前期需求调研对市场上已有系统的优缺点分析,对本系统所采用的技术以及可行性分析,然后通过对系统的梳理,对数据库模型以及ER图进行设计,系统主要核心功能包括外卖商品管理,会员管理,外卖展示,商品搜索,下单,购物车以及相关订单的处理,用户的注册以及登陆等,通过对各个角色分析完成系统主要功能设计,最后对系统功能进行测试完善。
第2章 相关技术简介
2.1Java介绍
Java作为开源语言中最为编程能力强的语言,融合了更多的技术特点,java的三大要素特点是封装、继承、多态、java主要包含8种基本类型,可以对所有的变量进行定义,且这几个类型又可以作为变量在对象实体中保存,因此java是面向对象的语言,开发者无需关注底层架构本身,只需要对类层进行设计,java语言是对底层c++语言的封装,因此java没有面向过程的部分体现,主要是面向对象的开发,可以面向点,也可以升华到面,基于java的23种设计模式,可以让java的开发更为简单、简洁。
2.2SSM框架介绍
SSM是指Spring+SPringMVC+Mybatis,SSM是当前企业开发中Java使用最频繁最稳当的框架。
Springmvc:springmvc主要是对控制层的请求url进行处理,在前端页面发送请求后需要找到后台对应的路由信息,根据路由的指向,然后进行业务层的处理,springmvc作为控制层可以对一些日志的拦截处理,以及一些开发错误信息日常的信息进行搜集集体处理,在接口层通常采用restful进行定义,springmvci由于时基于rest风格的,首先可以在url路径上进行参数的设定,也可以通过requestbody对参数进行对象化封装直接进行装载,springmvc类似于之前架构的struts,struts是基于对象的拦截url定义,而springmvc是基于函数的片段化拦截,因此更为的灵活,且参数化,一个是基于整个对象变量,而springmvc是基于各自的函数变量。
Spring:spring作为java的底层架构,彻底的对java的对象定义进行颠覆,采用了bean的注入方式进行新建,且可以定义动态代理类进行事务的处理,spring可以处理很多的事务,例如文件的上传,以及一些常规实体compontent类的定义,且在spring中开启了类的注解形式,通过注解的方式可以进行类的关联,且可以进行切面对类的扫描,类可以整个的都交给spring进行处理,且spring可以集成很多的框架,例如hibernate和mybatis等。
Mybatis:mybtis通常是跟一些关系型数据库进行数据的处理,特别是在mysql和sqlserver的处理上,mybatis可以对sql进行校验,在定义时通过对mapper与xml进行对于,然后通过id与参数进行关联和传输,对底层的业务进行封装处理,通过mybatis将sqlsessionfactory进行了封装,这样解放了开发者,避免了一些多线程处理事务的繁琐流程。而另一个数据库处理框架hibernate,则直接自动生成sql,在一定程度上昂也是基于面向对象开发,而mybtis作为半自动orm架构也使得底层查询更为的灵活。
2.3Mysql介绍
Mysql作为最常用的关系型数据库,可以对数据进行格式化存储,mysql可以里面内包含一些已经封装的函数,保证了sql的正常调用以及快速查询搜索,mysql的特点在于可以对中小型数据量的数据进行快速的检索,且可以通过index索引对数据进行内部的关联设定,mysql的底层检索原理也为二叉树形式进行数据标签关联存储,mysql的数据格式与java的格式基本一致,因此在开发者选择中也会首先选择mybatis与之搭配开发,mysql无需一些用户权限角色的关联直接便于开发者上手进行查询。
第3章系统分析与总体设计
3.1系统可行性分析
1、技术可行性:在当前开发框架下,技术得到飞速发展, Java技术更加盛行,通过Java中的后台SSM框架,利用控制层中的restful风格进行URL定义,在mybatis中通过mapper与XML的匹配定义,建立动态机制,通过SQL拼接完成半自动化数据处理。
2、市场可行性:当下网络购物已有超越实体购物的趋势,足不出户在网上购物已成为一种新的消费形式,当前更有直播带货行业盛行,更加证明了网络购物已成为主流销售渠道,通过建立第三方网络购物平台,形成新的B2C消费模式,乘着当前网络购物热潮,可以顺势增加系统推广和数据访问数量,提高流量,在平台上也可以指定一些促销机制,提高网络销售能力。
3、操作可行性:系统开发前期,只需要几台服务器,通过Java技术以及跨平台部署,仅仅需要几名运维人员对流量数据进行监控,对可能存在的待机情况或者是数据爆发情况进行监控,极大减少了人力成本,依靠技术来实现销售量的提升。
3.2系统功能分析
1.外卖管理功能
管理员端可以对外卖依据种类以及成分和功效等进行新增,可以对外卖进行编辑,对库存进行维护。在管理中可以对外卖的库存或者是外卖的图片进行更换,可以对商品进行下架。
2.外卖活动促销功能
可以依据一些节假日或者是类似双十一等电商的活动对外卖进行促销,可以设置活动机制以及折扣的金额进行优惠设置。可以设置满减的活动,或者是打折优惠,可以针对每个外卖进行活动的绑定,然后根据商品关联活动信息进行活动的优惠。
3.外卖展示功能
在前端用户进入系统后,可以查看到可销售的外卖信息,可以对具体外卖进行点击查看详情。可以根据类型对外卖进行展示,可以通过一级和二级进行关联,可以对外卖查询详情信息,也可以对感兴趣的外卖进行收藏。
4.外卖搜索功能
用户可以依据外卖的类型和外卖名称的关键字进行搜索,可以根据外卖的品牌进行搜索。可以针对种类单独搜索,可以针对用途或功效进行搜索,在搜索时可以根据关键字进行匹配。
5.用户注册登录功能
用户进入平台后,若无账号,则可以输入自己的基本信息进行注册,注册校验通过完成后可以进行登录。可以通过手机号或者是常用的邮箱进行中注册。
6.购物车功能
用户可以挑选自己需要的外卖添加到购物车,可以查看自己的购物车清单,可以对购物车信息进行编辑。
7.下单购买功能
用户可以在商品详情直接进行下单,也可以通过清除购物车进行下单结算,下单完成付款则购买成功。
8.订单查询功能
用户下单完成后,可以查询自己的下单情况,可以根据订单的状态进行查询,管理员后台端可以对所有的订单进行查询。
3.3系统数据分析
依据前期的功能梳理以及和各个模块之间的业务联系,绘制数据库图,主要是对各个表之间进行关联以及各个图表的属性进行详细划分,具体E-R图如图3-1所示:
图3-1系统E-R总图
3.4 系统功能设计
外卖销售系统功能模块主要分为前台用户端和后台管理端,前台和后台主要通过商品信息和订单进行关联。
后台管理员可以在后台管理端将外卖根据品类、用途、功效及成分将商品进行归类,并将外卖的图片和价格上传,将符合规格的商品信息上传后,可以设置促销活动,可以设置满减或者打折等活动机制,然后将活动机制与外卖进行绑定,管理员可以在后台管理端进行用户查询、订单查询,可以上传发货信息。
消费者可以在前台用户端搜索商品信息,可以根据自己需要的产品种类或者功效或者品牌信息进行搜索,可以放大查看商品图片及商品详情,可以对感兴趣的商品进行收藏或者加入购物车,可以添加到购物车下单或者点击商品直接下单,可以对商品进行结算,可以查看发货信息,收货后可以对商品进行评价。
系统功能模块图如图3-2所示:
图3-2系统模块总图
前台用户端具体模块图如下3-3所示:
图3-3系统前端模块图
后台管理端具体模块如图3-4所示:
图3-4系统后端模块图
在整个的外卖购物流程中,通过以下流程图对本系统的整个操作过程进行描述,首先消费者作为用户需要先在网站上注册信息,注册完成后通过自己设置的账号进行登陆,若注册信息异常则提示错误信息,然后跳转到注册页面,在进入系统后可以按照品类,根据一级二级分类搜索外卖,也可以按照种类或者品牌名车给进行关键词搜索,可以点击查询商品具体信息,可以查看购物车详情,可以查看历史订单,用户可以对自己的个人信息进行修改,如图3-5所示:
图3-5购物流程图
3.5数据库设计
本系统采用MySQL数据库,通过对前期的数据量分析,以及对数据权限分析,对数据的关联查询和数据的业务存储进行选择,最后选择开源的mysql,此系统共包含7张表。
1.平台会员信息表(users)
表内主要存储外卖销售平台的注册的所有会员信息如表3-1所示。
表3-1会员信息表
属性 | 数据类型 | 存储最大 | 定义主键 | 备注 |
qkluserId | int | 4 | 是 | 用户主键 |
qklUsername | varchar | 45 | 用户登录名 | |
qklPassword | varchar | 100 | 密码加密 | |
qklRegtime | Date | 注册时间 | ||
qklEmail | varchar | 80 | 注册邮箱号 | |
qklephone | varchar | 11 | 注册电话 |
2.平台外卖商品信息表(salegoods)
存储在平台的外卖的信息,如表3-2所示。
表3-2平台外卖商品表
属性 | 数据类型 | 存储最大 | 定义主键 | 备注 |
salegsId | Int | 4 | 是 | 自增生成id |
salegsName | varchar | 100 | 外卖名称 | |
salegPrice | Int | 45 | 外卖价格 | |
salegNum | Int | 4 | 库存外卖 | |
salegUpTime | Date | 上架时间记录 | ||
salegtype | Int | 4 | 一级所属 | |
erjitype | Int | 5 | 类型 | |
salegDesc | varchar | 50 | 外卖介绍 | |
salegActid | Int | 4 | 促销活动 | |
salegPhoto | file | 120 | 图片关联 |
3.后台业务员操作信息表(manager)
用于存储维护此平台数据的业务员如表3-3所示。
表3-3业务员信息表
属性 | 数据类型 | 存储最大 | 定义主键 | 备注 |
yewuId | Int | 6 | 主键 | 业务员编号id |
yewusuer | varchar | 20 | 业务员登录名 | |
yewupwd | varchar | 40 | 登录密码 |
4.促销季打折活动信息表(active)
包含一些节假日的优惠活动存储信息,包含一些折扣和满减的数据等如表3-4所示。
表3-4促销折扣满减信息表
属性 | 数据类型 | 存储最大 | 定义主键 | 备注 |
cuxiaoId | Int | 8 | 主键 | 促销id |
cuxiaoname | varchar | 90 | 活动力度名称 | |
cuxiaodes | varchar | 80 | 优惠介绍 | |
discount | double | 9 | 优惠满减数字 | |
cuxiaofullPrice | Int | 4 | 总消费够金额 | |
cuxiaoreducePrce | Int | 4 | 扣除打折金额 | |
cuxiaofullNum | Int | 6 | 优惠数量 | |
cuxiaoreduceNum | Int | 6 | 最大折扣数量 |
5.商品添加用户购物车(buycart)
包含用户添加到购物车存储的一些待购物信息如表3-5所示。
表3-5用户待下单购物车表
属性 | 数据类型 | 存储最大 | 定义主键 | 备注 |
goumairenid | Int | 6 | 主键 | 所属编号 |
salegsid | Int | 5 | 下单外卖 | |
tianjiaDate | Date | 购物车日期 | ||
salegNum | Int | 4 | 下单数量 |
6.会员购买外卖下单表(orders)
存储会员购买外卖后的下单信息如表3-6所示。
表3-6会员下单信息表
属性 | 数据类型 | 存储最大 | 定义主键 | 备注 |
goumaiid | int | 6 | 主键 | 生产编号 |
gouwucheid | Int | 4 | 所属购物车 | |
Salegsid | Int | 7 | 销售外卖 | |
gouNum | Int | 4 | 下单数量 |
7.用户购买外卖后评价表(pjcomment)
存储用户在购买和下单后的一些消费体验留言信息如表3-7所示。
表3-7评价表
属性 | 数据类型 | 存储最大 | 定义主键 | 备注 |
tiayanid | int | 4 | 主键 | 生成编号 |
huiyuanid | Int | 6 | 当前评价人 | |
salegid | Int | 4 | 所属商品 | |
dascore | Int | 3 | 用户评分 | |
pjneirong | Varchar | 45 | 说明评价 | |
pingjiatime | Date | 记录时间 |
3.6本章小结
本章主要从可行性的角度进行分析,然后对系统的主要功能模块进行梳理,对系统的购物流程图进行梳理,然后是数据库E-R图的设计,最后到表结构的具体设计。
第4章系统实现
4.1前台管理模块详细设计与实现
在系统中会员端属于前台的登录,可以通过login.jsp进入到登录页面,但在登录前需要先进行注册,需要通过将用户的基本信息,一些账号以及邮箱等,页面中通过输入信息后,将信息通过ajax提交到后台的控制层,控制层对注册信息进行校验,对账号信息重复以及长度等进行校验,完成后存储到数据库。
图4-1 用户注册界面
在登录界面,可以通过输入个人的账号信息以及动态的校验码进行登录,校验码可以进行实时的刷新,可以,通过前端的JS对输入的长度以及字符进行设置校验,输入完成后提交后台进行校验,主要是通过跟数据库user表进行匹配,然后返回匹配结果,校验存在则登录完成,通过session将信息进行保存服务器端。
图4-2 用户登录界面
4.1.2商品展示模块
在用户进入到首页时,首先看到的是巧克力商品的分类展示,其实是通过在后台商品的数据处理层,获取到商品信息后进行分组,通过googcontroller,对商品调用信息,然后通过list对数据进行组合,返回到页面,页面需要对数据进行展示,GoodsExample digGoodsExample = new GoodsExample();
List<Integer> digCateId = new ArrayList<Integer>();
for (Category tmp:digCategoryList) {
digCateId.add(tmp.getCateid());
}
digGoodsExample.or().andCategoryIn(digCateId);
List<Goods> goodsList = goodsService.selectByExampleLimit(digGoodsExample);通过将数据的返回页面,然后页面对数据进行处理。
在点击商品详情时,通过click事件获取到商品的goodid,每个商品都有一个唯一的id,用于对商品进行区分,通过这个id可以调用数据库查询到对应的商品信息,然后通过多表的关联,通过主外键id找到商品的评价和图片等信息返回页面进行展示
Map<String,Object> goodsInfo = new HashMap<String,Object>();
//查询商品的基本信息
Goods goods = goodsService.selectById(goodsid);
if (user == null) {
goods.setFav(false);
} else {
Favorite favorite = goodsService.selectFavByKey(new FavoriteKey(user.getUserid(), goodsid));
if (favorite == null) {
goods.setFav(false);
} else {
goods.setFav(true);
}
}
图4-4 商品详情界面
4.1.3购物车功能模块
在商品点击添加到购物车时,通过出发添加购物车按钮事件,获取到商品的对于编号以及当前的时间,通过商品编号去后台校验是否库存充足,然后添加到购物车,同时在数据库中对当前用户的添加记录进行存储。如图4-5所示。
Goods goods=goodsService.selectById(shopCart.getGoodsid());
if(goods.getNum()<shopCart.getGoodsnum()){
return "";
}
//判断是否已经加入购物车
ShopCart shopCart1 = shopCartService.selectCartByKey(new ShopCartKey(user.getUserid(), shopCart.getGoodsid()));
if (shopCart1 != null) {
return "redirect:/showcart";
}
图4-5 购物车界面
4.1.4用户下单功能模块
在用户对购物车进行结算时,首先要分为两步,一步为对购物车的数据进行清除,另一部分为对数据进行存储到订单表,同时需要对订单金额以及下单时间和状态等进行存储,通过goodservice以及orderdao等类对数据进行持久化处理。用户下单时首先时要判断用户是否登录,以及用户的角色,用户的账号状态,为若未登录,则首先提醒登录,若账号异常则提示账号错误,在用户登录的情况下,通过session获取到userid,采作为存储用户基本信息编号使用。下单时将用户信息以及购物信息进行存储,如图4-3所示。
图4-6 订单结算
4.1.5商品收藏功能模块
在用户进入到商品的详情时可以对商品点击收藏和取消收藏,通过插入到收藏表,将用户以及商品编号进行绑定,然后对表状态进行维护。通过Favoriteservice对数据进行更新。收藏的实现原理为通过出发collect方法,然后将goodid提交到collectcontroller,通过业务处理将后台的信息数据调用service进行存储。
Favorite favorite = new Favorite();
favorite.setCollecttime(new Date());
favorite.setGoodsid(goodsid);
favorite.setUserid(user.getUserid());
goodsService.addFavorite(favorite);
如图4-7所示。
图4-7 商品收藏界面
4.1.6订单查询模块
用户订单结算后,订单状态又可以分为多种,未发货,已发货,已完成,所有根据不同的搜索条件可以对订单进行查询,可以根据传输的参数不同,然后对不同的订单进行过滤,通过order.jsp以及orderservice和dao层对数据进行层层的传递展示。每个订单都有订单编号uuid,每个订单都会绑定用户的userid,因此在查询时将多表进行关联,通过对订单表中的外键userid进行赋值查询,获取订单信息。
图4-8 订单查询界面
4.1.7评价模块
用户在收到货品后可以进行订单的完成操作,通过update订单表将状态进行更新,更新完成后,可以自动跳转到评价界面,可以选择评分以及评价描述,然后进行保存,通过dao层进行存储。在评价时对订单状态进行判断,订单状态为1的时候,证明时已收货才可以进行评价,通过调用pingjiacontroller将评价信息以及评分等进行service存储,后期可以根据订单号中的商品编号进行展示。
图4-9 订单评价界面
4.2后台管理模块详细设计与实现
4.2.1后台登录功能模块
在登录界面,可以输入管理员的账号信息,管理员需要从管理用户表中进行匹配校验,可以通过前端的JS对输入的长度以及字符进行设置校验,输入完成后提交后台进行校验,主要是通过跟数据库adminuser表进行,管理员用户都有自己各自的角色信息,依据不同的角色去管理后台的不同事物。
图4-10 后台管理员登录界面
4.2.2用户管理功能模块
在后台端可以对用户进行信息的维护,可以通过调用user表,对注册的所有的用户进行查询,通过userdao层对数据进行筛选,通过findbypage方法对表进行分页,List<User> userList = userService.selectByExample(new UserExample());通过在new UserExample进行参数化设置然后进行查询。
图4-10 用户管理界面
4.2.3后台商品功能模块
在后台端可以对商品进行信息的维护,可以通过调用goods表,对注册的所有的在线销售的进行查询,通过goodsdao层对数据进行筛选,通过findbypage方法对表进行分页selectByExample(new goodsExample());通过在new goodsExample进行参数化设置然后进行查询。
图4-10 商品管理界面
4.2.3后台订单功能模块
用户订单结算后,订单状态又可以分为多种,管理员端可以查询所有订单信息,未发货,已发货,已完成,所有根据不同的搜索条件可以对订单进行查询,可以根据传输的参数不同,然后对不同的订单进行过滤,通过order.jsp以及orderservice和dao层对数据进行层层的传递展示。后台端可以通过发货等对订单进行状态更新。
4.2.3优惠活动模块
管理员可以发布一些优惠的活动进行,可以通过将优惠的描述以及优惠折扣或者是满减的活动数额进行保存发布,然后通过将商品跟活动进行绑定,这样在商品的展示页面就可以查询到活动优惠信息,购买时也可以直接进行优惠立减。通过在activety表中对获取的打折信息进行存储,通过将goodid与actid进行绑定,使得商品跟活动进行关联。
第5章系统测试
经过不断地改进和查阅资料,终于将本次系统的功能需求和权限进行了完善,也设置了比较完善的功能模块,但是功能设置的再完美也是不够的,只有经过不断地测试和改进才能发现漏洞和问题,纠正问题和弥补漏洞才是系统测试的根本。所以说想要设计出更加合理、完善的系统,必须经过严谨的系统测试。将本系统进行系统测试,我们能在系统测试的过程中查看各个功能模块的运行是否正常,并在过程中发现缺陷。本次设计的外卖销售系统经过了一次又一次的测试,将我们在测试中发现的问题进行改进,并通过我们的亲身体验发现系统的不足,从而进行改进。所以说,我们的系统之所以能如此完善,是因为我们进行了严谨、认真的系统测试。要想设计出适用范围更广、服务对象更多的系统,必须在系统测试的时候付出努力,只有认真对待它,我们才能取得成功。
1.外卖管理测试,如表5-1所示
表5-1外卖管理测试
测试 | 前置条件 | 预期输入 | 测试结果 |
外卖信息管理的测试 | 将外卖的品类描述以及金额添加提交 | 页面显示success,然后数据存储成功 | 页面显示success,然后数据存储成功 |
对销售的金额或者是种类未选择 | 页面显示error然后提升错误原因 | 页面显示error然后提升错误原因 |
2.优惠力度测试,如表5-2所示
表5-2优惠力度测试
测试 | 前置条件 | 预期输入 | 测试结果 |
优惠力度测试 | 输入满减的金额以及折扣金额 | 页面显示success,然后活动保存 | 页面显示success,然后活动保存 |
输入错误的非数字进行提交 | 页面显示error然后提升错误原因 | 页面显示error然后提升错误原因 |
3.外卖展示测试,通过在首页对外卖根据种类或者是平台测试通过如表5-3所示
表5-3外卖搜索测试
测试 | 前置条件 | 预期输入 | 测试结果 |
外卖首页展示测试 | 可以通过点击品牌或者是商品关键字进行搜 | 不同的品牌以及类型可以不同展示体现 | 不同的品牌以及类型可以不同展示体现 |
4.外卖下单测试,用户可以对喜欢的商品下单如表5-4所示
表5-4购买测试
测试 | 前置条件 | 预期输入 | 测试结果 |
下单测试 | 添加到购物车直接点击下单 | 直接进行金额结算跳转 | 直接进行金额结算跳转,结算成功 |
输入超大量数字进行购买 | 在弹出库存不足不能购买 | 页面提示外卖库存不足 | |
5.用户下单后评价测试,对下单收货后的商品测试,如表5-5所示
表5-5下单评价测试
测试 | 前置条件 | 预期输入 | 测试结果 |
下单评价测试 | 点击评价按钮 | 可以进入到评价界面进行输入 | 可以进行评价输入 |
添加自己的评价体验信息 | 评价完成后可以在商品详情展示 | 评价完成后可以在商品详情展示 |