摘 要
随着城市化进程的加快,停车难问题日益突出,传统的人工管理模式已无法满足现代化管理需求。为解决这一问题,本论文设计并实现了一种基于Spring Boot框架的停车场管理系统。该系统旨在为用户和管理员提供高效便捷的服务,并通过信息化手段优化停车场的资源管理、提升用户体验。系统包括用户端和管理员端两个主要功能模块。
在用户端,系统支持用户进行注册登录、在线充值、查看车位信息、管理个人账户、停车记录和消费记录等功能,用户可以实时查看停车位的空闲情况,预约车位并进行线上支付。此外,用户还可以通过个人中心进行账户管理、评论管理等,提升了用户的便利性和互动性。
在管理员端,系统提供了强大的后台管理功能,包括系统用户管理、车位管理、充值消费管理、车辆入场出场管理、公告管理等。管理员可以高效地进行车位信息更新、用户充值与消费记录查看、权限管理及操作日志审计等操作。系统还集成了数据统计和报表功能,方便管理员对停车场运营状况进行实时监控和决策支持。
本系统采用Spring Boot框架开发,结合MySQL数据库存储数据,使用Spring Security实现安全认证,确保系统的高效性、安全性和可扩展性。经过测试,系统运行稳定,用户界面友好,能够有效地提升停车场的管理效率和用户满意度。该系统的实现不仅为停车场管理提供了一种新的解决方案,也为类似系统的开发提供了参考。
关键词:Spring Boot;停车场管理;用户管理;车位管理;在线支付;系统设计
With the acceleration of urbanization, the problem of difficult parking has become increasingly prominent, and the traditional manual management mode can no longer meet the needs of modern management. To address this issue, this paper designs and implements a parking lot management system based on the Spring Boot framework. The system aims to provide efficient and convenient services for users and administrators, and optimize the resource management of parking lots through information technology to enhance user experience. The system consists of two main functional modules: the user end and the administrator end.
On the user side, the system supports functions such as registration and login, online recharge, viewing parking information, managing personal accounts, parking records, and consumption records. Users can check the availability of parking spaces in real time, book parking spaces, and make online payments. In addition, users can also manage their accounts and comments through their personal center, which enhances their convenience and interactivity.
On the administrator side, the system provides powerful backend management functions, including system user management, parking space management, recharge and consumption management, vehicle entry and exit management, announcement management, etc. Administrators can efficiently update parking information, view user recharge and consumption records, manage permissions, and audit operation logs. The system also integrates data statistics and reporting functions, making it convenient for administrators to monitor and make decisions on the operation status of the parking lot in real time.
This system is developed using the Spring Boot framework, combined with MySQL database to store data, and uses Spring Security to implement security authentication, ensuring the efficiency, security, and scalability of the system. After testing, the system runs stably and has a user-friendly interface, which can effectively improve the management efficiency and user satisfaction of the parking lot. The implementation of this system not only provides a new solution for parking lot management, but also serves as a reference for the development of similar systems.
key word: Spring Boot; Parking lot management; User management; Parking space management; Online payment; system design
目 录
1绪论
1.1研究背景与意义
随着城市化进程的不断推进,城市人口和机动车数量的迅猛增加,导致了停车难问题的日益严重。传统的停车场管理模式以人工管理为主,存在着资源分配不均、信息更新不及时、管理效率低下等一系列问题。这些问题不仅影响了停车场的运营效率,也使得用户的停车体验受到很大制约。在此背景下,借助信息技术对停车场管理进行智能化、自动化改造成为了一项重要的研究方向。
Spring Boot作为一种轻量级的开发框架,以其简洁、易用和高效的特点,逐渐成为Web应用开发的首选框架。基于Spring Boot的停车场管理系统能够有效解决传统管理模式中的种种弊端,通过系统化的信息管理和自动化的服务流程,提升停车场的运营效率和服务质量。通过集成车位信息管理、在线支付、账户管理、用户查询等功能,既方便了用户的使用,也增强了停车场运营方对停车场资源的掌控能力。
基于Spring Boot的停车场管理系统的研究与实施,不仅可以缓解城市停车问题,提高停车资源的利用效率,还能推动智能交通和智慧城市的建设。该系统在提高用户停车体验的同时,还为停车场的管理者提供了强大的数据支持和决策工具,优化了管理流程,减少了人工成本。此外,随着人们对便捷生活方式的需求不断提升,停车场管理系统的智能化、数字化将成为未来停车管理的趋势,具有广阔的应用前景。
基于Spring Boot的停车场管理系统的设计与实现不仅为停车场管理领域提供了新的解决方案,也为相关技术的研究与应用提供了实践经验和理论参考。通过对系统功能模块的设计与实现的探讨,不仅展示了Spring Boot框架在实际项目中的应用潜力,也推动了停车管理技术的进步。
1.2国内外研究现状
随着城市化进程的不断加速,停车问题日益成为城市交通管理中的重要课题。为解决这一问题,国内外研究者提出了多种智能停车系统设计方案,这些方案多依赖先进的技术手段以提高停车场的管理效率和用户体验。
在国外,许多研究关注智能停车场系统的自动化和集成化。Gulmini Pradhan等人提出了一种基于传感器和图像处理的停车管理系统,该系统通过自动化车牌识别和传感器的双重验证,优化了停车场的车位检测和费用计算。该系统实现了高达95%的准确率,极大地减少了停车场的管理错误,并提升了用户体验[1]。类似的,Artur Janowski等人提出的SPARK系统,通过机器学习和群体智能优化停车资源管理,显示出87.33%的车位检测准确率[2]。此外,Allah Ditta等人研究的基于车牌识别(ANPR)与物联网(IoT)的智能停车系统,也为现代城市停车管理提供了高效的解决方案,具有实时监控和灵活计费等功能[4]。
在国内,停车场管理系统的发展也日趋成熟。黄建岗等人基于国产GBase数据库,结合Flask框架设计了一种高效的停车场管理系统,解决了数据管理与存储问题[3]。此外,国内研究者还探索了基于硬件技术的智能停车管理。黄琼桃等人基于红外传感器设计的停车场管理系统,通过实时监控停车场状态,提高了停车场的管理效率和用户体验[5]。另一项研究则提出了基于单片机的室内停车场管理方案,通过实时显示停车状态来解决停车混乱问题,提升了管理效率[5]。
除了传统的车位管理和信息存储,更多的研究开始着眼于如何优化车位利用率。例如,王继伟提出了一种基于微信小程序和Java技术的无人停车场管理系统,该系统采用先离场后支付的方式,减少了车主等待时间,并允许无牌车的报备,进一步提高了停车场的智能化程度[7]。同时,黄大维设计的智能停车场管理系统则整合了多个先进技术,包括GPS、云计算等,旨在提高车辆进出效率,并解决车主寻找停车位时的时间浪费问题[15]。
总的来说,国内外的研究都显示了智能停车系统在提高停车资源利用率、优化用户体验以及提升管理效率方面的潜力。通过技术创新,尤其是在图像识别、数据分析和智能控制领域,现代停车管理系统不仅可以解决传统管理方法中的诸多问题,还能够为未来城市的可持续发展贡献力量。这些研究成果为基于Spring Boot的停车场管理系统的设计与实现提供了宝贵的参考和启示。
2相关技术简介
2.1 Springboot 框架简介
Spring Boot,作为Spring生态系统中一颗璀璨的明星,以其“约定优于配置”的核心理念,极大地简化了Java应用的开发、部署与管理流程。它并非是对Spring框架的颠覆,而是在其基础上进行了深度封装与优化,旨在快速搭建独立的、生产级别的Spring应用。Spring Boot通过自动配置功能,减少了大量繁琐的配置工作,让开发者能够更加专注于业务逻辑的实现。同时,它集成了众多常用库,如数据库连接池、缓存、消息队列等,为开发者提供了一站式的解决方案。此外,Spring Boot还支持多种部署方式,无论是传统的WAR包部署,还是现代的容器化部署,都能轻松应对。因此,选择Spring Boot作为停车场管理系统的开发框架,不仅能够提升开发效率,还能确保系统的稳定性和可维护性。
2.2 MyBatis Plus框架简介
MyBatis Plus作为MyBatis的强化版,以其卓越的简化开发流程、增强的CRUD操作功能以及灵活的查询构建能力,在Java企业级应用开发中大放异彩。它不仅保留了MyBatis的灵活性和SQL控制能力,还通过内置通用Mapper、条件构造器、代码生成器等工具,极大减轻了开发者的负担。MyBatis Plus的自动填充、乐观锁、逻辑删除等特性,更是为数据管理提供了强大的支持。在基于Spring Boot的停车场管理系统中引入MyBatis Plus,意味着可以更快地实现复杂的数据操作逻辑,更灵活地应对业务需求变化,同时保持代码的清晰和可维护性,是提升开发效率、保障系统稳定性的不二之选。
2.3 VUE框架简介
Vue框架,作为一款风靡前端的JavaScript框架,以其渐进式、组件化的设计理念,为开发者构建高效、灵活的Web界面提供了强大支持。Vue不仅轻量且易于上手,其核心库专注于视图层,使得开发者能够轻松地将Vue集成到现有项目中,实现前后端分离的现代Web应用开发。其响应式的数据绑定和组件系统,让开发者能够高效地管理界面状态和用户交互,同时Vue丰富的生态系统也提供了众多插件和工具,进一步提升了开发效率和应用的性能。在基于Spring Boot的停车场管理系统中引入Vue作为前端框架,不仅可以优化用户界面的渲染和交互体验,还能通过前后端分离的架构提升系统的可维护性和可扩展性,是构建现代、高效停车场管理系统的理想选择。
2.4 MySQL数据库简介
MySQL数据库,作为开源关系型数据库管理系统的佼佼者,以其高性能、可靠性、易用性和灵活性,在全球范围内被广泛应用于各类企业级应用中。MySQL采用SQL(结构化查询语言)作为数据操作的标准语言,支持复杂的查询、数据更新、索引优化等功能,确保数据的高效存取和完整性。其强大的事务处理能力,为业务逻辑的原子性、一致性、隔离性和持久性提供了坚实保障。此外,MySQL还具备高度的可配置性和可扩展性,通过优化存储引擎、调整配置参数等手段,可以轻松应对高并发、大数据量的应用场景。在基于Spring Boot的停车场管理系统中,MySQL作为后端数据存储的核心,不仅为系统提供了稳定可靠的数据支持,还通过其丰富的数据操作功能,助力系统实现复杂的业务逻辑和高效的数据管理。
3系统需求分析
3.1系统功能需求分析
停车场管理系统基于Spring Boot框架设计与实现,目标是通过有效管理停车资源、提升用户体验和管理员的管理效率。系统涉及两类主要用户:注册用户(普通用户)和管理员。以下将详细阐述这两类用户的功能模块。
1.注册用户功能分析
登录注册:注册用户可以通过系统提供的注册页面创建账户,输入个人信息(如用户名、密码、邮箱等)进行注册。注册完成后,用户可以使用用户名和密码登录系统。系统将通过验证用户的账号和密码来确保安全。
首页:用户登录后进入系统首页,展示停车场的基本信息和动态内容。例如车位的实时空闲情况、优惠活动、收费标准等。首页应简洁易用,展示清晰的导航和停车信息。
通知公告:系统会定期发布停车场的通知和公告,如停车场的运营政策变动、收费标准更新等。用户可通过系统查看相关公告,保持对停车场运营情况的了解。
最新资讯:用户可以查看与停车、交通、停车政策等相关的最新资讯和新闻动态。系统会定期更新内容,帮助用户了解行业最新发展。
在线充值:用户可以通过平台进行充值,支付方式支持支付宝、微信、银行卡等多种渠道。充值后,用户的账户余额将可以用于支付停车费用。
车位信息:用户可以查看停车场内的车位信息,包括车位的空闲状态、车位类型以及收费标准。用户根据车位信息选择停车位置。
我的账户:用户可以在账户页面查看自己的个人信息和账户状态,包括余额、停车记录、充值记录等。用户还可以修改个人信息(如昵称、联系方式等)。
个人中心:
在线充值:用户可以直接在个人中心进行充值,方便管理账户余额。
充值记录:展示用户的充值历史记录,包括每次充值的时间、金额、支付方式等。
消费记录:展示用户的消费情况,包括停车费用、停车时长等,便于用户查询历史账单。
车辆入场:展示用户车辆的入场信息,包括入场时间、车位信息等。
车辆出场:展示车辆的出场信息,包括停车费用和停车时长。
收藏:用户可以收藏自己喜欢的车位或停车场,方便下次快速找到。
评论管理:用户可以对停车场的服务、车位、设施等进行评价和评论。
2.管理员功能分析
后台首页:管理员登录后,进入后台首页,系统将展示停车场的总体运营情况,如车位的使用情况、用户活跃度、停车收入等统计信息,帮助管理员实时了解停车场运营状况。
系统用户管理:管理员可以管理系统中的用户,包括查看用户的个人信息、账户余额、消费记录等。管理员有权限冻结、删除或编辑用户账户。
车辆型号管理:管理员可以管理系统支持的车辆类型(如轿车、电动车、SUV等),并为不同类型的车辆设置不同的停车收费标准。例如,电动车和普通车的收费可能不同。
在线充值管理:管理员可以查看所有用户的充值记录,统计充值金额,进行充值数据的管理和审核。
充值记录管理:管理员可以查询和导出用户的充值记录,帮助了解用户的充值历史及趋势。
消费记录管理:管理员可查看用户的消费记录,包括停车费用、停车时长等,进行相应的财务管理。
车位类型管理:管理员可以设定不同类型的车位(如普通车位、VIP车位等),并为每种车位设置不同的费用。
车位信息管理:管理员可以查看和编辑车位的空闲状态、车位编号、收费标准等信息。
车位入场管理:管理员可以查看车位的入场记录,了解哪些车辆已进入停车场,并管理停车时间等信息。
车位出场管理:管理员可以查看车辆的出场时间、停车时长、费用等,并进行结算。
轮播图管理:管理员可以管理系统首页的轮播图内容,包括优惠活动、促销信息等,增加平台的可见性和用户参与度。
通知公告管理:管理员可以发布和管理停车场的通知、公告,如收费调整、停车场维修等。用户可通过公告获取停车场的最新动态。
最新资讯管理:管理员可以发布与停车、交通、行业动态相关的新闻资讯,为用户提供有价值的信息。
资讯分类管理:管理员可以对资讯进行分类管理,帮助用户快速找到所需的资讯。
权限管理:管理员可以管理不同角色的权限,确保只有授权用户可以访问系统的特定功能。可以为超级管理员、普通管理员等不同角色设置不同的操作权限。
操作日志:系统会记录管理员的操作日志,如数据修改、公告发布等,以便后期查看和追踪。管理员可以查询和审计所有操作记录。
本系统基于Spring Boot框架的设计,涵盖了全面的用户需求。注册用户可以方便地进行账户管理、充值、查询车位信息等操作,提升停车体验;管理员则通过后台管理模块进行全面的车位管理、用户管理、财务管理等任务,确保系统的高效运行。通过精细化的功能设计,系统能够满足不同用户的需求,同时提升停车场的管理效率和用户的满意度。
3.2系统非功能性分析
基于Spring Boot的停车场管理系统在撰写系统毕业论文时,非功能性需求分析是一个重要的部分。非功能性需求主要关注的是系统如何运行,而不是它具体完成什么功能。这些需求包括性能、可用性、安全性、可维护性、可扩展性、易用性等方面。以下是一个关于基于Spring Boot的停车场管理系统非功能性需求分析的概要。
性能需求:系统需确保快速响应和高吞吐量,以支持大量用户同时访问,即使在高峰时段也能保持流畅的操作体验,避免因延迟或卡顿影响用户体验。
可用性:安系统必须具备高可用性,采用冗余部署、负载均衡等策略,确保即使部分组件故障也能迅速恢复服务,减少服务中断时间,保障用户业务的连续性。
安全性:鉴于系统处理用户敏感信息,如个人信息等,必须实施严格的安全措施,包括数据加密、访问控制、防攻击机制等,以保护用户数据免受未授权访问或泄露。
可维护性:系统设计应注重可维护性,采用模块化、标准化的架构,提供详尽的开发文档和用户手册,确保系统易于理解和维护,降低长期运维成本。
可扩展性:随着业务的发展,系统可能需要扩展功能或提升性能。因此,系统需具备灵活的可扩展性,能够轻松添加新模块、优化性能,以应对未来增长的需求。
易用性:用户界面应直观易用,符合用户习惯,提供清晰的导航和友好的操作反馈,帮助用户快速上手并高效完成任务,提升整体用户满意度。
3.3系统可行性分析
通过基于Spring Boot的停车场管理系统的可行性分析,我们可以从技术可行性、经济可行性、操作可行性三个维度进行深入探讨,以确保系统的开发与应用具有坚实的可行性基础。
3.3.1技术可行性
Springboot作为目前流行的Java企业级应用开发框架,以其“约定优于配置”的原则,极大地简化了开发流程,降低了技术门槛。同时,结合MyBatis Plus这一强大的ORM框架,可以高效实现数据持久化操作。前端采用Vue框架,不仅提升了用户界面的交互体验,也实现了前后端分离的现代Web架构。MySQL数据库作为后端数据存储,以其高性能和稳定性为系统提供了可靠的数据支持。综上所述,从技术角度来看,该系统的开发具备高度可行性。
3.3.2经济可行性
考虑到Springboot、Vue、MyBatis Plus及MySQL等均为开源技术,无需支付高昂的许可费用,大大降低了系统的开发成本。同时,这些技术拥有广泛的用户群体和成熟的社区支持,便于获取技术支持和资源共享。此外,系统的实施将显著提升基于Spring Boot的停车场管理系统的效率和用户体验,从而带来潜在的经济效益。因此,从经济角度来看,该系统的开发同样具备可行性。
3.3.3操作可行性
系统设计应遵循用户友好原则,确保用户能够轻松上手并高效使用。通过合理的界面布局、直观的操作流程以及详尽的帮助文档,可以大大降低用户的学习成本,提高系统的操作可行性。此外,系统还应具备完善的权限管理和数据安全机制,确保操作的安全性和合规性。
从技术、经济、操作三个维度来看,基于Spring Boot的停车场管理系统的开发均具备高度的可行性。
3.4系统用例分析
基于Spring Boot的停车场管理系统用例分析主要从注册用户、管理员这些实体展开描述。
3.4.1注册用户用例分析
注册用户具备登录注册、首页、通知公告、最新资讯、在线充值、车位信息、我的账户、个人中心(个人首页、在线充值、充值记录、消费记录、车辆入场、车辆出场、收藏、评论管理)等需求用例,详细用例图如图3-1所示。

图3-1注册用户用例图
3.4.2管理员用例分析
管理员具备后台首页、系统用户、车辆型号管理、充值消费管理(在线充值管理、充值记录管理、消费记录管理)、车位管理(车位类型管理、车位信息管理)、出入场管理(车位入场管理、车位出场管理)、系统管理(轮播图管理)、通知公告管理、资源管理(最新资讯、资讯分类)、权限管理、操作日志等需求用例。详细用例图如图3-2所示。

图3-2管理员用例图
4系统设计
4.1系统总体设计思路
基于Spring Boot的停车场管理系统采用Browser/Server结构,(浏览器/服务器)和基于Web服务前后台交互的模式,是一个适用于Windows体系环境下的模型结构。只要用户有符合程序运行的硬件系统,并连上互联网,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示:

图4-1系统工作原理图
其最终前后台交互原理如图4-2所示。

图4-2前后台交互原理
具体交互流程为:浏览器中执行具体操作,操作命令将生成一个do方法。该方法使得浏览器能够访问后台中的Controller层,Controller层由于业务上的需要执行进而访问Service层。Service层收到指令后将会去调用内部DAO层的接口。接口将会和MyBatis层下的一个SQL语句相对接。对接好之后进而访问MySql数据库。更新底层数据,然后将数据同步回MyBatis层,同步变化后的数据将通过DAO层接口,Service层和后台Controller层,直观反映到浏览器页面上。
4.2系统结构设计
基于Spring Boot的停车场管理系统的整体结构设计如图4-3所示。

图4-3整体功能结构设计图
4.3系统功能设计
4.3.1系统开发流程
基于Spring Boot的停车场管理系统开发时,首先进行需求分析,进而对系统进行总体的设计规划,设计系统功能模块,数据库的选择等,本系统的开发流程如图4-4所示。

图4-4系统开发流程图
4.3.2 用户登录流程
为了保证系统的安全性,要使用本系统对系统信息进行管理,必须先登陆到系统中。如图4-5所示。

图4-5 登录流程图
4.3.3 系统操作流程
用户打开并进入系统后,会先显示登录界面,输入正确的用户名和密码,系统自动检测信息,若信息无误,则用户会进入系统功能界面,进行操作,否则会提示错误无法登录,操作流程如图4-6所示。

图4-6 系统操作流程图
4.3.4 添加信息流程
管理员可以对通知公告、最新资讯等进行信息的添加,用户可以对自己权限内的信息进行添加,输入信息后,系统会自行验证输入的信息和数据,若信息正确,会将其添加到数据库内,若信息有误,则会提示重新输入信息,添加信息流程如图4-7所示。

图4-7 添加信息流程图
4.3.5 修改信息流程
管理员可以对通知公告、最新资讯等进行的修改,用户可以对自己权限内的信息进行修改,首先进入修改信息界面,输入修改信息数据,系统进行数据的判断验证,修改信息合法则修改成功,信息更新至数据库,信息不合法则修改失败,重新输入。修改信息流程图如图4-8所示。

图4-8 修改信息流程图
4.3.6 删除信息流程
管理员可以对通知公告、最新资讯等进行信息的删除,对要删除的信息进行选中后,点击删除按钮,系统会询问是否确定,若点击确定,则系统会删除掉选中的信息,并在数据库内对信息进行删除,删除信息流程图如图4-9所示。

图4-9 删除信息流程图
4.4系统核心代码设计
基于Spring Boot的停车场管理系统的核心代码设计如下:
4.4.1用户注册
注册页UserController.java,传入user对象,并将"user_id"、 "state"、 "user_group"、"login_time"、"phone"、"phone_state"、 "username"、"nickname"、"password"、"email"、"email_state"、"avatar"、"create_time"输入,重点是 "username"、"nickname"、"password"必须输入,通过获取username,数据库查询是否有该用户,如果存在,则提示“用户已存在”,否则执行将UserId置为空(数据库表中该字段已设置自动递增),代码如图4-10所示。

图4-10注册核心代码图
4.4.2用户登录
登录页,首先传入"username"、"email"、"phone"、"password",用户可通过用户名、邮箱、手机号进行登陆,通过判断resultList来确定查询结果,然后执行查询用户组UserGroup,用户组里面不存在,依然报“用户不存在”,执行完以上代码,最后涉及到用户带有“审核”的,会查询examine_state(用户的审核状态),数据库表user_group中含有source_table和source_field进行查询,以上步骤完成,对输入的密码进行存储Token到数据库,匹对账号和密码,数据库中的AccessToken为令牌,用于身份认证,代码如图4-11所示。

图4-11用户登录核心代码图
4.4.3修改密码
修改密码,通过请求data,获取旧密码,并将新密码重新赋值,期间都是需要通过加密,代码如图4-12所示。

图4-12修改密码核心代码图
4.4.4修改数据
修改一个数据,原理与add基本一致,不同点在于通过readConfig()读取关键字,以及通过readQuery()获取URL后面?指定位置的标识,转成Map对象后,执行update操作,同样通过拼接的sql语句执行,执行过程读取query,toWhereSql()语句完成数据库操作,body为修改对象的值,代码如图4-13所示。

图4-13修改数据核心代码图
4.4.5删除数据
删除一条数据,通过readQuery(),获取URL后面的对象地址,删除FROM具体的table,query删除查询FindConfig语句,代码如图4-14所示。

图4-14删除数据核心代码图
4.4.6获取列表
通过请求的参数获取列表数据,代码如图4-15所示。

图4-15获取列表核心代码图
4.4.7图片上传
通过请求的参数获取列表数据,代码如图4-16所示。

图4-16图片上传核心代码图
4.5数据库设计
4.5.1数据库设计原则
基于Spring Boot的停车场管理系统在进行数据库设计时,考虑到个人能力与数据库选择,选择了数据库Mysql。以下将使用E-R展示数据库中设计的实体及主要的字段和类型及数据库的描述。
4.5.2数据库实体
通过建立基于Spring Boot的停车场管理系统的E-R模型图。以此来设计详细的数据库资料实体,以下为具体图例:
(1)注册用户实体图如图4-17所示;

图4-17注册用户实体图
(2)在线充值实体图如图4-18所示;

图4-18在线充值实体图
(3)车辆入场实体E-R图如图4-19所示;

图4-19车辆入场实体图
(4)车辆出场实体图如图4-20所示;

图4-20车辆出场实体图
(5)数据库实体E-R图如图4-21所示:

图4-21数据库E-R图
4.5.3数据库表设计
以下为本课题开发过程中所使用的数据表结构:
表access_token (登陆访问时长)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | token_id | int | 10 | 0 | N | Y | 临时访问牌ID | |
| 2 | token | varchar | 64 | 0 | Y | N | 临时访问牌 | |
| 3 | info | text | 65535 | 0 | Y | N | ||
| 4 | maxage | int | 10 | 0 | N | N | 2 | 最大寿命:默认2小时 |
| 5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 7 | user_id | int | 10 | 0 | N | N | 0 | 用户编号: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | auth_id | int | 10 | 0 | N | Y | 授权ID: | |
| 2 | user_group | varchar | 64 | 0 | Y | N | 用户组: | |
| 3 | mod_name | varchar | 64 | 0 | Y | N | 模块名: | |
| 4 | table_name | varchar | 64 | 0 | Y | N | 表名: | |
| 5 | page_title | varchar | 255 | 0 | Y | N | 页面标题: | |
| 6 | path | varchar | 255 | 0 | Y | N | 路由路径: | |
| 7 | parent | varchar | 64 | 0 | Y | N | 父级菜单 | |
| 8 | parent_sort | int | 10 | 0 | N | N | 0 | 父级菜单排序 |
| 9 | position | varchar | 32 | 0 | Y | N | 位置: | |
| 10 | mode | varchar | 32 | 0 | N | N | _blank | 跳转方式: |
| 11 | add | tinyint | 3 | 0 | N | N | 1 | 是否可增加: |
| 12 | del | tinyint | 3 | 0 | N | N | 1 | 是否可删除: |
| 13 | set | tinyint | 3 | 0 | N | N | 1 | 是否可修改: |
| 14 | get | tinyint | 3 | 0 | N | N | 1 | 是否可查看: |
| 15 | field_add | text | 65535 | 0 | Y | N | 添加字段: | |
| 16 | field_set | text | 65535 | 0 | Y | N | 修改字段: | |
| 17 | field_get | text | 65535 | 0 | Y | N | 查询字段: | |
| 18 | table_nav_name | varchar | 500 | 0 | Y | N | 跨表导航名称: | |
| 19 | table_nav | varchar | 500 | 0 | Y | N | 跨表导航: | |
| 20 | option | text | 65535 | 0 | Y | N | 配置: | |
| 21 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 22 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | code_token_id | int | 10 | 0 | N | Y | ||
| 2 | token | varchar | 255 | 0 | Y | N | ||
| 3 | code | varchar | 255 | 0 | Y | N | 验证码 | |
| 4 | expire_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 失效时间 |
| 5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | comment_id | int | 10 | 0 | N | Y | 评论ID: | |
| 2 | user_id | int | 10 | 0 | N | N | 0 | 评论人ID: |
| 3 | reply_to_id | int | 10 | 0 | N | N | 0 | 回复评论ID:空为0 |
| 4 | content | longtext | 2147483647 | 0 | Y | N | 内容: | |
| 5 | nickname | varchar | 255 | 0 | Y | N | 昵称: | |
| 6 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
| 7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 9 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
| 10 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
| 11 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | hits_id | int | 10 | 0 | N | Y | 点赞ID: | |
| 2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
| 3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
| 6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
| 7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | message_id | int | 10 | 0 | N | Y | 留言板ID: | |
| 2 | user_id | int | 10 | 0 | N | N | 0 | 用户ID: |
| 3 | title | varchar | 64 | 0 | Y | N | 标题: | |
| 4 | content | longtext | 2147483647 | 0 | N | N | 内容: | |
| 5 | nickname | varchar | 32 | 0 | N | N | 昵称: | |
| 6 | avatar | varchar | 255 | 0 | Y | N | 头像: | |
| 7 | | varchar | 125 | 0 | Y | N | 留言者邮箱 | |
| 8 | phone | varchar | 11 | 0 | Y | N | 留言者手机号码 | |
| 9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 11 | reply | longtext | 2147483647 | 0 | Y | N | 回复 | |
| 12 | reply_state | tinyint | 4 | 0 | Y | N | 0 | 回复状态 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | notice_id | mediumint | 8 | 0 | N | Y | 公告id: | |
| 2 | title | varchar | 125 | 0 | N | N | 标题: | |
| 3 | content | longtext | 2147483647 | 0 | Y | N | 正文: | |
| 4 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 5 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | online_recharge_id | int | 10 | 0 | N | Y | 在线充值ID | |
| 2 | car_owner_user | int | 10 | 0 | Y | N | 0 | 车主用户 |
| 3 | car_owners_name | varchar | 64 | 0 | Y | N | 车主姓名 | |
| 4 | car_owners_mobile_phone | varchar | 64 | 0 | Y | N | 车主手机 | |
| 5 | recharge_order | varchar | 64 | 0 | Y | N | 充值订单 | |
| 6 | recharge_amount | double | 9 | 2 | Y | N | 0.00 | 充值金额 |
| 7 | pay_state | varchar | 16 | 0 | N | N | 未支付 | 支付状态 |
| 8 | pay_type | varchar | 16 | 0 | Y | N | 支付类型: 微信、支付宝、网银 | |
| 9 | recharge_record_limit_times | int | 10 | 0 | N | N | 1 | 确认充值限制次数 |
| 10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | operation_log_id | int | 10 | 0 | N | Y | 操作日志ID | |
| 2 | user_group | varchar | 64 | 0 | Y | N | 用户角色 | |
| 3 | user_name | varchar | 64 | 0 | Y | N | 用户账号 | |
| 4 | routes | varchar | 64 | 0 | Y | N | 模块名称 | |
| 5 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表parking_space_information (车位信息)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | parking_space_information_id | int | 10 | 0 | N | Y | 车位信息ID | |
| 2 | parking_space_number | varchar | 64 | 0 | N | N | 车位编号 | |
| 3 | parking_space_type | varchar | 64 | 0 | Y | N | 车位类型 | |
| 4 | parking_prices | double | 9 | 2 | Y | N | 0.00 | 停车价格 |
| 5 | parking_space_status | varchar | 64 | 0 | Y | N | 车位状态 | |
| 6 | parking_location | varchar | 64 | 0 | Y | N | 车位地点 | |
| 7 | parking_space_photo | varchar | 255 | 0 | Y | N | 车位照片 | |
| 8 | number_of_parking_spaces | varchar | 64 | 0 | N | N | 车位数量 | |
| 9 | parking_space_description | longtext | 2147483647 | 0 | Y | N | 车位说明 | |
| 10 | vehicle_entry_limit_times | int | 10 | 0 | N | N | 0 | 入场停车限制次数 |
| 11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | parking_space_type_id | int | 10 | 0 | N | Y | 车位类型ID | |
| 2 | type_name | varchar | 64 | 0 | Y | N | 类型名称 | |
| 3 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | praise_id | int | 10 | 0 | N | Y | 点赞ID: | |
| 2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
| 3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
| 6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
| 7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
| 8 | status | bit | 1 | 0 | N | N | 1 | 点赞状态:1为点赞,0已取消 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | recharge_record_id | int | 10 | 0 | N | Y | 充值记录ID | |
| 2 | car_owner_user | int | 10 | 0 | Y | N | 0 | 车主用户 |
| 3 | car_owners_name | varchar | 64 | 0 | Y | N | 车主姓名 | |
| 4 | car_owners_mobile_phone | varchar | 64 | 0 | Y | N | 车主手机 | |
| 5 | recharge_order | varchar | 64 | 0 | Y | N | 充值订单 | |
| 6 | recharge_amount | double | 9 | 2 | Y | N | 0.00 | 充值金额 |
| 7 | handling_feedback | text | 65535 | 0 | Y | N | 处理反馈 | |
| 8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 10 | source_table | varchar | 255 | 0 | Y | N | 来源表 | |
| 11 | source_id | int | 10 | 0 | Y | N | 来源ID | |
| 12 | source_user_id | int | 10 | 0 | Y | N | 来源用户 |
表records_of_consumption (消费记录)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | records_of_consumption_id | int | 10 | 0 | N | Y | 消费记录ID | |
| 2 | car_owner_user | int | 10 | 0 | Y | N | 0 | 车主用户 |
| 3 | car_owners_name | varchar | 64 | 0 | Y | N | 车主姓名 | |
| 4 | car_owners_mobile_phone | varchar | 64 | 0 | Y | N | 车主手机 | |
| 5 | business_number | varchar | 64 | 0 | Y | N | 业务编号 | |
| 6 | parking_fees | double | 9 | 2 | Y | N | 0.00 | 停车费用 |
| 7 | deduction_time | datetime | 19 | 0 | Y | N | 扣费时间 | |
| 8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 10 | source_table | varchar | 255 | 0 | Y | N | 来源表 | |
| 11 | source_id | int | 10 | 0 | Y | N | 来源ID | |
| 12 | source_user_id | int | 10 | 0 | Y | N | 来源用户 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | registered_user_id | int | 10 | 0 | N | Y | 注册用户ID | |
| 2 | car_owners_name | varchar | 64 | 0 | Y | N | 车主姓名 | |
| 3 | car_owner_gender | varchar | 64 | 0 | Y | N | 车主性别 | |
| 4 | vehicle_model | varchar | 64 | 0 | Y | N | 车辆型号 | |
| 5 | license_plate | varchar | 64 | 0 | N | N | 车牌号码 | |
| 6 | car_owners_mobile_phone | varchar | 64 | 0 | N | N | 车主手机 | |
| 7 | wallet_amount | double | 9 | 2 | Y | N | 0.00 | 钱包金额 |
| 8 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
| 9 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
| 10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | schedule_id | smallint | 5 | 0 | N | Y | 日程ID:[0,32767] | |
| 2 | content | varchar | 255 | 0 | Y | N | 日程内容 | |
| 3 | scheduled_time | datetime | 19 | 0 | Y | N | 计划时间 | |
| 4 | user_id | int | 10 | 0 | N | N | 用户id | |
| 5 | create_time | datetime | 19 | 0 | Y | N | 创建时间 | |
| 6 | update_time | datetime | 19 | 0 | Y | N | 更新时间 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | score_id | int | 10 | 0 | N | Y | 评分ID: | |
| 2 | user_id | int | 10 | 0 | N | N | 0 | 评分人: |
| 3 | nickname | varchar | 64 | 0 | Y | N | 昵称: | |
| 4 | score_num | double | 5 | 2 | N | N | 0.00 | 评分: |
| 5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 7 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
| 8 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
| 9 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | slides_id | int | 10 | 0 | N | Y | 轮播图ID: | |
| 2 | title | varchar | 64 | 0 | Y | N | 标题: | |
| 3 | content | varchar | 255 | 0 | Y | N | 内容: | |
| 4 | url | varchar | 255 | 0 | Y | N | 链接: | |
| 5 | img | varchar | 255 | 0 | Y | N | 轮播图: | |
| 6 | hits | int | 10 | 0 | N | N | 0 | 点击量: |
| 7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | upload_id | int | 10 | 0 | N | Y | 上传ID | |
| 2 | name | varchar | 64 | 0 | Y | N | 文件名 | |
| 3 | path | varchar | 255 | 0 | Y | N | 访问路径 | |
| 4 | file | varchar | 255 | 0 | Y | N | 文件路径 | |
| 5 | display | varchar | 255 | 0 | Y | N | 显示顺序 | |
| 6 | father_id | int | 10 | 0 | Y | N | 0 | 父级ID |
| 7 | dir | varchar | 255 | 0 | Y | N | 文件夹 | |
| 8 | type | varchar | 32 | 0 | Y | N | 文件类型 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | user_id | int | 10 | 0 | N | Y | 用户ID:[0,8388607]用户获取其他与用户相关的数据 | |
| 2 | state | smallint | 5 | 0 | N | N | 1 | 账户状态:[0,10](1可用|2异常|3已冻结|4已注销) |
| 3 | user_group | varchar | 32 | 0 | Y | N | 所在用户组:[0,32767]决定用户身份和权限 | |
| 4 | login_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 上次登录时间: |
| 5 | phone | varchar | 11 | 0 | Y | N | 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时 | |
| 6 | phone_state | smallint | 5 | 0 | N | N | 0 | 手机认证:[0,1](0未认证|1审核中|2已认证) |
| 7 | username | varchar | 16 | 0 | N | N | 用户名:[0,16]用户登录时所用的账户名称 | |
| 8 | nickname | varchar | 16 | 0 | Y | N | 昵称:[0,16] | |
| 9 | password | varchar | 64 | 0 | N | N | 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成 | |
| 10 | | varchar | 64 | 0 | Y | N | 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时 | |
| 11 | email_state | smallint | 5 | 0 | N | N | 0 | 邮箱认证:[0,1](0未认证|1审核中|2已认证) |
| 12 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
| 13 | open_id | varchar | 255 | 0 | Y | N | 针对获取用户信息字段 | |
| 14 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | group_id | mediumint | 8 | 0 | N | Y | 用户组ID:[0,8388607] | |
| 2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000] |
| 3 | name | varchar | 16 | 0 | N | N | 名称:[0,16] | |
| 4 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该用户组的特点或权限范围 | |
| 5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
| 6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
| 7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
| 8 | register | smallint | 5 | 0 | Y | N | 0 | 注册位置: |
| 9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | vehicle_appearance_id | int | 10 | 0 | N | Y | 车辆出场ID | |
| 2 | car_owner_user | int | 10 | 0 | Y | N | 0 | 车主用户 |
| 3 | car_owners_name | varchar | 64 | 0 | Y | N | 车主姓名 | |
| 4 | car_owners_mobile_phone | varchar | 64 | 0 | Y | N | 车主手机 | |
| 5 | vehicle_model | varchar | 64 | 0 | Y | N | 车辆型号 | |
| 6 | license_plate | varchar | 64 | 0 | Y | N | 车牌号码 | |
| 7 | parking_space_number | varchar | 64 | 0 | Y | N | 车位编号 | |
| 8 | parking_space_type | varchar | 64 | 0 | Y | N | 车位类型 | |
| 9 | parking_prices | double | 9 | 2 | Y | N | 0.00 | 停车价格 |
| 10 | parking_location | varchar | 64 | 0 | Y | N | 车位地点 | |
| 11 | entry_time | datetime | 19 | 0 | Y | N | 入场时间 | |
| 12 | business_number | varchar | 64 | 0 | Y | N | 业务编号 | |
| 13 | appearance_time | datetime | 19 | 0 | Y | N | 出场时间 | |
| 14 | parking_duration | double | 9 | 2 | Y | N | 0.00 | 停车时长 |
| 15 | parking_fees | double | 9 | 2 | Y | N | 0.00 | 停车费用 |
| 16 | cost_attribution | date | 10 | 0 | Y | N | 费用归属 | |
| 17 | cost_description | text | 65535 | 0 | Y | N | 费用说明 | |
| 18 | records_of_consumption_limit_times | int | 10 | 0 | N | N | 1 | 添加扣费限制次数 |
| 19 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 21 | source_table | varchar | 255 | 0 | Y | N | 来源表 | |
| 22 | source_id | int | 10 | 0 | Y | N | 来源ID | |
| 23 | source_user_id | int | 10 | 0 | Y | N | 来源用户 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | vehicle_entry_id | int | 10 | 0 | N | Y | 车辆入场ID | |
| 2 | car_owner_user | int | 10 | 0 | Y | N | 0 | 车主用户 |
| 3 | car_owners_name | varchar | 64 | 0 | Y | N | 车主姓名 | |
| 4 | car_owners_mobile_phone | varchar | 64 | 0 | Y | N | 车主手机 | |
| 5 | vehicle_model | varchar | 64 | 0 | Y | N | 车辆型号 | |
| 6 | license_plate | varchar | 64 | 0 | Y | N | 车牌号码 | |
| 7 | parking_space_number | varchar | 64 | 0 | Y | N | 车位编号 | |
| 8 | parking_space_type | varchar | 64 | 0 | Y | N | 车位类型 | |
| 9 | parking_prices | double | 9 | 2 | Y | N | 0.00 | 停车价格 |
| 10 | parking_location | varchar | 64 | 0 | Y | N | 车位地点 | |
| 11 | entry_time | datetime | 19 | 0 | Y | N | 入场时间 | |
| 12 | vehicle_appearance_limit_times | int | 10 | 0 | N | N | 1 | 车辆出场限制次数 |
| 13 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 14 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 15 | source_table | varchar | 255 | 0 | Y | N | 来源表 | |
| 16 | source_id | int | 10 | 0 | Y | N | 来源ID | |
| 17 | source_user_id | int | 10 | 0 | Y | N | 来源用户 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | vehicle_model_id | int | 10 | 0 | N | Y | 车辆型号ID | |
| 2 | model_name | varchar | 64 | 0 | Y | N | 型号名称 | |
| 3 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
5系统实现
5.1注册用户功能实现
5.1.1首页
首页是系统的主界面,展示平台的核心内容,包括轮播图、最新通知公告、资讯、车位信息推荐等。用户可以通过首页快速访问各个功能模块,还可以根据关键词搜索相关内容,如图5-1所示。

图5-1系统首页界面图
5.1.2最新资讯
点击系统导航栏上的“最新资讯”菜单按钮,将进入最新资讯列表,用户可以查看系统发布的所有最新资讯信息。点击某一资讯后进入详情页,可以查看该资讯的完整内容,用户可以进行点赞、收藏、评论等操作。最新资讯列表页面如图5-2所示。

图5-2最新资讯列表界面图
5.1.3车位信息
点击系统导航栏上的“车位信息”菜单按钮,将进入车位信息列表,用户可以浏览所有的车位信息,支持根据关键词搜索和下拉搜索。点击某条车位信息可查看详细内容,用户可以进行点赞、收藏、评论、车辆入场登记等。车位信息列表如图5-3所示。车位信息详情页如图5-4所示。车辆入场登记页如图5-5所示。

图5-3车位信息列表界面图

图5-4车位信息详情界面图

图5-5车辆入场登记界面图
5.1.4在线充值
点击系统导航栏上的“在线充值”菜单按钮,用户可以在线进行账户充值,充值后余额可用于支付停车费用。系统支持多种支付方式(如支付宝、微信、银行卡等)。在线充值页如图5-6所示。

图5-6在线充值界面图
5.1.5个人中心
个人中心:包括个人首页、在线充值、充值记录、消费记录、车辆入场、车辆出场、收藏、评论管理等功能。在线充值:用户可以在个人中心进行充值操作,方便账户余额的管理。充值记录:用户可以查看自己的充值记录、充值金额、时间等详细信息并进行支付。消费记录:用户可以查看自己的消费记录,包括停车费用、停车时长等信息。车辆入场/出场:用户可以查看每次入场和出场的详细信息,包括停车时间、费用等。收藏:用户可以收藏自己常用的车位,方便下次快速预定或停车。评论管理:用户可以对停车场的服务质量、车位环境等进行评价,帮助平台提升服务质量。在线充值页面如图5-7所示。车辆入场页面如图5-8所示。

图5-7在线充值界面

图5-8车辆入场界面
5.2管理员功能实现
5.2.1系统用户管理
基于Spring Boot的停车场管理系统中的管理人员是可以对注册用户进行管理的,包括对用户信息进行增删改查等操作,也可以对管理员进行管控。界面如下图5-9所示。

图5-9用户管理界面图
5.2.2 在线充值管理
管理员点击“在线充值管理”这一菜单会显示在线充值列表和在线充值添加两个子菜单,点击“在线充值列表”可以查看所有的在线充值信息和支付状态,并可以确认用户的充值信息。点击“在线充值添加”,管理员可以添加新的在线充值信息。在线充值列表界面如下图5-10所示。

图5-10在线充值列表界面图
5.2.3 车位信息管理
管理员点击“车位信息管理”这一菜单会显示车位信息列表和车位信息添加两个子菜单,点击“车位信息列表”可以查看车位信息详情和用户评论,可以进行查询、重置、删除等操作。点击“车位信息添加”,管理员可以添加新的车位信息。车位信息列表界面如下图5-11所示。

图5-11车位信息列表界面图
5.2.4 车辆入场管理
管理员点击“车辆入场管理”这一菜单会显示车辆入场列表,可以查看所有车辆的入场记录,包括入场时间、车位编号、车辆信息等。车辆入场列表界面如下图5-12所示。

图5-12车辆入场列表界面图
5.2.5 系统管理
管理员点击“系统管理-轮播图管理”菜单,可以对前台展示的轮播图进行设置,界面如下图5-13所示。

图5-13轮播图管理界面图
5.2.6 通知公告管理
管理员点击“通知公告管理”这个菜单,可以对系统中的通知公告进行管理,包括通知公告的增删改查等操作。通知公告管理界面如下图所示。

图5-14通知公告管理界面图
5.2.7资源管理
管理员点击“资源管理”菜单,管理员可以上传、编辑或删除系统的资源,如文章、图片、视频等。这些资源可用于最新资讯模块的展示。管理员还可以对知识进行分类和标签化,方便用户查找和使用,界面如下图所示。

图5-15资源管理界面图
6系统测试
6.1系统测试目标
为了保证“基于Spring Boot的停车场管理系统”的质量,使其能够稳定的运行,并排除其可能存在的未知隐患。解除软件可能存在的故障,理清楚测试与纠错的关系,如图6-1所示。

图6-1测试与纠错信息流程
6.2系统功能测试
通过对系统中所含的主要实体对象及其功能操作进行测试用例设计。以下是详细的测试:
表6-1用户注册登录测试表
用户注册登录测试用例:
| 用例说明 | 测试目的 | 测试步骤 | 预期结果 | 输出结果 | 通过情况 |
| 用户注册、登录 | 测试用户正确注册、登录 |
| 用户注册成功,登录成功 | 结果输出符合预期 | 通过 |
表6-2车位信息查询测试表
车位信息查询用例:
| 用例说明 | 测试目的 | 测试步骤 | 预期结果 | 输出结果 | 通过情况 |
| 车位信息查询 | 测试用户车位信息查询功能 |
| 显示含有关键词的车位信息 | 结果输出符合预期 | 通过 |
表6-3评论测试表
评论测试用例:
| 用例说明 | 测试目的 | 测试步骤 | 预期结果 | 输出结果 | 通过情况 |
| 评论 | 测试用户评论功能 | 1、在首页点击最新资讯并看详情; 2、点击评论,输入相关信息点击提交 | 生成新的评论信息 | 结果输出符合预期 | 通过 |
表6-4车辆型号添加测试表
管理员车辆型号添加测试用例:
| 用例说明 | 测试目的 | 测试步骤 | 预期结果 | 输出结果 | 通过情况 |
| 车辆型号添加测试 | 测试管理员添加车辆型号功能 |
| 车辆型号添加成功 | 结果输出符合预期 | 通过 |
表6-5通知公告删除测试表
通知公告删除测试用例:
| 用例说明 | 测试目的 | 测试步骤 | 预期结果 | 输出结果 | 通过情况 |
| 通知公告删除测试 | 测试通知公告删除功能 |
| 通知公告删除成功,前端不在展示该通知公告 | 结果输出符合预期 | 通过 |
6.3性能测试
- 兼容性测试
表6-6 兼容性测试用例
| 用例编号 | 测试类型 | 测试目标 | 操作过程 | 预期结果 |
| 兼容性_01 | 设备兼容性 | 测试系统在不同设备上的表现 | 在多种设备上访问系统并记录表现 | 系统在各种设备上都能正常加载和显示页面 |
| 兼容性_02 | 浏览器兼容性 | 测试系统在不同浏览器上的表现 | 在多种浏览器中访问系统并记录表现 | 系统在各种主流浏览器上都能正常加载和显示页面 |
| 兼容性_03 | 分辨率兼容性 | 测试系统在不同分辨率下的显示效果 | 在不同分辨率的设备上访问系统并记录表现 | 系统在各种分辨率下都能适应并正常显示内容 |
| 兼容性_04 | 操作系统兼容性 | 测试系统在不同操作系统上的运行情况 | 在不同操作系统上访问系统并记录表现 | 系统能够在常用操作系统上正常运行和显示 |
- 性能测试
表6-7 性能测试用例
| 用例编号 | 测试类型 | 测试目标 | 操作过程 | 预期结果 |
| 性能_01 | 负载测试 | 测试系统在正常负载下的性能 | 逐步增加用户数来模拟不同的负载情况 | 系统能够稳定处理并响应不同数量的用户请求 |
| 性能_02 | 压力测试 | 测试系统在极端负载下的性能 | 以超过系统承受极限的用户数来测试系统 | 系统能够在高负载情况下仍然保持正常运行 |
| 性能_03 | 并发测试 | 测试系统能同时处理多少并发用户请求 | 同时发送多个并发用户请求来测试系统性能 | 系统能够有效地处理多个并发请求 |
| 性能_04 | 数据量测试 | 测试系统在大数据量下的性能 | 向系统添加大量数据并测试系统响应时间 | 系统能够在大数据量情况下保持较快的响应时间 |
6.4测试结果总结
全部测试用例都已通过,且不存在漏洞,实现了本论文开始时所作要求和期望。本系统运行稳定,使用流畅,可以满足客户需求。试运行后进行系统评估,可以认为该系统达到预定的目标要求,可以满足用户的需求,也满足了系统开发前所作目标。系统在经过大量重复测试后运行十分稳定,安全实用,功能模块已经达到预定目标所需。在规定的时间内实现系统的大部分功能,且满足要求,节省开发成本,有助于提高科学管理水平,符合本人经济情况。
简而言之,经过严格的测试,可以发现该系统的功能和性能非常出色,它的精度、可靠性、稳健性都达到了极高的水平,而且它还支持快速、精细的点击操作,使用者的使用感受更加良好。此外,它还支持各种主流浏览器,满足不同的使用要求。
基于Spring Boot的停车场管理系统通过集成现代化的信息管理和自动化服务,成功解决了传统停车场管理中存在的一系列问题。通过系统的设计与实现,停车场资源得到了更高效的管理,用户的停车体验得到了显著改善。
系统通过用户端和管理员端的功能模块划分,满足了不同用户群体的需求。用户端提供了注册、登录、车位信息查看、在线充值、停车记录管理等功能,极大地方便了用户的操作,使其能够实时查询车位空闲情况并完成线上支付。管理员端则涵盖了车位管理、用户管理、充值消费管理、权限管理等多个功能,确保了停车场的高效运营和数据的安全性。
系统的架构基于Spring Boot框架,结合MySQL数据库存储,采用Spring Security进行安全认证,确保了系统的稳定性和安全性。系统的各项功能模块设计合理,具备良好的扩展性和维护性。通过系统测试,验证了其在实际环境中的可行性和有效性,证明了该系统在提升停车场管理效率、优化车位资源利用率、改善用户体验等方面的优势。
基于Spring Boot的停车场管理系统不仅有助于缓解城市停车难的问题,还推动了智能停车管理的实施,为智慧城市的建设贡献了一份力量。随着系统的进一步完善与应用,预计将会在更多停车场中得到推广,成为提升城市停车管理水平的重要工具。
总的来说,基于Spring Boot的停车场管理系统的设计与实现,不仅为停车场管理提供了一种创新的解决方案,还为相关领域的技术研究与应用提供了有益的实践经验。未来,随着技术的不断进步和需求的不断变化,停车场管理系统的功能和智能化程度将进一步提升,更好地服务于广大用户和停车场运营方。
- Pradhan G ,Prusty R M ,Negi S V , et al.Advanced IoT-integrated parking systems with automated license plate recognition and payment management[J].Scientific Reports,2025,15(1):2388-2388.
- Janowski A ,Hüsrevoğlu M ,Bilozor R M .Sustainable Parking Space Management Using Machine Learning and Swarm Theory—The SPARK System[J].Applied Sciences,2024,14(24):12076-12076.
- Ditta A ,Ahmed M M ,Mazhar T , et al.Number plate recognition smart parking management system using IoT[J].Measurement: Sensors,2025,37101409-101409.
- 黄建岗,于洋,王乙超,等.基于国产数据库的停车场管理系统的研究与应用[J].科技与创新,2024,(24):23-27.DOI:10.15913/j.cnki.kjycx.2024.24.007.
- 黄琼桃,柏学霖,韩彬.室内停车场泊车管理系统开发[J].仪表技术,2024,(05):18-21+42.DOI:10.19432/j.cnki.issn1006-2394.2024.05.015.
- 王继伟.企业内部无人停车场管理系统设计与实现[J].软件,2023,44(06):178-180.
- 黄大维.智能停车场管理系统设计研究[C]//中国智慧工程研究会智能学习与创新研究工作委员会.2020万知科学发展论坛论文集(智慧工程二).陕西建工智能科技有限公司;,2020:10.DOI:10.26914/c.cnkihy.2020.014187.
- 张兰峰,于合宁,刘鑫宇.智慧园区停车场管理系统设计[J].无线互联科技,2023,20(18):16-18.
- 何露莹.大型智能停车场管理系统的设计与实现[D].桂林电子科技大学,2023.DOI:10.27049/d.cnki.ggldc.2023.000156.
- 孔德财,崔杰,汤怡,等.智能停车系统研究综述[J].物流工程与管理,2022,44(09):109-111+108.
- 程琳,樊江涛,李龙,等.智能停车场管理系统设计与实现[J].数字技术与应用,2021,39(05):169-171.DOI:10.19695/j.cnki.cn12-1369.2021.05.55.
- 李怀锋.Android设备停车场管理系统的关键问题研究[J].山西建筑,2021,47(10):167-169.DOI:10.13719/j.cnki.1009-6825.2021.10.061.
- 孟龙梅,魏如梦.基于SQL Server的智慧停车管理系统数据库设计[J].滁州职业技术学院学报,2021,20(01):39-41.
- 孙曜.智能停车场信息管理系统设计与实现[D].扬州大学,2020.DOI:10.27441/d.cnki.gyzdu.2020.002477.
- 杨志锋,陈松淮,高海深,等.智能停车场管理系统[J].价值工程,2020,39(29):209-210.DOI:10.14018/j.cnki.cn13-1085/n.2020.29.089.
- 张洁,孙晓霞.基于B/S架构的商场智能停车管理系统设计[J].山西电子技术,2020,(03):68-70+93.
- 陈伟文.小区停车场后台管理子系统的设计与实现[J].中国新技术新产品,2020,(11):3-4.DOI:10.13612/j.cnki.cntp.2020.11.002.
- 王华文,智能停车场管理系统软件.安徽省,安徽德顺智能科技有限公司,2020-05-21.
- 陈香,蒿瑞芳,杜志超.基于小程序的停车场车位管理系统的研究[J].内燃机与配件,2020,(06):222-223.DOI:10.19475/j.cnki.issn1674-957x.2020.06.113.
- 洪长平.一种停车场管理系统的设计与研究[J].漳州职业技术学院学报,2020,22(01):91-95.DOI:10.13908/j.cnki.issn1673-1417.2020.01.0017.
在撰写这篇基于Spring Boot的停车场管理系统的毕业论文之际,我满怀感激之情,回顾整个设计过程,从最初的构想到最终的成果,每一步都凝聚了众多人的支持与帮助。
在此,我要特别感谢我的导师。是您的悉心指导与无私奉献,让我在迷茫时找到了方向,在困难前鼓起了勇气。您的严谨治学态度和深厚学术造诣,不仅让我在学术上受益匪浅,更在人生道路上树立了榜样。
我也要感谢我的同学们。我们一起熬夜讨论,一起解决难题,你们的陪伴与帮助,让我的大学生活更加丰富多彩。在团队合作中,我学会了沟通与协作,也更加珍惜这份难得的友谊。
我还要感谢我的家人。是你们的理解与支持,让我能够全身心地投入到学业中。在我遇到挫折时,是你们给予我温暖与鼓励,让我有勇气面对一切挑战。
展望未来,我将带着这份感激与收获,继续前行。我深知,技术的道路永无止境,我将不断学习新知识,掌握新技能,为未来的工作与研究打下坚实的基础。同时,我也希望能将所学应用到更广阔的领域,为社会的发展贡献自己的一份力量。
点赞+收藏+关注 →私信领取本源代码、数据库
关注博主下篇更精彩
一键三连!!!
一键三连!!!
一键三连!!!
感谢一键三连!!!

被折叠的 条评论
为什么被折叠?



