Skip to content

本项目是一个基于Spring Boot 3.3.0和Java 17开发的智慧门禁控制系统毕业设计,集成了人脸识别和车牌识别等AI技术。实现了人员门禁管理、车辆停车管理、访客登记审批、智能收费等完整业务流程。能够有效提升安全管理水平,实现智能化无感通行,降低人工成本。是一个技术全面、功能完善的企业级应用系统。

Notifications You must be signed in to change notification settings

hbbc123/AccessControl-java

Repository files navigation

智慧门禁控制系统 - 项目简介

📋 项目基本信息

  • 项目名称: 智慧门禁控制系统(AccessControl)
  • 项目版本: 1.0-SNAPSHOT
  • 开发者: 畅哥不唱歌
  • 开发时间: 2025年9月
  • 服务端口: 666
  • API文档: http://localhost:666/doc.html
  • 数据库: MySQL 8.0 (access_control)
  • 技术类型: Spring Boot 毕业设计项目

🎯 项目简介

这是一个基于Spring Boot 3.3.0Java 17开发的现代化智能访问控制系统,集成了人脸识别车牌识别等AI技术,实现了人员门禁管理、车辆停车管理、访客登记审批、智能收费等完整的访问控制业务。

系统适用于小区、园区、企业、学校等多种场景,能够有效提升安全管理水平,实现智能化无感通行。


注意

该项目暂时不提供前端代码和模型,等待后续答辩完成将提供前端代码和论文


🚀 核心功能

1. 人员门禁管理

  • 👤 用户信息管理(注册、登录、信息维护)
  • 📸 人脸识别门禁通行
  • 🔍 人员进出记录追踪
  • 📊 人员流量统计分析

2. 车辆停车管理

  • 🚗 固定车牌管理(内部车辆)
  • 🅿️ 临时车辆管理(访客车辆)
  • 🔍 车牌识别自动登记
  • 📍 VIP停车位管理
  • 💰 智能停车收费

3. 访客登记审批

  • 📝 访客预约登记
  • ✅ 多级审批流程
  • 🎫 临时授权管理
  • 📋 访客记录查询

4. 智能收费系统

  • 💵 灵活的收费策略(临时/包月/包年)
  • 🧮 自动计费功能
  • 📊 收费记录管理
  • 📈 财务统计报表

5. 系统管理

  • 👨‍💼 管理员权限管理
  • 🚪 门禁点位配置
  • 🅿️ 停车场管理
  • ⚙️ 系统参数设置
  • 🎨 动态路由权限

6. 数据统计

  • 📊 实时出入统计
  • 📈 月度流量分析
  • 💰 收入统计报表
  • 📉 趋势图表展示

💡 核心亮点

🤖 AI技术应用

  • 人脸识别: 基于深度学习的人脸特征提取和比对,识别准确率高
  • 车牌识别: 自动识别多种车牌类型,支持复杂场景
  • 智能对比: 实时对比人脸/车牌信息,自动登记进出记录

🔐 权限管理

  • Sa-Token: 轻量级权限认证框架
  • 动态路由: 根据用户权限动态生成菜单
  • 多端登录: 支持多设备同时在线
  • Token管理: 30天有效期,自动刷新

🎨 技术架构

  • Spring Boot 3.3.0: 最新稳定版本
  • Java 17: 现代化Java特性
  • MyBatis-Plus: 增强型ORM框架
  • Redis: 分布式缓存和会话管理
  • Knife4j: 自动生成API文档

📦 工程化

  • 分层架构: Controller-Service-Mapper三层分离
  • 统一响应: 标准化的响应格式
  • 异常处理: 全局统一异常拦截
  • 参数校验: 分组校验机制
  • 自动填充: 时间和操作人自动记录

🛠️ 技术栈

后端技术

技术 版本 说明
Spring Boot 3.3.0 核心框架
Java 17 编程语言
MyBatis-Plus 3.5.5 ORM框架
Sa-Token 1.44.0 权限认证
Redis - 缓存中间件
MySQL 8.0.30 数据库
Knife4j 4.5.0 API文档
Hutool 5.8.22 工具类库
EasyExcel 3.3.2 Excel处理
Lombok - 代码简化

AI技术

技术 版本 说明
SmartJavaAI 1.0.23 AI框架
PyTorch 2.5.1 深度学习
OpenCV 4.9.0 图像处理
JavaCV 1.5.10 视频处理
DJL - 深度学习库

📊 数据库设计

核心表结构

  • admin: 管理员表
  • user: 用户表
  • user_car: 用户车辆表
  • user_face: 人脸进出记录表
  • gate: 门禁表
  • vip_parking_lot: VIP停车场表
  • visitor_registration_form: 访客登记表
  • charge: 收费配置表
  • tariff: 收费标准表
  • fee_records: 缴费记录表
  • face_record: 车辆记录表
  • unit: 单位/地址表
  • settings: 系统设置表
  • page_router: 页面路由表
  • routing_role: 路由角色关系表

🔄 业务流程

人脸识别门禁流程

用户靠近门禁 → 摄像头捕获人脸 → 
AI识别人脸特征 → 与人脸库比对 → 
验证通过/拒绝 → 记录进出信息 → 
开启/关闭门禁

车牌识别停车流程

车辆进入停车场 → 摄像头拍摄车牌 → 
AI识别车牌号码 → 判断车辆类型(固定/临时) → 
记录入场时间 → 分配停车位 → 
车辆离场 → 计算停车时长 → 
自动计费 → 缴费出场 → 记录出场时间

访客审批流程

用户提交访客申请 → 填写访客信息 → 
管理员审批 → 审批通过/拒绝 → 
生成临时授权 → 访客凭授权进入 → 
记录访客进出 → 访问结束 → 授权失效

📝 接口示例

用户登录

POST /user/login
Content-Type: application/json

{
  "username": "user001",
  "password": "123456"
}

响应:

{
  "code": 200,
  "msg": "操作成功",
  "data": {
    "id": 1,
    "username": "user001",
    "name": "张三",
    "phone": "13800138000",
    "token": "xxx-xxx-xxx"
  }
}

人脸识别门禁

POST /user/approval
Content-Type: application/json
token: your-token

{
  "gateId": 1,
  "faceImage": "http://localhost:666/static/file/images/face_001.jpg"
}

响应:

{
  "code": 200,
  "msg": "识别成功",
  "data": {
    "userId": 1,
    "userName": "张三",
    "similarity": 0.95,
    "allowPass": true,
    "recordTime": "2025-10-10 10:30:00"
  }
}

车牌识别

POST /vipParkingLot/approval
Content-Type: application/json
token: your-token

{
  "parkingLotId": 1,
  "plateImage": "http://localhost:666/static/file/images/plate_001.jpg"
}

响应:

{
  "code": 200,
  "msg": "识别成功",
  "data": {
    "plateNumber": "京A12345",
    "carType": "固定车辆",
    "ownerName": "张三",
    "entryTime": "2025-10-10 08:00:00",
    "parkingDuration": "2小时30分",
    "fee": 0.00
  }
}

🚀 快速开始

1. 环境要求

  • JDK 17+
  • Maven 3.6+
  • MySQL 8.0+
  • Redis 5.0+

2. 数据库配置

# application.yml
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/access_control
    username: root
    password: root

3. Redis配置

spring:
  data:
    redis:
      host: 127.0.0.1
      port: 6379

4. 启动项目

# 方式1: IDE运行
运行 Main.java 的 main 方法

# 方式2: Maven命令
mvn clean package
java -jar target/accessControl-1.0-SNAPSHOT.jar

# 方式3: Maven插件
mvn spring-boot:run

5. 访问系统


📖 项目结构

accessControl/
├── src/main/java/com/he/my/accessControl/
│   ├── ai/                    # AI识别模块
│   │   ├── config/           # AI配置
│   │   ├── FaceRecUtil.java  # 人脸识别工具
│   │   └── PlateRecUtil.java # 车牌识别工具
│   ├── common/               # 通用模块
│   │   └── enums/           # 枚举类
│   ├── config/              # 配置类
│   │   ├── SaTokenConfigure.java    # Sa-Token配置
│   │   ├── MyBatisConfig.java       # MyBatis配置
│   │   ├── RedisConfig.java         # Redis配置
│   │   ├── ResponseData.java        # 统一响应
│   │   └── OperateException.java    # 自定义异常
│   ├── controller/          # 控制器层
│   │   ├── AdminController.java
│   │   ├── UserController.java
│   │   ├── UserCarController.java
│   │   ├── GateController.java
│   │   └── ...
│   ├── entity/              # 实体类
│   ├── mapper/              # Mapper接口
│   ├── pojo/                # DTO/VO对象
│   ├── service/             # 服务层
│   │   └── impl/           # 服务实现
│   ├── util/                # 工具类
│   └── Main.java            # 启动类
├── src/main/resources/
│   ├── application.yml      # 配置文件
│   └── com/he/my/accessControl/mapper/  # Mapper XML
├── pom.xml                  # Maven配置
└── README.md                # 项目说明

🔒 安全特性

  1. Token认证: 所有接口需要携带有效Token
  2. 权限控制: 基于角色的访问控制
  3. 参数校验: 严格的输入参数验证
  4. SQL防注入: MyBatis预编译防注入
  5. 异常拦截: 统一的异常处理机制
  6. 密码加密: 用户密码加密存储
  7. Token过期: 自动检测Token有效性

📊 性能指标

  • 人脸识别速度: < 500ms
  • 车牌识别速度: < 300ms
  • 接口响应时间: < 200ms (平均)
  • 并发支持: 1000+ QPS
  • 识别准确率:
    • 人脸识别: > 95%
    • 车牌识别: > 98%

📞 联系方式

  • 开发者: 畅哥不唱歌
  • 项目类型: 毕业设计 / 企业级应用
  • 开发日期: 2025年9月

📄 文档说明

本项目提供完整的技术文档:

  1. API接口文档.md - 详细的接口说明文档(包含16个模块,80+个接口)
  2. 项目简介.md - 项目概述和快速入门(本文档)

🎓 适用场景

毕业设计

✅ 技术栈新颖(Spring Boot 3 + Java 17)
✅ 功能完整(16个功能模块)
✅ 技术难度适中(AI集成、权限管理)
✅ 文档齐全(接口文档、亮点说明)
✅ 代码规范(工程化标准)

实际应用

✅ 小区门禁系统
✅ 企业园区管理
✅ 学校访客管理
✅ 停车场管理系统
✅ 智慧社区建设


注意: 本系统集成了AI识别功能,需要确保服务器有足够的计算资源。首次启动时会加载AI模型,可能需要较长时间,请耐心等待。

About

本项目是一个基于Spring Boot 3.3.0和Java 17开发的智慧门禁控制系统毕业设计,集成了人脸识别和车牌识别等AI技术。实现了人员门禁管理、车辆停车管理、访客登记审批、智能收费等完整业务流程。能够有效提升安全管理水平,实现智能化无感通行,降低人工成本。是一个技术全面、功能完善的企业级应用系统。

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages