项目简介
本项目是一个基于Java开发的助农型水果网上订购平台,采用前后端分离架构,平台包含用户端和管理端两个子系统,实现了从商品展示、购物下单到订单管理、用户管理的完整电商业务流程。可用于学生课设、毕设、学习交流使用。
核心功能介绍
用户端功能
- 用户注册登录:支持用户注册、登录和密码修改
- 商品浏览与搜索:支持商品列表展示、分类筛选和关键词搜索
- 商品详情查看:展示商品详细信息、价格、库存、产地等信息
- 购物车管理:支持添加商品到购物车、修改数量、删除商品
- 订单管理:支持提交订单、支付订单、查看订单详情、取消订单、确认收货
- 收货地址管理:支持添加、编辑、删除收货地址,设置默认地址
- 个人信息管理:支持修改个人资料、头像、联系方式
- 商品评价:支持对已购买商品进行评分和评价
管理端功能
- 管理员登录:支持管理员身份认证和登录
- 分类管理:支持水果分类的增删改查操作
- 商品管理:支持商品的增删改查、上下架、库存管理
- 订单管理:支持查看订单列表、订单详情、更新订单状态、发货操作
- 用户管理:支持查看用户列表、禁用/启用用户账号
- 数据统计:支持查看平台运营数据(待完善)
技术栈介绍
后端技术
- 后端框架:Spring Boot 2.3.12
- 数据库:MySQL 8.0
- ORM框架:MyBatis 2.1.4
- 数据库连接池:Druid 1.2.8
- 身份认证:JWT (JSON Web Token)
- 构建工具:Maven 3.6.3
- Java版本:JDK 1.8
前端技术
- 前端框架:Vue 2.6.14
- UI组件库:Element UI 2.15.9
- HTTP客户端:Axios 0.27.2
- 状态管理:Vuex 3.6.2
- 路由管理:Vue Router 3.5.1
- 构建工具:Vue CLI 5.0.0
系统界面展示












项目结构
code/
├── backend/ # 后端Spring Boot项目
│ ├── src/
│ │ └── main/
│ │ ├── java/
│ │ │ └── com/fruit/
│ │ │ ├── controller/ # 控制器层
│ │ │ │ ├── admin/ # 管理端控制器
│ │ │ │ └── user/ # 用户端控制器
│ │ │ ├── service/ # 服务层
│ │ │ │ └── impl/ # 服务实现类
│ │ │ ├── mapper/ # 数据访问层
│ │ │ ├── entity/ # 实体类
│ │ │ ├── dto/ # 数据传输对象
│ │ │ ├── vo/ # 视图对象
│ │ │ ├── config/ # 配置类
│ │ │ ├── common/ # 公共类
│ │ │ └── utils/ # 工具类
│ │ └── resources/
│ │ ├── mapper/ # MyBatis XML映射文件
│ │ ├── application.yml # 应用配置文件
│ │ └── application-dev.yml # 开发环境配置
│ ├── pom.xml # Maven依赖配置
│ └── uploads/ # 文件上传目录
├── frontend-user/ # 用户端Vue项目
│ ├── public/
│ │ └── index.html # HTML模板
│ ├── src/
│ │ ├── views/ # 页面组件
│ │ │ ├── Home.vue # 首页
│ │ │ ├── Login.vue # 登录页
│ │ │ ├── Register.vue # 注册页
│ │ │ ├── ProductList.vue # 商品列表
│ │ │ ├── ProductDetail.vue # 商品详情
│ │ │ ├── Cart.vue # 购物车
│ │ │ ├── OrderList.vue # 订单列表
│ │ │ ├── OrderDetail.vue # 订单详情
│ │ │ ├── Address.vue # 地址管理
│ │ │ └── UserCenter.vue # 个人中心
│ │ ├── router/ # 路由配置
│ │ ├── store/ # Vuex状态管理
│ │ ├── utils/ # 工具函数
│ │ ├── App.vue # 根组件
│ │ └── main.js # 入口文件
│ ├── package.json # 依赖配置
│ └── vue.config.js # Vue配置
├── frontend-admin/ # 管理端Vue项目
│ ├── public/
│ │ └── index.html
│ ├── src/
│ │ ├── views/ # 页面组件
│ │ │ ├── Login.vue # 登录页
│ │ │ ├── Dashboard.vue # 首页概览
│ │ │ ├── Category.vue # 分类管理
│ │ │ ├── Product.vue # 商品管理
│ │ │ ├── Order.vue # 订单管理
│ │ │ └── User.vue # 用户管理
│ │ ├── router/ # 路由配置
│ │ ├── store/ # Vuex状态管理
│ │ ├── utils/ # 工具函数
│ │ ├── App.vue
│ │ └── main.js
│ ├── package.json
│ └── vue.config.js
└── database/
└── fruit_order.sql # 数据库初始化脚本
数据库设计
- 用户表(user):存储用户基本信息,包括用户名、密码、昵称、联系方式等
- 管理员表(admin):存储管理员账号信息
- 分类表(category):存储水果分类信息,用于商品分类管理
- 商品表(product):存储商品详细信息,包括名称、价格、库存、图片等
- 购物车表(cart):存储用户购物车中的商品信息
- 收货地址表(address):存储用户的收货地址信息
- 订单表(orders):存储订单基本信息,包括订单号、金额、状态等
- 订单项表(order_item):存储订单中的商品明细信息
- 评价表(review):存储用户对商品的评价信息
系统运行流程
用户购物流程
用户首先注册账号并登录系统,登录后可以浏览商品列表,通过分类筛选或关键词搜索找到心仪的水果商品,查看商品详情了解价格、库存、产地等信息,将商品添加到购物车并调整数量,选择收货地址后提交订单,完成支付操作,等待商家发货,收到商品后确认收货,最后可以对商品进行评价。
订单处理流程
用户提交订单后订单状态为待付款,用户完成支付后订单状态更新为待发货,管理员登录管理端查看订单列表,选择待发货订单进行发货操作,订单状态更新为待收货,用户收到商品后确认收货,订单状态更新为已完成,用户可以对订单中的商品进行评价。
管理员管理流程
管理员登录管理端系统,可以管理商品分类(添加、编辑、删除分类),管理商品信息(添加商品、编辑商品信息、上下架商品、管理库存),查看和处理订单(查看订单列表、订单详情、更新订单状态、发货),管理用户账号(查看用户列表、禁用或启用用户账号)。
系统启动流程
首先启动MySQL数据库服务,导入数据库初始化脚本创建数据库和表结构,配置后端数据库连接信息,启动后端Spring Boot服务(默认端口8080),启动用户端前端服务(默认端口8081),启动管理端前端服务(默认端口8082),通过浏览器访问用户端和管理端进行系统使用。
快速开始
环境要求
- JDK 1.8+
- Maven 3.6+
- MySQL 8.0+
- Node.js 14+
- npm 6+
数据库配置
-
创建数据库并导入初始化脚本:
mysql -u root -p < database/fruit_order.sql
-
修改后端配置文件
backend/src/main/resources/application-dev.yml中的数据库连接信息
启动后端服务
cd backend
mvn clean install
mvn spring-boot:run
后端服务将在 http://localhost:8080 启动
启动用户端前端
cd frontend-user
npm install
npm run serve
用户端将在 http://localhost:8081 启动
启动管理端前端
cd frontend-admin
npm install
npm run serve
管理端将在 http://localhost:8082 启动
注意事项
- 请确保MySQL服务已启动
- 请确保端口8080、8081、8082未被占用
- 首次运行需要执行数据库初始化脚本
- 商品图片使用的是占位图片链接,实际使用时需要替换为真实图片
- 支付功能为模拟支付,未集成真实支付接口