# order **Repository Path**: beituo/order ## Basic Information - **Project Name**: order - **Description**: 基于springboot+uniapp的派单接单系统 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-12-14 - **Last Updated**: 2025-12-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 接单平台系统 一个基于Spring Boot + uni-app构建的专业技术服务接单平台,支持多角色权限管理和完整的订单流程。 ## 📋 项目概述 本项目是一个完整的技术服务接单平台,包含后端API服务和前端uni-app应用。系统支持用户发布技术需求、技术员接单、派单员管理订单等完整业务流程。 ### 🎯 主要功能 - **多角色权限管理**: 管理员、派单员、用户、技术员四种角色 - **完整订单流程**: 发布需求 → 接单/派单 → 进行中 → 验收 → 完成 - **实时订单跟踪**: 订单进度实时更新和通知 - **结算管理**: 自动结算和收益统计 - **数据统计**: 多维度数据分析和报表 - **移动端支持**: 基于uni-app的跨平台移动应用 ## 🛠 技术栈 ### 后端技术 - **框架**: Spring Boot 3.5.4 - **数据库**: MySQL 8.0+ - **ORM**: MyBatis 3.0.3 - **连接池**: Druid 1.2.18 - **认证**: JWT + Spring Security - **缓存**: Redis - **构建工具**: Maven 3.6+ - **JDK版本**: JDK 17 ### 前端技术 - **框架**: uni-app 3.0 - **UI框架**: Vue 3.0 - **状态管理**: Vuex 4.0 - **HTTP客户端**: uni.request - **构建工具**: Vue CLI 5.0 ## 📁 项目结构 ``` order/ ├── backend/ # 后端服务 │ ├── src/main/java/com/order/ │ │ ├── OrderPlatformApplication.java # 启动类 │ │ ├── common/ # 通用类 │ │ │ ├── PageQuery.java # 分页查询 │ │ │ └── Result.java # 统一响应 │ │ ├── config/ # 配置类 │ │ │ └── SecurityConfig.java # 安全配置 │ │ ├── controller/ # 控制器层 │ │ │ ├── AuthController.java # 认证控制器 │ │ │ ├── CategoryController.java # 分类控制器 │ │ │ ├── OrderController.java # 订单控制器 │ │ │ ├── OrderProgressController.java # 订单进度控制器 │ │ │ ├── SettlementController.java # 结算控制器 │ │ │ └── UserController.java # 用户控制器 │ │ ├── dto/ # 数据传输对象 │ │ ├── entity/ # 实体类 │ │ ├── exception/ # 异常处理 │ │ ├── filter/ # 过滤器 │ │ ├── mapper/ # 数据访问层 │ │ ├── service/ # 业务逻辑层 │ │ └── util/ # 工具类 │ ├── src/main/resources/ │ │ ├── mapper/ # MyBatis映射文件 │ │ ├── application.yml # 主配置文件 │ │ ├── application-dev.yml # 开发环境配置 │ │ └── application-prod.yml # 生产环境配置 │ └── pom.xml # Maven配置 ├── fronted/order/ # 前端应用 │ ├── pages/ # 页面 │ │ ├── admin/ # 管理员页面 │ │ ├── dispatcher/ # 派单员页面 │ │ ├── tech/ # 技术员页面 │ │ ├── user/ # 用户页面 │ │ ├── order/ # 订单相关页面 │ │ └── login/ # 登录注册页面 │ ├── components/ # 组件 │ ├── utils/ # 工具类 │ ├── store/ # 状态管理 │ ├── static/ # 静态资源 │ ├── App.vue # 应用入口 │ ├── main.js # 主文件 │ ├── pages.json # 页面配置 │ ├── manifest.json # 应用配置 │ └── package.json # 依赖配置 ├── database/ # 数据库脚本 │ ├── init.sql # 初始化脚本 │ └── order_platform.sql # 完整数据库脚本 ├── docs/ # 文档 ├── scripts/ # 启动脚本 └── README.md # 项目说明 ``` ## 🚀 快速开始 ### 环境要求 - **JDK**: 17+ - **Maven**: 3.6+ - **MySQL**: 8.0+ - **Redis**: 6.0+ (可选) - **Node.js**: 16+ (前端开发) ### 1. 克隆项目 ```bash git clone cd order ``` ### 2. 数据库初始化 ```bash # 登录MySQL mysql -u root -p # 执行初始化脚本 source database/init.sql ``` ### 3. 后端配置 修改 `backend/src/main/resources/application-dev.yml`: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/order_platform?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false username: your_username password: your_password jwt: secret: your-jwt-secret-key-at-least-256-bits-long expiration: 86400000 # 24小时 ``` ### 4. 启动后端服务 ```bash # 方式一:使用脚本启动 chmod +x scripts/start.sh ./scripts/start.sh # 方式二:Maven启动 cd backend mvn spring-boot:run # 方式三:打包启动 cd backend mvn clean package -DskipTests java -jar target/order-platform-1.0.0.jar ``` ### 5. 前端配置 修改 `fronted/order/utils/request.js` 中的API地址: ```javascript const BASE_URL = 'http://localhost:8080/api' ``` ### 6. 启动前端应用 ```bash cd fronted/order # 安装依赖 npm install # 开发模式启动 npm run dev # 构建小程序 npm run build:mp-weixin ``` ### 7. 访问应用 - **后端API**: http://localhost:8080/api - **前端应用**: 通过HBuilderX或微信开发者工具打开 ## 👥 默认账户 系统初始化后提供以下测试账户: | 用户名 | 密码 | 角色 | 说明 | |--------|------|------|------| | admin | 123456 | 管理员 | 系统管理员,拥有所有权限 | | dispatcher001 | 123456 | 派单员 | 订单派发和管理 | | user001 | 123456 | 用户 | 普通用户,可发布需求 | | tech001 | 123456 | 技术员 | 技术服务提供者 | | tech002 | 123456 | 技术员 | 技术服务提供者 | ## 📊 业务流程 ### 订单状态流转 ``` 待接单(1) → 进行中(2) → 待验收(3) → 已完成(4) ↓ 已取消(5) ``` ### 角色权限 | 角色 | 权限说明 | |------|----------| | **管理员(1)** | 系统管理、用户管理、数据统计、订单监控 | | **派单员(2)** | 订单指派、订单管理、技术员管理 | | **用户(3)** | 发布需求、订单管理、验收确认 | | **技术员(4)** | 接单、订单执行、进度更新 | ## 🔌 API接口 ### 认证相关 - `POST /api/auth/login` - 用户登录 - `POST /api/auth/register` - 用户注册 - `GET /api/auth/userinfo` - 获取用户信息 - `POST /api/auth/logout` - 退出登录 ### 订单相关 - `GET /api/order/list` - 获取订单列表 - `GET /api/order/{id}` - 获取订单详情 - `POST /api/order/create` - 创建订单 - `POST /api/order/{id}/accept` - 技术员接单 - `POST /api/order/{id}/assign` - 派单员指派订单 - `POST /api/order/{id}/complete` - 完成订单 - `POST /api/order/{id}/cancel` - 取消订单 ### 用户相关 - `GET /api/user/list` - 获取用户列表(管理员) - `POST /api/user/{id}/status` - 更新用户状态 - `GET /api/user/profile` - 获取个人资料 - `PUT /api/user/profile` - 更新个人资料 ### 分类相关 - `GET /api/category/list` - 获取技术分类列表 - `GET /api/category/{id}` - 获取分类详情 ## 🔧 开发指南 ### 后端开发 1. **添加新接口** ```java @RestController @RequestMapping("/api/your-module") public class YourController { // 实现业务逻辑 } ``` 2. **数据库操作** ```java @Mapper public interface YourMapper { // 定义数据访问方法 } ``` 3. **业务逻辑** ```java @Service public class YourService { // 实现业务逻辑 } ``` ### 前端开发 1. **添加新页面** ```vue ``` 2. **API调用** ```javascript // 在utils/api.js中定义API export const yourApi = createAPI('/your-endpoint', 'POST') // 在页面中使用 const result = await this.$api.yourApi(data) ``` 3. **状态管理** ```javascript // 在store/index.js中添加状态 state: { yourData: null }, mutations: { setYourData(state, data) { state.yourData = data } } ``` ## 🚀 部署指南 ### 开发环境部署 1. **后端部署** ```bash cd backend mvn spring-boot:run -Dspring.profiles.active=dev ``` 2. **前端部署** ```bash cd fronted/order npm run dev ``` ### 生产环境部署 1. **后端部署** ```bash cd backend mvn clean package -Pprod -DskipTests java -jar target/order-platform-1.0.0.jar --spring.profiles.active=prod ``` 2. **前端部署** ```bash cd fronted/order npm run build:mp-weixin # 将dist目录上传到微信小程序平台 ``` ### Docker部署 ```bash # 构建镜像 docker build -t order-platform . # 运行容器 docker run -d -p 8080:8080 \ -e SPRING_PROFILES_ACTIVE=prod \ -e MYSQL_HOST=your-mysql-host \ -e MYSQL_USERNAME=your-username \ -e MYSQL_PASSWORD=your-password \ --name order-platform order-platform ``` ## 🔍 故障排除 ### 常见问题 1. **后端启动失败** - 检查JDK版本是否为17+ - 检查MySQL服务是否启动 - 检查数据库连接配置是否正确 - 检查端口8080是否被占用 2. **前端无法访问后端** - 检查后端服务是否正常启动 - 检查跨域配置是否正确 - 检查API地址配置是否正确 3. **JWT认证失败** - 检查JWT密钥配置 - 检查token是否过期 - 检查请求头Authorization格式 4. **数据库连接失败** - 检查MySQL服务状态 - 检查数据库用户名密码 - 检查数据库是否存在 - 检查防火墙设置 ### 日志查看 ```bash # 查看应用日志 tail -f logs/order-platform.log # 查看错误日志 tail -f logs/error.log ``` ## 📈 性能优化 ### 后端优化 - 使用Redis缓存热点数据 - 数据库索引优化 - SQL查询优化 - 连接池配置优化 ### 前端优化 - 图片懒加载 - 分页加载 - 组件缓存 - 请求防抖 ## 🤝 贡献指南 1. Fork 项目 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 打开 Pull Request ## 📄 许可证 本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情 ## 📞 技术支持 - **问题反馈**: 请在GitHub Issues中提交 - **技术交流**: 欢迎加入技术交流群 - **商务合作**: 请发送邮件至 contact@example.com ## 🔄 更新日志 ### v1.0.0 (2024-01-01) - ✨ 初始版本发布 - 🎉 完整的订单管理功能 - 🔐 JWT认证系统 - 👥 多角色权限管理 - 📱 uni-app前端应用 --- **⭐ 如果这个项目对你有帮助,请给个Star支持一下!**