SpringBoot3+Vue3+MySQL 农产品运输服务平台源码 前后端分离实战
2026/8/1 21:50:58 网站建设 项目流程

一、项目简介

本项目是一个基于 SpringBoot3 + Vue3 + MySQL 的农产品运输服务平台,采用前后端分离架构。系统面向货主(货源端)与承运方(运力端)两类核心业务角色,并提供管理员后台进行全局管控。平台覆盖运输订单全生命周期管理,从货主创建订单、管理员调度匹配、承运方接单运输,到送达确认与费用核算,同时集成了冷链环境监控、运输异常预警、通知推送和数据可视化看板等能力。系统内置 JWT 鉴权、MyBatis-Plus 分页查询、BCrypt 密码加密、文件上传及自动费用核算引擎,支持多角色协同作业,实现农产品运输全流程数字化管理。

二、技术栈

技术说明
后端框架Spring Boot 3
ORMMyBatis-Plus(含分页插件、自动填充)
权限认证JWT(自定义拦截器,排除 /api/auth/**)
前端框架Vue 3(Composition API + script setup)
路由Vue Router 4(createWebHistory)
UI 组件库Element Plus
状态管理Pinia
构建工具Vite
数据库MySQL
密码加密BCrypt
HTTP 客户端Axios

三、功能模块

管理员端

  • 数据概览:展示总订单数、已完成/运输中/待处理订单数、车辆总数、空闲车辆数、异常总数、未处理异常数、用户总数、总收入、匹配率、异常率等关键运营指标。
  • 产品类型统计:按产品类型(水果、蔬菜等)统计订单数量,以柱状图/饼图展示各品类占比。
  • 订单趋势分析:按日期统计每日订单创建数量,以折线图展示订单量随时间的变化趋势。
  • 路线分布统计:提取订单出发地址的省份/城市,统计各区域订单数量,以地图/饼图展示货源地分布。
  • 异常类型统计:按温度异常、湿度异常、路线偏离、车辆故障、其他等类型统计异常数量及占比。
  • 温湿度趋势曲线:展示运输轨迹中记录的温湿度数据随时间变化曲线,辅助冷链质量追溯。
  • 用户管理:分页查看所有用户列表,支持按角色(货源端/运力端/管理员)和关键词(用户名/真实姓名)筛选;可启用/禁用账号或删除用户。
  • 订单管理:分页查看全部订单,支持按状态(待处理/已匹配/运输中/已送达/已完成/已取消)和关键词(订单号/产品名)筛选。
  • 车辆管理:分页查看所有车辆信息,支持按状态(空闲/忙碌/维修)和车牌号筛选;可新增、编辑、删除车辆。
  • 异常管理:分页查看所有运输异常记录,支持按状态(待处理/处理中/已解决)和订单 ID 筛选;可处理异常并填写处理结果。
  • 费用规则管理:分页查看费率规则列表,支持新增、编辑、删除规则;规则包含产品类型、基础单价、冷链附加单价、启用状态字段。
  • 运力调度:查看待匹配订单与可用车辆列表,选择承运方及车辆后自动根据匹配的费率规则计算运费,确认后完成订单匹配。

普通用户端

  • 用户注册:填写用户名、密码、真实姓名、手机号、地址并选择身份(货源端/运力端),提交后密码经 BCrypt 加密存储。
  • 用户登录:输入用户名和密码,校验账号状态(是否禁用),成功后返回 JWT Token 及用户基本信息。
  • 快捷登录:点击“管理员”“货源端”“运力端”按钮,使用预设账号(密码 123456)一键登录,便于演示和测试。
  • 个人资料查看与修改:在 /profile 页面查看当前登录用户信息,可更新真实姓名、手机号、头像、地址等字段。
  • 修改密码:输入原密码与新密码,后端校验原密码正确性后更新为新密码(BCrypt 加密)。
  • 通知列表:查看个人通知消息(分页展示),支持单条标记已读或一键全部标记已读。
  • 未读通知计数:顶部导航实时显示未读通知数量,便于用户及时获知新消息。
  • 首页浏览:访问 / 查看平台介绍与功能特色,了解系统服务能力。

货源端(货主)

  • 创建运输订单:填写产品类型、产品名称、数量、出发地址、目的地址、是否需要冷链、温湿度范围、预估距离、备注等信息,提交后生成唯一订单号(ORD+时间戳+随机数),状态为待处理。
  • 订单列表:分页查看本人创建的订单,支持按状态(待处理/已匹配/运输中/已送达/已完成/已取消)和关键词(订单号/产品名)筛选。
  • 订单详情:查看订单完整信息,包括发货方信息、承运方信息、车辆信息、运输轨迹列表(含经纬度、位置描述、温湿度、速度、记录时间)。
  • 取消订单:当订单处于待处理或已匹配状态时,可执行取消操作。
  • 确认收货:订单送达后,点击“完成”将订单状态变更为已完成。
  • 费用查询:在 /shipper/cost 页面查看订单费用明细(基础运费、附加费、总费用),实现费用透明化。
  • 异常通知:当订单发生异常时,系统自动推送通知,标题为“运输异常提醒”,内容包含订单号与异常描述。
  • 运输完成通知:订单送达后,系统自动推送“运输完成通知”,提示货主确认收货。

运力端(承运方)

  • 车辆管理:分页查看本人名下的车辆列表,支持按状态(空闲/忙碌/维修)和车牌号筛选;可新增、编辑、删除车辆。
  • 新增车辆:填写车牌号、车型、载重、是否支持冷链、冷链配置、当前位置等信息。
  • 订单列表:分页查看分配给本人的运输订单,支持按状态(待处理/已匹配/运输中/已送达/已完成/已取消)和关键词筛选。
  • 接单/拒单:对于已匹配的订单,可选择接受(状态变为已接单)或拒绝(状态回退为待处理,清空承运方和车辆信息)。
  • 开始运输:已接单的订单可点击“开始运输”,状态变为运输中,同时关联车辆状态更新为忙碌。
  • 送达操作:运输完成后点击“送达”,状态变为已送达,车辆状态恢复为空闲,并通知货主确认收货。
  • 轨迹上报:通过 /api/track 接口提交运输轨迹记录,包含经纬度、位置描述、温度、湿度、速度、记录时间。
  • 异常上报:在 /carrier/exceptions 页面提交异常报告,选择异常类型(温度异常/湿度异常/路线偏离/车辆故障/其他),填写描述,系统自动通知相关货主。
  • 异常列表:分页查看本人上报的异常记录,支持按状态筛选。
  • 新订单通知:当管理员调度分配新订单时,系统自动推送通知,标题为“新订单接收”,内容为“您有一个新的运输订单待确认”。

四、项目总结

本项目的核心亮点在于完整的业务闭环设计:从货主下单、管理员调度、承运方接单运输、轨迹上报到送达确认与费用核算,全流程数据贯通。技术层面,SpringBoot3 与 Vue3 的前后端分离架构清晰,JWT 鉴权保障接口安全,MyBatis-Plus 简化数据访问层开发,Element Plus 提供开箱即用的后台 UI 组件。冷链监控与异常预警机制贴合农产品运输的实际业务痛点,数据可视化看板为管理员提供决策支撑。该项目适合作为 Java 全栈开发的学习案例,也可在此基础上进行二次开发,扩展如 GPS 实时追踪、电子签收、运费结算流水等进阶功能。

界面展示

交付内容

本项目为完整交付,包含:

  • 完整后端源码
  • 完整前端源码
  • 数据库初始化脚本(SQL)
  • 万字项目文档(设计文档 / 论文,可作课程设计、毕业设计参考)

获取完整源码

完整前后端源码 + 数据库脚本 + 万字项目文档见 Gitee 仓库:https://gitee.com/kangxihuang/src-K208

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

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

立即咨询