基于AI+Agent+Rag无人机设备器材租赁系统
一个面向租赁业务场景的 AI 无人机租赁平台,集成用户租赁、后台运营、资质审核、空域备案、故障报修与 AI 智能问答能力。
🏝️
📌 项目简介
本项目是一个全栈实战项目,围绕“无人机设备浏览、资质提交、下单租赁、支付管理、空域备案、归还结算、故障报修、后台审核、AI 咨询助手”构建完整业务闭环。
项目采用前后端分离架构:
代码块
Plain Text
backend:Spring Boot 3 + MyBatis-Plus 后端服务
drone-rental-web:Vue 3 + Vite + Element Plus 前端项目
ai-agent-service:可选的 Python FastAPI + LangChain/LangGraph 智能体服务
sql:数据库初始化脚本与 AI 扩展表脚本
🖼️ 项目截图
🏠 首页展示与用户端界面

67%

33%
✨ 项目亮点
•
支持用户端与管理端双端场景,业务闭环完整
•
支持无人机租赁、空域备案、故障报修、维修管理
•
支持用户飞行资质提交与后台审核
•
集成 AI 问答助手,可用于设备推荐、规则说明、订单解读
•
支持 Spring AI、MCP、RAGFlow、Dify、Coze 等扩展接入
•
提供可选 Python 智能体服务,便于做 AI 能力演示与教学拓展
•
代码结构清晰,适合学习全栈项目分层设计与工程化组织
🧩 项目功能
👤 用户端功能
•
用户注册、登录、个人中心
•
无人机列表浏览、筛选、详情查看
•
在线创建租赁订单
•
订单支付、订单查询、订单详情查看
•
用户资质上传与审核结果查看
•
空域备案提交与备案结果查询
•
故障报修提交
•
订单评价与互动
•
AI 智能咨询助手
🛠️ 管理端功能
•
管理员登录
•
控制台数据总览
•
用户管理
•
用户资质审核
•
无人机设备管理
•
订单管理
•
故障报修审核
•
维修工单管理
•
评论与评价管理
🤖 AI 智能体能力
•
设备推荐与租赁规则问答
•
订单状态解读与流程说明
•
资质审核前置提醒
•
故障上报流程引导
•
AI 记忆、调用日志、会话追踪
•
可通过 HTTP Tool / MCP 方式对外提供业务工具能力
🧱 技术介绍
🔙 后端技术栈
#wwDEcxHneaiF text{white-space:pre}.fb0{stroke:var(--N900-FG, 0.15)}.fx0{stroke-miterlimit:10}.fa1{fill:#bbbfc4}.fx1{font:normal 400 12px MonospacedNumber,LarkHackSafariFont,LarkEmojiFont,LarkChineseQuote,-apple-system,BlinkMacSystemFont,Helvetica Neue,Tahoma,PingFang SC,Microsoft Yahei,Arial,Hiragino Sans GB,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.fx2{text-anchor:middle}.fx3{dominant-baseline:central}.fx4{stroke:none}.fc0{fill:var(--text-caption)}.fa2{fill:var(--text-link-disabled)}.fx5{font:400 normal 13px MonospacedNumber, LarkHackSafariFont, LarkEmojiFont, LarkChineseQuote, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Tahoma, "PingFang SC", "Microsoft Yahei", Arial, "Hiragino Sans GB", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"}.fx6{text-anchor:start}.fx7{dominant-baseline:alphabetic}.fc1{fill:rgb(0, 0, 0)}.fb1{fill:var(--N900-FG, 0.15)}.fa3{fill:var(--bg-body)}ABC123456789101112技术JavaSpring BootSpring MVCMyBatis-PlusMySQLDruidJWTspringdoc-openapiSpring AIHutoolLombok版本213.5.13Spring Boot Web3.5.168.0+1.2.280.12.62.8.171.1.55.8.22-说明项目运行语言后端核心框架REST API 开发ORM 与分页查询主数据库数据库连接池登录鉴权Swagger / OpenAPI 文档AI 对话、Tool Calling、MCP工具类库简化 Java 模板代码
🖥️ 前端技术栈
🧠 AI 技术栈
🏗️ 框架介绍
本项目采用经典的前后端分离设计,并在业务系统基础上扩展了 AI 能力接入层。
📦 后端框架
•
基于 Spring Boot 3 构建 RESTful API
•
通过 MyBatis-Plus 完成数据库访问与实体映射
•
使用 JWT 实现用户端和管理端认证鉴权
•
通过 springdoc-openapi 自动生成接口文档
•
使用 Spring AI 完成模型接入、工具调用与 AI 能力编排
🎨 前端框架
•
基于 Vue 3 + Vite 搭建 SPA 应用
•
使用 Element Plus 快速构建后台和业务界面
•
使用 Pinia 管理登录态、用户信息与权限数据
•
使用 Vue Router 区分用户端、管理端和认证页面
🔌 AI 扩展框架
•
Java 主链路默认通过 Spring AI 工作
•
可选接入 RAGFlow 作为知识库与兜底问答能力
•
可通过 MCP 或 HTTP Tool 让外部 AI 平台调用业务工具
•
可选启用 ai-agent-service,以 Python 方式做 LangChain/LangGraph 演示
🏛️ 架构设计
🧭 系统架构
🧱 后端分层说明
•
controller:接口层,负责接收请求与返回结果
•
service:业务层,负责订单、设备、资质、维修、AI 对话等业务逻辑
•
mapper:数据访问层,负责数据库读写
•
entity / dto / vo:实体、传输对象与视图对象
•
security:JWT、管理员权限与拦截逻辑
•
ai:AI 模型接入、工具注册、记忆与日志追踪
🔄 核心业务流程
用户注册登录后浏览无人机设备。
用户提交飞行资质,等待后台审核。
用户选择设备创建租赁订单并支付。
用户在租赁过程中可查看订单状态、提交空域备案或报修。
管理员在后台完成审核、发货、维修、评价管理等工作。
AI 助手贯穿设备咨询、下单引导、订单解释、报修帮助等场景。
📂 项目结构
代码块
Bash
▶️ 启动教程
1️⃣ 初始化数据库
先创建数据库,并执行 sql/init.sql:
代码块
Plain Text
CREATE DATABASE drone_rental DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
然后导入:
代码块
Plain Text
mysql -u root -p drone_rental < sql/init.sqlmysql -u root -p drone_rental < sql/init.sql
如果你要启用 AI 会话追踪、工具日志和记忆功能,再继续执行:
代码块
Plain Text
mysql -u root -p drone_rental < sql/ai_agent_tables.sql
2️⃣ 启动后端
代码块
Plain Text
cd backend
mvn clean package
java -jar target/drone-rental-1.0.0.jar
开发模式也可以直接运行:
代码块
Plain Text
cd backend
mvn spring-boot:run
3️⃣ 启动前端
代码块
Plain Text
cd drone-rental-web
npm install
npm run dev
构建生产包:
代码块
Plain Text
4️⃣ 启动可选 AI Agent 服务
仅在你需要使用 Python LangChain/LangGraph 方案时启用:
代码块
Plain Text
cd ai-agent-service
uv run uvicorn app.main:app --host 0.0.0.0 --port 8090
同时需要设置环境变量:
代码块
Plain Text
AI_AGENT_MODE=langchain
AI_AGENT_LANGCHAIN_BASE_URL=http://127.0.0.1:8090
🚀更详细的技术文档: