# 软件课设_运输配货系统 **Repository Path**: jiao001/ransportation ## Basic Information - **Project Name**: 软件课设_运输配货系统 - **Description**: 软件课程设计,软件课设_运输配货系统 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-12-22 - **Last Updated**: 2026-09-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 运输配货管理系统(TDS) 基于 Spring Boot + Vue 3 的运输配货管理系统,软件课程设计项目。支持客户下单、办事处管理、货车调度、班组管理、订单追踪等完整业务流程。 ## 项目说明 **本项目为软件课程设计**,完整实现了运输配货业务中的客户端和办事处端两大角色功能。后端采用 Spring Boot 单体架构,前端使用 Vue 3 + Vite 构建,数据库使用 MySQL,支持 JWT 登录认证和 Redis 缓存。 ## 系统架构 ``` ┌─────────────────────────────────────────────────┐ │ 前端(Vue 3) │ │ ┌──────────────┐ ┌──────────────────────────┐ │ │ │ 客户端页面 │ │ 办事处端页面 │ │ │ └──────┬───────┘ └──────────┬───────────────┘ │ │ │ Axios / REST API │ │ └─────────┼──────────────────────┼───────────────┘ │ │ ┌─────────┼──────────────────────┼───────────────┐ │ ▼ ▼ │ │ ┌─────────────────────────────────────┐ │ │ │ Spring Boot 后端 │ │ │ │ ┌────────┐ ┌────────┐ ┌─────────┐ │ │ │ │ │Controller│ │Service │ │ Mapper │ │ │ │ │ └────────┘ └────────┘ └─────────┘ │ │ │ └──────────┬──────────────┬───────────┘ │ │ │ │ │ │ ┌──────────▼──────┐ ┌───▼───────────┐ │ │ │ MySQL 数据库 │ │ Redis 缓存 │ │ │ └─────────────────┘ └───────────────┘ │ └─────────────────────────────────────────────────┘ ``` ## 功能特性 ### 客户端 | 功能 | 说明 | |------|------| | 注册登录 | 账号密码注册、JWT Token 登录 | | 订单录入 | 填写寄货信息下单 | | 订单查询 | 查看个人订单列表及状态 | | 个人中心 | 修改个人信息 | ### 办事处端 | 功能 | 说明 | |------|------| | 办事处管理 | 查看和修改办事处信息 | | 货车管理 | 添加、查询、更新货车状态 | | 班组管理 | 创建班组、分配货车 | | 订单管理 | 接收订单、分配运输、状态跟踪 | | 订单查询 | 按条件查询订单列表 | | 数据统计 | 办事处订单统计、全站统计 | | 路径规划 | 最短路径算法(Dijkstra) | ## 技术栈 ### 后端 | 技术 | 版本 | 用途 | |------|------|------| | **Java** | 17+ | 主语言 | | **Spring Boot** | 3.x | Web 框架 | | **MyBatis-Plus** | 3.5.x | ORM 框架 | | **MySQL** | 8.0+ | 关系型数据库 | | **Redis** | 6.x | 缓存 / Token 存储 | | **JWT** | - | 身份认证 | | **Maven** | 3.9+ | 构建工具 | ### 前端 | 技术 | 版本 | 用途 | |------|------|------| | **Vue.js** | 3.x | 前端框架 | | **Vite** | 5.x | 构建工具 | | **Vue Router** | 4.x | 路由管理 | | **Pinia** | 2.x | 状态管理 | | **Element Plus** | 2.x | UI 组件库 | | **Axios** | 1.x | HTTP 请求 | ## 快速开始 ### 环境要求 - JDK 17+ - Maven 3.9+ - Node.js 18+ - MySQL 8.0+ - Redis 6.x+ ### 1. 数据库初始化 ```bash # 连接 MySQL mysql -u root -p # 执行初始化脚本 source sql/init.sql source sql/transport_distribution_system_db_customer.sql source sql/transport_distribution_system_db_office.sql source sql/transport_distribution_system_db_team.sql source sql/transport_distribution_system_db_transport_order.sql source sql/transport_distribution_system_db_truck.sql ``` ### 2. 启动后端 ```bash cd TransportationDistributionSystem/TDSBackend # 修改 application.yml 中的数据库和 Redis 配置 # Maven 构建并运行 ./mvnw spring-boot:run # 或 mvn spring-boot:run ``` 后端启动后访问:http://localhost:8080 ### 3. 启动前端 ```bash cd "TransportationDistributionSystem/TDSFrontend(2)" # 安装依赖 npm install # 开发模式运行 npm run dev # 生产构建 npm run build ``` 前端启动后访问:http://localhost:5173 ## 目录结构 ``` ransportation/ # 项目根目录 │ ├── TransportationDistributionSystem/ │ ├── TDSBackend/ # Spring Boot 后端 │ │ ├── src/main/java/com/cqs/tdsbackend/ │ │ │ ├── config/ # 配置类(跨域等) │ │ │ ├── constant/ # 常量类(Redis Key 等) │ │ │ ├── controller/ # 控制器(7 个) │ │ │ │ ├── AuthController # 登录注册 │ │ │ │ ├── CustomerController # 客户管理 │ │ │ │ ├── CustomerOrderController # 客户订单 │ │ │ │ ├── OfficeController # 办事处管理 │ │ │ │ ├── OfficeOrderController # 办事处订单 │ │ │ │ ├── StatsController # 数据统计 │ │ │ │ ├── TeamController # 班组管理 │ │ │ │ └── TruckController # 货车管理 │ │ │ ├── dto/ # 数据传输对象 │ │ │ ├── entity/ # 数据库实体 │ │ │ ├── mapper/ # MyBatis Mapper │ │ │ ├── service/ # 业务接口 │ │ │ ├── utils/ # 工具类 │ │ │ │ ├── ShortestPathUtil # 最短路径算法 │ │ │ │ ├── LoginInterceptor # 登录拦截器 │ │ │ │ └── OrderNoGenerator # 订单号生成器 │ │ │ ├── vo/ # 视图对象 │ │ │ └── TdsBackendApplication.java # 启动类 │ │ ├── src/main/resources/ │ │ │ └── application.yml # 应用配置 │ │ └── pom.xml # Maven 依赖 │ │ │ └── TDSFrontend(2)/ # Vue 3 前端 │ ├── src/ │ │ ├── api/ # API 请求封装 │ │ ├── components/ # 公共组件 │ │ ├── router/ # 路由配置 │ │ ├── stores/ # Pinia 状态管理 │ │ ├── views/ # 页面组件 │ │ │ ├── Login.vue # 登录 │ │ │ ├── OrderEntry.vue # 订单录入 │ │ │ ├── OrderQuery.vue # 订单查询 │ │ │ ├── OrderManage.vue # 订单管理 │ │ │ ├── TruckManage.vue # 货车管理 │ │ │ ├── TeamManage.vue # 班组管理 │ │ │ ├── Statistics.vue # 数据统计 │ │ │ ├── OfficeInfo.vue # 办事处信息 │ │ │ └── ProfileEdit.vue # 个人信息编辑 │ │ ├── App.vue │ │ └── main.js │ ├── vite.config.js # Vite 配置 │ └── package.json # NPM 依赖 │ ├── sql/ # 数据库脚本 │ ├── init.sql # 初始化 │ ├── transport_distribution_system_db_customer.sql │ ├── transport_distribution_system_db_office.sql │ ├── transport_distribution_system_db_team.sql │ ├── transport_distribution_system_db_transport_order.sql │ └── transport_distribution_system_db_truck.sql │ ├── UI设计/ # UI 设计截图 │ ├── 用户登录界面.png │ ├── 用户注册界面.png │ ├── 客户界面-订单录入.png │ ├── 办事处登录界面.png │ ├── 办事处界面-货车管理.png │ ├── 办事处界面-班组管理.png │ ├── 办事处界面-统计信息.png │ └── ... │ ├── 运输配货系统(TDS)接口文档.md / .pdf ├── UI设计说明书.docx ├── 可行性研究报告.docx ├── 概要设计说明书(GB8567-88).doc ├── 详细设计说明书(GB8567-88).doc ├── 数据库设计说明书(GB8567-88).doc ├── 测试计划(GB8567-88).doc ├── 测试分析报告(GB8567-88).doc ├── 后端.docx ├── 程序员文档(前端).docx ├── 项目需求.docx ├── 运输配货管理系统(TDMS)项目开发总结.docx └── README.md ``` ## 数据库设计 ### 核心实体 | 实体 | 说明 | 主要字段 | |------|------|----------| | **Customer** | 客户 | id、name、phone、address | | **Office** | 办事处 | id、name、address、region | | **Truck** | 货车 | id、plateNo、capacity、status、officeId | | **Team** | 班组 | id、name、officeId、truckIds | | **Order** | 运输订单 | id、orderNo、customerId、officeId、status、path | ### 订单状态流转 ``` 待接单 → 已分配 → 运输中 → 已送达 ↑ ↑ ↑ ↑ └──────────┴──────────┴──────────┘ 取消订单 ``` ## 接口概览 | 模块 | 方法 | 路径 | 说明 | |------|------|------|------| | **认证** | POST | `/api/auth/login` | 用户登录 | | | POST | `/api/auth/register` | 用户注册 | | **客户** | GET | `/api/customer/profile` | 获取个人信息 | | | PUT | `/api/customer/profile` | 修改个人信息 | | **订单** | POST | `/api/order` | 创建订单 | | | GET | `/api/order` | 查询订单列表 | | | PUT | `/api/order/{id}/status` | 更新订单状态 | | **货车** | POST | `/api/truck` | 添加货车 | | | GET | `/api/truck` | 查询货车列表 | | | PUT | `/api/truck/{id}/status` | 更新货车状态 | | **班组** | POST | `/api/team` | 创建班组 | | | GET | `/api/team` | 查询班组列表 | | **统计** | GET | `/api/stats/office/{id}` | 办事处统计 | | | GET | `/api/stats/all` | 全局统计 | 完整接口文档请参见:`运输配货系统(TDS)接口文档.md` ## 课程设计文档 本项目包含完整的软件工程文档(遵循 GB8567-88 标准): | 文档 | 说明 | |------|------| | 项目需求.docx | 需求规格说明书 | | 可行性研究报告.docx | 技术与经济可行性分析 | | 概要设计说明书.doc | 系统架构与模块设计 | | 详细设计说明书.doc | 类设计与算法说明 | | 数据库设计说明书.doc | E-R 图与表结构设计 | | 测试计划 / 测试分析报告 | 测试用例与测试结果 | | UI 设计说明书.docx | 界面设计说明 | | 后端.docx / 程序员文档(前端).docx | 开发指南 | ## 许可证 本项目仅供学习交流使用。