【万字文档+源码】基于springboot+vue商场多功能
引言
传统线下商场促销、商品、优惠券、活动、公告管理均依靠人工纸质登记,数据分散、优惠规则计算繁琐、用户无法线上查看商品与折扣活动,运营效率低下。针对该痛点,本文采用SpringBoot后端框架、Vue前端、MySQL数据库开发商场多功能折扣系统,采用B/S前后端分离架构,划分系统管理员、前台普通用户两大角色,系统分为后台管理系统、前台商城展示页面两大业务板块。
系统完整实现商品分类管理、商品信息维护、积分商品、限时今日活动、优惠券满减折扣、订单管理、公告资讯、系统基础配置、个人中心等全链路商场运营业务,配套图片上传、富文本编辑器、多条件复合检索、分页、折扣金额自动计算、订单状态流转、公告点赞收藏等通用功能。本系统整合商场商品售卖、折扣优惠、活动推送、资讯公告一体化数字化管理,简化商场运营人员后台操作,方便消费者线上浏览商品、领取优惠、查看活动公告,具备极高商业实用价值。
第一章 简介
1.1 项目研究背景
线下实体商场在日常经营中存在诸多数字化管理短板,传统人工运营模式存在以下核心痛点:
商品数据管理混乱:商品无统一线上分类档案,新品录入、库存修改、价格调整依靠手工台账,易出现数据错漏,无法快速检索商品;
折扣优惠券管控困难:满减券、限时券、品类券无标准化线上管理,生效、过期时间人工记录易过期失效,无法自动核算优惠抵扣金额;
活动与公告触达率低:商场限时活动、优惠公告仅线下海报展示,消费者无法线上随时查看,活动曝光量不足;
积分体系无法线上化:线下积分兑换商品登记繁琐,用户无法线上查看积分、兑换积分商品;
订单数据无统一归档:顾客消费订单纸质单据易丢失,运营人员无法统计销量、优惠核销数据;
前后端耦合开发效率低:传统SSM项目配置繁琐,SpringBoot可简化配置、快速开发,Vue组件化前端降低页面维护成本。
基于以上行业痛点,开发一套基于SpringBoot+Vue的商场多功能折扣系统,搭建后台运营管理平台与前台用户商城页面,实现商品分类、商品上架、优惠券折扣、限时活动、积分兑换、公告资讯、订单全流程数字化管理,自动计算优惠抵扣金额,打通商场运营与消费者线上浏览渠道,提升商场运营效率与顾客购物体验。
1.2 项目研究意义
1.2.1 商场运营管理员(后台使用者)
商品全生命周期管控:统一维护商品分类、商品基础信息(名称、规格、品牌、价格、库存、图片、详情),新增/编辑/删除商品,多条件快速检索商品;
标准化优惠券折扣管理:自主创建满减类优惠券,设置满减门槛、优惠金额、生效/过期时间,批量管理优惠券,系统自动计算下单抵扣金额;
活动与资讯运营:发布今日限时活动、平台公告资讯,上传公告配图、富文本编辑活动内容,管理公告分类、轮播图;
积分商城运营:上架积分兑换商品,设置兑换所需积分,管理用户积分兑换记录;
用户与订单管理:查看全部注册消费者账号,统计所有消费订单,查看订单商品、实付金额、优惠抵扣明细;
系统基础配置:维护平台简介、在线客服、关于我们、首页轮播图等全局页面内容;
数据可视化运营:前台商品展示自动统计点击量、收藏、点赞数据,辅助运营判断热门商品。
1.2.2 普通消费者(前台商城用户)
线上浏览商场商品:首页查看推荐商品,按商品名称、品牌、价格区间、分类多维度筛选商品,查看商品价格、库存、上架时间;
领取使用折扣优惠券:查看平台全部有效优惠券,下单自动抵扣对应满减优惠;
参与限时活动、积分兑换:浏览今日限时活动,使用积分兑换专属积分商品;
阅读商场公告资讯:查看平台活动公告,支持对公告进行点赞、收藏、上下篇切换阅读;
个人账号管理:维护个人资料、查看历史消费订单、积分记录、收藏商品。
1.2.3 行业与社会意义
本系统实现实体商场线下业务线上数字化迁移,替代传统纸质台账,大幅降低商场人工运营成本;标准化优惠券折扣计算逻辑,避免人工核算优惠出错;线上商城页面拓宽商品、活动曝光渠道,吸引更多顾客到店消费;SpringBoot+Vue轻量化技术架构部署简单,中小型商超、社区门店均可低成本落地使用,推动实体零售行业数字化升级。
1.3 系统开发软硬件环境与技术栈
1.3.1 核心开发技术栈
后端核心框架(SpringBoot)
编程语言:Java 8
核心框架:SpringBoot 2.7,自动配置简化SSM繁琐配置,内置Tomcat容器
持久层:MyBatis/MyBatis-Plus,快速实现MySQL增删改查
安全控制:SpringMVC拦截器实现登录校验、后台权限拦截
工具组件:文件上传工具、分页工具、MD5密码加密、日期工具、富文本解析、优惠金额计算工具
前端技术(Vue)
核心框架:Vue2 + Vue Router + Axios异步请求
UI组件库:ElementUI(后台管理页面)、原生HTML+CSS+JS(前台商城页面)
配套组件:图片上传预览、富文本编辑器、多条件搜索栏、分页、商品卡片、轮播图、点赞收藏组件
数据库:MySQL 8.0,字符集utf8mb4,兼容中文、图片路径、emoji特殊字符
架构模式:标准B/S前后端分离架构,前端独立渲染页面,后端提供RESTful接口处理业务逻辑
1.3.2 开发与运行环境
开发工具:IntelliJ IDEA、VS Code、Navicat数据库可视化工具、Chrome浏览器
操作系统:Windows10/11(本地开发调试)、Linux CentOS7(线上服务器部署)
运行依赖:JDK1.8、MySQL8.0、Maven3.6
1.4 系统开发目标
实现双角色权限隔离:后台管理员拥有全平台操作权限,普通用户仅可浏览前台公开数据、操作个人账号;
拆分两大独立业务端:后台运营管理系统、前台用户商城展示页面;
搭建完整商场折扣业务闭环:商品分类维护→商品上架发布→管理员创建优惠券→用户浏览商品领券下单→自动抵扣优惠生成订单;
配套资讯活动运营模块:公告发布、点赞收藏、限时活动、积分商品兑换;
封装通用后台组件:多条件复合模糊查询、分页、单条/批量增删改查、图片上传、富文本编辑器、表单必填校验;
页面布局简洁统一,操作逻辑通俗易懂,适配Chrome、Edge、360等主流PC浏览器;
数据持久化存储,商品、优惠券、订单、公告数据稳定不丢失,支持千级数据流畅加载。
第二章 系统可行性分析
2.1 技术可行性
本系统采用当下主流SpringBoot+Vue前后端分离技术栈,是高校计算机专业重点教学内容,配套开源商城、后台管理系统案例资源充足。MyBatis-Plus简化数据库CRUD代码,ElementUI快速搭建标准化后台页面,图片上传、登录拦截、折扣计算、富文本、分页等功能均有成熟解决方案,开发、调试、部署技术门槛低,技术层面完全可行。
2.2 经济可行性
项目全部开发框架、数据库、开发工具均为免费开源软件,无任何版权授权费用;本地开发无需服务器成本,线上部署可选用低价学生云服务器;系统上线后替代纸质台账、人工核算优惠、人工登记订单,大幅减少商场人力运营开销,长期使用具备显著经济效益,经济可行性达标。
2.3 操作可行性
前台用户商城页面:商城式顶部导航栏,商品卡片图文直观,筛选、查看公告、浏览活动按钮清晰,普通消费者无需培训即可自主操作;
后台管理页面:标准左侧菜单栏+右侧列表/表单布局,统一新增、编辑、删除、查询操作按钮,表单标注*必填项,操作完成弹窗提示成功/失败,商场运营人员可快速上手;
全部输入框设置占位提示,图片上传、富文本编辑、日期选择、多条件筛选功能引导清晰,人机交互友好,操作门槛极低。
2.4 法律可行性
本系统仅用于课程设计、毕业设计演示,无真实第三方支付接口,仅模拟订单优惠抵扣流程;所有商品、公告图片素材仅作演示使用,不用于商用盈利运营,不存在版权、交易合规风险,完全符合高校毕业设计规范。
第三章 系统需求分析
3.1 系统角色划分
系统共两类核心使用角色,权限完全隔离、不可越权操作:
系统管理员:最高权限,管控全平台用户、商品分类、商品信息、积分商品、今日活动、优惠券、公告资讯、订单、系统全局配置,拥有全部新增、编辑、删除、查询操作权限;
普通前台用户(消费者):仅可访问前台商城页面,浏览商品、优惠券、活动、公告,点赞收藏资讯,下单生成订单,仅管理自身个人资料、历史订单,无后台访问权限。
3.2 功能需求总览
系统分为后台管理端、前台用户商城端两大业务板块。
3.2.1 后台管理端全部功能模块
公共基础模块
系统首页:后台欢迎页面,展示系统标题,快速切换各功能标签页;
个人中心:管理员修改登录密码、个人基础信息;
登录页面:输入用户名、密码完成管理员身份登录校验。
一级功能菜单
用户管理:管理所有注册前台消费者账号,支持查询、禁用、删除违规用户;
商品分类管理
列表页:按商品类型检索,批量删除、单条详情/编辑/删除;
新增表单:录入分类名称,绑定商品使用;
商品信息管理
列表页:多条件检索全部商品,批量删除、单条操作;
新增/编辑表单:填写商品名称、上传商品图片、选择商品分类、规格、品牌、上架时间、单价、库存、积分,富文本编辑器编写商品详细介绍;
积分商品管理:上架积分兑换商品,设置兑换所需积分,维护积分商品库存与详情;
今日活动管理:发布商场限时优惠活动,上传活动配图、编辑活动介绍,管理活动上下架;
优惠券管理
列表页:按券名称、券类型、生效/过期时间多条件检索优惠券;
新增表单:设置优惠券名称、券类型、满减门槛、优惠金额、生效时间段、过期时间段、备注;支持单条详情、编辑、删除,批量删除;
系统管理(下拉子菜单)
关于我们:编辑平台介绍、上传配图;
在线客服:维护客服联系方式;
系统简介:编辑平台整体介绍文案;
轮播图管理:维护前台首页顶部轮播广告图;
公告信息分类:管理公告资讯分类;
公告信息:新增/编辑公告,选择分类、上传封面图、填写简介、富文本编辑公告正文;
订单管理:查看平台全部用户消费订单,筛选订单状态,查看订单商品、优惠抵扣、实付金额明细。
3.2.2 前台用户商城端全部功能模块
首页:顶部轮播广告图、平台公告卡片、商品信息推荐分区、关于我们板块;
商品信息页面
多条件检索:商品名称、品牌、价格区间、商品分类筛选;
商品卡片展示:商品实拍图、名称、售价、库存、上架时间、点击/收藏/点赞数据;支持分页浏览;
积分商品页面:展示所有积分兑换商品,查看兑换所需积分;
今日活动页面:浏览商场全部限时优惠活动详情;
公告信息页面
公告列表卡片:展示公告封面、标题、发布时间、点赞收藏数据;
公告详情页:完整展示公告正文,支持上一篇/下一篇切换、点赞、收藏;右侧热门公告侧边栏;
优惠券领取页面:查看全部有效满减优惠券,下单自动抵扣;
下单结算页面:选择商品、使用优惠券自动计算优惠金额,生成消费订单;
个人中心:查看个人订单、收藏公告、收藏商品、修改个人资料。
3.3 非功能需求
3.3.1 性能需求
所有列表页面默认分页,每页10条数据,支持自定义每页展示条数;
多条件组合模糊查询(商品名称+品牌+价格区间)页面响应时间≤1.5s;
图片上传支持2M以内图片,实时预览,无卡顿保存;
支持千级商品、优惠券、订单、公告数据稳定加载,页面无崩溃、卡死。
3.3.2 安全需求
登录身份拦截:未登录用户禁止访问后台全部管理页面;
角色权限拦截:普通用户无后台访问权限,仅能操作前台个人数据;管理员拥有全平台数据操作权限;
管理员密码MD5加密存储,数据库不存储明文密码;
表单输入校验:拦截空值、超长文本、非法图片格式、负数价格/库存,防止脏数据入库;
优惠券时间校验:系统自动区分生效/过期优惠券,过期券无法抵扣订单金额。
3.3.3 兼容性需求
前台商城、后台管理页面适配Chrome、Edge、360等主流PC浏览器,页面布局无错乱,图片上传、富文本、筛选、按钮功能全部正常。
3.3.4 可维护性需求
后台列表、新增编辑页面复用通用搜索、分页、上传组件,新增业务模块可直接复用现有工具类;
商品、优惠券、公告、订单业务模块解耦,单独修改某一业务不影响其他模块运行;
优惠金额计算逻辑统一封装工具类,便于后期修改折扣规则。
第四章 系统总体设计
4.1 SpringBoot四层分层架构设计
表现层 View
分为前台Vue商城页面、后台ElementUI管理页面,接收用户表单输入、图片上传请求,展示商品、优惠券、公告、订单、活动数据;控制层 Controller
SpringMVC控制器,接收前端HTTP请求,完成登录拦截、参数校验、角色权限判断,调用Service业务层,返回JSON数据或页面跳转;业务逻辑层 Service
核心业务处理层,封装商品分类维护、商品上架、优惠券创建、优惠抵扣计算、公告发布、订单生成、积分兑换等业务规则,处理多表关联逻辑,使用Spring事务保证订单、库存数据一致性;数据访问层 Mapper
MyBatis/MyBatis-Plus映射层,封装MySQL增删改查SQL语句,实现数据库数据读写;持久层 MySQL数据库
存储管理员、普通用户、商品分类、商品信息、积分商品、今日活动、优惠券、公告分类、公告信息、轮播图、订单、收货地址全部业务数据。
4.2 系统功能模块结构树
基于SpringBoot的商场多功能折扣系统 ├─ 前台用户商城端 │ ├─ 首页(轮播图、公告推荐、商品推荐、关于我们) │ ├─ 商品信息(多条件筛选、商品卡片列表) │ ├─ 积分商品(积分兑换商品展示) │ ├─ 今日活动(限时优惠活动浏览) │ ├─ 公告信息(公告列表、公告详情、点赞收藏) │ └─ 个人中心(订单、收藏、个人资料) └─ 后台管理端 ├─ 公共模块 │ ├─ 登录页面 │ ├─ 系统首页(后台欢迎页) │ └─ 个人中心(修改密码、管理员信息) ├─ 核心业务菜单 │ ├─ 用户管理(前台消费者账号管理) │ ├─ 商品分类管理(分类新增、查询、编辑删除) │ ├─ 商品信息管理(商品录入、维护、检索) │ ├─ 积分商品管理(积分兑换商品) │ ├─ 今日活动管理(限时活动发布) │ ├─ 优惠券管理(满减券创建、时间管控) │ └─ 订单管理(全平台消费订单) └─ 系统管理子菜单 ├─ 关于我们、在线客服、系统简介 ├─ 轮播图管理、公告信息分类 └─ 公告信息(发布、编辑资讯公告)4.3 角色权限管控设计表
| 角色 | 可访问模块 | 操作权限限制 |
|---|---|---|
| 系统管理员 | 全部后台菜单、全平台所有业务数据 | 无操作限制,新增/删除/修改任意商品、优惠券、公告、订单、用户;配置系统全局页面内容 |
| 普通前台用户 | 前台全部商城页面,无后台访问权限 | 仅浏览公开商品、活动、公告;点赞收藏资讯;下单生成个人订单;仅操作自身账号、订单、收藏数据,无商品/优惠券发布权限 |
4.4 核心业务流程设计
4.4.1 商品上架与前台浏览流程
管理员登录后台,进入【商品分类管理】新增商品分类;
进入【商品信息管理】点击添加,填写商品名称、上传图片、选择分类、规格、品牌、上架时间、单价、库存、积分,富文本编辑商品介绍,提交保存;
商品自动同步至前台【商品信息】页面,所有用户可按名称、品牌、价格筛选浏览;
用户查看商品详情,查看库存、售价、点击收藏点赞。
4.4.2 优惠券创建与订单优惠抵扣流程
管理员后台【优惠券管理】点击添加,设置券名称、券类型、满减门槛、优惠金额、生效时间段、过期时间;
优惠券生效后前台用户可见,下单结算时系统自动判断订单金额满足满减门槛,自动抵扣对应优惠;
优惠券过期后系统标记失效,无法再用于订单抵扣;
抵扣完成生成订单,后台【订单管理】可查看优惠抵扣明细。
4.4.3 公告资讯发布与前台阅读流程
管理员后台【系统管理-公告信息分类】新增公告分类;
进入【公告信息】添加公告,选择分类、上传封面图、填写简介、富文本编辑正文,提交发布;
公告同步至前台首页、公告信息页面,用户可点击查看完整详情;
用户可对公告进行点赞、收藏,切换上一篇/下一篇公告阅读。
第五章 数据库详细设计
5.1 数据库设计规范
数据库名称:
mall_discount_system;字符集:utf8mb4,兼容中文、图片路径、特殊符号、emoji;
存储引擎:InnoDB,支持事务、外键关联,保障订单、商品库存数据一致性;
遵循数据库第三范式,减少数据冗余,主外键关联各业务表;
所有字段添加中文注释,区分业务含义。
5.2 核心数据表完整结构
表1:管理员表admin
存储后台运营管理员账号
| 字段名 | 数据类型 | 主键 | 非空 | 字段说明 |
|---|---|---|---|---|
| admin_id | bigint | 是 | 是 | 管理员唯一ID |
| username | varchar(50) | 否 | 是 | 登录账号,唯一 |
| password | varchar(100) | 否 | 是 | MD5加密密码 |
| real_name | varchar(50) | 否 | 是 | 管理员姓名 |
| create_time | datetime | 否 | 是 | 账号创建时间 |
表2:前台用户表user
商场普通消费者账号
| 字段名 | 数据类型 | 主键 | 非空 | 字段说明 |
|---|---|---|---|---|
| user_id | bigint | 是 | 是 | 用户主键ID |
| username | varchar(50) | 否 | 是 | 登录账号 |
| password | varchar(100) | 否 | 是 | 加密登录密码 |
| real_name | varchar(50) | 否 | 是 | 用户姓名 |
| avatar | varchar(255) | 否 | 否 | 用户头像路径 |
| phone | varchar(20) | 否 | 是 | 联系电话 |
| status | tinyint | 否 | 是 | 账号状态 0禁用 1正常 |
| register_time | datetime | 否 | 是 | 注册时间 |
表3:商品分类表goods_type
商品一级分类数据
| 字段名 | 数据类型 | 主键 | 非空 | 字段说明 |
|---|---|---|---|---|
| type_id | bigint | 是 | 是 | 分类ID |
| type_name | varchar(50) | 否 | 是 | 商品分类名称 |
| create_time | datetime | 否 | 是 | 创建时间 |
表4:商品信息表goods
商场售卖普通商品,对应后台新增商品表单
| 字段名 | 数据类型 | 主键 | 非空 | 字段说明 |
|---|---|---|---|---|
| goods_id | bigint | 是 | 是 | 商品主键ID |
| goods_name | varchar(100) | 否 | 是 | 商品名称 |
| goods_img | varchar(255) | 否 | 是 | 商品图片路径 |
| type_id | bigint | 外键 | 是 | 关联商品分类ID |
| spec | varchar(100) | 否 | 否 | 商品规格 |
| brand | varchar(100) | 否 | 否 | 商品品牌 |
| up_time | date | 否 | 是 | 商品上架时间 |
| single_point | int | 否 | 否 | 单品积分 |
| stock | int | 否 | 是 | 商品库存 |
| price | decimal(10,2) | 否 | 是 | 商品售价 |
| goods_detail | text | 否 | 是 | 商品详情(富文本) |
| click_num | int | 否 | 是 | 商品点击量 |
| collect_num | int | 否 | 是 | 收藏数 |
| like_num | int | 否 | 是 | 点赞数 |
| status | tinyint | 否 | 是 | 上下架状态 0下架 1上架 |
| create_time | datetime | 否 | 是 | 录入时间 |
表5:积分商品表point_goods
积分兑换专属商品
| 字段名 | 数据类型 | 主键 | 非空 | 字段说明 |
|---|---|---|---|---|
| pg_id | bigint | 是 | 是 | 积分商品ID |
| goods_name | varchar(100) | 否 | 是 | 商品名称 |
| goods_img | varchar(255) | 否 | 是 | 商品图片 |
| need_point | int | 否 | 是 | 兑换所需积分 |
| stock | int | 否 | 是 | 库存 |
| detail | text | 否 | 是 | 商品介绍 |
| create_time | datetime | 否 | 是 | 创建时间 |
表6:今日活动表activity
商场限时优惠活动
| 字段名 | 数据类型 | 主键 | 非空 | 字段说明 |
|---|---|---|---|---|
| activity_id | bigint | 是 | 是 | 活动ID |
| title | varchar(100) | 否 | 是 | 活动标题 |
| activity_img | varchar(255) | 否 | 是 | 活动配图 |
| intro | varchar(500) | 否 | 否 | 活动简介 |
| content | text | 否 | 是 | 活动详情富文本 |
| start_time | datetime | 否 | 是 | 活动开始时间 |
| end_time | datetime | 否 | 是 | 活动结束时间 |
| status | tinyint | 否 | 是 | 0未上线 1上线 |
表7:优惠券表coupon
满减折扣优惠券
| 字段名 | 数据类型 | 主键 | 非空 | 字段说明 |
|---|---|---|---|---|
| coupon_id | bigint | 是 | 是 | 优惠券ID |
| coupon_name | varchar(100) | 否 | 是 | 优惠券名称 |
| coupon_type | varchar(50) | 否 | 是 | 券类型(满减券/品类券) |
| full_money | decimal(10,2) | 否 | 是 | 满减门槛金额 |
| cut_money | decimal(10,2) | 否 | 是 | 优惠抵扣金额 |
| valid_start | datetime | 否 | 是 | 生效起始时间 |
| valid_end | datetime | 否 | 是 | 过期截止时间 |
| remark | varchar(500) | 否 | 否 | 优惠券备注说明 |
| create_time | datetime | 否 | 是 | 创建时间 |
表8:公告分类表notice_type
公告资讯分类
| 字段名 | 数据类型 | 主键 | 非空 | 字段说明 |
|---|---|---|---|---|
| nt_id | bigint | 是 | 是 | 分类ID |
| type_name | varchar(50) | 否 | 是 | 分类名称 |
表9:公告信息表notice
平台活动、优惠资讯公告
| 字段名 | 数据类型 | 主键 | 非空 | 字段说明 |
|---|---|---|---|---|
| notice_id | bigint | 是 | 是 | 公告ID |
| nt_id | bigint | 外键 | 是 | 关联公告分类ID |
| publisher | varchar(50) | 否 | 是 | 发布人名称 |
| notice_img | varchar(255) | 否 | 是 | 公告封面图片 |
| intro | varchar(500) | 否 | 否 | 公告简短简介 |
| content | text | 否 | 是 | 公告正文富文本 |
| like_num | int | 否 | 是 | 点赞数量 |
| collect_num | int | 否 | 是 | 收藏数量 |
| create_time | datetime | 否 | 是 | 发布时间 |
表10:轮播图表banner
前台首页顶部轮播广告图
| 字段名 | 数据类型 | 主键 | 非空 | 字段说明 |
|---|---|---|---|---|
| banner_id | bigint | 是 | 是 | 轮播ID |
| banner_img | varchar(255) | 否 | 是 | 轮播图片路径 |
| jump_url | varchar(255) | 否 | 否 | 点击跳转链接 |
| sort | int | 否 | 是 | 排序权重 |
表11:订单主表order_info
用户消费订单,自动抵扣优惠券优惠
| 字段名 | 数据类型 | 主键 | 非空 | 字段说明 |
|---|---|---|---|---|
| order_id | bigint | 是 | 是 | 订单唯一编号 |
| user_id | bigint | 外键 | 是 | 下单用户ID |
| goods_id | bigint | 外键 | 是 | 购买商品ID |
| coupon_id | bigint | 外键 | 否 | 使用优惠券ID,无则为空 |
| buy_num | int | 否 | 是 | 购买数量 |
| total_price | decimal(10,2) | 否 | 是 | 商品原价总金额 |
| cut_price | decimal(10,2) | 否 | 是 | 优惠券抵扣金额 |
| real_pay | decimal(10,2) | 否 | 是 | 实际支付金额 |
| order_status | tinyint | 否 | 是 | 订单状态 0待付款 1已完成 2已取消 |
| create_time | datetime | 否 | 是 | 下单时间 |
表12:系统配置表system_config
存储关于我们、系统简介、在线客服等全局配置
| 字段名 | 数据类型 | 主键 | 非空 | 字段说明 |
|---|---|---|---|---|
| config_id | bigint | 是 | 是 | 配置ID |
| config_key | varchar(50) | 否 | 是 | 配置标识(about/customer/intro) |
| config_value | text | 否 | 是 | 配置内容(富文本/图片路径) |
第六章 系统各模块详细功能设计
6.1 登录页面模块
后台管理员登录页面
页面顶部标题:基于springboot的商场多功能折扣系统登录
输入框:用户名、登录密码;
蓝色下划线登录按钮;
表单校验:空账号、密码错误、账号不存在弹窗提示;
登录成功跳转后台系统首页,校验失败停留在登录页。
6.2 后台系统首页与通用布局
后台统一布局:左侧固定功能菜单栏、顶部系统标题栏、右上角登录管理员头像账号;中间主区域展示对应功能页面,支持多标签页切换(首页、商品分类、商品信息、优惠券等)。
首页中间展示空白欢迎区域,左侧菜单栏分层展示全部后台功能入口。
6.3 商品分类管理模块
商品分类列表页面
顶部检索栏:商品类型输入框+查询按钮;
批量操作按钮:添加、批量删除;
列表字段:序号、商品类型;
单行操作按钮:详情、编辑、删除;
分页展示所有商品分类,新增分类后前台商品筛选栏同步更新分类选项。
6.4 商品信息管理模块
6.4.1 商品列表页面
多条件检索全部商品,支持批量删除、单条详情/编辑/删除,分页展示商品基础数据。
6.4.2 新增/编辑商品表单页面
带*必填项,完整表单组件:
文本框:商品名称、规格、品牌、积分、单价、库存;
图片上传组件:点击加号上传商品实拍图;
下拉选择框:商品类型(绑定商品分类数据);
日期选择器:上架时间;
富文本编辑器:工具栏支持文字加粗、字号、插入图片、列表排版,填写商品详细介绍;
表单提交校验:商品名称、价格、分类、图片为必填项,库存/价格禁止输入负数。
6.5 优惠券管理模块
优惠券列表页面
复合多条件检索栏:优惠券名称、券类型下拉、生效时间区间、过期时间区间+查询按钮;
批量操作:添加、批量删除;
列表字段:序号、名称、券类型、满减门槛、优惠额、生效时间、过期时间、备注;
单行操作:详情、编辑、删除;
系统自动区分生效/过期优惠券,前台仅展示未过期有效券。
新增优惠券表单
填写优惠券名称、选择券类型、设置满减金额、抵扣金额、生效起止时间、过期起止时间、备注,提交后存入优惠券表。
6.6 公告信息管理模块(系统管理子菜单)
新增/编辑公告表单页面
下拉选择框:分类名称(绑定公告分类数据);
文本输入框:发布人;
图片上传组件:公告封面图片;
简介单行输入框;
富文本大编辑框:编写公告完整正文;
底部操作按钮:确定保存、取消重置表单;
发布后同步展示至前台首页、公告详情页面。
6.7 前台商城首页页面
顶部全屏轮播广告图;
公告卡片分区:展示平台最新公告,显示发布时间、点赞收藏数据;
商品信息推荐板块:商品卡片展示实拍图、名称、售价,配套「查看更多」跳转完整商品列表;
关于我们板块:展示平台简介文字、配图;
顶部全局导航栏:首页、商品信息、积分商品、今日活动、公告信息。
6.8 前台商品信息列表页面
顶部多条件搜索栏:商品名称、品牌、最小/最大价格区间+查询按钮;
商品分类快捷筛选标签(全部、商品类型1~8、日用类);
排序栏:支持按价格、点击量、收藏数、点赞数排序;
商品卡片布局:商品实拍图、商品名称、售价、上架时间、库存、点赞/收藏/点击数据;
分页切换商品卡片,点击卡片进入商品详情页。
6.9 前台公告详情页面
顶部公告完整标题;
公告正文富文本内容展示;
发布时间、点赞、收藏功能按钮;
底部切换按钮:上一篇、下一篇公告;
右侧侧边栏「热门消息」:展示最新公告卡片列表;
底部推荐文章分区,展示相关公告资讯。
6.10 其他后台配套模块说明
用户管理:查看所有前台注册用户,支持查询、禁用、删除违规账号;
积分商品管理:新增积分兑换商品,设置兑换积分、库存、商品图片与详情;
今日活动管理:创建限时商场活动,上传活动配图、编辑活动介绍;
订单管理:查看全平台用户消费订单,展示商品、原价、优惠券抵扣金额、实付金额、订单状态;
系统管理子菜单:关于我们、在线客服、系统简介、轮播图管理、公告分类,统一维护前台全局页面展示内容;
个人中心:管理员修改登录密码、完善个人基础信息。
第七章 系统测试
7.1 功能测试
覆盖系统全部页面、表单、按钮、完整业务流程逐项测试:
登录测试:空账号密码、错误密码拦截,管理员登录跳转后台首页;
商品分类&商品CRUD测试:新增分类、商品图片上传、富文本详情编辑、多条件检索、分页;商品数据隔离正常,前台同步展示新增商品;
优惠券全流程测试:新增满减券、设置生效/过期时间,前台区分有效/过期券,下单自动计算优惠抵扣金额;
公告发布阅读测试:后台新增公告、上传配图、富文本正文,前台列表、详情页正常渲染,点赞收藏、上下篇切换功能可用;
订单优惠抵扣测试:用户选购商品使用优惠券,系统自动扣减优惠金额,后台订单记录抵扣明细;
权限越权测试:普通用户无法访问任何后台管理页面,仅管理员拥有全部商品、优惠券、公告编辑删除权限;
通用组件测试:图片上传格式拦截、表单必填校验、批量删除、分页、多条件复合搜索全部正常。
测试结果:全部功能正常运行,表单校验生效,图片上传无异常,分页、检索、优惠计算逻辑准确,登录权限拦截生效,无业务逻辑BUG。
7.2 浏览器兼容性测试
测试Chrome、Edge、360三款主流PC浏览器,前台商城、后台管理页面布局完整,图片上传、富文本、筛选、按钮功能无异常,页面无文字溢出、排版错乱。
7.3 性能测试
单列表1000条测试数据分页查询,页面加载耗时≤1.5秒;
单张2M商品/公告图片上传预览、数据库存储路径正常,无超时崩溃;
连续4小时系统稳定运行,无内存溢出、页面卡死、数据丢失问题。
第八章 系统开发难点与解决方案
8.1 难点1:优惠券自动抵扣金额计算,多优惠叠加逻辑处理
问题:用户下单时需自动匹配可用优惠券,根据满减门槛计算抵扣金额,多券同时存在时需自动最优抵扣,容易出现金额计算错误、超减价。
解决方案:
统一封装优惠计算工具类,下单前遍历用户全部未过期优惠券,筛选满足订单总价门槛的券;
优先抵扣优惠金额最大的优惠券,单次订单仅可使用一张优惠券;
数据库订单表单独存储原价、抵扣金额、实付金额三层数据,分开记录便于后台核对账单;
增加金额校验逻辑,抵扣后实付金额不可小于0。
8.2 难点2:多模块统一图片上传(商品图、公告封面、轮播图、活动图)
问题:商品、公告、轮播、活动均需要图片上传,易出现同名图片覆盖、存储路径混乱、图片丢失。
解决方案:
全局统一文件上传根目录,按业务创建独立子文件夹(goods、notice、banner、activity);
上传时使用UUID随机重命名图片,杜绝同名文件覆盖;
数据库仅存储图片相对访问路径,页面统一拼接静态资源地址渲染图片。
8.3 难点3:富文本编辑器数据存储与前台回显(商品详情、公告、活动介绍)
问题:富文本包含HTML标签、内嵌图片,直接存入数据库易出现转义乱码,编辑页面无法正常回显原有内容。
解决方案:
数据库字段使用Text大文本类型存储完整富文本HTML代码;
前端提交时统一转义特殊字符,读取页面时反向解析渲染富文本内容;
上传图片自动转为服务器静态路径嵌入富文本,保证前台展示图片正常加载。
8.4 难点4:商品库存、订单事务一致性控制
问题:用户下单生成订单时需要扣减商品库存,若库存不足、程序异常会出现订单生成但库存未扣减,数据不一致。
解决方案:
下单结算整套业务封装在Spring事务方法内,库存不足、代码异常全部事务回滚,不生成订单;
查询商品库存时采用悲观锁,防止多用户同时下单超卖;
订单创建成功后执行库存扣减操作,库存扣减失败直接回滚整条订单数据。
8.5 难点5:优惠券时效自动管控,区分生效/过期券
问题:大量优惠券批量创建后,无法人工实时判断是否过期,前台错误展示过期优惠券。
解决方案:
后台查询优惠券时增加时间条件过滤,只查询当前时间在生效区间内的优惠券;
前台商品页面仅加载未过期优惠券,过期券自动隐藏不可领取使用;
定时任务可自动批量更新过期优惠券状态,便于管理员统一管理。
第九章 项目总结
本商场多功能折扣系统基于SpringBoot后端、Vue前端、MySQL数据库开发,严格遵循软件工程完整开发流程,完成需求分析、分层架构设计、数据库三范式表结构设计、前后端全功能开发、全维度系统测试。系统划分后台管理员、前台普通消费者两类操作角色,拆分为后台运营管理系统、前台线上商城两大业务端,完整实现商品分类管理、商品信息录入、积分商品兑换、限时今日活动、满减优惠券折扣、订单结算自动优惠抵扣、公告资讯发布、点赞收藏、系统全局配置、用户账号管理等商场数字化运营全闭环业务。
系统解决传统实体商场人工台账管理繁琐、优惠券优惠核算易出错、活动公告触达率低、商品数据管理混乱等行业痛点,后台通用分页、多条件复合检索、图片上传、批量操作、富文本组件封装完善,角色权限控制严谨,页面布局统一简洁,数据持久稳定存储,适配中小型商超、社区门店线上数字化运营使用,完全符合计算机专业SpringBoot+Vue前后端分离毕业设计完整规范。
第十章、项目资料
👇🏻 精彩专栏推荐订阅👇🏻 在下方专栏👇🏻不然下次找不到哟
《Java精品推荐项目》
《springboot+vue项目100套》
《ssm项目100套》
《微信小程序合集》