夜雨聆风学习资料网

ARTICLE · 1304099

毕业设计基于SpringBoot+AI在线租房管理(前后端源码)

毕业设计基于SpringBoot+AI在线租房管理(前后端源码)

基于SpringBoot+AI大模型的在线租房管理系统

本本系统是一个基于 B/S 架构的 线上租房平台 ,面向城市租赁市场的真实业务场景,围绕“房源发布 — 房源检索 — 预约看房 — 交易撮合 — 运营监管”的完整业务闭环设计。系统以南京市为示例数据域,涵盖江宁、鼓楼、建邺、雨花台、栖霞、浦口等主要城区的房源信息。

系统采用**“公共门户 + 管理后台”双门户形态**:

- 公共门户 (`/fangyuan` ):游客无需登录即可浏览房源、地图找房、查看平台公告,降低使用门槛;

- 管理后台 :租客、房东、管理员三类角色登录后进入各自的差异化工作台,完成收藏、预约、发布、审核、运营等业务操作。

平台同时深度集成大语言模型(LLM)能力,将 AI 应用于 房源描述自动生成、对话式找房、个性化推荐 三个场景,是本系统区别于传统租房网站的核心特色。

层次

技术选型

版本

说明

后端框架

Spring Boot

3.3.1

基于 Java 17,提供 RESTful API

持久层

MyBatis

3.0.3

XML Mapper + 驼峰映射

数据库

MySQL

8.x

InnoDB 引擎,utf8mb4 字符集

前端框架

Vue 3

3.5

组合式 API

构建工具

Vite

8.x

开发热更新与生产构建

UI 组件库

Element Plus

2.14

配合 @element-plus/icons-vue

状态管理

Pinia

3.0

用户会话与全局状态

路由

Vue Router

5.1

History 模式 + 前端路由守卫

HTTP 客户端

Axios

1.18

统一请求封装与拦截

数据可视化

ECharts

6.1

行情走势与管理端报表

地图服务

高德地图 JS API

2.0

地图找房、房源坐标标注

AI 服务

讯飞星火大模型

generalv3

OpenAI 兼容接口接入

认证方案

自研 JWT

—

HMAC 签名,拦截器校验 + ThreadLocal 上下文

项目构建

Maven / npm

—

前后端分离部署

                                           

游客(未登录用户)

  • 浏览房源列表、按区域/租金/户型筛选房源;
  • 地图找房 :基于高德地图按地理位置直观查看房源分布;
  • 查看平台公告、房源详情,进入登录/注册引导。

租客(TENANT)

  • 房源检索与收藏 :多条件筛选、房源对比、收藏夹、浏览足迹;
  • 地图找房 :地图模式选房,结合通勤与周边配套决策;
  • 看房预约 :选择心仪房源发起预约,通过 租客日历 集中管理看房安排;
  • 个性化推荐 :系统基于用户画像(工作区域、预算、户型偏好)与房源热度计算匹配分并生成推荐理由;
  • AI 对话找房 :以自然语言描述需求(如“预算 3500 想住在江宁两居室”),AI 解析需求并实时返回匹配房源;
  • 租房行情 :ECharts 可视化展示各区域租金水平与市场分布;
  • 消息通知、意见反馈、个人资料维护。

房东(OWNER)

  • 房源发布与管理 :填写房源信息上传图片,上下架管理;
  • AI 描述生成 :一键调用大模型,依据房源结构化字段(区域、户型、租金、设施等)自动撰写营销文案,降低发布门槛;
  • 预约管理 :接收、确认或拒绝租客的看房预约;
  • 房东工作台:房源数据总览(浏览量、收藏量、预约量);
  • AI 服务配置:自定义大模型接入参数并测试连通性。

管理员(ADMIN)

  • 用户管理 :全平台用户账号的查询、启停与角色维护;
  • 房源审核 :对房东发布/修改的房源进行内容审核(待审核 → 通过/驳回),保障信息合规;
  • 分类管理 :维护房源分类字典;
  • 公告管理 :发布平台公告,同步展示于公共门户;
  • 反馈处理 :查看并回复用户反馈;
  • 报表中心与管理看板 :用户规模、房源分布、预约转化、区域租金等多维统计图表,辅助平台运营决策。


                                            


源码经过测试,有录屏,有截图,有文档值得信赖!

源码包含AI大模型,推荐算法等功能创新点值得信赖!

   对系统的源码感兴趣,可以联系技术V!



   如果没有通过,技术人员联系方式也可以在“帮助反馈”菜单的子菜单“联系我们”中查看!

参考代码

package com.onlinerental.controller;import com.onlinerental.common.ApiResponse;import com.onlinerental.common.IgnoreAuth;import com.onlinerental.config.AuthContext;import com.onlinerental.dto.AiChatRequestDTO;import com.onlinerental.dto.AiDescriptionDTO;import com.onlinerental.dto.AiSettingSaveDTO;import com.onlinerental.service.AiService;import com.onlinerental.vo.AiChatResponseVO;import com.onlinerental.vo.AiSettingVO;import jakarta.validation.Valid;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.PostMapping;import org.springframework.web.bind.annotation.RequestBody;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestController@RequestMapping("/api/ai")public class AiController {    private final AiService aiService;    public AiController(AiService aiService) {        this.aiService = aiService;    }    @PostMapping("/generate-description")    public ApiResponse<String> generateDescription(@RequestBody @Valid AiDescriptionDTO descriptionDTO) {        return ApiResponse.success(aiService.generateHouseDescription(descriptionDTO, AuthContext.getCurrentUserId()));    }    @GetMapping("/setting")    public ApiResponse<AiSettingVO> getSetting() {        return ApiResponse.success(aiService.getSetting(AuthContext.getCurrentUserId()));    }    @PostMapping("/setting")    public ApiResponse<Void> saveSetting(@RequestBody @Valid AiSettingSaveDTO saveDTO) {        aiService.saveSetting(AuthContext.getCurrentUserId(), saveDTO);        return ApiResponse.success("配置保存成功", null);    }    @PostMapping("/test")    public ApiResponse<String> testConnection(@RequestBody @Valid AiSettingSaveDTO saveDTO) {        return ApiResponse.success(aiService.testConnection(AuthContext.getCurrentUserId(), saveDTO));    }    @IgnoreAuth    @PostMapping("/chat-recommend")    public ApiResponse<AiChatResponseVO> chatRecommend(@RequestBody @Valid AiChatRequestDTO requestDTO) {        return ApiResponse.success(aiService.chatRecommend(AuthContext.getCurrentUserId(), requestDTO));    }}

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料