摘 要
随着信息化时代的到来,房产中介行业的管理需求日益增长。传统的手工操作方式已经无法满足现代化房产管理的高效性和精准性要求,因此,开发一套高效、便捷的楼盘信息管理系统成为行业发展的必然趋势。本文基于SpringBoot框架设计并实现了一个房产中介楼盘信息管理系统,旨在提升房产中介公司在楼盘信息管理、客户资料管理、交易合同管理等方面的效率和精准度。系统通过分角色的用户管理方式,分别为管理员、客户用户和员工用户提供不同的功能模块,确保各个角色能够在系统中顺利进行数据操作和信息查询。管理员可以进行系统用户管理、楼盘信息管理、交易合同管理等操作,客户用户可以查询楼盘信息和交易合同,员工用户则负责录入楼盘信息和管理客户资料。系统采用了SpringBoot技术框架,保证了系统的高效性和稳定性,同时结合前后端分离的架构,使得系统更加灵活且易于维护。通过数据库设计与优化,系统能够快速处理大量数据,确保房产中介公司能够在快速变化的市场环境中提高业务响应速度。
本系统的实现为房产中介公司提供了一个现代化的信息管理平台,有助于提升整体运营效率,降低人工操作错误,促进房产中介行业的数字化转型。
关键词:SpringBoot;房产中介;楼盘信息管理;客户资料管理;交易合同管理;
Abstract
With the advent of the information age, the management needs of the real estate agency industry are increasing day by day. The traditional manual operation method can no longer meet the efficiency and precision requirements of modern real estate management. Therefore, developing an efficient and convenient real estate information management system has be***e an inevitable trend in the industry's development. This article designs and implements a real estate agency building information management system based on the SpringBoot framework, aiming to improve the efficiency and a***uracy of real estate agency ***panies in building information management, customer data management, transaction contract management, and other aspects. The system provides different functional modules for administrators, customer users, and employee users through a role-based user management approach, ensuring that each role can smoothly perform data operations and information queries in the system. Administrators can perform system user management, property information management, transaction contract management, and other operations. Customer users can query property information and transaction contracts, while employee users are responsible for entering property information and managing customer data. The system adopts the SpringBoot technology framework, ensuring the efficiency and stability of the system, while ***bining the front-end and back-end separation architecture, making the system more flexible and easy to maintain. Through database design and optimization, the system can quickly process large amounts of data, ensuring that real estate agencies can improve their business response speed in the rapidly changing market environment.
The implementation of this system provides a modern information management platform for real estate agencies, which helps to improve overall operational efficiency, reduce manual operation errors, and promote the digital transformation of the real estate agency industry.
Key words: SpringBoot; Real estate agency; Real estate information management; Customer data management; Transaction contract management;
目录
摘 要
Abstract
1 绪论
1.1 研究背景和意义
1.2 国内外研究现状
2 相关技术介绍
2.1 B/S框架
2.2 SpringBoot框架
2.3 Vue技术
2.4 MySQL数据库
3 需求分析
3.1 可行性分析
3.1.1 技术可行性
3.1.2 操作可行性
3.1.3 经济可行性
3.2 系统性能分析
3.3 功能需求分析
3.3.1 客户用户功能
3.3.2 管理员功能
3.3.3 员工用户功能
3.4 系统流程分析
3.4.1 程序操作流程
3.4.2 登录流程
3.4.3 注册流程
4 系统设计
4.1 系统架构设计
4.2 系统总体功能设计
4.3 数据库设计
4.3.1 数据库实体设计
4.3.2 数据库表设计
5 系统实现
5.1 客户用户功能实现
5.1.1 用户注册
5.1.2 用户登录
5.1.3 通知公告管理
5.1.4 楼盘信息管理
5.1.5 交易合同管理
5.2 管理员功能实现
5.2.1 系统用户
5.2.2 楼盘信息管理
5.2.3 客户资料管理
5.2.4 权限管理
5.2.5 交易合同管理
5.2.6 通知公告管理
5.3 员工用户功能实现
5.3.1 楼盘信息管理
5.3.2 客户资料管理
6 系统测试
6.1 测试目的
6.2 测试方法
6.3 测试内容
6.4 测试结果
7 总结
参考文献
致谢
附录
系统核心代码设计
用户注册
用户登录
修改密码
修改数据
删除数据
获取列表
图片上传
1 绪论
1.1研究背景和意义
随着经济的快速发展和城市化进程的不断推进,房地产行业的需求和市场竞争日益加剧,房产中介行业作为房地产市场的重要组成部分,承担着连接买卖双方的重要职责。传统的房产中介业务依赖人工操作和纸质文档管理,存在着效率低下、数据不准确、信息滞后等问题,难以满足现代房地产市场日益增长的需求。为了提升房产中介公司的工作效率、服务质量以及客户体验,楼盘信息管理系统的研究与开发逐渐成为行业转型的重要课题。
楼盘信息管理系统能够有效地整合和管理楼盘信息、客户资料以及交易合同等多项内容,通过系统化的数据处理和信息存储,优化了房产中介公司的运营模式。系统通过数字化手段帮助管理者实时掌握楼盘动态、客户需求和交易进展,减少了人工干预和管理失误,提高了工作效率和准确性。同时,系统的实施也使得客户能够更便捷地查询到相关楼盘信息,提升了客户的满意度和信任度。对于房产中介公司而言,系统不仅优化了业务流程,还降低了运营成本,推动了业务模式的现代化转型。
房产中介楼盘信息管理系统的研究具有重要的现实意义。通过系统的建设,可以解决传统管理模式下的低效问题,提升信息管理的精确度和响应速度。系统的设计与实现为房产中介公司提供了一种高效、灵活的管理工具,既能满足日常运营需求,也为企业的长期发展奠定了数字化基础。此外,随着信息技术的不断发展,越来越多的房产中介公司将逐步转向数字化、智能化管理,楼盘信息管理系统的研究和应用具有广阔的前景,能够为整个行业的进步和提升提供有力支持。
1.2国内外研究现状
随着信息技术的不断发展,房产中介行业在信息管理上的需求日益增加,尤其是在楼盘信息管理方面,国内外已经有许多相关研究与实践。在国外,房产中介信息管理系统的研究起步较早,尤其是在欧美和日本等发达国家,信息技术在房地产行业中的应用已经趋于成熟。早期的研究主要集中在如何利用计算机技术提高房地产行业的管理效率,如房地产信息数据库的构建和房源信息的自动化处理等。随着技术的发展,更多的国外研究开始关注系统的智能化、用户体验的优化以及信息管理平台的多功能整合。在欧美地区,不少房地产中介公司已经采用了先进的管理信息系统,通过系统的设计和实现,优化了楼盘信息的管理流程,提高了客户的服务体验。
国内在房产中介信息管理系统的研究起步稍晚,但近年来随着房地产行业的快速发展和信息化需求的不断增长,相关研究逐渐增多。国内的研究主要集中在系统功能的完善和数据处理能力的提高上。一些研究集中在楼盘信息管理系统的设计与开发,着重于系统架构的优化与用户权限管理的细化。同时,随着技术的不断创新,国内的相关研究也开始关注如何通过更智能的手段提升楼盘信息管理的效率与精度。例如,部分研究已经开始探索如何将更多智能化的模块融入系统中,提升用户操作的便捷性和系统的响应速度。
尽管国内外的研究已取得一定进展,但仍然面临一些挑战。国内的许多房产中介信息管理系统在功能上仍存在局限,尤其是在系统的稳定性和数据安全方面,仍需进一步优化。同时,部分研究缺乏对系统可扩展性的深入探讨,尤其是面对日益增加的楼盘信息时,如何保证系统的高效处理能力仍然是一个亟待解决的问题。国外的研究虽然在系统性能上取得了一定成绩,但在特定的市场环境下,如中国这样迅速发展的房地产市场,其应用效果仍需要进一步验证。
总体来看,房产中介楼盘信息管理系统的研究在国内外都取得了不同程度的进展,但由于技术更新迅速,仍有许多方面需要深入探讨和改进。
2 相关技术介绍
2.1B/S框架
B/S(Browser/Server)架构是一种基于浏览器和服务器的应用架构模式。它以Web浏览器作为客户端,服务器端通过Web技术提供应用服务。客户端通过浏览器与服务器进行交互,用户无需安装专门的客户端应用程序,只需要通过互联网连接即可访问应用程序[1]。在B/S架构中,客户端主要承担用户界面的呈现和基本的输入输出功能,而核心的业务处理、数据存储等操作则由服务器端完成。这种架构的核心优势在于无需在每个客户端机器上安装或更新软件,只要用户的浏览器符合要求,就可以使用系统。
B/S(Browser/Server)架构是一种网络架构模型,其主要特点是客户端通过浏览器与服务器进行通信,所有的业务逻辑和数据处理都在服务器端完成,客户端仅负责展示数据[2]。B/S架构本质上是一种客户端-服务器模式的变体,它通过将传统的C/S(Client/Server)架构中的客户端功能移到浏览器中,简化了客户端的开发和维护工作。在B/S架构中,用户通过浏览器发送请求,浏览器负责展示从服务器获取的数据,服务器则处理请求并返回响应。该架构避免了安装和配置客户端软件的麻烦,也减少了对客户端硬件的依赖,适合于需要大规模部署和跨平台支持的应用系统。
B/S模式三层结构图如图2-1所示。
图2-1 B/S模式三层结构图
2.2 SpringBoot框架
SpringBoot是一个用于简化Spring应用开发的开源框架,通过减少开发人员配置和依赖的复杂性,使得开发者能够快速构建基于Spring的生产级应用。SpringBoot基于Spring框架之上,提供了一种自配置的方式,使得开发者可以以最少的配置来启动和开发Spring应用[3]。它通过约定优于配置的原则,将常见的配置预设,使得开发人员能够聚焦于业务逻辑的实现,而不必过多关注繁琐的配置和环境搭建。
SpringBoot框架的核心特点之一是其自动配置功能。它能够根据项目中已存在的类和库,自动推断出开发环境的配置需求,减少了手动配置的工作量。SpringBoot还提供了嵌入式Web服务器支持(如Tomcat、Jetty等),使得应用可以以独立的Java应用形式运行,不再依赖外部的Web容器。这种特性使得SpringBoot特别适合于微服务架构的构建。SpringBoot还通过其提供的启动器(Starters)简化了常见功能的集成,例如数据库连接、消息队列、缓存、认证与授权等,从而提升了开发效率[4]。
2.3 Vue技术
Vue.js是一款用于构建用户界面的渐进式JavaScript框架,提供一种灵活而高效的方式来开发单页面应用(SPA)。Vue的设计理念是通过尽量简化开发过程,提供一种声明式的方式来构建用户界面[5]。Vue.js通过数据驱动的视图模型,允许开发者以声明式语法绑定数据与视图,使得应用的状态和界面表现更加简洁和可维护。它的核心思想是通过组件化开发将复杂的UI拆分为可重用的独立模块,从而提升了代码的模块化、可维护性和可扩展性。
Vue.js具备响应式数据绑定和虚拟DOM的特性。响应式数据绑定意味着当数据变化时,Vue会自动更新与之绑定的DOM元素,从而实现视图的实时更新。虚拟DOM则是Vue.js的一种优化手段,通过将对DOM的操作抽象为一个虚拟的DOM树来提高性能,减少实际DOM操作的开销[6]。Vue还提供了丰富的插件和工具,如Vue Router用于路由管理,Vuex用于状态管理,方便开发者构建复杂的前端应用。Vue的灵活性和简洁性使其成为现代Web开发中常用的前端框架之一。
2.4 MySQL数据库
MySQL是一种开源的关系型数据库管理系统(RDBMS),基于SQL(结构化查询语言)进行数据操作。作为一个被广泛使用的数据库系统,MySQL具有高度的性能、可扩展性和可靠性。MySQL使用表格结构来存储数据,每个表由多个列和行组成,数据通过SQL查询语言进行操作[7]。MySQL支持多种数据类型,如整数、浮动小数、字符串、日期等,以满足不同应用场景对数据存储的需求。在实际应用中,MySQL通常用于存储和管理结构化数据,通过索引、视图、触发器等功能提升数据查询的效率和数据的完整性。
MySQL支持ACID事务特性(原子性、一致性、隔离性、持久性),确保数据库操作的可靠性和数据的一致性。它还支持多种存储引擎,其中InnoDB是最常用的存储引擎,具备事务支持、行级锁定和外键约束等特性,适用于高并发、高可靠性的数据存储需求。MySQL可以通过主从复制、分区和分库分表等技术实现横向扩展,以应对大规模数据存储和高负载的应用需求。MySQL还具有灵活的权限管理机制,支持用户角色管理、细粒度的权限控制等,保障数据的安全性。
3 需求分析
3.1可行性分析
3.1.1技术可行性
从技术角度来看,Spring Boot作为一种轻量级、快速构建的Java框架,能够提高开发效率,降低系统的复杂程度,易于维护和升级。同时,MySQL作为关系型数据库,能够支持平台数据的存储与管理,保障系统的稳定性和高效性。因此,本系统具有技术可行性。
3.1.2操作可行性
考虑到Springboot、Vue、MyBatis Plus及MySQL等均为开源技术,无需支付高昂的许可费用,大大降低了系统的开发成本。同时,这些技术拥有广泛的用户群体和成熟的社区支持,便于获取技术支持和资源共享。此外,系统的实施将显著用户体验,从而带来潜在的经济效益。因此,从经济角度来看,该系统的开发同样具备可行性。
3.1.3经济可行性
系统设计应遵循用户友好原则,确保用户能够轻松上手并高效使用。通过合理的界面布局、直观的操作流程以及详尽的帮助文档,可以大大降低用户的学习成本,提高系统的操作可行性。此外,系统还应具备完善的权限管理和数据安全机制,确保操作的安全性和合规性。
3.2系统性能分析
对于房产中介楼盘信息管理系统,下面是系统性能分析表:
表3.1性能需求表
| 项目 |
内容 |
| 响应时间 |
系统对用户请求的响应时间需在500ms以内 |
| 并发用户数 |
系统需要支持1000个并发用户同时访问 |
| 吞吐量 |
系统每秒需要处理1000个请求 |
| 可用性 |
系统需要保证每月99.9%的可用性 |
| 数据安全 |
用户敏感数据需要加密存储,并支持数据库备份和恢复 |
| 数据一致性 |
系统中的数据操作需保证ACID特性,确保数据一致性 |
| 扩展性 |
系统需要支持水平扩展,能够方便地增加服务器节点以应对高请求量 |
| 可维护性 |
系统代码需要清晰易懂、结构良好,方便维护和修改 |
| 日志记录 |
系统需要记录用户操作日志、异常日志以及系统运行日志 |
| 监控报警 |
系统需要实时监控运行状态,当系统异常时能够及时发送警报通知相关人员 |
| 缓存设置 |
针对频繁使用的数据,系统需要进行合适的缓存 |
3.3功能需求分析
功能需求分析是对系统所需功能进行详细描述的过程,明确系统的目标、功能模块及其相互关系。在此阶段,结合用户需求、业务流程和技术架构,识别系统必须实现的各项功能,并对其优先级、实现方式和约束条件进行梳理。通过功能需求分析,确保系统设计能够满足实际需求,且具有良好的可用性、可维护性和扩展性,为后续的系统开发和测试提供明确的指导和依据。
3.3.1客户用户功能
客户用户在系统中主要用于查询和浏览相关楼盘信息,功能包括查看后台首页,接收通知公告,浏览楼盘信息(包括楼盘详情和楼盘信息地图),以及查看自己相关的交易合同信息。客户用户的权限相对较低,主要集中在楼盘信息的查询和合同管理上。
客户用户用例图如图3-1所示。
图3-1 客户用户用例图
3.3.2管理员功能
管理员用户主要负责系统的整体管理和运营,包括后台首页的操作,系统用户的管理,通知公告的发布与管理,楼盘信息的管理(包括楼盘的详细信息和楼盘信息地图),客户资料的管理,以及交易合同的管理。管理员还负责权限管理,确保系统中的各类用户能够根据角色和职责进行相关操作。
管理员用例图如图3-2所示。
图3-2管理员用例图
3.3.3员工用户功能
员工用户在系统中的角色侧重于楼盘信息的维护和客户服务。员工用户可以查看后台首页,获取通知公告,管理和更新楼盘信息(包括楼盘详情和楼盘信息地图),同时负责管理客户资料和交易合同的相关事务。员工用户在客户资料和交易合同管理上具有较高的权限,确保客户信息和交易数据的准确与及时更新。
员工用户用例图如图3-3所示。
图3-3员工用户用例图
3.4系统流程分析
3.4.1程序操作流程
用户访问系统,可以选择进行注册或登录操作。注册成功后,用户可以使用注册的账号登录系统。登录后的用户可以进入系统功能界面,使用自己权限内的功能操作。程序操作流程图如图3-4所示。
图3-4 程序操作流程图
3.4.2登录流程
用户访问系统,进入登录页面页面,入其用户名和密码,后端服务接收登录请求,验证用户提供的用户名和密码是否匹配数据库中存储的信息,验证通过即可登录成功。登录流程图如图3-5所示。
图3-5登录流程图
3.4.3注册流程
未有账号的用户可进入注册界面进行注册操作,填写注册表格,包括用户名、密码、电子邮件等必要信息。后台系统验证并保存用户提交的信息。分配唯一用户标识符。注册成功后,用户可以使用账号密码进行登录。用户注册流程图如图3-6所示。
图3-6注册流程图
4 系统设计
4.1系统架构设计
系统由表现层、业务逻辑层、数据访问层和数据库服务器组成。表现层通过浏览器(如IE、Chrome、Firefox)与用户交互,采用FreeMarker、Bootstrap、jQuery等技术实现界面呈现。业务逻辑层负责处理系统的核心业务逻辑,通过分模块设计实现功能分离。数据访问层使用MyBatis框架连接数据库,执行数据的增删改查操作。数据库服务器采用MySQL进行数据存储和管理,为系统提供稳定的数据库支持。整个架构通过Tomcat服务器完成用户请求的接收和处理,确保系统的高效运行[8]。整个系统架构如图4-1所示。
图4-1 系统架构图
4.2系统总体功能设计
系统功能结构图如图4-2所示。
图4-2 系统功能结构图
4.3数据库设计
数据库设计是系统开发中至关重要的环节,为系统提供高效、规范的数据存储和管理方案。设计过程包括需求分析、实体设计、表设计和逻辑结构设计。首先,通过分析业务需求,确定系统的核心实体及其属性,同时明确实体间的关系。接着,将实体抽象为具体的数据库表,为每张表定义字段名、数据类型、主键和外键,通过主外键关系和关联表设计,保证数据的完整性和一致性。最后,数据库逻辑设计进一步优化表之间的关系,通过索引、视图和存储过程提升查询效率和操作性能。整个设计需严格遵循规范,避免数据冗余和冲突,确保系统在高并发访问和复杂数据处理场景下的稳定性和高效性。
4.3.1数据库实体设计
数据库实体设计是数据库设计的关键步骤,对实际业务逻辑中涉及的实体及其属性进行抽象建模,明确系统中的主要信息对象及其关系[9]。在实体设计中,根据需求分析确定系统的核心实体,如用户、角色、权限等,提取实体的主要属性,如用户的ID、姓名、联系方式,名称、类型等,同时定义各实体之间的关系,包括一对一、一对多、多对多等。在设计过程中,注重实体的完整性、规范性和唯一性,确保设计能够满足系统功能需求,并为后续的表设计提供清晰的结构框架。实体设计需遵循数据库设计的标准化要求,避免数据冗余和不必要的复杂度。以下是系统各个实体图和总体E-R图。
(1)管理员实体属性图如下图4-3所示
图4-3管理员实体属性图
(2) 客户用户实体属性如下图4-4所示
图4-4客户用户实体属性图
(3) 楼盘信息实体属性如下图4-5所示
图4-5楼盘信息实体属性图
(4) 交易合同实体属性如下图4-6所示
图4-6交易合同实体属性图
(5) 公告实体属性如下图4-7所示
图4-7公告实体属性图
(6) 客户资料实体属性如下图4-8所示
图4-8客户资料实体属性图
(7) 员工用户实体属性如下图4-9所示
图4-9员工用户实体属性图
(8) 评分实体属性如下图4-10所示
图4-10评分实体属性图
(9) 文件上传属性如下图4-11所示
图4-11文件上传实体属性图
(10) 用户账户属性如下图4-12所示
图4-12用户账户实体属性图
(11) 用户组属性如下图4-13所示
图4-13用户组实体属性图
(12) 用户点击属性如下图4-14所示
图4-14用户点击实体属性图
(13)系统全局E-R图如图4-15所示。
图4-15系统E-R图
4.3.2数据库表设计
数据库表设计基于实体设计,将抽象的实体映射为具体的表结构。设计过程中,为每个实体定义表名、字段名及数据类型 [10]。根据业务需求,合理定义主键、外键及约束条件,确保表之间的关联性,例如通过外键建立用户表和角色表之间的关系。表设计时注重数据存储的完整性、一致性,并通过索引优化查询效率,最终确保数据库结构能够支持系统的功能需求。以下是系统的数据库表设计展示。
表 4-1-a***ess_token(登陆访问时长)
| 编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
| 1 |
token_id |
int |
是 |
是 |
临时访问牌ID |
|
| 2 |
token |
varchar |
64 |
否 |
否 |
临时访问牌 |
| 3 |
info |
text |
65535 |
否 |
否 |
信息 |
| 4 |
maxage |
int |
是 |
否 |
最大寿命:默认2小时 |
|
| 5 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
| 6 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
| 7 |
user_id |
int |
是 |
否 |
用户编号 |
表 4-2-auth(用户权限管理)
| 编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
| 1 |
auth_id |
int |
是 |
是 |
授权ID |
|
| 2 |
user_group |
varchar |
64 |
否 |
否 |
用户组 |
| 3 |
mod_name |
varchar |
64 |
否 |
否 |
模块名 |
| 4 |
table_name |
varchar |
64 |
否 |
否 |
表名 |
| 5 |
page_title |
varchar |
255 |
否 |
否 |
页面标题 |
| 6 |
path |
varchar |
255 |
否 |
否 |
路由路径 |
| 7 |
parent |
varchar |
64 |
否 |
否 |
父级菜单 |
| 8 |
parent_sort |
int |
是 |
否 |
父级菜单排序 |
|
| 9 |
position |
varchar |
32 |
否 |
否 |
位置 |
| 10 |
mode |
varchar |
32 |
是 |
否 |
跳转方式 |
| 11 |
add |
tinyint |
是 |
否 |
是否可增加 |
|
| 12 |
del |
tinyint |
是 |
否 |
是否可删除 |
|
| 13 |
set |
tinyint |
是 |
否 |
是否可修改 |
|
| 14 |
get |
tinyint |
是 |
否 |
是否可查看 |
|
| 15 |
field_add |
text |
65535 |
否 |
否 |
添加字段 |
| 16 |
field_set |
text |
65535 |
否 |
否 |
修改字段 |
| 17 |
field_get |
text |
65535 |
否 |
否 |
查询字段 |
| 18 |
table_nav_name |
varchar |
500 |
否 |
否 |
跨表导航名称 |
| 19 |
table_nav |
varchar |
500 |
否 |
否 |
跨表导航 |
| 20 |
option |
text |
65535 |
否 |
否 |
配置 |
| 21 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
| 22 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-3-code_token(验证码)
| 编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
| 1 |
code_token_id |
int |
是 |
是 |
验证码ID |
|
| 2 |
token |
varchar |
255 |
否 |
否 |
令牌 |
| 3 |
code |
varchar |
255 |
否 |
否 |
验证码 |
| 4 |
expire_time |
timestamp |
是 |
否 |
失效时间 |
|
| 5 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
| 6 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-4-customer_information(客户资料)
| 编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
| 1 |
customer_information_id |
int |
是 |
是 |
客户资料ID |
|
| 2 |
employee_user |
int |
否 |
否 |
员工用户 |
|
| 3 |
employee_name |
varchar |
64 |
否 |
否 |
员工姓名 |
| 4 |
customer_user |
int |
否 |
否 |
客户用户 |
|
| 5 |
customer_name |
varchar |
64 |
否 |
否 |
客户姓名 |
| 6 |
customer_phone |
varchar |
64 |
否 |
否 |
客户电话 |
| 7 |
purchase_demand |
text |
65535 |
否 |
否 |
购房需求 |
| 8 |
follow_up_progress |
text |
65535 |
否 |
否 |
跟进进度 |
| 9 |
history_of_***munication |
text |
65535 |
否 |
否 |
沟通历史 |
| 10 |
transaction_contract_limit_times |
int |
是 |
否 |
录入合同限制次数 |
|
| 11 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
| 12 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-5-customer_user(客户用户)
| 编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
| 1 |
customer_user_id |
int |
是 |
是 |
客户用户ID |
|
| 2 |
customer_name |
varchar |
64 |
否 |
否 |
客户姓名 |
| 3 |
customer_gender |
varchar |
64 |
否 |
否 |
客户性别 |
| 4 |
customer_age |
varchar |
64 |
否 |
否 |
客户年龄 |
| 5 |
examine_state |
varchar |
16 |
是 |
否 |
审核状态 |
| 6 |
user_id |
int |
是 |
否 |
用户ID |
|
| 7 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
| 8 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-6-employee_user(员工用户)
| 编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
| 1 |
employee_user_id |
int |
是 |
是 |
员工用户ID |
|
| 2 |
employee_name |
varchar |
64 |
否 |
否 |
员工姓名 |
| 3 |
employee_gender |
varchar |
64 |
否 |
否 |
员工性别 |
| 4 |
employee_age |
varchar |
64 |
否 |
否 |
员工年龄 |
| 5 |
examine_state |
varchar |
16 |
是 |
否 |
审核状态 |
| 6 |
user_id |
int |
是 |
否 |
用户ID |
|
| 7 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
| 8 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-7-hits(用户点击)
| 编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
| 1 |
hits_id |
int |
是 |
是 |
点赞ID |
|
| 2 |
user_id |
int |
是 |
否 |
点赞人 |
|
| 3 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
| 4 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
| 5 |
source_table |
varchar |
255 |
否 |
否 |
来源表 |
| 6 |
source_field |
varchar |
255 |
否 |
否 |
来源字段 |
| 7 |
source_id |
int |
是 |
否 |
来源ID |
表 4-8-notice_announcement(通知公告)
| 编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
| 1 |
notice_announcement_id |
int |
是 |
是 |
通知公告ID |
|
| 2 |
announcement_title |
varchar |
64 |
否 |
否 |
公告标题 |
| 3 |
announcement_type |
varchar |
64 |
否 |
否 |
公告类型 |
| 4 |
notification_time |
date |
否 |
否 |
通知时间 |
|
| 5 |
description_of_announcement |
varchar |
64 |
否 |
否 |
公告描述 |
| 6 |
announcement_content |
longtext |
4294967295 |
否 |
否 |
公告内容 |
| 7 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
| 8 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-9-real_estate_information(楼盘信息)
| 编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
| 1 |
real_estate_information_id |
int |
是 |
是 |
楼盘信息ID |
|
| 2 |
name_of_building |
varchar |
64 |
否 |
否 |
楼盘名称 |
| 3 |
property_address |
varchar |
64 |
否 |
否 |
楼盘地址 |
| 4 |
real_estate_huxing |
varchar |
64 |
否 |
否 |
楼盘户型 |
| 5 |
sale_price |
double |
否 |
否 |
售卖价格 |
|
| 6 |
number_of_buildings |
double |
否 |
否 |
楼盘数量 |
|
| 7 |
peripheral_supporting |
varchar |
64 |
否 |
否 |
周边配套 |
| 8 |
cover_image |
varchar |
255 |
否 |
否 |
封面图片 |
| 9 |
property_profile |
longtext |
4294967295 |
否 |
否 |
楼盘简介 |
| 10 |
mark_address |
varchar |
64 |
否 |
否 |
详细地址 |
| 11 |
mark_lng |
varchar |
64 |
否 |
否 |
详细地址经度 |
| 12 |
mark_lat |
varchar |
64 |
否 |
否 |
详细地址纬度 |
| 13 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
| 14 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-10-score(评分)
| 编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
| 1 |
score_id |
int |
是 |
是 |
评分ID |
|
| 2 |
user_id |
int |
是 |
否 |
评分人 |
|
| 3 |
nickname |
varchar |
64 |
否 |
否 |
昵称 |
| 4 |
score_num |
double |
是 |
否 |
评分 |
|
| 5 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
| 6 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
| 7 |
source_table |
varchar |
255 |
否 |
否 |
来源表 |
| 8 |
source_field |
varchar |
255 |
否 |
否 |
来源字段 |
| 9 |
source_id |
int |
是 |
否 |
来源ID |
表 4-11-transaction_contract(交易合同)
| 编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
| 1 |
transaction_contract_id |
int |
是 |
是 |
交易合同ID |
|
| 2 |
employee_user |
int |
否 |
否 |
员工用户 |
|
| 3 |
employee_name |
varchar |
64 |
否 |
否 |
员工姓名 |
| 4 |
customer_user |
int |
否 |
否 |
客户用户 |
|
| 5 |
customer_name |
varchar |
64 |
否 |
否 |
客户姓名 |
| 6 |
customer_phone |
varchar |
64 |
否 |
否 |
客户电话 |
| 7 |
name_of_building |
varchar |
64 |
否 |
否 |
楼盘名称 |
| 8 |
property_address |
varchar |
64 |
否 |
否 |
楼盘地址 |
| 9 |
real_estate_huxing |
varchar |
64 |
否 |
否 |
楼盘户型 |
| 10 |
sale_price |
varchar |
64 |
否 |
否 |
售卖价格 |
| 11 |
purchase_date |
date |
否 |
否 |
购买日期 |
|
| 12 |
number_of_purchases |
double |
否 |
否 |
购房数量 |
|
| 13 |
purchase_price |
varchar |
64 |
否 |
否 |
购房价格 |
| 14 |
contract_documents |
varchar |
255 |
否 |
否 |
合同文件 |
| 15 |
pay_state |
varchar |
16 |
是 |
否 |
支付状态 |
| 16 |
pay_type |
varchar |
16 |
否 |
否 |
支付类型: 微信、支付宝、网银 |
| 17 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
| 18 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
| 19 |
source_table |
varchar |
255 |
否 |
否 |
来源表 |
| 20 |
source_id |
int |
否 |
否 |
来源ID |
|
| 21 |
source_user_id |
int |
否 |
否 |
来源用户 |
表 4-12-upload(文件上传)
| 编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
| 1 |
upload_id |
int |
是 |
是 |
上传ID |
|
| 2 |
name |
varchar |
64 |
否 |
否 |
文件名 |
| 3 |
path |
varchar |
255 |
否 |
否 |
访问路径 |
| 4 |
file |
varchar |
255 |
否 |
否 |
文件路径 |
| 5 |
display |
varchar |
255 |
否 |
否 |
显示顺序 |
| 6 |
father_id |
int |
否 |
否 |
父级ID |
|
| 7 |
dir |
varchar |
255 |
否 |
否 |
文件夹 |
| 8 |
type |
varchar |
32 |
否 |
否 |
文件类型 |
表 4-13-user(用户账户)
| 编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
| 1 |
user_id |
int |
是 |
是 |
用户ID |
|
| 2 |
state |
smallint |
是 |
否 |
账户状态:(1可用|2异常|3已冻结|4已注销) |
|
| 3 |
user_group |
varchar |
32 |
否 |
否 |
所在用户组 |
| 4 |
login_time |
timestamp |
是 |
否 |
上次登录时间 |
|
| 5 |
phone |
varchar |
11 |
否 |
否 |
手机号码 |
| 6 |
phone_state |
smallint |
是 |
否 |
手机认证:(0未认证|1审核中|2已认证) |
|
| 7 |
username |
varchar |
16 |
是 |
否 |
用户名 |
| 8 |
nickname |
varchar |
16 |
否 |
否 |
昵称 |
| 9 |
password |
varchar |
64 |
是 |
否 |
密码 |
| 10 |
|
varchar |
64 |
否 |
否 |
邮箱 |
| 11 |
email_state |
smallint |
是 |
否 |
邮箱认证:(0未认证|1审核中|2已认证) |
|
| 12 |
avatar |
varchar |
255 |
否 |
否 |
头像地址 |
| 13 |
open_id |
varchar |
255 |
否 |
否 |
针对获取用户信息字段 |
| 14 |
create_time |
timestamp |
是 |
否 |
创建时间 |
表 4-14-user_group(用户组)
| 编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
| 1 |
group_id |
mediumint |
是 |
是 |
用户组ID |
|
| 2 |
display |
smallint |
是 |
否 |
显示顺序 |
|
| 3 |
name |
varchar |
16 |
是 |
否 |
名称 |
| 4 |
description |
varchar |
255 |
否 |
否 |
描述 |
| 5 |
source_table |
varchar |
255 |
否 |
否 |
来源表 |
| 6 |
source_field |
varchar |
255 |
否 |
否 |
来源字段 |
| 7 |
source_id |
int |
是 |
否 |
来源ID |
|
| 8 |
register |
smallint |
否 |
否 |
注册位置 |
|
| 9 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
| 10 |
update_time |
timestamp |
是 |
否 |
更新时间 |
5 系统实现
5.1客户用户功能实现
5.1.1用户注册
用户注册:输入账号、设置密码、确认密码、昵称、邮箱、选择用户身份、用户姓名、用户性别、联系电话等用户个人信息,点击注册按钮进行注册,用户注册界面如下图所示。
图5-1用户注册界面图
注册代码如下图所示。
5.1.2用户登录
用户登录:输入用户名跟密码点击登录按钮,校验通过后即可登录,用户登录界面如下图所示。
图5-2用户登录界面图
登录代码如下图所示。
5.1.3通知公告管理
用户可以查看管理员发布的通知公告,了解系统的最新动态和重要信息。界面如下图所示。
图5-3通知公告管理界面
5.1.4楼盘信息管理
客户用户点击“楼盘信息管理”这一菜单会显示楼盘信息列表和楼盘信息地图两个子菜单,点击“楼盘信息列表”可以查看楼盘信息详情,可以进行查询和重置的操作。点击“楼盘信息地图”,可以查看每个楼盘的地图信息。楼盘信息管理界面如下图所示。
图5-4楼盘信息管理界面
查询楼盘信息代码如下:
5.1.5交易合同管理
客户用户点击“交易合同管理”这一菜单会显示交易合同列表这个子菜单,点击“交易合同列表”可以查看交易合同详情,可以进行查询和重置的操作。交易合同管理界面如下图所示。
图5-5交易合同管理界面
5.2管理员功能实现
5.2.1系统用户
在“系统用户”模块下,管理员可以管理系统上的三类用户:管理员、客户用户和员工用户。管理员可以进行用户的增、删、改、查操作,包括设置权限、修改用户信息等。系统用户界面如下图所示。
图5-6系统用户界面
5.2.2楼盘信息管理
管理员点击“楼盘信息管理”这一菜单会显示楼盘信息列表、楼盘信息添加和楼盘信息地图三个子菜单,点击“楼盘信息列表”可以查看楼盘信息详情,可以进行查询、重置和删除等操作。点击“楼盘信息添加和楼盘信息地图”,管理员可以添加新的楼盘信息和地图信息。楼盘信息管理界面如下图所示。
图5-7楼盘信息管理界面
修改楼盘信息代码如下:
5.2.3客户资料管理
管理员点击“客户资料管理”这一菜单会显示客户资料列表和客户资料添加两个子菜单,点击“客户资料列表”可以查看客户资料详情,可以进行查询、重置、删除和录入合同等操作。点击“客户资料”,管理员可以添加新的客户资料。客户资料管理界面如下图所示。
图5-8客户资料管理界面
修改客户资料代码如下:
5.2.4权限管理
管理系统用户的权限设置,决定不同角色的用户可以访问的功能模块。权限管理界面如下图所示。
图5-9权限管理界面
5.2.5交易合同管理
管理员点击“交易合同管理”这一菜单会显示交易合同列表这个子菜单,点击“交易合同列表”可以查看交易合同详情,可以进行查询、重置和删除的操作。交易合同管理界面界面如下图所示。
图5-10交易合同管理界面
删除交易合同代码如下:
5.2.6通知公告管理
管理员点击“通知公告管理”这个菜单,可以对系统中的公告通知进行管理,包括公告的增删改查等操作。通知公告管理界面如下图所示。
图5-11通知公告管理界面
上传通知公告代码如下:
5.3员工用户功能实现
5.3.1楼盘信息管理
员工用户点击“楼盘信息管理”这一菜单会显示楼盘信息列表和楼盘信息地图两个子菜单,点击“楼盘信息列表”可以查看楼盘信息和楼盘信息地图详情,可以进行查询和重置的操作。楼盘信息管理界面如下图所示。
图5-12楼盘信息管理界面
5.3.2客户资料管理
员工用户点击“客户资料管理”这一菜单会显示客户资料列表和客户资料添加两个子菜单,点击“客户资料列表”可以查看客户资料详情,可以进行查询和重置的操作。点击“客户资料添加”,员工用户可以添加新的客户资料。客户资料管理界面如下图所示。
图5-13客户资料管理界面
查询客户资料代码如下:
6 系统测试
6.1测试目的
测试的主要目的是确保系统的功能和性能满足预期的需求,同时识别和修复潜在的缺陷。通过系统测试,可以验证各个功能模块的正确性和稳定性,确保系统在不同使用场景下的表现符合设计要求。测试目的包括确认系统功能的完整性、验证数据处理的准确性、评估系统的性能和安全性。测试还可以提高用户满意度,保证用户在使用系统时获得流畅和可靠的体验。通过全面的测试,可以降低后期维护成本,减少系统上线后出现故障的风险,从而保障系统的长期稳定运行。
6.2测试方法
在本系统中,测试方法主要依赖于测试用例的设计与执行。测试用例是根据系统需求文档编写的,覆盖所有功能模块及其边界情况。每个测试用例包含输入数据、预期结果和实际结果的对比,以验证系统的功能是否按预期工作。
常见的测试用例包括功能测试用例、边界测试用例和异常测试用例[11]。功能测试用例针对系统的各项功能进行验证;边界测试用例则侧重于输入数据的边界条件,验证系统在极端情况下是否能够稳定运行;异常测试用例则用于验证系统在处理错误输入或异常情况时的反应。本文选择功能测试用例进行系统测试。
在测试执行过程中,记录每个用例的执行结果,并根据实际结果与预期结果的对比,判断系统是否存在缺陷。通过系统化的测试用例执行,可以有效提高测试的覆盖率和效率,为系统的最终上线提供保障。
6.3测试内容
系统的测试用例表格如下图所示。
表6-1 系统测试用例表
| 测试项 |
测试用例 |
问题 |
结论 |
| 登录功能测试 |
打开登录页面 输入正确的用户名和密码 点击“登录”按钮 |
无 |
符合预期 |
| 登录功能测试 |
打开登录页面 输入错误的用户名 输入正确的密码 点击“登录”按钮 |
无 |
符合预期 |
| 登录功能测试 |
打开登录页面 输入正确的用户名 输入错误的密码 点击“登录”按钮 |
无 |
符合预期 |
| 登录功能测试 |
打开登录页面 输入不存在的用户名和密码 点击“登录”按钮 |
无 |
符合预期 |
| 注册功能测试 |
打开注册页面 输入合法的用户名、密码、邮箱等信息 点击“注册”按钮 |
无 |
符合预期 |
| 注册功能测试 |
打开注册页面 输入已存在的用户名 输入其他合法信息 点击“注册”按钮 |
无 |
符合预期 |
| 注册功能测试 |
打开注册页面 输入合法用户名但密码不符合要求(如长度不足) 点击“注册”按钮 |
无 |
符合预期 |
| 注册功能测试 |
打开注册页面 输入合法用户名和密码但邮箱格式错误 点击“注册”按钮 |
无 |
符合预期 |
| 查看楼盘信息测试 |
登录系统 进入楼盘信息页面 浏览楼盘信息 |
无 |
符合预期 |
| 查看楼盘信息测试 |
登录系统 进入楼盘信息页面 使用搜索栏输入关键词搜索楼盘信息 |
无 |
符合预期 |
| 查看楼盘信息测试 |
登录系统 进入楼盘信息页面 点击楼盘信息详情查看完整信息 |
无 |
符合预期 |
| 查看楼盘信息测试 |
登录系统 进入楼盘信息页面 不输入任何搜索条件直接点击搜索 |
无 |
符合预期 |
6.4测试结果
在本次测试的过程主要针对所有功能下的添加操作,修改操作和删除操作,并以真实数据一一进行相关功能项目的输入,最终能够保证每个项目涉及的功能都是能够正常运行,因此能够保证本次设计的,已实现的功能能够正常运行并且相关数据库的信息也同样保证正确。
7 总结
经过一个学期的毕业设计的实现完成已接近尾声,到目前为止,当我回想起整个学期的系统开发日,收获颇丰。毕业设计的主要任务是建立一个智能化的房产中介楼盘信息管理系统,主要使用springboot+vue框架和Mysql数据库的开发工具,对系统的每个功能模块进行相对应的操作,最后,系统调试结果表明系统基本可以满足功能要求。
房产中介楼盘信息管理系统的开发对我大学学习的改进有很大帮助。它使我能够学习计算机知识的相关技术方面问题及与人交往的沟通交流方面,让我意识到无论我们做什么,我们都需要坚持不懈,努力工作,只有这样尝试了并且坚持去做了,我们才可以成功,才可以获得成功的喜悦,如果没有尝试,只是想,那连成功的机会都没有,实际操作进行做了,才会越来越近的靠近成功,随着道路一路向前,未来的路是美好的。
在项目的设计过程中,我克服了各种困难,并且在面对这些困难,我积极的面对,想办法解决问题,并且更好的掌握了理论知识和动手操作实践能力,从系统的开发到设计完成,我完成了一个更全面、更完善、更安全的系统,这也让我取得了很大的成就感,也使我对未来的生活更有信心。
参考文献
- 刘江涛,王亮亮,吴庆茹,等.基于B/S模式的铁路勘测设计案例信息化管理系统设计与实现[J].铁路计算机应用,2021,30(03):32-35.
- 张丹丹,李弘.基于B/S架构的办公管理系统设计与开发[J].铁路通信信号工程技术,2024,21(09):44-48+106.
- 王志亮,纪松波.基于SpringBoot的Web前端与数据库的接口设计[J].工业控制计算机,2023,36(03):51-53.
- 熊永平.基于SpringBoot框架应用开发技术的分析与研究[J].电脑知识与技术,2021,15(36):76-77.
- 赵媛.基于Vue的Web系统前端性能优化分析[J].电脑编程技巧与维护,2024,(09):44-46.
- 秦冬.浅析Vue框架在前端开发中的应用[J].信息与电脑(理论版),2024,36(13):61-63.
- 李艳杰.MySQL数据库下存储过程的综合运用研究[J].现代信息科技,2023,7(11):80-82+88.
- 陈倩怡,何军.Vue+Springboot+MyBatis技术应用解析[J].电脑编程技巧与维护,2020,(01):14-15+28.
- 周晓玉,崔文超.基于Web技术的数据库应用系统设计[J].信息与电脑(理论版),2023,35(09):189-191.
- 马艳艳,吴晓光.计算机软件与数据库的设计策略分析[J].电子技术,2024,53(05):104-105.
- 李俊萌.计算机软件测试技术与开发应用策略分析[J].信息记录材料,2023,24(03):50-52.
- 段瑞,李方一.Java项目任务教学研究与设计[C]//河南省民办教育协会.2024年高等教育发展论坛论文集(上册).绵阳城市学院;,2024:287-288.DOI:10.26914/c.***kihy.2024.009751.
- Wai H K ,Funabiki N,Aung T S, et al.Answer Code Validation Program with Test Data Generation for Code Writing Problem in Java Programming Learning Assistant System[J].Engineering Letters,2024,32(5):
- Ullenboom C .Java Programming Exercises:Volume Two: Java Standard Library[M].CRC Press:2024-03-30.
- Davi V .Designing Hexagonal Architecture with Java:Build maintainable and long-lasting applications with Java and Quarkus[M].Packt Publishing Limited:2023-09-29.DOI:10.0000/9781837630714.
- 伍琴,和增表,穆楠,等.职工住房档案及房屋管理信息化系统[J].中国新通信,2022,24(16):86-88.
- 马牧原,徐日升,徐亚飞.基于大数据技术的房屋管理系统[J].电子测试,2022,36(08):85-87.DOI:10.16520/j.***ki.1000-8519.2022.08.037.
- 闫宁,宫延鹏.东城区房屋综合管理平台设计与实现[J].北京测绘,2021,35(12):1529-1533.DOI:10.19580/j.***ki.1007-3000.2021.12.007.
- 彭涛.基于SSH的房产中介管理系统的设计与现实[J].电脑知识与技术,2020,16(13):73-75.DOI:10.14004/j.***ki.ckt.2020.1621.
- 陆士侠.基于大数据技术的房产中介信息管理系统设计[J].科技风,2020,(04):92.DOI:10.19392/j.***ki.1671-7341.202004086.
- 朱智斌.以信息化手段规范管理房地产中介实名登记[J].中国房地产,2019,(25):73-74.DOI:10.13562/j.china.real.estate.2019.25.018.
致谢
本论文的完成离不开众多导师、同学以及亲友的支持与帮助。在此,首先向我的导师表示最诚挚的感谢。在整个研究和写作过程中,导师以严谨治学的态度和丰富的专业知识给予了我无私的指导,从论文选题到最终定稿的每一个环节,都为我提供了宝贵的建议与意见,使我得以不断完善研究内容、拓展学术视野。导师耐心细致的指导不仅帮助我解决了许多学术难题,也让我在研究能力与学术写作方面得到了显著的提升。导师的鼓励与支持是我完成这篇论文的重要动力,也让我深刻体会到学术研究的严谨性与意义。
我还要感谢在学习生活中给予我帮助和支持的同学、朋友以及家人。论文撰写过程中,许多同学与我共同探讨问题,分享经验与资料,使我的研究更加全面深入。朋友们的关心和陪伴让我在繁忙的研究过程中能够调节心情,保持良好的状态。特别感谢我的家人,他们始终给予我无条件的理解和支持,为我创造了安心学习与研究的环境。正是因为有了大家的帮助和支持,我才能克服论文写作中的重重困难并顺利完成。再次向所有支持和帮助过我的人表达衷心的感谢。
-免费领取项目源码,请关注❤点赞收藏并私信博主,谢谢-