# 软件工程 **Repository Path**: xiao-lexue-programming/software-engineering ## Basic Information - **Project Name**: 软件工程 - **Description**: 进行软件工程课程设计 - **Primary Language**: C# - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-15 - **Last Updated**: 2026-01-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 客户订购系统 一个完整的客户订购管理系统,基于 Vue 3 + Spring Boot + MySQL 开发。 ## 功能特性 ### 核心功能 - **用户管理**:支持管理员、员工、客户三种角色 - **商品管理**:商品分类、商品信息管理、库存预警 - **订单管理**:订单创建、状态跟踪、订单详情 - **发票管理**:自动生成发票、发票开具 - **支付管理**:多种支付方式(现金、信用卡、支票、支付宝、微信等) - **采购管理**:供应商管理、采购订单、库存补充 - **交易记录**:销售、采购、费用的完整记录 - **个人中心**:用户信息管理、订单查看、在线支付 - **数据统计**:销售趋势图表、订单状态分布、热销商品排行 ### 系统特点 - 现代化的用户界面设计 - 完整的权限控制 - JWT 身份认证 - 响应式布局 - ECharts 数据可视化 - 全局异常处理 ## 技术栈 ### 后端 - Java 17 - Spring Boot 3.2 - Spring Security - Spring Data JPA - MySQL 8.0 - JWT 认证 ### 前端 - Vue 3 - Vue Router - Pinia - Element Plus - Axios - Sass - ECharts (数据可视化) ## 快速开始 ### 环境要求 - JDK 17+ - Node.js 18+ - MySQL 8.0+ - Maven 3.8+ ### 方式一:使用脚本一键启动(推荐) **Windows 用户:** ```bash # 一键启动(包含数据库初始化、编译、启动) scripts\quick-start.bat # 或者分步执行: scripts\init-db.bat # 初始化数据库 scripts\build.bat # 编译项目 scripts\start.bat # 启动服务 scripts\stop.bat # 停止服务 ``` **Linux/Mac 用户:** ```bash # 添加执行权限 chmod +x scripts/*.sh # 一键启动 ./scripts/quick-start.sh # 或者分步执行: ./scripts/init-db.sh # 初始化数据库 ./scripts/build.sh # 编译项目 ./scripts/start.sh # 启动服务 ./scripts/stop.sh # 停止服务 ``` ### 方式二:手动启动 #### 1. 数据库配置 创建 MySQL 数据库: ```sql CREATE DATABASE order_system CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ``` 修改后端配置文件 `backend/src/main/resources/application.yml`: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/order_system?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true username: root password: 你的密码 ``` #### 2. 启动后端 ```bash cd backend mvn spring-boot:run ``` 后端服务将在 http://localhost:8080 启动 #### 3. 启动前端 ```bash cd frontend npm install npm run dev ``` 前端服务将在 http://localhost:5173 启动 ## 默认账号 系统启动后会自动创建以下测试账号: | 角色 | 用户名 | 密码 | |------|--------|------| | 管理员 | admin | admin123 | | 员工 | staff | staff123 | | 客户 | customer | customer123 | ## 脚本说明 | 脚本 | Windows | Linux/Mac | 说明 | |------|---------|-----------|------| | 一键启动 | `quick-start.bat` | `quick-start.sh` | 完整流程:初始化数据库 → 编译 → 启动 | | 数据库初始化 | `init-db.bat` | `init-db.sh` | 创建数据库并导入表结构 | | 编译项目 | `build.bat` | `build.sh` | 编译前后端代码 | | 启动服务 | `start.bat` | `start.sh` | 启动前后端服务 | | 停止服务 | `stop.bat` | `stop.sh` | 停止所有服务 | ## 项目结构 ``` ├── scripts/ # 脚本目录 │ ├── quick-start.bat/sh # 一键启动脚本 │ ├── init-db.bat/sh # 数据库初始化脚本 │ ├── build.bat/sh # 编译脚本 │ ├── start.bat/sh # 启动脚本 │ └── stop.bat/sh # 停止脚本 │ ├── backend/ # 后端项目 │ ├── src/main/java/com/orderSystem/ │ │ ├── config/ # 配置类 │ │ ├── controller/ # 控制器 │ │ ├── dto/ # 数据传输对象 │ │ ├── entity/ # 实体类 │ │ ├── repository/ # 数据访问层 │ │ ├── security/ # 安全相关 │ │ └── service/ # 业务逻辑层 │ └── src/main/resources/ │ └── application.yml # 配置文件 │ ├── frontend/ # 前端项目 │ ├── src/ │ │ ├── layouts/ # 布局组件 │ │ ├── router/ # 路由配置 │ │ ├── stores/ # Pinia 状态管理 │ │ ├── styles/ # 全局样式 │ │ ├── utils/ # 工具函数 │ │ └── views/ # 页面组件 │ ├── index.html │ ├── package.json │ └── vite.config.js │ └── README.md ``` ## API 接口 ### 认证接口 - `POST /api/auth/login` - 用户登录 - `POST /api/auth/register` - 用户注册 ### 商品接口 - `GET /api/products/public` - 获取商品列表 - `GET /api/products/public/{id}` - 获取商品详情 - `POST /api/products` - 创建商品(需要权限) - `PUT /api/products/{id}` - 更新商品(需要权限) ### 订单接口 - `GET /api/orders` - 获取订单列表 - `GET /api/orders/my` - 获取我的订单 - `POST /api/orders` - 创建订单 - `PUT /api/orders/{id}/status` - 更新订单状态 ### 更多接口请查看后端 Controller 代码 ## 功能截图 系统包含以下主要页面: - 登录/注册页面 - 仪表盘(数据概览) - 商品管理 - 分类管理 - 订单管理 - 发票管理 - 支付管理 - 供应商管理 - 采购订单 - 交易记录 - 用户管理 ## 许可证 MIT License