【万字文档+源码】基于springboot+vue鲜花在线销售系统 -学习资料分享
2026/6/10 2:06:10 网站建设 项目流程

万字文档-源码-基于springboot+vue鲜花销售系统

一、项目概述

1.1 项目背景

随着线上消费市场的持续发展,鲜花电商行业呈现快速增长态势。传统线下花店受地域限制、营业时间限制,面临客户拓展难、库存管理低效、订单处理混乱、客户粘性不足等问题。同时,消费者对鲜花购买的便捷性、产品多样性、服务体验的要求不断提升,传统线下模式已难以满足市场需求。

为解决行业痛点,搭建一套集线上展示、商品销售、订单管理、用户互动于一体的鲜花销售系统,实现商家数字化运营、用户便捷购物的双向赋能,推动鲜花零售行业向线上化、标准化、智能化转型。

1.2 项目目标

本项目旨在开发一套基于 SpringBoot+Vue 前后端分离架构的鲜花销售系统,核心目标如下:

  1. 用户端:为消费者提供鲜花浏览、商品选购、在线下单、评价互动的一站式购物体验。

  2. 商家端:为入驻商家提供商品管理、订单处理、库存维护、店铺运营的后台管理功能。

  3. 管理端:为平台管理员提供用户管理、商家审核、商品监管、系统配置的统一管理入口。

  4. 业务闭环:实现从商品上架、用户下单、订单流转到评价售后的全流程数字化管理,提升运营效率与用户体验。

1.3 系统功能架构

系统采用前后端分离架构,分为前台用户模块后台管理模块,后台管理模块细分为管理员、商家两大角色,整体功能架构如下:

  • 前台用户模块:浏览首页、商家信息、鲜花信息、交流论坛、公告信息、购物车、订单管理、个人中心。

  • 后台管理员模块:用户管理、商家管理、鲜花种类管理、鲜花信息管理、论坛管理、系统管理、订单管理、个人资料管理。

  • 后台商家模块:鲜花信息管理、订单管理、个人资料管理。


二、技术栈选型

技术分类技术选型说明
后端框架Spring Boot 2.x构建稳定、高效的 Java 后端服务,提供 RESTful API 接口,支撑前后端数据交互。
前端框架Vue 2/3 + Vue Router + Vuex实现组件化、响应式的前端页面开发,实现路由管理与全局状态管理。
数据库MySQL 8.x关系型数据库,存储用户、商家、商品、订单等结构化业务数据。
ORM 框架MyBatis-Plus简化数据库 CRUD 操作,支持分页、条件查询,提升后端开发效率。
UI 组件库Element UI、Bootstrap快速搭建后台管理界面与前台页面,实现统一的视觉风格与交互效果。
其他技术Maven、Axios、JWT、文件上传Maven 管理项目依赖,Axios 实现前后端请求交互,JWT 实现登录认证,支持商品图片上传存储。

三、系统功能模块详细设计

3.1 前台用户模块

3.1.1 系统首页
  • 功能描述:展示平台轮播图、热门鲜花推荐、新品上架、商家推荐、公告信息等内容,为用户提供直观的商品浏览入口。

  • 核心逻辑:后端配置首页展示内容,按销量、新品等维度推荐商品,前端渲染展示,支持用户快速跳转至商品详情页。

3.1.2 商家信息模块
  • 功能描述:用户可浏览入驻商家列表,查看店铺名称、店铺地址、负责人、店铺图片等信息,支持按店铺名、地址模糊查询。

  • 核心逻辑:调用后端接口获取商家数据,分页展示店铺信息,点击进入店铺详情页,查看该店铺的所有鲜花商品。

3.1.3 鲜花信息模块
  • 功能描述:用户可按鲜花分类、品牌、价格区间筛选商品,查看鲜花详情(名称、规格、价格、库存、介绍、用户评价),支持收藏、点赞、评论互动。

  • 核心逻辑:关联商品表、分类表、评论表,实现多条件筛选查询,商品详情页展示完整信息与用户反馈,支持收藏、点赞操作。

3.1.4 购物车与订单模块
  • 功能描述:用户可将商品加入购物车,管理购物车商品(修改数量、删除商品),提交订单、查看订单状态、处理订单(支付、取消、确认收货)。

  • 核心逻辑:购物车数据与用户账号绑定,提交订单时生成订单记录,关联商品、用户、商家信息,订单状态随支付、发货、收货流程同步更新。

3.1.5 交流论坛模块
  • 功能描述:用户可浏览论坛帖子、发布帖子、评论互动,交流鲜花养护经验、购买心得。

  • 核心逻辑:实现帖子的发布、查询、评论功能,按发布时间排序展示帖子列表,支持用户互动交流。

3.1.6 公告信息模块
  • 功能描述:用户可查看平台发布的公告通知,了解平台活动、服务规则、运营通知等信息。

  • 核心逻辑:调用后端公告接口,按发布时间展示公告列表,点击查看公告详情。

3.1.7 个人中心模块
  • 功能描述:用户可管理个人信息、查看我的订单、我的收藏、我的评论、修改密码,管理收货地址。

  • 核心逻辑:关联用户表、订单表、收藏表、评论表,实现个人数据的统一管理与维护。

3.2 后台管理员模块

3.2.1 用户管理模块
  • 功能描述:管理员可查看、新增、编辑、删除用户账号,管理用户状态,支持按用户名、手机号查询用户。

  • 核心逻辑:实现用户数据的 CRUD 操作,管理用户账号状态(正常 / 禁用),维护平台用户信息。

3.2.2 商家管理模块
  • 功能描述:管理员可审核入驻商家、管理商家账号,查看商家信息、店铺状态,新增、编辑、删除商家信息。

  • 核心逻辑:管理入驻商家的资质审核与账号状态,关联店铺信息,实现商家的分级管理。

3.2.3 鲜花种类管理模块
  • 功能描述:管理员可维护鲜花分类信息,新增、编辑、删除分类,为商品分类管理提供数据支撑。

  • 核心逻辑:维护商品分类字典,实现分类数据的 CRUD 操作,关联商品表,实现商品分类筛选。

3.2.4 鲜花信息管理模块
  • 功能描述:管理员可查看所有商家发布的鲜花商品,审核商品信息,管理商品上下架,查看商品详情与用户评价。

  • 核心逻辑:对商家发布的商品进行审核监管,控制商品上架状态,查看商品评价反馈,维护平台商品质量。

3.2.5 论坛管理模块
  • 功能描述:管理员可管理论坛帖子,查看、删除违规帖子,维护论坛秩序,审核用户评论。

  • 核心逻辑:实现帖子与评论的审核、删除操作,处理违规内容,保障论坛交流环境合规有序。

3.2.6 订单管理模块
  • 功能描述:管理员可查看平台所有订单,按订单状态、时间、商家查询订单,处理订单纠纷。

  • 核心逻辑:关联订单表、用户表、商家表,实现订单数据的统一查看与管理,支持按多条件筛选查询。

3.2.7 系统管理模块
  • 功能描述:管理员可配置系统公告、轮播图、系统参数,管理后台用户权限,维护系统基础配置。

  • 核心逻辑:管理平台公共配置信息,实现公告、轮播图等内容的后台维护,配置系统运行参数。

3.2.8 个人资料管理模块
  • 功能描述:管理员可修改个人登录密码、头像等信息。

  • 核心逻辑:维护管理员账号信息,支持密码修改与头像更新。

3.3 后台商家模块

3.3.1 鲜花信息管理模块
  • 功能描述:商家可新增、编辑、删除自家店铺的鲜花商品,上传商品图片、设置商品价格、库存、规格等信息,管理商品上下架。

  • 核心逻辑:实现商家对自有商品的全生命周期管理,支持商品信息的 CRUD 操作,控制商品上架状态。

3.3.2 订单管理模块
  • 功能描述:商家可查看店铺订单,处理订单状态(发货、确认收货),查看订单详情,管理订单备注。

  • 核心逻辑:关联订单表,展示该商家的所有订单,支持订单状态更新,处理用户订单请求。

3.3.3 个人资料管理模块
  • 功能描述:商家可修改店铺信息、个人登录密码、头像等信息。

  • 核心逻辑:维护商家账号与店铺信息,支持密码修改与店铺资料更新。










四、数据库设计

4.1 核心数据表设计

4.1.1 用户表 (user)
字段名类型主键说明
idbigint用户 ID
usernamevarchar(50)用户名
passwordvarchar(100)加密密码
phonevarchar(20)手机号
avatarvarchar(255)头像路径
rolevarchar(20)用户角色:user/admin/merchant
statusint账号状态:0 禁用 / 1 正常
create_timedatetime创建时间
update_timedatetime更新时间
4.1.2 商家表 (merchant)
字段名类型主键说明
idbigint商家 ID
user_idbigint关联用户 ID
shop_namevarchar(100)店铺名称
shop_addressvarchar(200)店铺地址
contact_personvarchar(50)负责人
shop_imagevarchar(255)店铺图片
statusint店铺状态:0 待审核 / 1 正常 / 2 禁用
create_timedatetime创建时间
4.1.3 鲜花分类表 (flower_category)
字段名类型主键说明
idbigint分类 ID
category_namevarchar(50)分类名称
create_timedatetime创建时间
4.1.4 鲜花信息表 (flower_info)
字段名类型主键说明
idbigint商品 ID
flower_namevarchar(100)鲜花名称
shop_idbigint关联商家 ID
category_idbigint关联分类 ID
brandvarchar(50)品牌
specvarchar(50)规格
pricedecimal(10,2)价格
stockint库存数量
single_limitint单用户购买上限
cover_imagevarchar(255)封面图片
imagestext商品详情图片(多图逗号分隔)
descriptiontext商品介绍
integralint积分
publish_timedatetime上架日期
click_countint点击次数
collect_countint收藏数
comment_countint评论数
statusint商品状态:0 下架 / 1 上架
create_timedatetime创建时间
4.1.5 购物车表 (cart)
字段名类型主键说明
idbigint购物车 ID
user_idbigint关联用户 ID
flower_idbigint关联商品 ID
quantityint购买数量
create_timedatetime创建时间
4.1.6 订单表 (orders)
字段名类型主键说明
idbigint订单 ID
order_novarchar(50)订单编号
user_idbigint关联用户 ID
shop_idbigint关联商家 ID
total_pricedecimal(10,2)订单总价
statusvarchar(20)订单状态:待支付 / 待发货 / 待收货 / 已完成 / 已取消
receiver_namevarchar(50)收货人姓名
receiver_phonevarchar(20)收货人电话
receiver_addressvarchar(200)收货地址
pay_timedatetime支付时间
send_timedatetime发货时间
receive_timedatetime收货时间
create_timedatetime下单时间
4.1.7 订单详情表 (order_detail)
字段名类型主键说明
idbigint详情 ID
order_idbigint关联订单 ID
flower_idbigint关联商品 ID
quantityint购买数量
pricedecimal(10,2)商品单价
create_timedatetime创建时间
4.1.8 评论表 (comment)
字段名类型主键说明
idbigint评论 ID
flower_idbigint关联商品 ID
user_idbigint关联用户 ID
contenttext评论内容
like_countint点赞数
hate_countint点踩数
create_timedatetime评论时间
4.1.9 论坛帖子表 (forum_post)
字段名类型主键说明
idbigint帖子 ID
user_idbigint关联用户 ID
titlevarchar(100)帖子标题
contenttext帖子内容
create_timedatetime发布时间
4.1.10 公告表 (notice)
字段名类型主键说明
idbigint公告 ID
titlevarchar(100)公告标题
contenttext公告内容
publish_timedatetime发布时间
statusint公告状态:0 关闭 / 1 开启

五、后端核心设计

5.1 项目结构

com.flower ├── config # 配置类(跨域、JWT、文件上传、权限配置) ├── controller # 控制层,处理前后端请求 │ ├── UserController.java # 用户相关接口 │ ├── MerchantController.java # 商家相关接口 │ ├── FlowerController.java # 鲜花商品接口 │ ├── CartController.java # 购物车接口 │ ├── OrderController.java # 订单接口 │ ├── CommentController.java # 评论接口 │ ├── ForumController.java # 论坛接口 │ └── NoticeController.java # 公告接口 ├── service # 业务逻辑层 │ ├── impl # 业务实现类 │ │ ├── UserServiceImpl.java │ │ ├── FlowerServiceImpl.java │ │ └── ... ├── mapper # MyBatis数据访问层 │ ├── UserMapper.java │ ├── MerchantMapper.java │ └── ... ├── entity # 数据库实体类 ├── utils # 工具类(结果封装、JWT、文件工具) └── FlowerApplication.java # 项目启动类

5.2 核心接口设计

5.2.1 用户认证接口
接口路径请求方式功能说明
/api/user/loginPOST用户登录,返回 Token 与用户信息
/api/user/registerPOST用户注册
/api/user/infoGET获取当前登录用户信息
/api/user/updatePUT修改用户信息
5.2.2 鲜花商品接口
接口路径请求方式功能说明
/api/flower/listGET分页查询鲜花商品列表
/api/flower/{id}GET获取商品详情
/api/flower/addPOST商家新增商品
/api/flower/updatePUT商家修改商品信息
/api/flower/delete/{id}DELETE商家删除商品
5.2.3 购物车与订单接口
接口路径请求方式功能说明
/api/cart/listGET获取用户购物车列表
/api/cart/addPOST添加商品到购物车
/api/order/createPOST提交订单
/api/order/listGET查询用户 / 商家订单列表
/api/order/updateStatusPUT更新订单状态
5.2.4 商家与管理员接口
接口路径请求方式功能说明
/api/merchant/listGET管理员查询商家列表
/api/merchant/auditPUT管理员审核商家
/api/flower/category/listGET获取鲜花分类列表
/api/flower/category/addPOST管理员新增分类
/api/notice/listGET获取公告列表
/api/notice/addPOST管理员新增公告

六、前端核心设计

6.1 前台用户端项目结构

src ├── assets # 静态资源、全局样式 ├── components # 公共组件(轮播图、商品卡片、分页组件) ├── views # 前台页面 │ ├── home # 首页 │ ├── shop # 商家列表与详情页 │ ├── flower # 商品列表与详情页 │ ├── cart # 购物车页面 │ ├── order # 订单相关页面 │ ├── forum # 论坛页面 │ └── user # 个人中心页面 ├── router # 路由配置 ├── store # Vuex状态管理 ├── utils # 请求封装、工具方法 ├── App.vue └── main.js

6.2 后台管理端项目结构

src ├── assets # 静态资源、全局样式 ├── components # 公共组件(侧边栏、表格、弹窗、上传组件) ├── views # 后台页面 │ ├── user # 用户管理页面 │ ├── merchant # 商家管理页面 │ ├── flower # 商品分类与商品管理页面 │ ├── order # 订单管理页面 │ ├── forum # 论坛管理页面 │ └── system # 系统公告与配置页面 ├── router # 路由配置 ├── store # Vuex状态管理 ├── utils # 请求封装、工具方法 ├── App.vue └── main.js

七、系统部署与运行

7.1 环境依赖

  • 后端环境:JDK 1.8+、Maven 3.6+

  • 前端环境:Node.js 14+、npm

  • 数据库:MySQL 8.0

  • 运行服务器:Windows/Linux CentOS

7.2 部署步骤

  1. 数据库初始化:创建数据库,执行项目 SQL 脚本,导入数据表与基础数据。

  2. 后端部署:修改application.yml中的数据库连接配置、文件上传配置,执行mvn clean package打包项目,运行java -jar xxx.jar启动后端服务。

  3. 前台用户端部署:执行npm install安装依赖,npm run build打包项目,将 dist 文件部署至 Nginx 服务器,配置反向代理对接后端接口。

  4. 后台管理端部署:同前台用户端,打包后部署至 Nginx,配置不同路由路径,实现前后台页面访问。


八、系统测试

8.1 功能测试

对系统核心功能进行全覆盖测试,包括用户登录注册、商品浏览与选购、购物车与订单流程、商家商品管理、管理员后台操作、论坛互动等,验证功能正常可用、流程闭环、数据无误。

8.2 权限测试

验证不同角色(用户、商家、管理员)的权限隔离,确保用户仅可操作个人功能,商家仅可管理自有商品与订单,管理员拥有系统全部管理权限,无越权访问漏洞。

8.3 兼容性测试

测试系统在主流浏览器(Chrome、Firefox、Edge)上的显示与交互效果,前台页面在不同设备(PC、移动端)上的响应式布局效果,确保页面适配良好、交互流畅。


九、总结与展望

9.1 项目总结

本鲜花销售系统基于 SpringBoot+Vue 前后端分离架构开发,实现了前台用户购物、商家店铺运营、平台管理员监管的全流程业务闭环。系统功能覆盖商品管理、订单处理、用户互动、店铺管理、系统配置等核心场景,界面设计简洁友好,操作流程清晰,满足了线上鲜花零售的实际业务需求,具备良好的实用性与稳定性。

9.2 未来展望

  1. 功能拓展:新增鲜花养护指南、会员积分体系、优惠券营销、物流信息对接等功能,提升用户粘性与复购率。

  2. 技术优化:引入 Redis 缓存优化商品列表、首页数据的访问速度,引入消息队列处理订单消息推送,提升系统并发处理能力。

  3. 多端适配:开发小程序端,适配移动端用户购物场景,实现多端数据同步,提升用户使用便捷性。


附录:核心代码示例

1. SpringBoot 启动类

@SpringBootApplication@MapperScan("com.flower.mapper")publicclassFlowerApplication{publicstaticvoidmain(String[]args){SpringApplication.run(FlowerApplication.class,args);}}

2. Vue 路由核心配置(前台用户端)

constroutes=[{path:'/',name:'Home',component:()=>import('../views/home/Home.vue')},{path:'/shop',name:'ShopList',component:()=>import('../views/shop/ShopList.vue')},{path:'/flower/:id',name:'FlowerDetail',component:()=>import('../views/flower/FlowerDetail.vue')},{path:'/cart',name:'Cart',component:()=>import('../views/cart/Cart.vue'),meta:{requiresAuth:true}},{path:'/order',name:'OrderList',component:()=>import('../views/order/OrderList.vue'),meta:{requiresAuth:true}}]

3. 商品列表查询接口(后端)

@RestController@RequestMapping("/api/flower")publicclassFlowerController{@AutowiredprivateFlowerServiceflowerService;@GetMapping("/list")publicResultlist(@RequestParam(defaultValue="1")IntegerpageNum,@RequestParam(defaultValue="10")IntegerpageSize,@RequestParam(required=false)StringflowerName,@RequestParam(required=false)LongcategoryId,@RequestParam(required=false)Stringbrand,@RequestParam(required=false)DoubleminPrice,@RequestParam(required=false)DoublemaxPrice){Page<FlowerInfo>page=flowerService.list(pageNum,pageSize,flowerName,categoryId,brand,minPrice,maxPrice);returnResult.success(page);}}

十、项目资料

👇🏻 精彩专栏推荐订阅👇🏻 在下方专栏👇🏻不然下次找不到哟
《Java精品推荐项目》
《springboot+vue项目100套》
《ssm项目100套》
《微信小程序合集》

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询