# Agv-backend **Repository Path**: chemxy/agv-backend ## Basic Information - **Project Name**: Agv-backend - **Description**: Agv地铁隧道巡线车后端系统 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-24 - **Last Updated**: 2025-07-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

Agv地铁隧道巡线车后端系统

## 1 介绍 AGV地铁隧道巡线车后端系统是一个基于Spring Boot的智能化隧道巡检管理平台,提供AGV设备运动控制、任务管理、缺陷检测等核心功能,支持隧道巡检作业的全流程数字化管理。 ### 1.1 技术使用 - **核心框架**: Spring Boot 3.5.3 - **开发语言**: Java 17 - **数据库**: KingBase8 - **ORM框架**: MyBatis Plus 3.5.8 - **构建工具**: Maven 3.6+ - **测试框架**: Spring Boot Test, JaCoCo ### 1.2 项目特性 - **AGV运动控制**: 支持AGV前进、后退、停止等基础运动控制,提供实时心跳检测 - **任务管理**: 完整的巡检任务生命周期管理,支持任务创建、执行、结束和数据上传 - **缺陷检测**: 隧道缺陷记录管理,支持缺陷信息的录入、查询和确认流程 - **配置管理**: AGV设备参数配置和系统配置管理 - **系统监控**: 系统健康检查和状态监控 - **RESTful API**: 标准化的API接口设计,支持前后端分离 - **分页查询**: 高效的数据分页处理 - **统一响应**: 标准化的响应数据格式 ### 1.3 项目测试 项目采用全面的测试策略,确保代码质量和系统稳定性: - **单元测试**: 覆盖所有Controller和Service层 - **代码覆盖率**: 使用JaCoCo进行代码覆盖率统计,行覆盖率达到%,分支覆盖率达到80% - **测试文件**: 包含5个Controller测试类和5个Service测试类 ## 2 架构 ### 2.1 项目结构 项目采用标准的Spring Boot MVC分层架构设计,结构清晰,职责分明: ``` agv-backend/ ├── src/main/java/com/agv/backend/ │ ├── AgvBackendApplication.java # 主启动类 │ ├── config/ # 配置层 │ ├── controller/ # 控制层 │ ├── service/ # 业务层 │ │ └── impl/ # 业务实现层 │ ├── mapper/ # 数据访问层 │ └── entity/ # 实体层 │ ├── pojo/ # 数据实体 │ └── vo/ # 视图对象 ├── src/main/resources/ │ └── application.yaml # 应用配置文件 ├── src/test/ # 测试代码 ├── pom.xml # Maven配置文件 ├── README.md # 项目说明文档 ├── CHANGELOG.md # 版本更新日志 └── LICENSE # 开源协议 ``` ### 2.2 主要API接口 | 功能模块 | 接口路径 | 描述 | |---------|---------|------| | AGV运动控制 | `/agv/movement/*` | 前进、后退、停止、心跳检测 | | 任务管理 | `/agv/task/*` | 任务CRUD、启动、结束、上传 | | 缺陷检测 | `/agv/flaw/*` | 缺陷记录管理和确认 | | 配置管理 | `/agv/config/*` | AGV设备配置管理 | | 系统检查 | `/system/check/*` | 系统健康状态检查 | ## 3 使用说明 ### 3.1 编译构建(Win/Linux/Mac) #### 环境要求 - JDK 17.0.11 或更高版本 - Maven 3.6+ - KingBase8 数据库 #### 构建步骤 ```bash # 1. 克隆项目 git clone https://gitee.com/chemxy/agv-backend.git cd agv-backend # 2. 清理并编译 mvn clean compile # 3. 运行测试 mvn test # 4. 打包应用 mvn package # 5. 生成测试覆盖率报告 mvn jacoco:report ``` #### 测试覆盖率检查 项目配置了JaCoCo插件,可以进行覆盖率测试 ```bash # 执行覆盖率检查 mvn jacoco:check # 查看覆盖率报告 open target/site/jacoco/index.html ``` ### 3.2 依赖引入 项目主要依赖如下,已在`pom.xml`中配置: ```xml org.springframework.boot spring-boot-starter-web com.github.yulichang mybatis-plus-spring-boot3-starter 3.5.8-001 com.github.pagehelper pagehelper-spring-boot-starter 2.1.1 com.kingbase kingbase8 9.0.0 cn.hutool hutool-all 4.6.3 ``` ### 3.3 运行方式 1. **配置数据库** 修改`src/main/resources/application.yaml`中的数据库连接信息: ```yaml spring: datasource: url: jdbc:kingbase8://localhost:54321/test username: your_username password: your_password driver-class-name: com.kingbase8.Driver ``` 2. **启动应用** ```bash # 方式一:使用Maven mvn spring-boot:run # 方式二:使用Java命令 mvn clean package -DskipTests java -jar target/agv-backend-0.0.1-SNAPSHOT.jar # 方式三:IDE中直接运行 AgvBackendApplication.main() ``` 3. **验证运行** 应用启动后,可通过访问`http://localhost:8080/system/check/fs`端点,返回`{"code":"200","msg":"File system check passed","data":null}`即启动成功。 ## 4 参与贡献 本项目是东北大学软件学院2023级软件工程专业大二下学期实训内容,技术支持和意见反馈请提Issue。 本项目基于 Apache License 2.0,欢迎给我们提交PR,欢迎参与任何形式的贡献。 本项目committer:[@李轩宇](https://gitee.com/chemxy) [@武怡凡](https://gitee.com/wu-yifan-neu) [@梁个宁](https://gitee.com/beam00) [@王天琪](https://gitee.com/wang-tianqi15203) [@续元宏](https://gitee.com/continuation-of-yuanhong)