基于SpringBoot的手机官方商城系统

基于SpringBoot的手机官方商城系统

摘要:随着电子商务的发展,网上购物已成为人们普遍的购物方式。与此同时,网上支付也得到了迅速的发展,大有赶超传统支付的趋势。在今天这个信息化程度高、生活节奏快的现代社会,传统支付的弊端已越来越明显。需要携带现金、只能面对面交易、交易速度较慢等,传统支付已难以满足人们的支付需求。
网上支付的出现,使人们支付变得方便、简单、快捷成为了可能。针对传统支付无法满足电商的发展需求的问题,分析了电商系统中第三方支付的支付模式,采用了B/S开发模式、SpringBoot开发框架开发了一个具有第三方支付功能的手机官方商城系统,解决了传统支付无法适应电商系统的支付功能的问题,给消费者提供了网上购买手机的官方渠道的同时也为手机商家提供了线上销售的网店,可以提高商家的产品销售量,有利于增强品牌影响力。手机官方商城系统使用了IDEA作为集成开发环境,编程语言为Java,数据库为MySQL,其数据持久层采用的是MyBatis。
手机官方商城系统分为两个分系统,分别是商城分系统和支付分系统,前者主要负责商城的产品展示和订单管理等基本功能,后者主要负责商城的支付功能,其采用了第三方支付方式,接入支付宝和微信两大第三方支付平台。在实际使用中,界面美观,操作简便,具有良好的购物体验,也给手机商家在线上销售手机带来了较大的帮助。
关键词:第三方支付,线上销售,电商系统,SpringBoot,RabbitMQ

The SpringBoot-Based Official Mobile Phone Mall System

Abstract:With the development of e-commerce, online shopping has become a popular way of shopping. At the same time, online payment has also developed rapidly, which has a trend of catching up with traditional payment. In today’s modern society with high degree of information and fast pace of life, the disadvantages of traditional payment have become more and more obvious. It needs to carry cash, face-to-face transactions, the transaction speed is slow and so on. Traditional payment has been difficult to meet people’s payment needs.
The emergence of online payment makes it possible for people to pay conveniently, simply and quickly. Aiming at the problem that traditional payment can not meet the development demand of e-commerce, I analyzed the payment mode of the third-party payment in a e-commerce system, and developed an official mobile phone mall system with the third-party payment function by adopting the B/S development mode and the SpringBoot development framework, which solved the problem that traditional payment can not adapt to the payment function of a e-commerce system, and provided consumers with an official channel to buy mobile phones online and an online store for mobile phone merchants, which can improve their product sales and enhance their brand influence. IDEA is used as the integrated development environment for the development of the official mobile phone mall system, Java is used as the programming language, MySQL is used as the database, and MyBatis is used as the data persistence.
The official mobile phone mall system is divided into two sub systems, namely the mall subsystem and the payment subsystem. The former is mainly responsible for the basic functions of the product display and the order management in the mall, which is mainly responsible for the payment function of the mall. The payment subsystem adopts the third party payment method and accesses to Alipay and WeChat, the two largest third party payment platform. In practical use, the interface is beautiful, the operation is simple, and the shopping experience is good. It also brings a great help to mobile phone merchants to sell mobile phones online.
Keywords:third party payment, online sales, E-commerce system, SpringBoot, RabbitMQ

目 录

第1章 绪 论 6
1.1 系统的开发背景和意义 6
1.2 国内外研究现状 7
1.3 系统的主要研究内容 8
第2章 系统需求分析 9
2.1 系统的总体需求 9
2.2 系统的功能需求 9
2.3 系统的用例图 11
2.4 用例规约表 11
第3章 系统设计 17
3.1 系统顺序图 17
3.2 系统状态图 26
3.3 系统活动图 29
3.4 数据库设计 32
第4章 系统实现 35
第5章 系统测试 42
5.1 系统测试的目的 42
5.2 系统测试的意义 42
5.3 测试用例及结果 42
第6章 结束语 44
6.1 全文总结 44
6.2 课题展望 44
参考文献 45
致 谢 46

第1章 绪 论

1.1 系统的开发背景和意义
如今,网上购物这种新型的购物方式已经被大多数人所青睐,人们线上消费的需求越来越大。对于手机,同样有很多人会选择在网上购买。为了满足人们庞大的手机线上消费需求,开发一个高效、方便、稳定的手机官方商城系统显得极其重要。在消费活动中,支付是一个必不可少的环节,而在电商时代,传统的现金支付已不再适用于线上消费,电子支付是人们支付方式未来的发展趋势。而第三方支付为实现该系统的线上支付功能提供了很好的解决方案。该系统的支付分系统通过第三方支付平台,在用户进行支付时给用户提供一个支付接口,让用户通过这个接口把费用支付给平台,再由平台转给商家,最终完成整个支付流程,实现资金的流通。
伴随着信息技术的发展,人们的生活方式和消费观念发生了翻天覆地的变化,特别是电子商务的快速发展,已经融入了人们的生活。手机行业也不例外,几乎所有手机厂商都有自己的线上销售渠道。借助于电商平台,手机厂商可以拓宽自己的销售和宣传途径,提高产品的销售量,降低运营成本,获得更多的营业收入,提升品牌的形象,增强影响力[ 唐军,朱金洲.小米手机电商营销模式研究[J].合作经济与科技,2019.88-90]。
在信息技术迅速发展的同时,支付方式也不断变化和完善。现在,传统支付因其存在许多弊端,比如需要携带现金、可能遇到没有零钱可找的情况、只能面对面交易、交易速度较慢等[ 我国电子商务与电子支付的发展现状,https://wenku.baidu.com/view/086bb6a9a517866fb84ae45c3b3567ec112ddc72.html(2019/09/07)],已越来越不能适应现代消费方式的发展,而相对的是电子支付,它是现代信息技术的产物,现在以其独具的方便性逐渐得到了广大消费者的喜爱,取代了传统支付,成为许多人的主流支付方式[ CHINA, G C.O.M., The trust model based on consumer recommendation in B-Ce- commerce.中国湖北武汉.2011: p.214-217]。
在电商系统中,第三方支付是其采用的主要支付方式,它是指具备一定实力和信誉保障的独立机构,通过与银联或网联对接而促成交易双方进行交易的网络支付模式。
《手机官方商城系统》可以作为售卖手机的商家的在线上销售的电商网站,利用电商平台展示自己的产品,介绍其信息和特色,来推广和销售各种各类的产品,同时为顾客提供在线客服、售后咨询、网点查询等相关服务。本系统作为一个电商平台,可以帮助商家更好地宣传自家产品,提高服务质量,从而吸引消费者的目光,提高商
家的营业收入,塑造良好的品牌形象。研发本系统将为商家提供新颖的线上商业模式,拓宽销售渠道,为品牌的线上销售模式建设创造基本条件,给手机行业提供一个较为成熟的线上销售电商平台模板。
1.2 国内外研究现状
1.2.1 国内研究现状
近几年,电子商务的迅速发展和智能手机的快速普及大大推动了第三方支付市场的发展,特别是在我国,从整个支付体系来看,第三方支付已经成为我国支付市场和支付体系的重要组成部分[ 电子商务与网络支付的发展现状,https://wenku.baidu.com/view/4a8410c1a9114431b90d6c85ec3a87c241288a35.html?rec_flag=default&sxts=1582472968891(2019/09/05)]。我国第三方互联网交易规模非常大,2018年时达到29.1万亿。同时用户规模也很庞大,截止2019年6月,我国第三方支付用户规模已达6.33亿人[ 2019年中国第三方支付行业现状分析,https://baijiahao.baidu.com/s?id=1644627461457280478&wfr=spider&for=pc(2019/09/14)]。在电商平台,第三方支付市场规模同样巨大,2019年我国最大的购物平台天猫双十一总成交额达2684亿元,而小米仅仅在当天全渠道支付金额就超过了61亿元。
我国的第三方支付平台起步较晚,但发展迅速,主要有两大平台,分别是支付宝和微信,其中支付宝具有绝对领先地位,2019年6月,支付宝及其本地钱包合作伙伴已经服务超12亿的全球用户,是全球最大的移动支付厂商,而微信支付绑卡用户已超过12亿,几乎国内每个人都在使用[ 王春英,陈宏民.基于双边市场理论的第三方支付平台研究[J].现代管理科学,2019,(3):100-102]。
1.2.2 国外研究现状
在国外,早在二十世纪末就出现了第三方平台,现在已经发展壮大。美国在线支付服务商PayPal就是其中杰出代表,它为人们提供了普惠金融服务,通过技术创新与战略合作相结合,为资金管理和移动创造了更好的方式,在全球范围内已经拥有超过3亿活跃用户。
1.3 系统的主要研究内容
本系统前端以vue全家桶作为主要的技术体系,后端以轻量级的Web框架技术springboot作为系统的开发框架[ 陈雄华.Spring企业级应用开发详解[M].北京:电子工业出版社,2009.:119-250][ 孙卫琴.Tomcat与Java Web开发技术详解(第2版)[M].北京:电子工业出版社,2009:100-200],以Mybatis作为数据库的持久层,采用Mysql数据库,选择IDEA作为开发环境,利用软件工程的基本思想和方法,总体上用结构化生命周期法进行系统分析和设计[ 张海藩. 《软件工程导论》[M]. 北京:清华大学出版社, 2003]。
整个系统分为商城分系统和支付分系统。商城分系统包括了用户登录、商品展示、商品详情、购物车、提交订单、订单列表等几个模块,相应的实现了登陆注册、商品分类、添加购物车、订单管理等功能。其中,使用了递归方法来设计商品分类的多级目录,使用Redis来构造高性能的购物车功能。支付分系统完成的是系统的支付业务,它接入到支付宝和微信两大第三方支付平台,采用异步通知方式返回请求,使用信息队列MQ来进行业务解耦[ Changchun, Z Z H.Q., Simulation of 3-C Seismic Records In 2-DTIM. 中国北京.1991: p.489-493],实现支付高性能。这两个分系统互相独立又可以进行交互,它们共同组成一个完整的手机官方商城系统。

第2章系统需求分析

2.1 系统的总体需求
手机官方商城系统的主要需求如下:
(1)商品的分类和查看。对商品进行多级目录分类,把同一类型的商品归纳在同一个目录里,便于用户查找。用户可以选择所需商品查看其商品的基本信息。
(2)购物车管理。用户可以选择商品添加到购物车收藏,并对其进行增减数量、添加删除等操作,来管理购物车里的商品。
(3)收货地址管理。收货地址是电商交易活动中的重要信息,要对其信息进行规范的管理,为用户提供增删改选等基本处理方式,确保地址信息的有效性和正确性。
(4)订单管理。对已提交的订单要立即添加在订单列表里,要展示出订单的详细信息,当订单信息有变动时,订单列表要及时更新订单的相关信息,确保订单信息的及时性。
(5)支付商品。支付是电商交易活动中必不可少的环节,而第三方支付是电商系统的主流支付方式,它使电子商务由网上信息搜索和协议草签的阶段,转入实质性的交易阶段,形成完整的电子商务。本系统采用第三方支付方式,需要接入到第三方支付平台,为用户提供网上支付的渠道,用户通过第三方支付平台提供的支付二维码进行付款,付款成功后,要确保钱款转到商家的收款账户上,保证电子货币在流通时的安全性、及时性、保密性。

2.2 系统的功能需求
根据手机官方商城系统的总体需求,系统的功能模块主要包括用户登录模块、商品展示模块、商品详情模块、购物车模块、提交订单模块、订单列表模块、支付模块等模块,系统的功能模块结构图如2-1所示。
(1)用户登录模块:游客可以进行注册,注册才能成为用户。用户输入正确的账号和密码,进行登录才能对系统进行账号层面的操作。
(2)商品展示模块:是网站的首页面,主要展示商品的分类情况、外观和基本

在这里插入图片描述

图2-1系统模块结构图

信息,设置了商品分级目录的导航栏。
(3)商品详情模块:详细展示某个商品的外观、价格、参数等信息,帮助用户全面认识该商品。用户可以选择购买商品,此时用户可以进行商品版本和颜色的选择,然后加入购物车,等待商品结算,此时购物车将用户选择的商品加入进去。
(4)购物车模块:列出已加入购物车的商品列表,用户可以自己选择需要结算的商品及其个数,然后选择去结算,进行商品结算。用户也可以选择继续购物,此时商品保留在购物车里。用户可以删除购物车里的商品。
(5)提交订单模块:用户在这里可以添加、编辑、删除收货地址。如需下单,则用户选择收货地址,查看订单信息,确认无误后,提交订单,系统将调起支付分系统的支付页面,订单列表将会添加已提交的订单的相关信息。
(6)订单列表模块:显示已经下单的订单信息,用户在这里可以看到订单的创建时间、订单号、订单状态等信息,订单列表会随时更新订单的信息。
(7)支付模块:这是总系统的第三方支付功能部分。此模块接入到支付宝和微信两大第三方支付平台,当用户进行支付操作时,商城分系统将调起支付分系统的支付功能,跳转到第三方支付平台的支付页面,用户通过用手机扫第三方支付平台提供的二维码来付款,付款完成后,支付分系统将收到第三方支付平台的异步请求,再异步通知给商城分系统,钱款就转到商家的收款账户上,等待几秒后,将跳转到订单列表的页面,系统修改订单状态为已付款。

2.3 系统的用例图
系统的用例图如图2-2所示:
在这里插入图片描述

图2-2 系统用例图

2.4 用例规约表
表2-1浏览商城信息用例规约表
用例编号 sc001 用例名称 浏览商城信息
功能描述 浏览商城信息包括: 用户或游客进入到首页面,浏览账号登录状态、商品分级目录、滚动图片、商品图片、商品简介、新品发布预告等商城信息。
执行者 用户、游客
前置条件 用户或游客正常登录。
后置条件 完成商城信息的浏览。
涉众利益 用户或游客
基本路径 1.用户或游客浏览商城信息
1.1用户或游客点击进入商城系统的首页面
1.2系统显示账号登录状态、商品分级目录、滚动图片、商品图片、商品简介、新品发布预告等商城信息
1.3用户或游客可以选择自己感兴趣的信息进行浏览
扩展
字段列表
业务规则
备注

表 2-2浏览商品详情用例规约表
用例编号 sc002 用例名称 浏览商品详情
功能描述 浏览商品详情包括: 浏览商品的外观、价格、参数、特色功能、介绍视频等基本信息
执行者 用户、游客
前置条件 用户或游客正常登录。
后置条件 完成商品详情的浏览。
涉众利益 用户或游客
基本路径 1.用户或游客浏览商品详情
1.1用户或游客点击某个商品的名称或图片
1.2系统显示所点击商品的外观、价格、参数、特色功能、介绍视频等信息
1.3用户或游客可以选择自己感兴趣的信息进行浏览
2.用户或游客选择商品信息
2.1用户或游客点击立即购买
2.2选择商品的版本和颜色
扩展
字段列表
业务规则
备注

表2-3购物车管理用例规约表
用例编号 sc003 用例名称 购物车管理
功能描述 购物车管理包括: 加入购物车、调整商品的数量、删除商品、继续购物
执行者 用户
前置条件 用户正常登录。
后置条件 购物车的商品信息改变。
涉众利益 用户
基本路径 1.用户加入购物车
1.1用户点击加入购物车
1.2系统将所选商品加入购物车
2.用户调整商品的数量
2.1用户查看购物车
2.2点击数量框里的加号
2.3系统增加一件商品
2.4点击数量框里的减号
2.5系统减少一件商品
3.用户删除商品
3.1用户点击操作框里的“×”符号
3.2购物车删除所选商品
3.3删除成功,系统提示“删除成功”
4.用户选择继续购物
4.1用户点击继续购物
4.2系统跳转到商城首页
扩展 1.当商品的数量为1时,用户点击数量框里的减号,系统提示“商品至少保留一件商品”
2.游客点击加入购物车,系统将跳转到登录页面
字段列表
业务规则
备注

2

表2-4 收货地址管理用例规约表
用例编号 sc004 用例名称 收货地址管理
功能描述 收货地址管理包括: 选择地址、添加地址、删除地址、编辑地址
执行者 用户
前置条件 用户正常登录。
后置条件 收货地址信息被修改。
涉众利益 用户
基本路径 1.用户选择地址
1.1用户点击所要选择的地址
1.2被点击的地址边框突出显示
2.用户添加地址
2.1用户点击添加
2.2输入姓名、手机号、地址、邮政编号
2.3点击确定
2.4系统添加新的地址
3.用户删除地址
3.1用户点击“垃圾箱”图标
3.2系统提示是否删除该地址
3.3点击确定
3.4系统删除该地址
4.用户编辑地址
4.1用户点击“铅笔”图标
4.2修改地址信息
4.3点击确定
4.4系统提示操作成功
扩展 1.当用户没有选择地址,点击去结算,系统无法结算,提示“请选择一个收货地址”
2.用户缺写任何一个地址信息,点击确定,系统无法添加或修改地址,提示输入未输入的地址信息
3.用户错写地址信息,点击确定,系统提示输入正确的地址信息
4.用户点击返回购物车,系统跳转到购物车页面
字段列表
业务规则
备注

表2-5订单管理用例规约表
用例编号 sc005 用例名称 订单管理
功能描述 订单管理包括: 提交订单,查看订单,支付订单
执行者 用户
前置条件 用户正常登录。
后置条件 订单被提交、查看或支付。
涉众利益 用户
基本路径 1.用户提交订单
1.1用户选择所要结算的商品
1.2点击去结算
1.3系统跳转到支付页面
1.4订单列表添加所提交的订单
2.用户查看订单
2.1用户点击我的订单
2.2系统显示已提交的订单相关的信息
2.3用户查看已提交的订单信息
3.用户支付订单
3.1用户选择支付宝或微信支付平台
3.2系统调起支付功能,显示支付二维码
3.3用户扫码进行付款
3.4付款完成后,系统跳转到订单列表页面
3.5订单的状态修改为“已付款”
扩展 1.如果没有选择任何商品,点击去结算,则提示选择至少一件商品
2.在订单列表里,点击未支付的订单状态,系统跳转到支付订单页面
3.在支付二维码页面,点击“×”符号,则取消支付订单
4.如果取消支付订单,则订单列表里的订单状态为“未支付”
字段列表
业务规则
备注

第3章 系统设计

3.1 系统顺序图
3.1.1浏览商城信息顺序图

    ![在这里插入图片描述](https://img-blog.csdnimg.cn/403d93f7b2fb4a628152d938c9d55ed5.png)图3-1 浏览商城信息顺序图

(1)用户进入到商城系统的首页面,即商城信息页面,包含许多商城的信息;
(2)选择自己感兴趣的信息进行浏览;
(3)系统显示相应的商城信息;
(4)游客进入到商城系统的首页面;
(5)选择自己感兴趣的信息进行浏览;
(6)系统显示相应的商城信息。
3.1.2浏览商品详情顺序图
在这里插入图片描述

图3-2 浏览商品详情顺序图

(1)用户点击所要浏览的商品的名称或图片;
(2)系统跳转到商品详情页面;
(3)用户浏览自己感兴趣的商品信息;
(4)系统显示相应的商品信息;
(5)游客点击所要浏览的商品的名称或图片;
(6)系统跳转到商品详情页面;
(7)游客浏览自己感兴趣的商品信息;
(8)系统显示相应的商品信息。
3.1.3选择商品信息顺序图
(1)用户点击立即购买,进入到购买商品页面;
(2)用户选择自己喜欢的商品版本和颜色;
(3)游客点击立即购买,进入到购买商品页面;
(4)游客选择自己喜欢的商品版本和颜色。
在这里插入图片描述

图3-3 选择商品信息顺序图

3.1.4加入购物车顺序图
在这里插入图片描述

图3-4 加入购物车顺序图
(1)用户进入商品购买页面;
(2)点击加入购物车;
(3)保存购物车的商品信息;
(4)系统将所选商品加入购物车。
3.1.5调整商品数量顺序图
在这里插入图片描述

图3-5调整商品数量顺序图

(1)用户进入到购物车页面;
(2)用户增加或者减少商品的数量;
(3)购物车保存商品的数量信息;
(4)商品的数量被调整。
3.1.6删除商品顺序图
(1)用户进入购物车页面;
(2)用户点击删除商品的按钮;
(3)所选择的商品被删除。
在这里插入图片描述

图3-6删除商品顺序图
3.1.7选择地址顺序图
在这里插入图片描述

图3-7选择地址顺序图

(1)用户点击去结算,进入提交订单页面;
(2)点击所需要的收货地址;
(3)所点击的收货地址的边框突出显示。
3.1.8添加地址顺序图

在这里插入图片描述

图3-8添加地址顺序图

(1)用户进入提交订单页面;
(2)用户点击添加按钮;
(3)系统弹出收货地址的信息框,用户输入所要添加的收货地址的信息;
(4)点击确定,系统保存收货地址的信息;
(5)系统成功添加新的收货地址。
3.1.9删除地址顺序图
(1)用户进入提交订单页面;
(2)点击删除按钮;
(3)系统删除所选的收货地址。

在这里插入图片描述

图3-9删除地址顺序图

3.1.10编辑地址顺序图
(1)用户进入提交订单页面;
(2)点击编辑按钮;
(3)弹出收货地址的信息框,用户可以对信息进行修改;
(4)系统保存已修改的信息;
(5)收货地址信息被修改。
在这里插入图片描述

图3-10编辑地址顺序图

3.1.11提交订单顺序图
在这里插入图片描述

图3-11提交订单顺序图

(1)用户进入提交订单页面;
(2)选择需要结算的商品;
(3)点击去结算按钮,提交订单;
(4)系统保存订单信息;
(5)提交订单成功,跳转到订单的支付页面。

3.1.12查看订单顺序图
在这里插入图片描述

图3-12查看订单顺序图

(1)用户点击我的订单,进入订单列表页面;
(2)订单列表列出了所有的订单信息,可以查看订单信息;
(3)系统显示订单的相关信息。
3.1.13支付订单顺序图
在这里插入图片描述

图3-13支付订单顺序图

(1)用户选择微信或支付宝第三方支付平台;
(2)系统弹出页面,显示支付二维码;
(3)用户用手机进行扫码付款,完成后,系统跳转到订单列表页面;
(4)订单状态从“未支付”修改为“已付款”;
(5)系统保存修改后的订单状态。

3.2 系统状态图
3.2.1商品状态图
商品的状态共有未浏览、已浏览、已加入。其状态之间转换的情况如图3-14所示。
在这里插入图片描述

图3-14商品状态图

3.2.2收货地址状态图

收货地址的状共有未添加、添加中、已添加、已选择、编辑中、已编辑、已删除几种。其状态转换情况如图3-15所示。

在这里插入图片描述

图3-15收货地址状态图

3.2.3订单状态图
订单的状态共有未提交、已提交、未支付、支付中、已付款等几种。其之间的状态转换情况如图3-16所示。
在这里插入图片描述

图3-16订单状态图
3.3 系统活动图
3.3.1购物车管理活动图
用户管理购物车:首先登录手机官方商城系统,可以把商品添加进入购物车,也可以查看购物车,查看后可以调整商品的数量,或者删除商品,然后保存商品信息,最后可以选择进行购物,也可以选择去结算商品,活动结束。购物车管理的活动图如图3-17所示。

在这里插入图片描述

图3-17购物车管理活动图

3.3.2收货地址管理活动图

收货地址管理的活动:首先进入提交订单页面,查看收货地址,此时可以选择所需要的收货地址,选择后结束活动;也可以添加、编辑、删除收货地址,这三种活动如果中途取消,则返回查看活动,完成后保存收货地址的信息,活动结束。收货地址管理活动图如图3-17所示。

在这里插入图片描述

图3-17收货地址管理活动图
3.3.3订单管理活动图
订单管理活动:用户提交订单,提交后查看订单的相关信息,这时可以直接结束活动;然后支付订单,支付过程中可以取消支付,支付完成后,活动结束。订单管理活动图如图3-18所示。
在这里插入图片描述

图3-18 订单管理活动图

3.4 数据库设计
数据库存放着系统的后台数据,既便于数据的集中管理,控制冗余,提高数据的利用率和一致性,又利于应用程序的开发和维护。设计一个合理简便的后台数据库对系统的良好运行具有重要的作用[ Raymond Frost . 数据库设计与开发(影印版)[M] . 北京:清华大学出版社, 2007]。以下为本系统所设计的数据库表。
3.4.1订单信息表
表3-1 订单信息表
列名 数据类型 是可为空 注释
id int(11) NOT NULL 订单id
order_no bigint(20) DEFAULT NULL 订单号
user_id int(11) DEFAULT NULL 用户id
shipping_id int(11) DEFAULT NULL
payment decimal(20,2) DEFAULT NULL 实际付款金额
payment_type int(4) DEFAULT NULL 支付类型
postage int(10) DEFAULT NULL 运费
status int(10) DEFAULT NULL 订单状态
payment_time datetime DEFAULT NULL 支付时间
send_time datetime DEFAULT NULL 发货时间
end_time datetime DEFAULT NULL 交易完成时间
close_time datetime DEFAULT NULL 交易关闭时间
create_time datetime DEFAULT NULL 创建时间
update_time datetime DEFAULT NULL 更新时间

3.4.2支付信息表
表3-2支付信息表
列名 数据类型 是可为空 注释
id int(11) NOT NULL
user_id int(11) DEFAULT NULL 用户id
order_no bigint(20) NOT NULL 订单号
pay_platform int(10) DEFAULT NULL 支付平台
platform_number varchar(200) DEFAULT NULL 支付流水号
platform_status varchar(20) DEFAULT NULL 支付状态
pay_amount decimal(20,2) NOT NULL 支付金额
create_time datetime DEFAULT NULL 创建时间
update_time datetime DEFAULT NULL 更新时间

3.4.2商品信息表
表3-3 商品信息表
列名 数据类型 是可为空 注释
id int(11) NOT NULL 商品id
category_id int(11) NOT NULL 分类id
name varchar(100) NOT NULL 商品名称
subtitle varchar(200) DEFAULT NULL 商品副标题
main_image varchar(500) DEFAULT NULL 产品主图
sub_images text 图片地址
detail text 商品详情
price decimal(20,2) NOT NULL 价格
stock int(11) NOT NULL 库存数量
status int(6) DEFAULT ‘1’ 商品状态
create_time datetime DEFAULT NULL 创建时间
update_time datetime DEFAULT NULL 更新时间

3.4.3收货地址信息表
表3-4 收货地址信息表
列名 数据类型 是可为空 注释
id int(11) NOT NULL 商品id
user_id int(11) DEFAULT NULL 用户id
receiver_name varchar(20) DEFAULT NULL 收货姓名
receiver_phone varchar(20) DEFAULT NULL 收货固定电话
receiver_mobile varchar(20) DEFAULT NULL 收货移动电话
receiver_province varchar(20) DEFAULT NULL 省份
receiver_city varchar(20) DEFAULT NULL 城市
receiver_district decimal(20,2) DEFAULT NULL 区/县
receiver_address varchar(200) DEFAULT NULL 详细地址
receiver_zip varchar(6) DEFAULT NULL 邮编
create_time datetime DEFAULT NULL 创建时间
update_time datetime DEFAULT NULL 更新时间

3.4.4用户信息表
表3-5 用户信息表
列名 数据类型 是可为空 注释
id int(11) NOT NULL 用户表id
username varchar(50) NOT NULL 用户名
password varchar(50) NOT NULL 用户密码
email varchar(50) DEFAULT NULL 邮箱
phone varchar(20) DEFAULT NULL 电话号码
question varchar(100) DEFAULT NULL 找回密码问题
answer varchar(100) DEFAULT NULL 找回密码答案
role int(4) NOT NULL 角色
create_time datetime DEFAULT NULL 创建时间
update_time datetime DEFAULT NULL 更新时间

第4章 系统实现

用户打开手机官方商城系统,进入到系统的首页面,如图4-1所示。用户可以浏览商品的图片、简介和分级目录。

在这里插入图片描述

                            图4-1 商城首页面

用户点击商品的图片进入商品的详情页,如图4-2所示。在这里可以浏览商品的外观、价格、参数等基本信息。

在这里插入图片描述

图4-2 商品详情

点击立即购买,进入购买商品页面,如图4-3所示。用户可以选择商品的版本和颜色。

在这里插入图片描述

图4-3 购买商品

点击加入购物车,如果用户未登录,则进入到用户登录页面,需要登录后才能继续操作。如图4-4所示。

在这里插入图片描述

图4-4 用户登录

用户登录后,可以将商品加入购物车,到购物车页面查看商品,如图4-5所示。
在这里插入图片描述

图4-5 购物车
点击去结算,进入订单确认页面,如图4-6所示。

在这里插入图片描述

图4-6 订单确认

此时可以选择收货地址,对收货地址进行管理,如图4-7所示。
在这里插入图片描述

图4-7 管理收货地址

选择好收货地址,确认订单无误后,点击去结算,即可提交订单,进入支付订单页面。可以选择支付宝或微信两种支付方式,用户扫码付款后,即支付成功,如图4-8所示。

在这里插入图片描述

图4-8 支付订单

第5章 系统测试

5.1 系统测试的目的
软件测试是人工或自动地运行或测定某系统的过程,目的在于检验它是否满足规定的需求或弄清预期结果和实际结果间的差别。在系统测试的过程中,可以发现功能错误、功能遗漏、功能冗余、性能不足等缺陷,然后不断去完善系统的功能和性能,提升系统的开发质量,降低在实际使用时的风险和维护成本。
5.2 系统测试的意义
一个系统在开发的过程中,难免会存在各种缺陷,而这些缺陷对于使用体验有很大的负面影响,系统测试是整个软件系统质量的保障,可以提前发现缺陷并进行修复,可以降低软件质量风险,使程序员能够更专心解决程序的算法和效率,同时经过严格检验的完整产品很大程度上减轻了售后服务人员的工作量。软件测试是软件生命周期中一项非常重要且非常复杂的工作,对软件可靠性保证具有极其重要的意义。
5.3 测试用例及结果
系统的测试用例及结果如表5-1所示:

                      表5-1 测试用例及结果

用例编号 用例名称 测试目的 测试结果
U-1 TestCatalog 测试商品分级目录能否正常打开 商品分级目录能正常打开
U-2 TestCart 测试是否只能在用户登录的情况下将商品加入购物车 只能在用户登录的情况下将商品加入购物车
U-3 TestLogin 测试输入错误的账号或密码能否成功登录 用户输入正确的账号和密码才能登录
U-4 TestDeleteGoods 测试能否删除购物车里的商品 可以删除购物车里的商品
U-5 TestAddAddress 测试能否添加收货地址 确认添加后,系统添加收货地址
U-6 TestDeleteAddress 测试能否删除收货地址 确认删除后,系统删除收货地址
U-7 TestUpdateAddress 测试能否编辑收货地址 确认编辑完成后,系统修改收货地址
U-8 TestPayCode 测试在支付时能否正常弹出支付二维码 可以正常弹出支付二维码
U-9 TestCancelPay 测试在支付时能否取消当前支付操作 点击“×”符号即取消当前支付操作
U-10 TestPay 测试完成支付后,订单的状态能否改为“已付款” 完成支付后,系统将给订单的状态修改为“已付款”
U-11 TestOreder 测试点击我的订单能否跳转到订单列表页面 可以跳转到订单列表页面
U-12 TestOrederPay 测试在订单列表里点击未支付,能否跳转到支付页面 可以跳转到支付页面

第6章结束语

6.1 全文总结
本文介绍了基于SpringBoot的手机官方商城系统的设计过程,该系统采用了java作为开发语言,使用了现今流行的SpringBoot+MyBatis的Web系统开发框架进行设计,界面美观,功能适应时代的要求,操作简便,在实际使用中具有不错的体验。
本文首先简单介绍了系统的开发背景和意义,讲述了其开发所用到的相关技术和工具,然后分析了系统的整体需求,进行了总体设计和功能模块设计。根据系统的需求分析,设计了用户登录模块、商品展示模块、商品详情模块、购物车模块、提交订单模块、订单列表模块、支付模块等模块,详细地介绍了各模块的功能实现过程。
之后分别用用例图、顺序图、状态图、活动图来描述系统的整体架构和主体业务流程。在系统实现部分,主要展示了各模块功能实现的界面实现效果图。
最后阐述了软件测试的目的和意义,并针对系统设计了一些测试用例,进行了系统测试。
6.2 课题展望
现如今,电商模式已经发展成熟,几乎所有手机厂商都推出了自己的官方商城,竞争激烈,而这也对商城系统的设计提出了更高的要求。
本系统只是一个初期的简单商城系统,还存在许多不足之处。例如:还没有相对应的商家系统,无法为商家提供服务;用户登录只能使用密码方式登录,不能使用其他登录方式;缺少用户个人中心管理模块;缺少全店商品搜索功能;第三方支付方式只支持微信和支付宝。
对于以上不足之处,以后如果有条件和机会,我将会增加或完善这些功能,继续改进本系统。

参考文献

[1] 唐军,朱金洲.小米手机电商营销模式研究[J].合作经济与科技,2019.88-90
[2] 我国电子商务与电子支付的发展现状,https://wenku.baidu.com/view/086bb6a9a517866fb84ae45c3b3567ec112ddc72.html(2019/09/07)
[3] CHINA, G C.O.M., The trust model based on consumer recommendation in B-Ce- commerce.中国湖北武汉.2011: p.214-217
[4] 电子商务与网络支付的发展现状,https://wenku.baidu.com/view/4a8410c1a9114431b90d6c85ec3a87c241288a35.html?rec_flag=default&sxts=1582472968891(2019/09/05)
[5] 2019年中国第三方支付行业现状分析,https://baijiahao.baidu.com/s?id=1644627461457280478&wfr=spider&for=pc(2019/09/14)
[6] 王春英,陈宏民.基于双边市场理论的第三方支付平台研究[J].现代管理科学,2019,(3):100-102
[7] 陈雄华.Spring企业级应用开发详解[M].北京:电子工业出版社,2009:119-250
[8] 孙卫琴.Tomcat与Java Web开发技术详解(第2版)[M].北京:电子工业出版社,2009:100-200
[9] 张海藩. 《软件工程导论》[M]. 北京:清华大学出版社, 2003
[10] Changchun, Z Z H.Q., Simulation of 3-C Seismic Records In 2-DTIM. 中国北京.1991: p.489-493
[11] Raymond Frost . 数据库设计与开发(影印版)[M] . 北京:清华大学出版社, 2007

致 谢

经过几个月的设计与开发,现在这个手机官方商城系统终于基本完成了。在这几个月里,我的指导老师黄老师不辞辛苦地为我批改了毕业论文稿,并提出了很多有用的修改和指导意见,让我可以顺利地完成了毕业论文和设计,另外在生活方面也给予了我很多宝贵的经验,我要感谢黄老师给予了我这些帮助。毕业论文完成的同时,也意味着我这四年的大学生活即将结束了,我很感谢这四年里曾经教导过我的老师和帮助过我的同学们,还有为我提供了一个良好的学习环境的母校。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/226352.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Airtest自动化测试工具实战演练

一开始知道Airtest大概是在年初的时候,当时,看了一下官方的文档,大概是类似Sikuli的一个工具,主要用来做游戏自动化的,通过截图的方式用来解决游戏自动化测试的难题。最近,移动端测试的同事尝试用它的poco库…

Centos7安装配置nginx

快捷查看指令 ctrlf 进行搜索会直接定位到需要的知识点和命令讲解(如有不正确的地方欢迎各位小伙伴在评论区提意见,小编会及时修改) Centos7安装配置nginx Nginx介绍 Nginx (engine x) 是一个高性能的 HTTP 和 反向代理 服务,也…

浅谈硬件连通性测试几大优势

硬件连通性测试是确保硬件系统正常运行、提高系统可靠性和降低生产成本的关键步骤。在现代工程和制造中,将连通性测试纳入生产流程是一个明智的选择,有助于确保硬件产品的质量和性能达到最优水平。本文将介绍硬件连通性测试的主要优势有哪些! 一、提高系…

计算机网络408

一:计算机网络体系结构 1.计网的概念,组成,功能和分类 一:计算机网络的发展 (3)从功能组成视觉看:分为资源子网和通信子网 2.计网性能指标

C++初阶模板

介绍: 我们先认识以下C中的模板。模板是一种编程技术,允许程序员编写与数据类型无关的代码,它是一种泛型编程的方式,可以用于创建可处理多种数据类型的函数或类,也就是说泛型编程就是编写与类型无关的通用代码&#xf…

2023-11-28 LeetCode每日一题(设计前中后队列)

2023-11-28每日一题 一、题目编号 1760.设计前中后队列二、题目链接 点击跳转到题目位置 三、题目描述 请你设计一个队列,支持在前,中,后三个位置的 push 和 pop 操作。 请你完成 FrontMiddleBack 类: FrontMiddleBack() 初…

leetcode算法之字符串

目录 1.最长公共前缀2.最长回文子串3.二进制求和4.字符串相乘 1.最长公共前缀 最长公共前缀 class Solution { public:string longestCommonPrefix(vector<string>& strs) {//法一&#xff1a;两两比较string ret strs[0];for(int i1;i<strs.size();i){ret f…

linux下的工具---yum

一、什么是yum yum是Linux下的软件包管理器 二、什么是软件包管理器 1、在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序. 2、但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在…

深度学习之基于百度飞桨PaddleOCR图像字符检测识别系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介主要特点使用步骤 二、功能三、系统四. 总结 一项目简介 # Introduction to PaddleOCR Image Character Detection and Recognition System Based on Baidu…

JSON详细教程

&#x1f60a;JSON详细教程 &#x1f6a9;JSON简介☃️JSON语法规则&#x1f50a;JSON和JavaScript对象的区别 ☃️JSON数据类型字符串&#x1f50a;数字&#x1f50a;布尔值&#x1f50a;数组&#x1f50a;对象&#x1f50a;Null ☃️JSON对象&#x1f50a;访问JSON对象的值&a…

bat脚本执行py文件

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

【Python】基础练习题_组合数据类型_2

dictMenu f’卡布奇洛’:32,‘摩卡’:30,‘抹茶蛋糕’:28,‘布朗尼’:26}&#xff0c; dictMenu 中存放了你的双人下午套餐&#xff08;包括咖啡2份和点心2份)的价格,请编写程序,让Python帮忙计算并输出消费总额。 dictMenu {卡布奇洛: 32, 摩卡: 30, 抹茶蛋糕: 28, 布朗尼: 2…