Files
car-maintenance-system/README.md
wangziqi cfae122685 Initial commit: Car Maintenance Management System
Author: Yang Lu

School: Liaoning Institute of Science and Technology

Major: Computer Science and Technology

Class: BZ246

Tech Stack:

- Backend: Spring Boot 2.7.18 + JPA + MySQL

- Frontend: HTML5 + CSS3 + JavaScript

Features:

- User Management (Admin/Staff/Customer roles)

- Vehicle Archive Management

- Service Order Management

- Parts Inventory Management

- Online Appointment Service

- Data Statistics and Analysis

Generated with Claude Code

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-07 14:28:50 +08:00

12 KiB
Raw Permalink Blame History

车管家4S店车辆维保管理系统

项目简介

基于 Spring Boot 与原生 HTML+CSS+JavaScript 的前后端分离技术,开发的功能完善的 B/S 架构车辆维保4S 店)管理系统。该系统旨在为 4S 店提供一个集客户管理、车辆档案、维保流程、配件库存等功能于一体的高效信息化管理平台,同时为车主提供便捷的在线预约与查询服务。

作者: 杨璐 学校: 辽宁科技学院 专业: 计算机科学与技术 班级: 计BZ246 学号: 74133240622 指导教师: 刘慧宇 日期: 2025年1月


技术栈

后端技术

  • Spring Boot 2.7.18 - 核心框架
  • Spring Data JPA - 数据访问层
  • MySQL 8.0 - 关系型数据库
  • Maven - 项目管理工具
  • Lombok - 简化Java代码
  • FastJSON - JSON处理

前端技术

  • HTML5 - 页面结构
  • CSS3 - 样式设计
  • JavaScript (ES6) - 交互逻辑
  • Fetch API - HTTP请求

开发工具

  • IntelliJ IDEA / Eclipse - 后端开发IDE
  • VS Code - 前端开发编辑器
  • MySQL Workbench - 数据库管理
  • Postman - API测试

系统功能

1. 用户管理

  • 用户注册与登录
  • 角色管理(管理员、工作人员、客户)
  • 用户信息维护
  • 密码修改

2. 客户管理

  • 客户档案管理
  • 会员等级管理
  • 积分管理
  • 客户信息查询

3. 车辆档案管理

  • 车辆信息登记
  • 车辆档案查询
  • 车辆保养记录
  • 里程数管理

4. 维保工单管理

  • 工单创建与分配
  • 工单流转跟踪
  • 故障诊断记录
  • 费用计算
  • 工单状态管理

5. 配件库存管理

  • 配件信息管理
  • 库存数量管理
  • 库存预警
  • 配件出入库记录

6. 预约管理

  • 在线预约服务
  • 预约确认
  • 预约查询
  • 预约取消

项目结构

car-maintenance-system/
├── backend/                          # Spring Boot后端
│   ├── src/
│   │   ├── main/
│   │   │   ├── java/
│   │   │   │   └── com/
│   │   │   │       └── carmaintenance/
│   │   │   │           ├── CarMaintenanceApplication.java  # 主应用程序
│   │   │   │           ├── config/                         # 配置类
│   │   │   │           │   └── WebConfig.java
│   │   │   │           ├── controller/                     # 控制器层
│   │   │   │           │   ├── AuthController.java
│   │   │   │           │   ├── UserController.java
│   │   │   │           │   ├── VehicleController.java
│   │   │   │           │   ├── ServiceOrderController.java
│   │   │   │           │   ├── PartsInventoryController.java
│   │   │   │           │   └── AppointmentController.java
│   │   │   │           ├── dto/                            # 数据传输对象
│   │   │   │           │   ├── Result.java
│   │   │   │           │   ├── LoginRequest.java
│   │   │   │           │   └── LoginResponse.java
│   │   │   │           ├── entity/                         # 实体类
│   │   │   │           │   ├── User.java
│   │   │   │           │   ├── Customer.java
│   │   │   │           │   ├── Vehicle.java
│   │   │   │           │   ├── ServiceOrder.java
│   │   │   │           │   ├── PartsInventory.java
│   │   │   │           │   ├── Appointment.java
│   │   │   │           │   └── ServiceItem.java
│   │   │   │           └── repository/                     # 数据访问层
│   │   │   │               ├── UserRepository.java
│   │   │   │               ├── CustomerRepository.java
│   │   │   │               ├── VehicleRepository.java
│   │   │   │               ├── ServiceOrderRepository.java
│   │   │   │               ├── PartsInventoryRepository.java
│   │   │   │               ├── AppointmentRepository.java
│   │   │   │               └── ServiceItemRepository.java
│   │   │   └── resources/
│   │   │       └── application.properties                  # 应用配置
│   │   └── test/
│   └── pom.xml                                             # Maven配置
│
├── frontend/                         # HTML+CSS+JS前端
│   ├── admin/                        # 管理员界面
│   │   └── dashboard.html
│   ├── staff/                        # 工作人员界面
│   │   └── dashboard.html
│   ├── customer/                     # 客户界面
│   │   └── dashboard.html
│   ├── css/                          # 样式文件
│   │   ├── common.css                # 通用样式
│   │   ├── login.css                 # 登录页样式
│   │   └── dashboard.css             # 仪表板样式
│   ├── js/                           # JavaScript文件
│   │   ├── config.js                 # 配置文件
│   │   ├── api.js                    # API调用工具
│   │   ├── login.js                  # 登录逻辑
│   │   └── admin-dashboard.js        # 管理员仪表板逻辑
│   └── login.html                    # 登录页面
│
├── database/                         # 数据库脚本
│   ├── schema.sql                    # 表结构SQL
│   └── data.sql                      # 初始数据SQL
│
└── README.md                         # 项目说明文档

数据库设计

主要数据表

  1. users - 用户表
  2. customers - 客户信息表
  3. vehicles - 车辆档案表
  4. service_orders - 维保工单表
  5. parts_inventory - 配件库存表
  6. parts_usage - 配件使用记录表
  7. appointments - 预约记录表
  8. service_items - 服务项目表
  9. system_logs - 系统日志表

ER图说明

用户(User) 1---N 客户(Customer)
客户(Customer) 1---N 车辆(Vehicle)
车辆(Vehicle) 1---N 维保工单(ServiceOrder)
客户(Customer) 1---N 维保工单(ServiceOrder)
工单(ServiceOrder) N---N 配件(PartsInventory) [通过parts_usage]
客户(Customer) 1---N 预约(Appointment)
车辆(Vehicle) 1---N 预约(Appointment)

安装与部署

环境要求

  • JDK: 1.8 或更高版本
  • Maven: 3.6 或更高版本
  • MySQL: 8.0 或更高版本
  • 浏览器: Chrome、Firefox、Edge 等现代浏览器

1. 数据库配置

创建数据库

# 登录MySQL
mysql -u root -p

# 执行数据库脚本
source database/schema.sql
source database/data.sql

或者直接在MySQL客户端中执行

-- 创建数据库
CREATE DATABASE car_maintenance_db DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

-- 导入schema.sql和data.sql文件内容

修改数据库连接配置

编辑 backend/src/main/resources/application.properties:

spring.datasource.url=jdbc:mysql://localhost:3306/car_maintenance_db?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=你的密码

2. 后端部署

方式一使用IDE运行

  1. 使用 IntelliJ IDEA 或 Eclipse 打开 backend 文件夹
  2. 等待 Maven 依赖下载完成
  3. 运行 CarMaintenanceApplication.java 主类
  4. 看到 "车管家4S店车辆维保管理系统启动成功!" 表示启动成功
  5. 后端服务地址:http://localhost:8080/api

方式二使用Maven命令行

# 进入backend目录
cd backend

# 清理并打包
mvn clean package

# 运行jar包
java -jar target/car-maintenance-system-1.0.0.jar

3. 前端部署

开发环境使用Live Server

  1. 使用 VS Code 打开 frontend 文件夹
  2. 安装 Live Server 插件
  3. 右键点击 login.html,选择 "Open with Live Server"
  4. 浏览器自动打开:http://localhost:5500/login.html

生产环境使用Nginx

server {
    listen 80;
    server_name yourdomain.com;

    root /path/to/car-maintenance-system/frontend;
    index login.html;

    location / {
        try_files $uri $uri/ =404;
    }

    # 代理后端API请求
    location /api/ {
        proxy_pass http://localhost:8080/api/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

使用说明

演示账号

系统提供了以下演示账号供测试使用:

角色 用户名 密码 说明
管理员 admin 123456 拥有所有权限
工作人员 staff001 123456 处理工单和维保
客户 customer001 123456 查看车辆和预约

登录流程

  1. 打开浏览器访问系统首页
  2. 输入用户名和密码
  3. 选择对应的登录角色
  4. 点击"登录"按钮
  5. 系统自动跳转到对应角色的仪表板

管理员功能

  • 系统概览: 查看系统统计数据
  • 用户管理: 管理所有系统用户
  • 车辆管理: 管理所有车辆档案
  • 工单管理: 管理所有维保工单
  • 配件管理: 管理配件库存
  • 预约管理: 管理客户预约

工作人员功能

  • 查看分配给自己的工单
  • 更新工单状态
  • 记录维修诊断
  • 添加使用配件
  • 完成工单

客户功能

  • 查看自己的车辆
  • 查看维保记录
  • 在线预约服务
  • 查看预约状态
  • 查询工单进度

API接口文档

认证接口

用户登录

POST /api/auth/login
Content-Type: application/json

Request Body:
{
    "username": "admin",
    "password": "123456"
}

Response:
{
    "code": 200,
    "message": "登录成功",
    "data": {
        "token": "TOKEN_1_1704614400000",
        "userInfo": {
            "userId": 1,
            "username": "admin",
            "realName": "系统管理员",
            "phone": "13800138000",
            "email": "admin@carmaintenance.com",
            "role": "admin"
        }
    }
}

车辆管理接口

获取所有车辆

GET /api/vehicles
Authorization: Bearer {token}

Response:
{
    "code": 200,
    "message": "操作成功",
    "data": [...]
}

根据ID获取车辆

GET /api/vehicles/{id}
Authorization: Bearer {token}

创建车辆

POST /api/vehicles
Content-Type: application/json
Authorization: Bearer {token}

Request Body:
{
    "customerId": 1,
    "licensePlate": "京A12345",
    "brand": "奔驰",
    "model": "C200L",
    "color": "黑色",
    "vin": "LBVCU31J7DR123456"
}

工单管理接口

获取所有工单

GET /api/orders
Authorization: Bearer {token}

创建工单

POST /api/orders
Content-Type: application/json
Authorization: Bearer {token}

Request Body:
{
    "vehicleId": 1,
    "customerId": 1,
    "serviceType": "maintenance",
    "appointmentTime": "2025-01-10T09:00:00",
    "faultDescription": "车辆到5000公里需要小保养"
}

常见问题

1. 后端启动失败

问题: 端口被占用 解决: 修改 application.properties 中的 server.port 为其他端口

问题: 数据库连接失败 解决: 检查MySQL是否启动确认用户名密码是否正确

2. 前端无法连接后端

问题: CORS跨域错误 解决: 检查 WebConfig.java 中的CORS配置确保前端地址在允许列表中

问题: API请求404 解决: 确认后端服务已启动,检查 config.js 中的 BASE_URL 配置

3. 登录失败

问题: 用户名或密码错误 解决: 使用演示账号,或检查数据库中的用户数据


开发团队

作者: 杨璐 学校: 辽宁科技学院 专业: 计算机科学与技术 班级: 计BZ246 指导教师: 刘慧宇


许可证

本项目为毕业设计作品,仅供学习和研究使用。


更新日志

v1.0.0 (2025-01-07)

  • 完成系统架构设计
  • 实现用户认证功能
  • 实现车辆档案管理
  • 实现维保工单管理
  • 实现配件库存管理
  • 实现预约管理功能
  • 完成前端页面设计
  • 完成数据库设计

联系方式

如有问题或建议,请联系:

  • 邮箱: 学生邮箱
  • 学校: 辽宁科技学院
  • 院系: 电子与信息工程学院

祝使用愉快!