springboot中小型商户电商后台管理系统 毕业设计----附源码68765
摘要
中小型商户在数字化转型的过程中会遇到很多的困难,传统的电商系统功能繁杂、部署困难、费用昂贵,不能满足这些商户的实际经营需要。电商后台管理系统轻量化设计和灵活部署成了目前的研究热点。本文主要针对中小型商户的业务特点,设计出一套基于Spring Boot框架的电商后台管理系统,采用前后端分离的方式减少系统的耦合程度,使用Vue框架提高前端的交互体验,使用MySQL数据库保证数据存储的可靠性。系统以买家用户、商家用户、管理员这三个角色为设计对象,主要包含商品浏览、订单管理、物流配送、优惠券发放等主要业务模块。
电商后台管理系统研究意义重大,有诸多方面的意义。从技术实现角度来讲,Spring Boot框架的自动配置很好地简化了项目搭建的过程,RESTful API的设计模式使前后端之间的交互更加规范化。从业务支撑角度来说,系统给中小型商户赋予了商品上架、订单处理、库存管理等各方面的数字化手段,从而让商户缩减运营开支,改善管理速度。从用户体验的角度来说,界面设计简洁明了、操作过程顺畅的系统可以减少用户的使用成本,提高系统的实用性。本文用实际代码实现和功能测试来验证系统设计的可行性、有效性,给同类电商系统的设计提供了一种范例。
关键词:Spring Boot;电商后台;中小型商户;管理系统;前后端分离
Abstract
Smaller merchants will face many problems when going digital. Traditionel E-commerce systèmes sont parfois trop volumineux, déployer est coûteux et l’exploitation coûte aussi cher. Therefore, these kinds of systems cannot be applied to the real operation of small merchants. Lightweight and flexible lightweight design has become an important research topic for the backend system of e-commerce.
The focus is on the business traits of little and medium sized merchant. To put the whole e-Commerce back end managing system on Spring Boot. System is looser, front-end and back-end can be separated: Because of Vue, people's interactive experiences have gotten better. We used the MYSQL Database for the data storage. It has 3 types of users, Buyer Users, Merchant Users and Administrators. Core business module has product browsing, order management, logistics tracking and coupon distribution function.
The practical importance of the e-commerce backend management system is displayed on different levels. From the perspective of technical implementation, it is very simple due to the configuration feature provided by spring boot. Restful api design patterns standardize frontend-backend communication protocol: As for the business support capacity, it offers some small and medium merchants with digital means to post products, handle orders, and manage inventories. It helps merchants reduce their cost and improve the way of managing. Clearer cleaner interface with less stuff means less stuff for people to learn so that’d be way more functional. Real codes have been written and the system is tested for functions to show that the idea works. This paper serves as an example to develop more e-commerce websites.
Key words: Spring Boot; E-commerce Backend; Small and Medium-sized Merchants; Management System; Frontend-backend Separation
目录
1绪论
中小型商户在传统的手工记账、纸质单据、电话订货的运作模式下,订单处理是单向的滞后,库存信息更新也是缓慢的,客户诉求反馈也低效,数据在各个环节中被割裂地存储着,商户和消费者之间的信息不对称问题十分明显。早期的电脑辅助记录、简单的网站工具出现之后,信息获取的速度有所提高,一些数字化工具开始辅助日常经营,消费者的互动方式由线下面对面逐渐转变为线上浏览查询,但是碎片化的购物体验仍然普遍存在,商品内容更新迟缓的现象时有发生,社交沟通不够深入,优质用户评价的内容不能沉淀下来作为经营的依据,各个端的数据孤岛问题一直存在[1]。现有的简易管理系统不能满足目前对于订单即时响应、商品个性化推荐、售后快速处理以及商户社群归属感等强烈的需求[2]。开发出一套面向中小型商户的电商后台管理系统,可以大大提高商品信息发布和订单流转的速度,减少人工记账和电话沟通造成的人为失误,使商品库存、优惠活动和配送资源得到及时的匹配和共享。本系统对于电商行业的交易流程规范、用户购买参与质量、商户和消费者之间的健康生态培育等都有实际推动作用,也给其他垂直领域的中小商户服务整合提供了一个可以操作的范例。
国内中小型商户电商后台管理系统相关平台发展有清晰的演进轨迹。早期门户时代是以编辑生产内容为主导的资讯展示模式,电商功能被简单地附加在新闻或者论坛板块之后。垂直社区崛起阶段,虎扑识货、懂球帝商城等平台开始引入强互动论坛机制,商户和消费者之间初步建立了在线对话通道。移动互联网爆发期,专业数据系统和场景化的社交深度结合,腾讯微商户、有赞微小店等系统开始出现订单管理和会员营销的功能[3]。新浪体育商城在赛事周边商品销售过程中加入实时库存查询、物流跟踪功能,较好地解决了部分订单状态无法同步的问题[4]。搜狐体育商城更注重商品分类列表的层级优化,改善了用户的浏览体验,但是售后管理仍然存在不足[5]。PP体育商城对于优惠券的发放和核销方式进行了创新,在限时折扣、满减活动的推动下增加了交易次数[6]。京东开普勒计划给中小商户赋予标准的后台接口,使其可以迅速加入到主流电商生态当中,商品管理同订单配送一体化程度明显改善[7]。
国外典型实践围绕数据驱动与实时互动展开深度探索。Bleacher Report由早期的社交媒体属性平台逐渐发展成为电商和内容相结合的平台,商户可以利用赛事直播间的间隙直接推送相关商品,实现了流量到订单的瞬间转化[8]。SofaScore在原有的实时比分系统上增加了体育装备购买模块,在用户观看比赛的时候就可以进行商品的选购和支付,订单的配送状态也会通过推送通知的方式实时更新[9]。Onefootball整合了欧洲多支豪门俱乐部的官方商城入口,商户后台同俱乐部票务系统、会员积分体系深度绑定,优惠券可以跨店通用并且售后流程自动化程度高[10]。欧洲豪门官方App如皇家马德里、巴塞罗那等把商品管理、分类列表展示、订单售后处理统一集成到同一个商户工作台,系统自动判定商家星级并给予不同级别的营销资源支持[11]。Fantasy Premier League的梦幻选秀机制被应用到了商户后台管理上,商户可以设置虚拟奖励来激励买家购买指定品类的商品,订单配送时效和用户评价直接和商户信用等级挂钩[12]。
本文针对中小型商户电商后台管理系统的需求进行分析,用Spring Boot开发出一套以买家、商家和系统管理员为角色的电商后台管理系统,并且对系统中的商品信息浏览购买、订单管理与配送跟踪、商品信息管理、分类列表维护、订单列表处理、配送状态更新、商家星级评定、优惠券发放核销、订单售后处理等主要业务流程进行了设计和实现,使用前后端分离的B/S架构,采用Vue和Spring Boot框架以及MySQL数据库,最终实现了各个角色的核心功能模块,并着重解决了订单信息同步慢、商品分类乱、售后响应慢等问题。
2相关技术介绍
Spring Boot框架是基于Spring生态构建的,它用自动配置来简化传统的Spring应用繁琐的XML配置工作。该框架中内置了Tomcat、Jetty等Servlet容器,开发者不用再单独部署WAR文件就可以运行Web应用,大大降低了项目搭建和部署的时间成本[13]。Spring Boot提供starter依赖管理机制,把常用的框架技术栈的依赖关系封装成统一的起步依赖,开发者只需要引入一个starter坐标就可以得到完整的功能模块。该种设计使开发人员可以将更多的精力放在业务逻辑实现上,而不是去调试配置细节。中小型商户电商后台管理系统中,Spring Boot完成后端核心服务的创建工作。系统使用Spring Boot的自动配置特性快速集成MyBatis持久层框架,用application.yml配置文件集中设置数据库连接、日志级别、文件上传等参数。Spring Boot的Actuator模块可以提供应用健康检查和监控端点,方便系统部署后运行状态的跟踪。控制层采用@RestController注解声明RESTful接口,利用@PathVariable、@RequestParam等注解完成请求参数的绑定与校验。事务管理使用了@Transactional注解来对订单创建、库存扣减等需要数据一致性的业务方法进行事务控制,保证所有的数据库操作要么全部成功要么全部回滚。
Vue 是一个渐进式的 JavaScript 框架,主要用来构建用户界面,核心库只关注视图层,使用声明式渲染和组件化开发提高前端代码的可维护性。Vue响应式数据绑定可以让模型数据和DOM视图自动同步,开发者只需要关注数据状态的变化,框架就会使用虚拟DOM技术快速更新界面。组件系统是Vue框架的重要特性之一,每一个组件都包含模板、样式和逻辑代码,通过props属性接收父组件传来的数据,用$emit事件向父组件发送消息。该种设计模式使前端代码可以被拆解成若干个相互独立、可以复用的模块,从而降低大前端项目复杂度[14]。本系统前端使用Vue框架来创建整个用户的交互界面。登录注册页面、商品列表展示、购物车管理、订单确认等页面都是用Vue单文件组件来写的。Element UI组件库同Vue框架配合使用,给用户带来了表格、表单、对话框、分页这些常用UI组件的封装服务,从而加快了前端开发的速度。路由管理使用Vue Router插件动态加载用户不同的功能模块,实现不同权限用户访问不同的页面。axios库被用作统一的HTTP请求客户端,请求拦截器会自动给token加上令牌,响应拦截器会统一处理未授权的状态码。
关系型数据库用二维表格的形式来组织数据,用SQL结构化查询语言来完成数据的增删改查操作。MySQL属于开源关系型数据库的一种,它具有稳定性能、完备文档支持、跨平台等特点,被用作中小型Web应用的存储选择。MySQL支持InnoDB存储引擎,InnoDB存储引擎具有事务的ACID特性,用行级锁来减少并发访问时的锁冲突[15]。外键约束机制可以保证表和表之间引用的完整性,在父表被删除的时候,子表中相关联的数据也会随之删除。数据持久化层用的是MySQL数据库来存取业务数据。按照前期概念模型设计的实体关系,创建了商品信息表、订单表、购物车表、用户账户表等主要的数据表。商品信息表和订单表之间用商品ID字段来建立联系,购物车表用用户ID字段关联到买家用户信息。MySQL索引优化策略用以改善商品列表查询,把商品类型,上架状态等高频查询字段创建为普通索引,从而加快商品检索速度。数据库连接池采用的是HikariCP,HikariCP轻量高效,可以很好地管理数据库连接的创建和释放
3系统分析
买家用户进入系统之后可以浏览商品信息,利用分类筛选或者关键词搜索的方式找到自己想要的商品。商品详情页是展示商品图片、价格、库存、描述等内容的页面,买家可以将商品加入购物车或者直接下单购买。订单模块显示买家所有的历史订单记录,可以按照订单的状态来筛选查看,买家可以对已经签收的订单发起售后申请。订单配送模块可以显示买家目前的订单配送情况以及物流信息。

图3-1 买家用户用例图
商家用户登录之后进入商品信息管理界面,可以查看自己店铺的商品列表,执行新增商品、编辑商品信息、下架商品等操作。分类列表管理模块可以查看商家的商品分类体系,供商品的选择或者变更所属分类使用。订单列表展示买家提交的所有订单,商家根据订单的状态进行发货操作。订单配送管理功能可以对订单的配送状态进行更新,填写物流单号,通知买家订单已经发货。

图3-2 商家用户用例图
管理员拥有系统的最高权限,可以对商家的星级进行统一的管理,设置不同的星级对应的权限或者标识。商品信息管理模块可以查看所有商品,也可以对违规商品进行下架操作。分类列表管理模块可以实现管理员对商品分类的新增、修改和删除功能,也可以对分类进行层次的管理。订单配送管理模块可以对异常订单的配送情况进行查看,必要时可以介入处理。优惠券管理功能可以实现管理员创建优惠券活动,设置优惠券类型、面额、有效期等参数,将优惠券发给指定的用户。订单售后管理模块是对买家提交的售后申请进行审核,并根据申请内容做出是否通过或者拒绝的决定。

图3-3 管理员用例图
本系统使用Spring Boot框架创建后端服务,该框架具有自动配置、起步依赖管理等特点,可以大大降低项目搭建的复杂程度。采用Vue框架以及Element UI组件库进行前端页面的开发,此技术栈比较成熟、稳定,社区活跃度较高。MySQL数据库+MyBatis持久层可以满足中小商户的数据存储和访问。开发环境使用的是IntelliJ IDEA集成开发工具,并且用Maven构建工具来管理项目的依赖。以上技术方案已经用在了很多Web项目上,在开发过程中遇到的问题可以依靠丰富的技术社区资源来解决。
系统开发使用开源技术栈,Spring Boot、Vue、MySQL等都是免费使用的开源软件,不需要支付软件授权费用。开发工具有 IntelliJ IDEA 两种,商业版与社区版。社区版可以满足基本的开发需求。系统部署环境要求不高,一台中等配置的云服务器就可以同时运行后端服务、前端应用和MySQL数据库。本系统同传统的商业电商软件相比,在软件采购、服务器租赁、后续维护等各方面的投入都处于较低水平,经济负担小,适合资金较少的中小商户使用。
系统界面设计简洁明了,功能入口的排列清楚,操作路线短而易懂。买家用户进入商品列表之后可以直接浏览商品信息,点击加入购物车或者立即购买按钮就可以完成选购的动作。商家用户登录之后可以在统一管理页面上进行商品的上架和下架,也可以对订单进行处理。管理员有自己的后台管理系统,可以对商家星级、优惠券、订单售后等统一管理。各个功能模块的使用过程符合用户的日常生活习惯,学习成本低,用户经过简单的引导就可以熟练地操作。
4系统设计
本系统采用前后端分离的架构模式,把用户界面、业务逻辑、数据存储这三个层次分得清楚。用户界面层使用Vue框架来实现,接收用户的输入并显示返回的结果,使用axios库向服务端发送异步的HTTP请求。应用服务层使用Spring Boot框架来实现,控制层接收到前端的请求之后会调用对应的业务逻辑层的方法来完成参数校验、业务规则执行、数据持久化等工作。数据持久层使用MyBatis框架和MySQL数据库进行交互,通过Mapper接口定义数据访问方法,使用XML文件或者注解编写SQL语句[16]。各个层之间使用接口进行通信,减少模块之间的耦合程度,利于之后的功能扩展以及代码的维护。系统架构图如下图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 订单售后流程图
概念模型设计阶段把现实世界中的业务规则抽象成信息世界中的实体和联系。从系统需求出发,主要业务为商品从发布到售出的全过程,即商品信息的存储、买家选购行为的记录、订单流转状态的跟踪、物流配送信息的管理、售后维权的处理。实体-联系图属于概念建模的可视化手段,可以很好地体现实体间的联系[17]。一对一联系指的是用户账户和买家用户或者商家用户之间的联系,一对多联系指的是商品与其对应的多张图片之间的联系,多对多联系需要通过中间表来拆解。全局的ER图如图4-8所示。

图4-8 全局ER图
根据系统分析可知,系统主要实体有商品信息、购物车、订单、订单售后、物流配送、用户账户、买家用户、商家用户、优惠券、用户优惠券,各个实体的属性如图所示。
商品信息实体包括商品ID、商品标题、商品封面图、商品描述、商品原价、商品卖价、商品销量、商品库存、商品分类、商品点击量、商品正文、商品主图1、商品主图2、商品主图3、商品主图4、商品主图5、商品创建时间、商品更新时间、商品自定义字段、商品来源表、商品来源字段、商品来源id、商品添加人、商品上架状态等。图4-9所示。

图4-9 商品信息实体属性图
购物车实体主要包含购物车id、标题、图片、用户id、创建时间、更新时间、状态、单价、原价、总价、数量、商品id、商品分类、描述、规格等。如图4-10所示。

图4-10 购物车实体属性图
订单实体主要是订单id、订单号、商品id、商品标题、商品图片、价格、原价、数量、总价、规格、商品分类、联系人姓名、联系人邮箱、联系人手机、收件地址、邮政编码、买家id、商家id、创建时间、更新时间、描述、订单状态、订单备注、发货状态、取消订单原因。图4-11所示。

图4-11 订单实体属性图
订单售后实体包含订单售后id、订单id、订单号、商品id、商品标题、价格、原价、数量、总价、买家id、商家id、订单状态、售后状态、售后回复、售后类型、售后内容、售后凭证、创建时间、更新时间等。如图4-12所示。

图4-12 订单售后实体属性图
物流配送实体包含物流配送id、订单号、商品名称、购买数量、交易总额、发货日期、配送订单、普通用户、收货地址、配送状态、签收状态、智能推荐、联系人名字、商家id、创建时间、更新时间、配送方式、配送员id、配送员名字、配送详情等。图4-13所示。

图4-13 物流配送实体属性图
用户账户实体主要有用户id、账户状态、所在用户组、上次登录时间、手机号码、手机认证、用户名、昵称、密码、邮箱、邮箱认证、头像地址、获取用户信息字段、创建时间等组成。图4-14为结果。

图4-14 用户账户实体属性图
买家用户实体主要是买家用户id、用户姓名、用户电话、审核状态、用户id、创建时间、创建用户id、更新时间等。图4-15为图示。

图4-15 买家用户实体属性图
商家用户实体为商家用户id,商家名称,商家电话,商家地址,商家星级,审核状态,用户id,创建时间,创建用户id,更新时间等属性构成。图4-16为该结果。

图4-16 商家用户实体属性图
优惠券实体包含优惠券id、优惠券用户id、优惠券用户、优惠券名称、优惠券价格、优惠券券后价格、优惠券时间、优惠券类型、创建时间、更新时间等。图4-17为实验数据。

图4-17 优惠券实体属性图
用户优惠券实体包含用户优惠券id、用户id、优惠券id、是否使用、用户优惠券id、创建时间、更新时间等。图4-18为实验结果。

图4-18 用户优惠券实体属性图
逻辑设计阶段把概念模型转换成MySQL数据库可以识别的表结构,每一个实体对应一张数据表,实体属性映射到表中的字段,实体之间的联系用外键约束或者中间表来实现。本系统共设计了10个主要的数据表,表结构采用第三范式,尽量减少数据的重复以及更新异常[18]。主键字段全部用自增整数类型来表示,可以保证每条记录的唯一性。外键字段用来建立表与表之间的联系,在商品信息表中商家id字段对应商家用户表的主键,订单表中的商品id、用户id分别对应商品信息表、用户账户表。索引策略对于高频查询字段采取优化手段,商品信息表的商品分类和上架状态字段,订单表的用户id和订单状态字段全都创建普通索引来加快检索速度。
商品信息表主要是用来存储商户发布商品的基本信息。主要包含商品id、标题、卖价、商品库存等字段。如表4-1所示。
表4-1 商品信息表
|
序号 |
字段名 |
类型 |
长度 |
备注 |
|
1 |
商品id |
int |
11 |
主键 |
|
2 |
标题 |
varchar |
125 |
商品标题 |
|
3 |
封面图 |
text |
255 |
商品封面 |
|
4 |
描述 |
varchar |
255 |
商品描述 |
|
5 |
原价 |
double |
- |
商品原价 |
|
6 |
卖价 |
double |
- |
销售价格 |
|
7 |
销量 |
int |
11 |
累计销量 |
|
8 |
商品库存 |
int |
11 |
库存数量 |
|
9 |
商品分类 |
varchar |
64 |
分类名称 |
|
10 |
上架状态 |
smallint |
6 |
0下架1上架 |
|
11 |
创建时间 |
timestamp |
- |
记录创建时间 |
购物车表主要用来存放买家用户暂存待购商品的信息。主要包含购物车id、用户id、商品id、数量等字段。如表4-2所示。
表4-2 购物车表
|
序号 |
字段名 |
类型 |
长度 |
备注 |
|
1 |
购物车id |
int |
11 |
主键 |
|
2 |
标题 |
varchar |
64 |
商品标题 |
|
3 |
图片 |
varchar |
255 |
商品图片 |
|
4 |
用户id |
int |
11 |
所属用户 |
|
5 |
单价 |
double |
- |
商品单价 |
|
6 |
数量 |
int |
11 |
购买数量 |
|
7 |
总价 |
double |
- |
小计金额 |
|
8 |
商品id |
int |
11 |
关联商品 |
|
9 |
商品分类 |
varchar |
64 |
分类信息 |
|
10 |
状态 |
int |
11 |
使用中已失效 |
|
11 |
创建时间 |
timestamp |
- |
添加时间 |
订单表主要是用来存储买家提交的每一个交易信息。订单id、订单号、商品id、买家id、订单状态等。表4-3为结果。
表4-3 订单表
|
序号 |
字段名 |
类型 |
长度 |
备注 |
|
1 |
订单id |
int |
11 |
主键 |
|
2 |
订单号 |
varchar |
64 |
唯一订单编号 |
|
3 |
商品id |
int |
11 |
关联商品 |
|
4 |
商品标题 |
varchar |
255 |
商品名称 |
|
5 |
价格 |
double |
- |
成交单价 |
|
6 |
数量 |
int |
11 |
购买数量 |
|
7 |
总价 |
double |
- |
订单总额 |
|
8 |
买家id |
int |
11 |
下单用户 |
|
9 |
商家id |
int |
11 |
商品所属商家 |
|
10 |
订单状态 |
varchar |
16 |
待付款待发货等 |
|
11 |
创建时间 |
timestamp |
- |
下单时间 |
订单售后表主要是对买家发起的售后申请以及处理结果进行记录。主要包含订单售后id、订单id、售后状态、售后类型等字段。如表4-4所示。
表4-4 订单售后表
|
序号 |
字段名 |
类型 |
长度 |
备注 |
|
1 |
订单售后id |
int |
11 |
主键 |
|
2 |
订单id |
int |
11 |
关联订单 |
|
3 |
订单号 |
varchar |
64 |
订单编号 |
|
4 |
商品id |
int |
11 |
关联商品 |
|
5 |
买家id |
int |
11 |
申请人 |
|
6 |
商家id |
int |
11 |
商家信息 |
|
7 |
售后状态 |
varchar |
16 |
未审核已通过等 |
|
8 |
售后类型 |
varchar |
255 |
退款换货等 |
|
9 |
售后内容 |
varchar |
255 |
申请说明 |
|
10 |
售后凭证 |
varchar |
1000 |
图片证据 |
|
11 |
创建时间 |
timestamp |
- |
申请时间 |
物流配送表主要存放的是订单发货之后的配送轨迹信息。物流配送id,订单号,配送状态,签收状态等构成一个表。表4-5如下所示。
表4-5 物流配送表
|
序号 |
字段名 |
类型 |
长度 |
备注 |
|
1 |
物流配送id |
int |
11 |
主键 |
|
2 |
订单号 |
varchar |
64 |
关联订单 |
|
3 |
购买数量 |
varchar |
64 |
商品件数 |
|
4 |
交易总额 |
double |
- |
订单金额 |
|
5 |
发货日期 |
date |
- |
出库时间 |
|
6 |
配送订单 |
varchar |
30 |
物流单号 |
|
7 |
收货地址 |
varchar |
64 |
送达地点 |
|
8 |
配送状态 |
varchar |
64 |
运输进度 |
|
9 |
签收状态 |
varchar |
64 |
是否签收 |
|
10 |
配送方式 |
int |
11 |
商家配送等 |
|
11 |
创建时间 |
datetime |
- |
记录生成时间 |
用户账户表主要是用来存储系统中所有的用户登录凭证和基本信息。主要是用户ID、用户名、密码、手机号码等。表4-6为结果。
表4-6 用户账户表
|
序号 |
字段名 |
类型 |
长度 |
备注 |
|
1 |
用户id |
int |
11 |
主键 |
|
2 |
账户状态 |
smallint |
6 |
1可用2异常等 |
|
3 |
所在用户组 |
varchar |
32 |
角色标识 |
|
4 |
用户名 |
varchar |
16 |
登录账号 |
|
5 |
密码 |
varchar |
64 |
加密存储 |
|
6 |
手机号码 |
varchar |
11 |
联系电话 |
|
7 |
昵称 |
varchar |
16 |
显示名称 |
|
8 |
头像地址 |
varchar |
255 |
头像路径 |
|
9 |
创建时间 |
timestamp |
- |
注册时间 |
买家用户表主要用来扩展买家角色的个性化信息。包含买家的用户ID、用户名、用户电话、审核状态等信息。见表4-7。
表4-7 买家用户表
|
序号 |
字段名 |
类型 |
长度 |
备注 |
|
1 |
买家用户id |
int |
11 |
主键 |
|
2 |
用户姓名 |
varchar |
64 |
真实姓名 |
|
3 |
用户电话 |
varchar |
64 |
联系电话 |
|
4 |
审核状态 |
varchar |
16 |
审核进度 |
|
5 |
用户id |
int |
11 |
关联账户 |
|
6 |
创建时间 |
datetime |
- |
记录生成时间 |
|
7 |
更新时间 |
timestamp |
- |
最后修改时间 |
商家用户表主要用来扩展商家角色的店铺信息。商家用户ID,商家名称,商家电话,商家地址等。见表4-8。
表4-8 商家用户表
|
序号 |
字段名 |
类型 |
长度 |
备注 |
|
1 |
商家用户id |
int |
11 |
主键 |
|
2 |
商家名称 |
varchar |
64 |
店铺名称 |
|
3 |
商家电话 |
varchar |
64 |
联系电话 |
|
4 |
商家地址 |
varchar |
64 |
店铺位置 |
|
5 |
商家星级 |
varchar |
64 |
评级信息 |
|
6 |
审核状态 |
varchar |
16 |
入驻审核 |
|
7 |
用户id |
int |
11 |
关联账户 |
优惠券表主要用来存放管理员创建的营销活动信息。主要包含优惠券id、优惠券名称、优惠券价格、优惠券类型等字段。表4-9为。
表4-9 优惠券表
|
序号 |
字段名 |
类型 |
长度 |
备注 |
|
1 |
优惠券id |
int |
11 |
主键 |
|
2 |
优惠券名称 |
varchar |
255 |
活动名称 |
|
3 |
优惠券价格 |
int |
11 |
减免金额 |
|
4 |
优惠券券后价格 |
int |
11 |
门槛价格 |
|
5 |
优惠券时间 |
varchar |
255 |
有效期 |
|
6 |
优惠券类型 |
varchar |
255 |
满减折扣等 |
|
7 |
创建时间 |
timestamp |
- |
活动创建时间 |
用户优惠券表主要是记录用户领取优惠券的情况。主要包含用户优惠券ID、用户ID、优惠券ID、是否使用等字段。从上表4-10可知。
表4-10 用户优惠券表
|
序号 |
字段名 |
类型 |
长度 |
备注 |
|
1 |
用户优惠券id |
int |
11 |
主键 |
|
2 |
用户id |
int |
11 |
领取用户 |
|
3 |
优惠券id |
int |
11 |
关联优惠券 |
|
4 |
是否使用 |
int |
11 |
0未使用1已用 |
|
5 |
创建时间 |
datetime |
- |
领取时间 |
|
6 |
更新时间 |
timestamp |
- |
使用时间 |
5系统实现
商品信息浏览功能是对商品列表进行条件筛选和详情展示。买家用户进入系统首页之后,系统会从数据库中获取已经上架的商品数据,并以分页的形式展示出来。用户可以在搜索框中输入关键词做模糊匹配,也可以通过商品分类下拉菜单来限定商品的范围。点击任意商品卡片后跳转到详情页面,页面上会显示商品主图轮播、价格信息、库存数量和详细描述文本。商品信息浏览界面如图5-1所示。

图5-1 商品信息浏览界面
购买商品功能是对买家的选购行为进行流程化的处理。买家在商品详情页确认规格和数量之后点击立即购买按钮,系统创建订单记录并把页面跳转到订单确认页。买家先将商品加入购物车,在购物车页面选择多个商品并勾选之后再进行合并下单。在提交订单的时候系统会校验各个商品的库存是否足够,库存不足的订单不能提交成功。购买商品界面如图5-2所示。

图5-2 购买商品界面
我的订单功能就是对买家以往的交易记录进行分类展示和追踪。买家进入订单页面之后,系统会默认显示全部订单列表,页面顶部有待付款、待发货、待签收、已完成等状态筛选标签。每一个订单卡片都只包含商品图片、标题、数量、实付金额这些摘要信息,点击查看详情按钮会弹出完整的订单信息。对已付款订单,页面有立即付款倒计时提示。订单界面图5-3如下所示。

图5-3 我的订单界面
订单配送功能是对已经发出的订单物流进度进行查询跟踪。买家点击订单详情页中的物流按钮之后,系统就会调用物流接口去获取配送轨迹数据。页面用时间轴的形式把包裹从揽收、运输到派送、签收的全过程记录下来。订单长时间没有更新物流状态时,给买家提供联系商家的入口。订单配送界面如下图5-4所示。

图5-4 订单配送界面
商品信息管理功能是对商家店铺内商品的增删改查操作。商家登录后台之后进入商品列表页,只显示该商家发布过的商品,而不是全平台的商品。商家点击新增商品按钮之后就会进入到表单页面,填写标题、价格、库存、详情描述等信息,上传商品图片。编辑模式下商家可以修改商品的各项属性,下架操作把商品的状态改为不可见。商品信息管理界面如图5-5所示。

图5-5 商品信息管理界面
分类列表管理功能就是对商品所属的类别进行查看和绑定。商家在新增或者修改商品的时候,需要从分类树中选择一个叶子节点作为商品的分类。分类列表用树形结构展示一级分类和子分类的层次关系,商家只能查看分类信息而不能修改分类结构。分类完毕之后系统会自动填写分类名称,方便商家核对。分类列表管理界面如下图5-6所示。

图5-6 分类列表管理界面
订单列表管理功能就是对买家提交的订单进行集中查看和处理。商家进入订单列表页之后,可以依照订单状态、下单时间、订单号等条件来筛选订单记录。待发货状态的订单在列表每一行的最后都有一颗发货按钮,点击后跳转到发货信息填写页面。订单详情页展示买家的收货地址、联系方式、商品明细,商家可以在该页面输入备注信息。订单列表管理界面如图5-7所示。

图5-7 订单列表管理界面
订单配送管理功能就是对发货订单的配送状态进行更新维护。商家在发货页面填写物流公司和运单号,提交之后系统会把订单状态由待发货改为待签收。采用商家自行配送模式时,商家可以手动更新配送进度,即告知买家商品已经发出。配送过程中出现地址错误或者买家拒收的情况时,商家可以利用该模块对异常情况进行标记。订单配送管理界面如下图5-8所示。

图5-8 订单配送管理界面
商家星级管理功能就是对入驻商户的评级标准进行统一设置。管理员进入星级管理页面之后可以为不同的星级设置相应的权益说明或者标识样式。星级等级有五级,从一到五,管理员可以根据商户经营时长、交易量、好评率等因素手动对商户进行星级评定。星级信息在商家列表页和商品详情页上显示出来,成为买家选择商家的参考标准。商家星级管理界面如下图5-9所示。

图5-9 商家星级管理界面
商品信息管理功能主要是对全平台的商品进行监管和违规处理。管理员进入商品管理页面后可以按照商家名称、商品状态、上架时间等条件来筛选查看所有的商品。对于有违规内容的商品,管理员可以进行强制下架,商品下架后不再向买家展示。管理员没有直接修改商品信息的权限,发现问题商品时用站内信通知商家自行整改。商品信息管理界面如图5-10所示。

图5-10 商品信息管理界面
分类列表管理功能主要是对平台商品分类体系的增删改查进行维护。管理员可以增加一级分类或者在已有的分类下增加子分类,形成多级分类树结构。编辑分类时可以修改分类名称、显示顺序、图标等信息,删除分类之前系统会检查该分类下是否已经绑定了商品,如果有商品则不允许删除。分类列表对商家端和买家端同时生效。分类列表管理界面如下图5-11所示。

图5-11 分类列表管理界面
订单配送管理功能就是对异常订单的配送状态进行监控以及人工干预。管理员进入配送管理页面可以查看所有的配送中订单,重点对超时未签收的异常订单进行关注。对物流信息长时间没有更新的订单,管理员可以联系配送员进行核实,并在后台修改配送状态。已签收的订单会自动从待监控列表中移除。订单配送管理界面如图5-12所示。

图5-12 订单配送管理界面
优惠券管理功能是对平台营销活动的全过程进行管理。管理员创建优惠券的时候要填入活动名称、优惠类型、面值金额、使用门槛、有效期范围等参数。创建成功后的优惠券可以发给所有的用户,也可以定向地发送给特定的用户群体。管理员可以查看每个优惠券的领取数和使用数,在活动结束之后可以手动结束或者自动失效。优惠券管理界面如图5-13所示。

图5-13 优惠券管理界面
订单售后管理功能就是对买家提出的售后申请进行审核处理。管理员进入售后管理页面后可以查看待审核的售后申请列表,每一条申请都有订单号、申请类型、申请原因、提交时间等信息。管理员点击审核按钮之后弹出审核对话框,可以选择通过或者拒绝,并填写审核意见。审核通过的售后申请触发退款或者换货流程,拒绝的申请允许买家修改后重新提交。订单售后管理界面如图5-14所示。

图5-14 订单售后管理界面
6系统测试
系统测试主要是对系统的功能进行检验,以保证系统功能符合设计要求,发现系统中存在的程序错误和逻辑缺陷。测试过程包含买家端商品浏览、购买,商家端订单处理,管理端后台控制等主要业务场景,保证各个功能模块可以正确响应各种输入条件下操作请求。经由系统的测试用例执行,评判系统在正常运作以及异常运作这两种情况下的行为是否一致,检验数据在各个模块之间传递时的完整性以及准确性[19]。测试结果可以给系统上线部署提供质量依据,减少生产环境运行风险。
本系统使用黑盒测试的方法对系统的功能进行验证,测试人员不需要了解内部的代码实现,只需要按照需求规格说明书来设计测试用例,观察测试结果即可。单元测试阶段对每一个接口方法编写JUnit测试用例来检验参数校验逻辑和业务规则是否正确。集成测试阶段模拟用户的使用场景,用Postman工具发送HTTP请求并断言响应的状态码和返回的数据。前端页面测试用手工操作的方式,对不同的分辨率进行页面布局的适配性、交互事件的触发效果等进行测试。测试环境部署在本地开发服务器上,数据库用独立测试库防止污染开发数据。
商品管理模块测试主要用来检验商家对商品进行增删改查操作时,系统给出的响应是否正确。测试新增商品时各个字段的校验逻辑、编辑商品时数据回显的准确性、下架商品后列表不再展示的效果。
表6-1 商品管理模块测试用例表
|
测试内容 |
测试步骤 |
预期结果 |
实际结果 |
|
新增商品 |
填写完整商品信息后提交 |
商品列表出现新记录 |
符合预期 |
|
编辑商品 |
修改商品价格后保存 |
价格字段更新为新值 |
符合预期 |
|
下架商品 |
点击下架按钮确认操作 |
商品状态变更为下架 |
符合预期 |
|
商品搜索 |
输入关键词后点击搜索 |
列表仅显示匹配商品 |
符合预期 |
订单处理模块测试主要对订单从创建到完成整个过程中的各个状态转换进行检验。测试库存扣减与订单创建的原子性,即订单状态同支付、发货、签收等操作一起更新的及时性。
表6-2 订单处理模块测试用例表
|
测试内容 |
测试步骤 |
预期结果 |
实际结果 |
|
创建订单 |
提交购物车商品生成订单 |
订单列表新增待付款记录 |
符合预期 |
|
模拟付款 |
点击付款按钮完成支付 |
订单状态变更为待发货 |
符合预期 |
|
商家发货 |
填写物流信息后确认 |
订单状态变更为待签收 |
符合预期 |
|
确认签收 |
买家点击确认签收 |
订单状态变更为已完成 |
符合预期 |
购物车模块测试主要是对商品添加、数量改变、删除等操作的检测,看是否有异常出现。测试多商品合并下单时总价计算的准确性,购物车数据用户退出登录之后是否会保持。
表6-3 购物车模块测试用例表
|
测试内容 |
测试步骤 |
预期结果 |
实际结果 |
|
添加商品 |
在商品详情页点击加入购物车 |
购物车图标数字增加 |
符合预期 |
|
修改数量 |
在购物车中增减商品数量 |
小计金额同步变化 |
符合预期 |
|
删除商品 |
点击商品右侧删除按钮 |
商品从购物车移除 |
符合预期 |
|
合并下单 |
勾选多个商品后点击结算 |
生成包含多商品的订单 |
符合预期 |
物流配送模块测试主要是检验发货信息填写和配送状态更新的逻辑是否正确。测试物流单号格式校验规则,配送状态发生改变的时候,订单页面能否立刻显示最新的进度。
表6-4 物流配送模块测试用例表
|
测试内容 |
测试步骤 |
预期结果 |
实际结果 |
|
填写物流单号 |
在发货页面输入运单号 |
订单状态更新为待签收 |
符合预期 |
|
更新配送状态 |
商家标记配送进度 |
物流时间轴新增节点 |
符合预期 |
|
查询物流轨迹 |
点击查看物流按钮 |
展示完整配送记录 |
符合预期 |
|
异常订单标记 |
商家标记配送异常 |
订单进入异常列表 |
符合预期 |
优惠券模块测试是为了检验优惠券创建、发放、领取、使用的全部业务过程。测试优惠券有效期校验逻辑,订单金额达到门槛的时候,优惠券自动匹配的触发条件。
表6-5 优惠券模块测试用例表
|
测试内容 |
测试步骤 |
预期结果 |
实际结果 |
|
创建优惠券 |
管理员填写活动参数后提交 |
优惠券列表新增记录 |
符合预期 |
|
领取优惠券 |
买家在活动页面点击领取 |
个人中心显示优惠券 |
符合预期 |
|
使用优惠券 |
下单时勾选可用优惠券 |
订单金额扣除优惠金额 |
符合预期 |
|
过期优惠券 |
有效期过后尝试使用 |
优惠券不可用提示 |
符合预期 |
售后管理模块测试主要是对售后申请提交、审核、处理过程进行检验。对不同的售后类型下对应着不同的处理分支逻辑,审核通过之后再查看退款金额的计算以及订单状态同步的准确情况。
表6-6 售后管理模块测试用例表
|
测试内容 |
测试步骤 |
预期结果 |
实际结果 |
|
提交售后申请 |
填写申请原因后提交 |
售后列表新增待审核记录 |
符合预期 |
|
管理员审核通过 |
点击通过按钮确认 |
订单状态变更为已退款 |
符合预期 |
|
管理员审核拒绝 |
填写拒绝理由后确认 |
申请状态变更为未通过 |
符合预期 |
|
重新提交申请 |
修改申请内容后再次提交 |
售后列表状态更新 |
符合预期 |
用户认证模块测试主要是对登录、注册、权限控制等安全功能进行测试,以保证其可靠。测试密码加密存储机制,不同角色的用户登录之后只能访问授权页面的权限隔离效果。
表6-7 用户认证模块测试用例表
|
测试内容 |
测试步骤 |
预期结果 |
实际结果 |
|
用户注册 |
填写用户名密码后提交 |
数据库新增用户记录 |
符合预期 |
|
用户登录 |
输入正确凭证后登录 |
跳转至系统首页 |
符合预期 |
|
密码错误 |
输入错误密码尝试登录 |
提示用户名或密码错误 |
符合预期 |
|
权限隔离 |
买家登录访问商家页面 |
提示无权限访问 |
符合预期 |
7总结
本文主要对中小型商户电商后台管理系统进行设计和实现。随着电商行业的发展,传统的线下商户也寻求着数字化的管理工具,但是现有的电商系统存在功能繁杂、部署困难、成本高企等状况,不能满足中小商户的需求。本文利用Spring Boot构建出一个轻量级、易于部署的电商后台管理系统,包括商品管理、订单处理、物流配送、优惠券营销等各个模块,并达到了设计的目标。
系统的实现过程是按照需求分析、系统设计、编码实现、测试验证的程序来进行开发的。Spring Boot 的自动配置大大简化了项目搭建的过程,Vue 的组件化开发使前端页面的开发更易于操作,前后端分离的架构也使模块之间的耦合度降低。买家端商品浏览、购物车、订单查询等各个功能项正常,商家端的商品管理、订单处理等模块操作顺畅,管理端的优惠券发放、售后审核等流程逻辑正确。测试结果说明各个功能模块都可以按照设计要求正常工作。
本系统还存在着一些不足。商品推荐模块还没有使用个性化的算法,商品的展示顺序只根据上架时间和销量来决定,智能化程度比较低。系统性能没有做高并发压力测试,在大量用户同时访问的时候会出现响应延迟的情况。物流信息查询依靠第三方接口,接口不稳定就会对用户体验造成影响。系统缺少数据统计分析模块,商户不能直接了解到销售趋势以及用户的画像。
未来的发展方向就是用协同过滤算法来实现个性化的商品推荐,从而提高用户的购物体验。增加数据可视化看板,给商户提供销售日报、热销商品排行、用户复购率等统计图表。把订单处理流程改成异步消息模式,减少峰值流量时系统所承受的压力。开发移动端适配版,适应用户使用手机购物的需要。该系统给中小型商户提供数字化管理工具,有实用价值和推广前景。
参考文献
- 韩本浩, 吴智慧. 订单管理系统在木门企业的应用[J]. 家具, 2025, 46(06): 116-121. DOI: 10.16610/j.cnki.jiaju.2025.06.022.
- 沈莹, 黄旭, 曾孟佳. 基于SpringBoot+微信小程序的线上茶叶交易平台的设计与实现[J]. 福建茶叶, 2025, 47(10): 49-51.
- 吴文灏. 基于计算机技术的电子商务实训指导平台建设[J]. 信息记录材料, 2025, 26(06): 64-66. DOI: 10.16009/j.cnki.cn13-1295/tq.2025.06.045.
- 周宏. L公司H云进销存管理系统营销策略优化研究[D]. 重庆: 重庆工商大学, 2025. DOI: 10.27713/d.cnki.gcqgs.2025.000533.
- 戚康玉. L公司订单管理优化研究[D]. 广州: 广东工业大学, 2025. DOI: 10.27029/d.cnki.ggdgu.2025.003046.
- 朱颢. 基于数据融合的轻量化进销存管理系统的研究与设计[J]. 江苏通信, 2025, 41(02): 126-130+132.
- 马家升, 王少明, 李向成, 等. 工程订单智能管理系统[J]. 印制电路信息, 2025, 33(S1): 112-120.
- Xiaofan S, Author G M. Enhancing Financial Performance in E-Commerce Firms through AI-Agent-Assisted Risk Management[J]. Global Vision Research, 2026, 3(1). DOI: 10.69979/3041-0843.26.01.017.
- Chen J. The Current Situation and Problems of Supply Chain Management in Chinese Foreign Trade Enterprises[J]. Journal of Management Research, 2025, 2(1): 10-12. DOI: 10.12462/JMR.ISSN3007-7931.2025.01.004.
- Masitoh P, Astrianty E L. Implementation of a Mobile-Based Laundry Order Management System at Barack Laundry in Sleman[J]. Journal of Computer Science and Technology Studies, 2024, 6(5): 38-49. DOI: 10.32996/JCSTS.2024.6.5.4.
- Wenjie L, Chaojing S, Yan L, et al. Effects of business to business e-commerce platform-governance mechanisms on seller firms' performance[J]. Research in International Business and Finance, 2024, 67(PB). DOI: 10.1016/J.RIBAF.2023.102121.
- C: C:\Users\ChenQianqin\Desktop\Paper\Research paper\Centrpise Servces Ordr mgnt System Wth BMO’s Trddng Plttfmr[ N/OL]. M2 Presswire, 2023
- 黑马程序员. Spring Boot企业级开发教程[M]. 北京: 人民邮电出版社, 2024: 258.
- 尚硅谷教育. 剑指JavaWeb[M]. 北京: 电子工业出版社, 2024: 384.
- 蒋继冬. 浅谈MySQL中的索引优化[C]// 中国智慧工程研究会. 2023年信息技术与工程技术学术研讨会论文集. 南京, 2023: 7-13.
- 闾枫. Spring Boot项目开发教程[M]. 北京: 人民邮电出版社, 2022: 264.
- 柯妍, 孙佳留, 朱士飞, 等. 基于MySQL的煤质信息数据库设计[J]. 资源信息与工程, 2024, 39(3): 117-121.
- 林育蓓, 汤德佑, 汤娜. 数据库技术及应用[M]. 北京: 机械工业出版社, 2024: 302.
- 李龙澍. 软件工程课程设计[M]. 北京: 机械工业出版社, 2022: 770.
致谢
本科阶段的学习即将结束,回想过去的一段时期,有焦虑也有收获。经过对这篇论文的完成过程体会到了技术实践和理论积累之间存在的差距,也更深刻地认识到了独立解决问题的价值。
非常感谢我的指导老师。老师对选题方向的确定以及系统框架的搭建都给予了细致的指导。每次遇到技术瓶颈的时候,老师都会指明关键问题所在,使我在从业务逻辑的角度出发重新审视代码实现,从而获得很多启示。老师严谨的治学态度也潜移默化地影响着我。
感谢在大学期间与我们共同学习的同学们。图书馆一起调试代码的日子、实验室里一起研究需求分析的傍晚,都是最生动的记忆。感谢室友在深夜听完我讲系统的bug解决过程之后,虽然他们可能并不完全理解技术上的细节,但是那份陪伴本身就是一种支持。
感谢我的家人。从来不会怀疑我的选择,也不会催促我快点就业,给我的足够时间去实现我所认定的目标。在论文的写作过程中,每次打他们的电话时他们都对我说保重身体,简短的问候使我安心。
最后感谢那个没有放弃自己的人。编程之路并不平坦,但是正是由于一次次深夜的调试才使我知道,技术的发展没有捷径可走,每一个脚印都是技术进步的印记。未来很长时间内,我都会坚持下来。
点赞+收藏+关注 → 私信领取本源代码、数据库
更多推荐



所有评论(0)