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

news2024/12/25 1:38:11

基于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.coloradmin.cn/o/1263284.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

强化学习Q-Learning算法和简单迷宫代码

使用到的符号: agent 代理 reward 奖励 state(s) 状态 action(a) 行为 R reward 矩阵 Q 矩阵:表示从经验中学到的知识 episode:表示 初始→目标 一整个流程 贝尔曼方程(迭代公式): Q ( s , a ) ← Q ( s …

网络割接,用VRRP替换HSRP,你得这么割才行!

组网需求 如图3-11所示,C6500作为核心层设备上行连接出口路由器NE40E-X3,下行连接接入层设备CE6800。C6500上配置HSRP实现冗余备份网关,同时在二层网络部署MSTP破除环路。 总体思路 HSRP为CISCO私有协议,CE系列交换机&#xff08…

RabbitMQ之延迟消息

文章目录 前言一、死信交换机二、延迟消息死信交换机实现延迟消息图解流程 DelayExchange插件实现延迟消息安装插件声明延迟交换机发送延迟消息 总结 前言 死信交换机、延迟消息 一、死信交换机 当一个队列中的消息满足下列情况之一时,可以成为死信(dea…

微信小程序推送服务号消息(一)【Go+微信小程序+微信服务号+微信开放平台】

一、需求场景 业务需要给微信小程序用户在某些场景推送微信服务号消息,例如:订单即将超时,电子合同签约超时等; 二、开发准备 1、开通微信服务号 入口:微信公众平台 1.1 在服务号中获取推送消息所需的配置信息&#…

头插法巧解任意链表区间反转

题目链接:https://leetcode.cn/problems/reverse-linked-list-ii/description/?envTypestudy-plan-v2&envIdtop-interview-150 头节点插入法,设置一个虚拟节点,不断循环到要反转的前面一个位置,哪怕是1也能包含进去。接着反…

Python UUID 完全指南

更多资料获取 📚 个人网站:ipengtao.com UUID(Universally Unique Identifier,通用唯一标识符)是一种全局唯一标识符生成方式,用于创建独一无二的标识符。Python的 uuid 模块提供了多种方法用于生成各种类…

四丶openlayer之瓦片地图

瓦片地图源于一种大地图解决方案,针对一整块非常大的地图进行切片,分成很多相同大小的小块地图,在用户访问的时候,再一块一块小地图加载,拼接在一起,从而还原成一整块大的地图。这样做的优点在于&#xff0…

【算法】FFT-1(递归实现)(不包括IFFT)

FFT 多项式多项式乘法复数及运算导数泰勒公式及展开式欧拉公式单位根 FFTCode IFFT 多项式 我们从课本中可以知道,一个 n − 1 n-1 n−1 次的多项式可以写成 a 0 a 1 x a 2 x 2 a 3 x 3 ⋯ a n − 1 x n − 1 a_{0}a_{1}xa_{2}x^2a_{3}x^3\dotsa_{n-1}x^{n-…

从 0 搭建 Vite 3 + Vue 3 Js版 前端工程化项目

之前分享过一篇vue3+ts+vite构建工程化项目的文章,针对小的开发团队追求开发速度,不想使用ts想继续使用js,所以就记录一下从0搭建一个vite+vue3+js的前端项目,做记录分享。 技术栈 Vite 3 - 构建工具 Vue 3 Vue Router - 官方路由管理器 Pinia - Vue Store你也可以选择vue…

2023年【G2电站锅炉司炉】考试试卷及G2电站锅炉司炉模拟试题

题库来源:安全生产模拟考试一点通公众号小程序 G2电站锅炉司炉考试试卷是安全生产模拟考试一点通生成的,G2电站锅炉司炉证模拟考试题库是根据G2电站锅炉司炉最新版教材汇编出G2电站锅炉司炉仿真模拟考试。2023年【G2电站锅炉司炉】考试试卷及G2电站锅炉…

Unity 接入TapADN播放广告时闪退 LZ4JavaSafeCompressor

通过跟踪安卓日志,发现报如下错误 Didnt find class "com.tapadn.lz4.LZ4JavaSafeCompressor" 解决方案: 去掉Minify这边的勾选,再打包即可。

香港优才计划是什么意思?一文详解2023年最新政策!

香港优才计划是什么意思?一文详解2023年最新政策! 目前香港优才计划申请火热,但是还是有很多新手不太了解这个项目,跟风申请绝对不是什么好事,先了解清楚再考虑也是对自己对家人的一种交代。这篇文章就再来科普下。 优…

AWVS 使用方法归纳

1.首先确认扫描的网站,以本地的dvwa为例 2.在awvs中添加目标 输入的地址可以是域名也可以是ip,只要本机可以在浏览器访问的域名或ip即可 添加地址及描述之后,点击保存,就会展现出目标设置选项 business criticality译为业务关键…

SpringCloud之服务网关Gateway组件使用——详解

目录 一、网关介绍 1.什么是服务网关 2. 为什么需要网关 3.网关组件在微服务中架构 二、服务网关组件 1. zuul 1.x 2.x(netflix 组件) 1.1 zuul版本说明 2. gateway (spring) 2.1 特性 2.2 开发网关动态路由 2.2.1.创建项目引入网关依赖 2.2.2 快捷方式配置路由 2.2…

C++学习——类和对象(上)

C学习——类和对象 一、面向对象和面向过程的初步认识二、什么是类 一、面向对象和面向过程的初步认识 我们之前学习了C语言,我们知道 ① C语言:C语言是一门面向过程的语言,关注的是过程,分析出求解问题的步骤,通过函…

Web安全之SQL注入:明明设置了强密码,为什么还会被别人登录?

一、背景 让我们先来看一个案例。某天,当你在查看应用的管理后台时,发现有很多异常的操作。接着,你很快反应过来了,这应该是黑客成功登录了管理员账户。于是,你立刻找到管理员,问他是不是设置了弱密码。管…

jenkins 代码执行 (CVE-2017-1000353)漏洞复现

jenkins 代码执行 (CVE-2017-1000353)漏洞复现 名称: jenkins 代码执行 (CVE-2017-1000353) 描述: ​Jenkins 可以通过其网页界面轻松设置和配置,其中包括即时错误检查和内置帮助。 插件 通过更新中心中的 1000 多个插件,Jenkins 集成了持续集成和持续…

分享一套MES源码,可以直接拿来搞钱的好项目

目前国内智能制造如火如荼,工厂信息化、数字化是大趋势。如果找到一个工厂,搞定一个老板,搞软件的朋友就能吃几年。 中国制造业发达,工厂林立,但是普遍效率不高,需要信息化提高效率。但是矛盾的地方在于&a…

删除链表的倒数第N个节点,剑指offerII(21),力扣

目录 题目地址: 题目: 相似类型题: 我们直接看本题题解吧: 解题方法: 难度分析: 解题分析: 解题思路(双指针): 代码实现: 代码说明: 代…

算法训练 第九周

一、移动零 1.双指针 我们可以设定两个指针i和j,其中i用来遍历整个数组,j用来遍历存放不为零的数的位置,当nums[i]不等于零时,就让nums[i]和nums[j]进行交换,然后j,当我们遍历完整个数组之后就完成了操作,…