这是工单系统的后端项目,基于 Spring Boot + MySQL。
前端仓库在这里:Work Order Frontend
- JDK 17
- Maven 3.8+,或者直接使用项目自带的 Maven
- MySQL 8
先把仓库 clone 到本地,再进入后端目录:
git clone https://github.com/mxnican/workOrderBackend.git
cd workOrderBackend先启动本机 MySQL,然后创建数据库:
CREATE DATABASE work_order
DEFAULT CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;默认数据库名就是 work_order。
如果你的 MySQL 账号不是默认的 root / 123456,先在 PowerShell 里设置环境变量:
$env:WORKORDER_DB_URL='jdbc:mysql://127.0.0.1:3306/work_order?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai'
$env:WORKORDER_DB_USERNAME='root'
$env:WORKORDER_DB_PASSWORD='your_password'$env:JAVA_HOME='D:\wly\tools\temurin17\jdk-17.0.18+8'
$env:PATH="$env:JAVA_HOME\bin;$env:PATH"
mvn spring-boot:run启动成功后,后端默认监听 http://127.0.0.1:8080。
后端起来以后,再启动前端项目:
cd ..\workOrderFrontend
npm install
npm run dev浏览器打开 http://127.0.0.1:5173。
如果你只想先把整套系统跑起来,推荐这个顺序:
- 启动 MySQL。
- 创建
work_order数据库。 - 启动后端。
- 启动前端。
- 用浏览器打开前端地址登录使用。
- 启动时会自动执行
src/main/resources/workorder-schema.sql,创建表结构。 - 如果
wo_user表为空,系统会自动插入一组演示数据。 - 演示账号是:
user / user123admin / admin123
- 业务数据保存在 MySQL 的
work_order数据库中。 - 用户、反馈、工单、回复等信息都在数据库里。
- 用户头像地址保存在
wo_user.avatar_url。 - 反馈内容中的图片和附件元数据,会和反馈记录一起保存到数据库里,实际文件不会直接存进 MySQL。
- 图片和附件的文件本体保存在本机磁盘。
- 默认目录是:
${user.dir}/uploads
- 如果你在仓库根目录启动后端,默认就是:
workOrderBackend/uploads
- 你也可以用环境变量自定义保存目录:
$env:WORKORDER_UPLOAD_DIR='D:\wly\workOrderBackend\uploads'- 上传后文件会按类型和日期分目录保存,例如:
uploads/image/YYYY/MM/DD/...uploads/file/YYYY/MM/DD/...
- 前端访问文件时,后端会通过
/api/files/...提供下载或预览。
- 健康检查:
http://127.0.0.1:8080/api/health - Swagger:
http://127.0.0.1:8080/swagger-ui.html
mvn spring-boot:run
mvn test