springboot校园车位系统-计算机毕业设计源码64948

摘 要

随着汽车数量的增加,车位管理已经成为许多学校面临的重要问题。为了解决这一问题,提高校园车位管理的效率和便利性,本项目将设计一个基于SpringBoot 的校园车位系统。

通过该系统的实施,不仅可以提高校园车位管理的效率,降低管理成本,还可以为学校提供数据支持,优化校园交通规划。同时,系统的智能化和便利性也将为师生提供更好的服务,提升学校的整体形象。

本项目将采用 SpringBoot 框架进行开发,利用其强大的微服务能力和快速开发的优势,构建一个高效、稳定、安全的校园车位系统。我们将遵循软件开发的标准流程,进行需求分析、设计、编码、测试等各个阶段的工作,确保系统的质量和可靠性。最终实现符合用户需求功能的商业级应用。该系统实现了校园车位系统内部的各种工作流程计算机管理化,其中包括管理员的后台首页、系统用户、学生车辆管理、教师车辆管理、教师车位管理、申请记录管理 、车位信息管理、预约车位管理、车辆入场管理、车辆出场管理、系统管理、留言管理、通知公告管理、资源管理等功能。

总之,本项目将结合现代技术和管理理念,为校园车位打造一个智能化的校园车位系统,提升校园管理水平,为师生提供更好的车位服务。

关键词:校园车位系统;SpringBoot

ABSTRACT

With the increase in the number of cars, parking management has become an important issue faced by many schools. To address this issue and improve the efficiency and convenience of campus parking management, this project will design a SpringBoot based campus parking system.

Through the implementation of this system, not only can the efficiency of campus parking management be improved, management costs reduced, but also data support can be provided for schools to optimize campus transportation planning. Meanwhile, the intelligence and convenience of the system will also provide better services for teachers and students, enhancing the overall image of the school.

This project will be developed using the SpringBoot framework, leveraging its powerful microservices capabilities and rapid development advantages to build an efficient, stable, and secure parking management system. We will follow the standard process of software development, conduct requirements analysis, design, coding, testing, and other stages of work to ensure the quality and reliability of the system. Ultimately achieving commercial level applications that meet user needs. This system realizes the computerized management of various workflow processes within the parking management system, including the administrator's backend homepage, system users, student vehicle management, teacher vehicle management, teacher parking management, application record management, parking information management, reserved parking management, vehicle entry management, vehicle exit management, system management, message management, notification and announcement management, resource management, and other functions.

In summary, this project will combine modern technology and management concepts to create an intelligent parking management system for campus parking spaces, improve the level of campus management, and provide better parking services for teachers and students.

Keywords: Campus parking space system;SpringBoot

    录

第一章 引言

第一节 研究背景

第二节 研究意义

第三节 研究现状

第四节 研究方法

第五节  论文结构说明

第二章 需求分析

第一节 系统可行性分析

一、技术可行性分析

二、经济可行性分析

三、操作可行性分析

四、法律可行性分析

第二节 系统需求分析

一、功能需求分析

二、非功能性需求分析

第三节 系统流程分析

一、增添数据

二、修改数据

三、删除数据

第四节 系统用例分析

第三章 系统总体设计

第一节 系统架构设计

第二节 系统顺序图设计

一、登录模块

二、添加信息模块

第三节 系统功能模块设计

第四节 用户模块设计

一、用户模块设计

二、系统管理模块设计

三、通知公告消息管理模块设计

第五节 数据库设计

一、数据库概念结构设计

二、数据库逻辑结构设计

第四章 关键模块的设计与实现

第一节 后台首页模块

第二节 注册模块

第三节 登录模块

第四节系统调整模块

第五节 系统用户管理模块

第六节 车辆入场管理模块

第七节 教师车辆管理模块

第五章 系统测试

第一节 系统测试的目的

第二节 系统测试用例

第三节 系统测试结果

第六章 结论

参考文献

致谢

第一章 引言

第一节 研究背景

随着城市化进程的加快,车辆数量不断增加,车位难成为了现代城市面临的普遍问题之一。校园车位系统作为解决车位难问题的有效手段之一,可以提供便捷的车位场管理和车位资讯管理功能,优化车位资源利用效率,提升车位服务质量。

校园车位作为一所重点学校,学生和教职工的车辆数量庞大,车位管理形势紧迫。传统的人工管理方式已经无法满足车位管理的需求,因此需要引入信息技术和自动化手段,设计一个高效、准确、安全的校园车位系统。

本研究旨在利用SpringBoot框架设计并实现校园车位的校园车位系统,以解决车位难问题,提升车位管理的效率和服务水平。通过引入信息技术和自动化手段,实现车辆的快速进出、车位的管理和预约等功能,提供便捷、高效的车位服务。

通过本研究的设计与实现,可以为校园车位的车位管理问题提供解决方案,同时也为其他学校和机构的车位管理提供参考和借鉴。这将有助于优化城市车位资源的利用效率,提升车位服务质量,缓解车位难问题,改善城市交通拥堵情况。

第二节 研究意义

校园车位系统设计具有重要的研究意义。该系统可以解决学校车位难问题,优化车位资源利用效率,提升车位服务质量。通过引入信息技术和自动化手段,实现车辆的快速进出、车位的管理和预约等功能,提供便捷、高效的车位服务。同时,通过引入数据库和数据分析技术,对车位数据进行统计和分析,为学校的车位管理决策提供科学依据。此外,该系统的设计和实现可为其他学校和机构的车位管理提供参考和借鉴,促进城市车位资源的利用效率,改善城市交通拥堵情况。综上所述,校园车位系统的研究对于优化车位管理、提升学校车位服务质量具有重要的实际意义和社会影响力。

第三节 研究现状

目前,校园车位系统的研究和实践在国内外都取得了一定的进展。以下是国内外研究现状的概述:

国内研究现状: 国内许多学校、机构和企业开始关注和研究校园车位系统。他们通过引入信息技术和自动化手段,设计出具备车辆信息管理、车位管理、车位费用结算等功能的系统。同时,一些研究还探索了用户体验和界面设计,通过优化用户界面和交互方式提升用户满意度。此外,还有研究将数据库和数据分析技术应用于校园车位系统,实现对车位数据的统计和分析,为决策提供科学依据。

国外研究现状:国外也有许多研究关注校园车位系统的设计与实现。他们借助该框架的快速开发和自动配置特性,构建出高效、灵活的校园车位系统。这些系统通常提供车辆识别、车位预约、车位费用结算等功能,并利用云平台和大数据技术进行数据存储和分析,以提高车位管理的效率和服务质量。此外,一些研究还关注着车位系统的智能化和可持续性发展,通过引入智能传感器、无线通信等技术,实现更智能、环保的车位解决方案。

综上所述,校园车位系统的研究在国内外都取得了一定的进展。国内外的研究者们致力于优化系统功能、提升用户体验、引入数据分析技术,并探索车位系统的智能化和可持续发展。这些研究为校园车位系统的设计与实现提供了宝贵的经验和参考,同时也为车位管理领域的发展和创新作出了重要贡献。未来的研究可以进一步深入探索和改进校园车位系统,推动其在学校和城市车位管理中的应用与推广。

第四节 研究方法

首先,通过引擎搜索或者查阅相关文献资料,了解了本系统开发的背景以及设计系统的意义所在,收集用户需求信息。其次,在开发工具上,最终确定选用Java平台来设计开发本系统,Mysql作为设计数据库的工具。即利用Java语言实现用户界面,并同数据库连接起来实现完整的通信功能。之后,设计出系统大致的功能模块。主要从方便用户和系统管理员的角度进行分析,明确该系统应该具有的功能。最终是测试系统,通过用例测试发现存在的问题并找到解决的方案。利用现有的开发平台,结合自己所学的知识,在老师的指导帮助下来完成该设计,确保系统的可用性、实用性。

第五节  论文结构说明

本文一共分为六章,每章具体内容介绍如下:

第一章,引言,首先介绍了校园车位系统的背景,通过传统车位场的对比,指出开发校园车位系统的研究现状,接着对该论文的结构进行说明。

第二章,需求分析,对系统进行可行性分析、系统功能需求分析以及非功能性需求分析等。

第三章,系统总体设计,通过对当前用户的需求分析来阐述该系统的整体架构以及数据库分析设计,确定各功能模块以及最终系统需要实现的功能。

第四章,关键模块的设计与实现,根据设计目标对各个主要功能模块分别进行详细设计,主要功能代码及其实现过程和功能界面设计。

第五章,系统测试,根据用户实际需求,对该系统主要功能模块进行测试。

第六章,结论

第二章 需求分析

第一节 系统可行性分析

一、技术可行性分析

校园车位系统在数据的存储上使用的MYSQL数据库,在校园车位系统开发中使用了了Java、IDEA、Tomcat这些开发工具的使用,能够给我们的编写工作带来许多的便利。系统采用B/S模式开发,使系统的可扩展性和维护性更好,减少系统配置代码以及编程代码,目前最流行的是B/S模式(B/SModel)

二、经济可行性分析

在开发校园车位系统中所使用的开发软件像IDEA开发工具、tomcat服务器、SpringBoot开发框架、MySQL5.7数据库、Photoshop图片处理软件等,这些环境从网上就能免费下载,而且网上都有安装的教程,根据教程一步一步的操作,就可以安装成功,不需要花任何费用,并且校园车位系统是自己设计并编码实现的,数据库是使用流行mysql进行数据的存储,开源的mysql等技术的使用,减少系统开发费用。

三、操作可行性分析

操作方面主要考虑的是用户在使用以及管理人员在管理的时候,是否简单可行,没有任何计算机基础的用户能否使用,开发的校园车位系统在设计的时候秉承简单易学的理念,在用户进入系统后都会有固定的导航按钮,只要认字就可以操作完成,而且管理员在管理方面也只需简单的增删改查即可完成。

在这个项目的设计中,我借鉴了大量的成功案例,深入分析了它们的操作界面和功能,并结合了多个案例,以人为本,简化了操作,使本项目即使计算机基础知识的人也能轻而易举地完成。由于这些原因,这个操作是可行的。

四、法律可行性分析

系统从法律层面上来没有对第三方有其他放有法律层面的问题,系统数据库采用的Mysql开源社区数据库、框架采用的是开源的SpringBoot。系统资讯和相关内容也是法律层面的。在源码的管理上采用git开源进行管理,所以在法律可行性上是成立的。

第二节 系统需求分析

一、功能需求分析

校园车位系统分为三大部分:管理员模块、普通用户模块、教师用户模块。

(一)管理员:

  1. 登录:在数据库中直接设置管理员的用户名和密码,管理员可以在后台输入用户名+密码进行登陆操作。
  2. 后台首页:管理后台首页分别有车位预定统计表和车辆出场统计表,该报表和统计功能是为了提供管理员和决策者停车场运营情况的报表和统计数据,同时该表具备停车场使用情况报表:生成反映停车场使用情况的报表,包括空闲停车位数量、使用停车位数量、停车时长等功能;
  3. 系统用户管理:对于存在于系统中的用户,管理员可以通过点击“系统用户管理”菜单的方式进行管理。
  4. 学生车辆管理:管理员可以对学生车辆管理列表、学生车辆添加这两个子菜单进行增删改查。
  5. 教师车辆管理:管理员可以对教师车辆管理列表、教师车辆添加这两个子菜单进行增删改查,同时有安排车位和审核回复等管控。
  6. 教师车位管理:管理员对教师车位列表信息里的某一条信息进行安排申请更换车位等管控;
  7. 申请记录管理:管理员查看教师用户的申请记录信息并进行审核、回复等管控;
  8. 车位预定管理:车位预定是前台展示给学生用户停车临停的,车位预定管理用于管理车位预定场的基本信息,管理员可以更新、新增添加、删除、和维护车位预定信息,确保系统中的数据准确无误。
  9. 预约车位管理:管理员可以对学生用户的预约车位申请列表进行详情查看审核并记录预计停车时长、回复和安排入场停车等管控;
  10. 车辆入场管理:管理员对学生用户的车辆入场申请列表进行详情查看和安排车辆出场等管控;
  11. 车辆出场管理:车辆出场信息管理员用于记录车辆入场的时间、出场的时间、车牌号码、车位位置等信息。管理员可以查询和备注停车信息,同时也可以用于统计分析车位场的使用情况;
  12. 系统管理:管理员可以对系统前台展示的轮播图进行增删改查,方便用户进行查看。
  13. 留言管理:管理员可以对留言管理列表里用户发布的留言进行详情查看和回复,并可根据需要进行删除等管控;
  14. 通知公告管理:管理员可以对通知公告进行增删改查。
  15. 资源管理:管理员可以车位资讯、资讯分类进行增删改查。

(二)普通用户:

  1. 请使用“登录”或“登录”两个按钮来完成注册。“登录”按钮需要填写您的用户名+密码,并且系统将检查您是否已经完成登录。“登录”按钮则需要您输入您的用户信息,并获取您的账号和密码。“注册”按钮则需要您输入您的个人资料,才能完成登录;
  2. 我的账户:普通用户可以在“我的账户”中查看和管理个人信息,包括修改密码、头像等。
  3. 个人中心:

学生车辆:学生车辆展示用户当前的在系统的车辆等信息,可以根据需要进行查询、重置、添加、删除等管控。

预约车位:用户在此模块查看到的是预约车位信息,包含个人基本信息、车牌号、计划进场时间,计划出场时间等,用户可填写相关资料进行入场停车申请提交,管理员在后台审核并记录预计停车时长,超过预计进场时间两小时的用户,系统无法自动识别取消预约,管理员主动删除超过预计进场时间两小时的预约车位数据,用户无法查看到预约数据,不能入场使用这个预约的车位了。这个预约的车位,管理员就可以更改车位预约状态为空闲状态,供其他用户预约使用等操作管控。

车辆入场:用户可以查看此模块上的车辆入场信息,用根据需要进行查询、重置、添加、删除等操作,用户在车辆入场模块数据列表中,添加车辆出场,可以支持进行一键出场、同时车辆入场,并支持临时停车功能、车牌号码用户可以自己录入等功能操作管控

车辆出场:用户查看车辆出场详情,并根据需要进行查询,重置、添加等操作管控;

收藏:收藏功能允许用户收藏喜欢的公告信息等。

  1. 通知公告消息:通知公告消息展示车位场的相关通知等信息。用户可以在公告消息页面查看最新的车位场动态。
  2. 车位资讯:车位资讯提供与车位相关的资讯和行业动态。用户可以在车位资讯页面了解车位行业的发展趋势。
  3. 留言区:用户可在留言区里进行发布、回复留言等操作;
  4. 车位预定信息:车位预定有车位编号、车位位置查询项,车位区域(电车充电区,普通停车区)、车位状态(空闲中,已预约,已使用)的查询项信息展示车位场内各个车位的实时状态,包括是否空余、已预订等。用户可以在车位信息页面查看车位的详细信息,这个模块实现的功能是用户直接入场停车的操作就是实现临时车辆紧急停车用的,用户点击‘入场停车’按钮系统会有停车数据。管理员会根据停车数据,在后台管理端操作车位状态变更。同时管理员对临时停车数据有增删改查的权限、并且用户在车位预定页面并可进行点赞、收藏、预约停车、入场停车或选择等。

(三)教师用户:

  1. 请使用“登录”或“登录”两个按钮来完成注册。“登录”按钮需要填写您的用户名+密码,并且系统将检查您是否已经完成登录。“登录”按钮则需要您输入您的用户信息,并获取您的账号和密码。“注册”按钮则需要您输入您的个人资料,才能完成登录;
  2. 我的账户:普通用户可以在“我的账户”中查看和管理个人信息,包括修改密码、联系方式等。
  3. 个人中心:

教师车辆:

● 教师用户可以查看列表里教师车辆等信息并根据需要进行查询、重置、删除、添加等管控。

● 系统会为教师用户提供实时的车位信息,包括空余车位数量和位置。

教师车位:

● 教师用户可以通过查看列表里教师车位信息并根据需要进行查询、重置等,此模块同时支持教师用户申请更换车位用户可选择添加车位编号、编号对应的车位位置、车位区域自动带出数据,教师车位提交申请审核的方式。通过后管理员在后台管理端修改教师车位信息、审核确认等管控,系统会进行离场操作,同时系统会自动计算车位费用。

● 教师的固定车位由管理员负责添加。

 申请记录:教师用户查看申请记录里的所有车位申请信息,并根据需要进行查询、重置 、添加等管控;

  1. 收藏:收藏功能允许用户收藏车位信息等。
  2. 通知公告消息:公告消息展示车位场的相关通知等信息。用户可以在公告消息页面查看最新的车位场动态。
  3. 车位资讯:车位资讯提供与车位相关的资讯和行业动态。用户可以在车位资讯页面了解车位行业的发展趋势。
  4. 留言区:用户可在留言区里进行发布、回复留言等操作;
  5. 车位预定信息:车位预定有车位编号、车位位置查询项,车位区域(电车充电区,普通停车区)、车位状态(空闲中,已预约,已使用)的查询项信息展示车位场内各个车位的实时状态,包括是否空余、已预订等。用户可以在车位信息页面查看车位的详细信息,这个模块实现的功能是用户直接入场停车的操作就是实现临时车辆紧急停车用的,用户点击‘入场停车’按钮系统会有停车数据。管理员会根据停车数据,在后台管理端操作车位状态变更。同时管理员对临时停车数据有增删改查的权限、并且用户在车位预定页面并可进行点赞、收藏、预约停车、入场停车或选择等。

二、非功能性需求分析

校园车位系统的安全性、可靠性、性能和可扩展性是其重要的考量因素,它们不仅满足了用户对于功能性的要求,还为用户提供了更多的便利。根据表格2-1,我们可以清楚地看到这一点:

2-1 校园车位系统非功能需求表

安全性

主要指校园车位系统数据库的安装,数据库的使用和密码的设定必须合乎规范。

可靠性

可靠性是指校园车位系统能够安装用户的指示进行操作,经过测试,可靠性90%以上。

性能

性能是影响校园车位系统占据市场的必要条件,所以性能最好要佳才好。

可扩展性

比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。

易用性

用户只要跟着校园车位系统的页面展示内容进行操作,就可以了。

可维护性

校园车位系统开发的可维护性是非常重要的,经过测试,可维护性没有问题

第三节 系统流程分析

开发人员可以通过对上述业务流程的运用,以符合和线条的方式,对系统的运行机制进行更好的理解,并对用户在使用系统时的体验进行演示。另外,业务流程也能帮助开发者找到系统中的bug并且加以完善一、新增数据。

一、增添数据

当用户成功登录系统,即可获得指定的编号,这些编号由系统生成,而用户无权更改,只需要提供指定的编号,而其余的信息则需要由用户自行完成,完成之后,系统会对所提交的信息进行审核,如果审核结果符合要求,则表明增加数据已获得成功;否则,则说明未获得成功,如图2-12所示。

图2-2 数据增加流程图

二、修改数据

在数据修改过程中,与之前提到的数据增加过程相似,如图2-3所示。

图2-3  数据修改流程图

三、删除数据

当系统中出现了一些无效信息时,管理人员应采取措施将其删除处理,而图2-4则提供了删除这些无效信息过程的流程图。

图2-4 数据删除流程图

第四节 系统用例分析

普通用户角色在校园车位系统中的使用示意图如图2-5所示:

图2-5普通用户角色用例图

校园车位系统中管理员角色用例图如图2-6所示:

图2-6管理员角色用例图


教师用户角色在校园车位系统中的使用示意图如图2-7所示:

图2-7教师用户角色用例图

第三章 系统总体设计

本章将深入探究校园车位系统的各种功能模块,以及如何构建一个高效的数据库。

第一节 系统架构设计

校园车位系统由用户界面(UI)、业务流程层(BLL)、数据层(DL)三个层次组成。

图3-1校园车位系统架构设计图

表现层(UI):UI层是校园车位系统的核心部分,负责实现用户界面的交互,在使用该系统的过程中,为用户带来便捷的操作体验,让用户感受到更舒适的氛围。UI界面设计应该灵活应对各种不同的校园车位系统和尺寸,以确保良好的兼容性和可用性。UI交互功能必须具有合理性,以便用户能够获得与之相匹配的交互结果,因此,表现层必须与业务逻辑层紧密结合,以实现良好的交互体验。

业务逻辑层(BLL):BLL层(BLL)主要完成本系统的数据处理功能。用户从表现层传输过来的数据经过业务逻辑层进行处理交付给数据层,系统从数据层读取的数据经过业务逻辑层进行处理交付给表现层。

数据层(DL):通过将mysql数据库作为数据层,由于本系统的数据是放在服务端的mysql数据库中,因此本属于服务层的部分可以直接整合在业务逻辑层中,所以数据层中只有数据库,其主要完成本系统的数据存储和管理功能。

第二节 系统顺序图设计

一、登录模块

该模块旨在为管理人员和用户提供权限登录功能,其登录顺序如图3-2所示。

图3-2登录顺序图

二、添加信息模块

在登录之前,无论是管理员还是用户都能够轻松地完成添加信息的任务,具体的步骤请参考图3-3。

图3-3 添加信息顺序图

第三节 系统功能模块设计

校园车位系统整体的功能模块包括管理员、普通用户、教师用户三个模块,实现了相关信息的维护管理,系统功能模块如图所示。

图3-4校园车位系统功能模块图

第四节 用户模块设计

一、用户模块设计

本系统的用户包括管理员,用户两种用户模块的功能基本是相同的,管理员用户比用户多了系统用户管理、系统管理、公告消息管理等功能,所以系统用户模块的结构图为例进行分析,结构图为例进行分析,如下图:

图3-5系统用户模块结构图

二、系统管理模块设计

校园车位系统是中需要存储轮播图信息,其模块功能结构,具体的结构图如下:

图3-5系统管理模块结构图

三、通知公告消息管理模块设计

公告信息管理系统是中需要存储公告信息,其模块功能结构,具体的结构图如下:

图3-6公告信息管理模块结构图

第五节 数据库设计

在数据库设计的三个主要步骤中,第一个是需求的分析,第二个是设计概念模型,最后是建立数据库表(datable-list)。在这三个步骤之间,需求分析是必不可少的,而概念模型的设计则涉及到概念模型与逻辑结构的设计。

一、数据库概念结构设计

下面是整个校园车位系统中主要的数据库表总E-R实体关系图。           

图3-7 校园车位系统总E-R关系图

通过校园车位系统,我们发现它需要大量的E-R图表,其中包括一些重要的数据库模型图,它们能够帮助我们更好地理解和分析数据。

图3-8申请记录E-R图

图3-9 教师车位管理E-R图

图3-10 公告信息E-R图

二、数据库逻辑结构设计

经过校园车位系统的数据分析,我们发现,为了更好地展示E-R关系图,我们需要创建大量的数据表。我将重点介绍几种常见的数据库表结构设计方法。

表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

用户编号:

表application_record (申请记录)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

application_record_id

int

10

0

N

Y

申请记录ID

2

teacher_users

int

10

0

Y

N

0

教师用户

3

teachers_name

varchar

64

0

Y

N

教师姓名

4

teacher_id

varchar

64

0

Y

N

教师工号

5

mobile_phone_number

varchar

64

0

Y

N

手机号码

6

parking_space_number

varchar

64

0

Y

N

车位编号

7

parking_position

varchar

64

0

Y

N

车位位置

8

parking_area

varchar

64

0

Y

N

车位区域

9

application_time

datetime

19

0

Y

N

申请时间

10

reason_for_application

text

65535

0

Y

N

申请原因

11

examine_state

varchar

16

0

N

N

未审核

审核状态

12

examine_reply

varchar

16

0

Y

N

审核回复

13

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

14

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表article (文章:用于内容管理系统的文章)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

article_id

mediumint

8

0

N

Y

文章id:[0,8388607]

2

title

varchar

125

0

N

Y

标题:[0,125]用于文章和html的title标签中

3

type

varchar

64

0

N

N

0

文章分类:[0,1000]用来搜索指定类型的文章

4

hits

int

10

0

N

N

0

点击数:[0,1000000000]访问这篇文章的人次

5

praise_len

int

10

0

N

N

0

点赞数

6

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

8

source

varchar

255

0

Y

N

来源:[0,255]文章的出处

9

url

varchar

255

0

Y

N

来源地址:[0,255]用于跳转到发布该文章的网站

10

tag

varchar

255

0

Y

N

标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开

11

content

longtext

2147483647

0

Y

N

正文:文章的主体内容

12

img

varchar

255

0

Y

N

封面图

13

description

text

65535

0

Y

N

文章描述

表article_type (文章分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

smallint

5

0

N

Y

分类ID:[0,10000]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]决定分类显示的先后顺序

3

name

varchar

16

0

N

N

分类名称:[2,16]

4

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

5

description

varchar

255

0

Y

N

描述:[0,255]描述该分类的作用

6

icon

text

65535

0

Y

N

分类图标:

7

url

varchar

255

0

Y

N

外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表auth (用户权限管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

position

varchar

32

0

Y

N

位置:

8

mode

varchar

32

0

N

N

_blank

跳转方式:

9

add

tinyint

3

0

N

N

1

是否可增加:

10

del

tinyint

3

0

N

N

1

是否可删除:

11

set

tinyint

3

0

N

N

1

是否可修改:

12

get

tinyint

3

0

N

N

1

是否可查看:

13

field_add

text

65535

0

Y

N

添加字段:

14

field_set

text

65535

0

Y

N

修改字段:

15

field_get

text

65535

0

Y

N

查询字段:

16

table_nav_name

varchar

500

0

Y

N

跨表导航名称:

17

table_nav

varchar

500

0

Y

N

跨表导航:

18

option

text

65535

0

Y

N

配置:

19

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表booking_a_parking_space (预约车位)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

booking_a_parking_space_id

int

10

0

N

Y

预约车位ID

2

student_users

int

10

0

Y

N

0

学生用户

3

student_name

varchar

64

0

Y

N

学生姓名

4

student_id

varchar

64

0

Y

N

学生学号

5

mobile_phone_number

varchar

64

0

Y

N

手机号码

6

parking_space_number

varchar

64

0

Y

N

车位编号

7

parking_position

varchar

64

0

Y

N

车位位置

8

parking_area

varchar

64

0

Y

N

车位区域

9

appointment_time

datetime

19

0

Y

N

预约时间

10

license_plate_number

varchar

64

0

Y

N

车牌号码

11

planned_entry

datetime

19

0

Y

N

计划入场

12

planned_appearance

datetime

19

0

Y

N

计划出场

13

parking_duration

int

10

0

Y

N

0

停车时长

14

examine_state

varchar

16

0

N

N

未审核

审核状态

15

examine_reply

varchar

16

0

Y

N

审核回复

16

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

17

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表collect (收藏)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

collect_id

int

10

0

N

Y

收藏ID:

2

user_id

int

10

0

N

N

0

收藏人ID:

3

source_table

varchar

255

0

Y

N

来源表:

4

source_field

varchar

255

0

Y

N

来源字段:

5

source_id

int

10

0

N

N

0

来源ID:

6

title

varchar

255

0

Y

N

标题:

7

img

varchar

255

0

Y

N

封面:

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表comment (评论)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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:

表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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:

表message (留言板)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

email

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

回复状态

表notice (公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

表parking_reservation (车位预定)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

parking_reservation_id

int

10

0

N

Y

车位预定ID

2

parking_space_number

varchar

64

0

N

N

车位编号

3

parking_position

varchar

64

0

Y

N

车位位置

4

parking_area

varchar

64

0

Y

N

车位区域

5

parking_space_display

varchar

255

0

Y

N

车位展示

6

parking_space_status

varchar

64

0

Y

N

车位状态

7

parking_space_remarks

text

65535

0

Y

N

车位备注

8

praise_len

int

10

0

N

N

0

点赞数

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表praise (点赞)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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已取消

表sensitive_vocabulary (敏感词汇)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

sensitive_vocabulary_id

int

10

0

N

Y

敏感词汇ID

2

sensitive_vocabulary

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

更新时间

表slides (轮播图)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

表student_users (学生用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

student_users_id

int

10

0

N

Y

学生用户ID

2

student_name

varchar

64

0

Y

N

学生姓名

3

student_id

varchar

64

0

N

N

学生学号

4

student_gender

varchar

64

0

Y

N

学生性别

5

mobile_phone_number

varchar

16

0

Y

N

手机号码

6

examine_state

varchar

16

0

N

N

已通过

审核状态

7

user_id

int

10

0

N

N

0

用户ID

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表student_vehicles (学生车辆)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

student_vehicles_id

int

10

0

N

Y

学生车辆ID

2

student_users

int

10

0

Y

N

0

学生用户

3

student_name

varchar

64

0

Y

N

学生姓名

4

student_id

varchar

64

0

Y

N

学生学号

5

student_gender

varchar

64

0

Y

N

学生性别

6

mobile_phone_number

varchar

64

0

Y

N

手机号码

7

license_plate_number

varchar

64

0

N

N

车牌号码

8

vehicle_photos

varchar

255

0

Y

N

车辆照片

9

vehicle_brand

varchar

64

0

Y

N

车辆品牌

10

vehicle_model

varchar

64

0

Y

N

车辆型号

11

registration_date

date

10

0

Y

N

登记日期

12

examine_state

varchar

16

0

N

N

未审核

审核状态

13

examine_reply

varchar

16

0

Y

N

审核回复

14

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表teacher_parking_space (教师车位)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

teacher_parking_space_id

int

10

0

N

Y

教师车位ID

2

teacher_users

int

10

0

Y

N

0

教师用户

3

teachers_name

varchar

64

0

Y

N

教师姓名

4

teacher_id

varchar

64

0

Y

N

教师工号

5

mobile_phone_number

varchar

64

0

Y

N

手机号码

6

parking_space_number

varchar

64

0

N

N

车位编号

7

parking_position

varchar

64

0

Y

N

车位位置

8

parking_area

varchar

64

0

Y

N

车位区域

9

parking_space_display

varchar

255

0

Y

N

车位展示

10

parking_space_remarks

text

65535

0

Y

N

车位备注

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表teacher_users (教师用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

teacher_users_id

int

10

0

N

Y

教师用户ID

2

teachers_name

varchar

64

0

Y

N

教师姓名

3

teacher_id

varchar

64

0

N

N

教师工号

4

teacher_gender

varchar

64

0

Y

N

教师性别

5

mobile_phone_number

varchar

16

0

Y

N

手机号码

6

examine_state

varchar

16

0

N

N

已通过

审核状态

7

user_id

int

10

0

N

N

0

用户ID

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表teacher_vehicles (教师车辆)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

teacher_vehicles_id

int

10

0

N

Y

教师车辆ID

2

teacher_users

int

10

0

Y

N

0

教师用户

3

teachers_name

varchar

64

0

Y

N

教师姓名

4

teacher_id

varchar

64

0

Y

N

教师工号

5

teacher_gender

varchar

64

0

Y

N

教师性别

6

mobile_phone_number

varchar

64

0

Y

N

手机号码

7

license_plate_number

varchar

64

0

N

N

车牌号码

8

vehicle_photos

varchar

255

0

Y

N

车辆照片

9

vehicle_brand

varchar

64

0

Y

N

车辆品牌

10

vehicle_model

varchar

64

0

Y

N

车辆型号

11

registration_date

date

10

0

Y

N

登记日期

12

examine_state

varchar

16

0

N

N

未审核

审核状态

13

examine_reply

varchar

16

0

Y

N

审核回复

14

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表upload (文件上传)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

文件类型

表user (用户账户:用于保存用户登录信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_id

mediumint

8

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

email

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

创建时间:

15

vip_level

varchar

255

0

Y

N

会员等级

16

vip_discount

double

11

2

Y

N

0.00

会员折扣

表user_group (用户组:用于用户前端身份和鉴权)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

表vehicle_entry (车辆入场)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

vehicle_entry_id

int

10

0

N

Y

车辆入场ID

2

student_users

int

10

0

Y

N

0

学生用户

3

student_name

varchar

64

0

Y

N

学生姓名

4

student_id

varchar

64

0

Y

N

学生学号

5

mobile_phone_number

varchar

64

0

Y

N

手机号码

6

parking_space_number

varchar

64

0

Y

N

车位编号

7

parking_position

varchar

64

0

Y

N

车位位置

8

parking_area

varchar

64

0

Y

N

车位区域

9

license_plate_number

varchar

64

0

Y

N

车牌号码

10

entry_time

datetime

19

0

Y

N

入场时间

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表vehicle_exit (车辆出场)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

vehicle_exit_id

int

10

0

N

Y

车辆出场ID

2

student_users

int

10

0

Y

N

0

学生用户

3

student_name

varchar

64

0

Y

N

学生姓名

4

student_id

varchar

64

0

Y

N

学生学号

5

mobile_phone_number

varchar

64

0

Y

N

手机号码

6

parking_space_number

varchar

64

0

Y

N

车位编号

7

parking_position

varchar

64

0

Y

N

车位位置

8

parking_area

varchar

64

0

Y

N

车位区域

9

license_plate_number

varchar

64

0

Y

N

车牌号码

10

entry_time

varchar

64

0

Y

N

入场时间

11

time_of_appearance

datetime

19

0

Y

N

出场时间

12

parking_duration

int

10

0

Y

N

0

停车时长

13

parking_remarks

text

65535

0

Y

N

停车备注

14

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

第四章 关键模块的设计与实现

基于前期对校园车位系统的需求分析以及整体架构,我们精心设计了一个页面,以便更好地展示出用户的行为,并且能够更加有效地实现业务逻辑。本文将重点介绍校园车位系统界面和业务逻辑。

第一节 后台首页模块

该项目的首页页面包含导航栏:用于导航系统的各个板块,其中有后台首页、系统用户、学生车辆管理、教师车辆管理、教师车位管理、申请记录管理 、车位预定管理、预约车位管理、车辆入场管理、车辆出场管理、系统管理、留言管理、通知公告管理、资源管理这几个板块。

首页有报表和统计功能:报表和统计功能是为了提供管理员和决策者停车场运营情况的报表和统计数据,该功能将实现停车场使用情况报表:生成反映停车场使用情况的报表,包括空闲停车位数量、使用停车位数量、停车时长等。首页主要分别展示各个模块的最新动态,浏览者可以很清楚地看到不同模块的最新更新内容。并且系统首页每个部分可以跳转到相对应的模块,方便浏览者选择感兴趣的地方。

首页载入流程图如下所示。

图4-1 首页载入流程

首页如下图所示。

图4-2 首页界面图

第二节 注册模块

校园车位系统的注册登录操作,用户都是从同一个注册登录页面进行注册登录,若是还未有系统账号,则进行注册操作;若是已注册账号,则用户在操作时,输入账号、密码,再选择相应的角色,如“用户”等。

用户注册流程图如下所示。

图4-3 用户注册流程

用户注册界面如下图所示。

图4-4 用户注册界面

注册逻辑代码如下。

    /**

     * 注册

     * @param user

     * @return

     */

    @PostMapping("register")

    public Map<String, Object> signUp(@RequestBody User user) {

        // 查询用户

        Map<String, String> query = new HashMap<>();

        Map<String,Object> map = JSON.parseObject(JSON.toJSONString(user));

        query.put("username",user.getUsername());

        List list = service.selectBaseList(service.select(query, new HashMap<>()));

        if (list.size()>0){

            return error(30000, "用户已存在");

        }

        map.put("password",service.encryption(String.valueOf(map.get("password"))));

        service.insert(map);

        return success(1);

}     

注册页password则使用了MD5加密,代码如下:

    public String encryption(String plainText) {

        String re_md5 = new String();

        try {

            MessageDigest md = MessageDigest.getInstance("MD5");

            md.update(plainText.getBytes());

            byte b[] = md.digest();

            int i;

            StringBuffer buf = new StringBuffer("");

            for (int offset = 0; offset < b.length; offset++) {

                i = b[offset];

                if (i < 0)

                    i += 256;

                if (i < 16)

                    buf.append("0");

                buf.append(Integer.toHexString(i));

            }

            re_md5 = buf.toString();

        } catch (Exception e) {

            e.printStackTrace();

        }

        return re_md5;

}

第三节 登录模块

在校园车位系统模块输入账号+密码,点击“登录”按钮,系统在用户数据库表中会对管理员的账号进行匹配,账号+密码正确的话,就会登录到系统中各个用户的主管理界面,否则提示对应的信息,返回到登录的界面。

用户登录流程图如下所

图4-5 登录流程图

登录界面如下图所示。   

 图4-6 登录界面图

登录逻辑代码如下。

 /**

     * 登录

     * @param data

     * @param httpServletRequest

     * @return

     */

    @PostMapping("login")

    public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {

        log.info("[执行登录接口]");

        String username = data.get("username");

        String email = data.get("email");

        String phone = data.get("phone");

        String password = data.get("password");

        List resultList = null;

        Map<String, String> map = new HashMap<>();

        if(username != null && "".equals(username) == false){

            map.put("username", username);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }

        else if(email != null && "".equals(email) == false){

            map.put("email", email);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }

        else if(phone != null && "".equals(phone) == false){

            map.put("phone", phone);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }else{

            return error(30000, "账号或密码不能为空");

        }

        if (resultList == null || password == null) {

            return error(30000, "账号或密码不能为空");

        }

        //判断是否有这个用户

        if (resultList.size()<=0){

            return error(30000,"用户不存在");

        }

        User byUsername = (User) resultList.get(0);

        Map<String, String> groupMap = new HashMap<>();

        groupMap.put("name",byUsername.getUserGroup());

        List groupList = userGroupService.selectBaseList(userGroupService.select(groupMap, new HashMap<>()));

        if (groupList.size()<1){

            return error(30000,"用户组不存在");

        }

        UserGroup userGroup = (UserGroup) groupList.get(0);

        //查询用户审核状态

        if (!StringUtils.isEmpty(userGroup.getSourceTable())){

            String res = service.selectExamineState(userGroup.getSourceTable(),byUsername.getUserId());

            if (res==null){

                return error(30000,"用户不存在");

            }

            if (!res.equals("已通过")){

                return error(30000,"该用户审核未通过");

            }

        }

        //查询用户状态

        if (byUsername.getState()!=1){

            return error(30000,"用户非可用状态,不能登录");

        }

        String md5password = service.encryption(password);

        if (byUsername.getPassword().equals(md5password)) {

            // 存储Token到数据库

            AccessToken accessToken = new AccessToken();

            accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));

            accessToken.setUser_id(byUsername.getUserId());

            Duration duration = Duration.ofSeconds(7200L);

            redisTemplate.opsForValue().set(accessToken.getToken(), accessToken,duration);

            // 返回用户信息

            JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));

            user.put("token", accessToken.getToken());

            JSONObject ret = new JSONObject();

            ret.put("obj",user);

            return success(ret);

        } else {

            return error(30000, "账号或密码不正确");

        }

    }

第四节 系统调整模块

  校园车位系统前台首页版块:校园资讯改动成车位资讯,把车位信息板块改成车位预定,重新排版后的顺序是:首页、通知公告、车位资讯、留言区、车位预定、我的账户、个人中心等。如图4-7所示。

                         图4-7  校园车位系统前台首页界面

用户执行预约车位管理,并可以操作相关内容,例如查看,编辑。预约车位的添加操作是建立在用户车位信息的列表基础上,单击查用户信息下的 “预约车位添加”进行添加,添加成功后的车位信息会载入到车位信息列表中。超过预计进场时间两小时的用户,系统无法自动识别取消预约,目前能给到的设计呈现效果是:管理员主动删除超过预计进场时间两小时的预约车位数据,用户无法查看到预约数据,则无法在这个模块上跨表添加在当前预约的车位上停车的入场信息,由此视为不能入场使用这个预约的车位了。这个预约的车位,管理员就可以更改车位预约状态为空闲状态,供其他用户预约使用。

预约车位添加流程图如下所示。

图4-8预约车位添加流程

图4-9预约车位界面图

               图4-10 预约车位详情页面展示

用户个人中心--预约车位模块,查看的是预约信息,已包含个人基本信息、车牌号、计划进场时间,新增加了计划出场时间;图4-11所示,图4-12所示。

             图4-11  预约车位添加数据界面

管理员后台审核并记录预计停车时长:

                  图4-12  管理员预约车位管理模块图

车位预定:用户在车位预定模块里可以查看所有的各类型车位信息,可通过输入车位编号、车位位置、车位区域(电车充电区,普通停车区)、车位状态(空闲中,已预约,已使用)等搜索查询用户自己心仪的车位进行收藏、点赞、预约停车、入场停车、发表评论等操作;图4-13所示。

                图4-13  车位预定界面图

  用户在“”车位预定”模块直接入场停车的操作就是实现临时车辆紧急停车用的,需要用户点击‘入场停车’按钮操作才能有停车数据。图4-14所示。

                   图4-14 车位预定详情界面图

管理员根据停车数据,后台管理端操作车位状态变更。管理员对临时停车数据有增删改查的权限。图4-15所示。

                        图4-15 管理员添加停车数据

  用户在前台个人中心可以通过查看统计图展示更清楚了解校园车位系统车位的使用情况;如图4-16所示。

                      图4-16 用户前台个人中心首页界面

车辆入场:用户可以查看此模块上的车辆入场信息,用根据需要进行查询、重置、添加、删除等操作,用户在车辆入场模块数据列表中,添加车辆出场,可以支持进行一键出场、同时车辆入场,并支持临时停车功能、车牌号码用户可以自己录入等功能操作管控;前台用户车辆出场的一键出场按钮在车辆入场列表中跨表添加的位置,现已修改成用户点击出场不显示选择出场时间,出场时间为用户点击出场按钮的时间,添加出场后,出场数据在车辆出场模块列表可以查看详情。如图4-17所示。出场添加数据如图4-18所示。

             图4-17  用户车辆入场界面图

            图4-18  出场添加数据界面图

教师用户在个人中心-教师车位数量列表跨表添加申请车位更换:教师用户申请更换车位界面,修改为自行选择添加车位编号(数据来源于车位预定模块),编号对应的车位位置、车位区域自动带出数据,提交申请审核的方式。审核确认更换后,通过后管理员在后台管理端修改教师车位信息。教师申请车位更换如图4-19所示,教师申请更换添加数据如图4-20所示。

             图4-19  教师申请车位更换界面

             图4-20  教师申请更换添加数据界面

管理员后台预约车位管理:新增加用户预订数据可以导出报表功能,用户预定信息报表;生成反映用户预定信息的报表,包括预定时间、预定时长、预定人姓名等,如图4-21所示。

            图4-21 管理员预定车位新增导出功能界面

第五节 系统用户管理模块

用户只有注册后才能获得登录使用权限,此时选择注册用户选项,系统会自动转到用户注册。在注册该部分信息时,系统会自动调用ADD函数,然后在给出的文本框中填写完该用户的基本信息后,选择确认即可完成注册。注册后系统会自动转到检索用户信息,在新增用户信息以后,在检索工具栏中填写对应的用户信息,系统就会将该用户有关的所有信息展示出来。

系统用户管理流程图如下所示。

图4-22系统用户管理流程图

系统用户管理界面如下图所示。

图4-23 系统用户管理模块图

系统用户关键代码如下:

var Service = require('../core/service.js');

class Auth extends Service {

constructor(config) {

super(Object.assign({

table: "auth",

size: 10

}, config));

}

}

module.exports = {

Auth

};

第六节 车辆入场管理模块

管理员执行车辆入场管理,并可以操作相关内容,例如添加,查看,编辑和删除。通过单击“添加车辆入场”,可以通过车辆出场添加界面添加详细信息。单击查看字段级别链接以查看有关所选字段级别的信息。然后单击“提交”跳转重返到添加页面。添加成功后的信息会载入到车辆入场查询列表中,管理员可进行编辑以及修改。

车辆入场添加流程图如下所示。

图4-24车辆入场添加流程图

车辆入场添加如下图所示。

图4-25车辆入场添加界面图

车辆入场列表查询界面如下所示。

 图4-26车辆入场列表界面图

第七节 教师车辆管理模块

管理员执行教师车辆管理,并可以操作相关内容,例如添加,查看,编辑和删除。通过单击“教师车辆添加”,可以通过教师车辆添加界面添加详细信息。单击查看字段级别链接以查看有关所选字段级别的信息。然后单击“提交”跳转重返到添加页面。添加成功后的信息会载入到车辆信息查询列表中,管理员可进行编辑以及修改。

教师车辆添加流程图如下所示。

图4-27 教师车辆添加流程图

教师车辆添加如下图所示。

图4-28教师车辆管理界面图

教师车辆管理逻辑代码如下。

Controller.prototype.count = async function(req) {

var result = await this.service.count(req.query, this.config);

if (this.service.error) {

return {

error: this.service.error,

};

}

return {

result,

};

};

第五章 系统测试

第一节 系统测试的目的

在系统开发的最后阶段,系统测试显得尤为重要,它不仅可以帮助我们更好地理解软件的设计,还能提高开发效率。由于系统开发过程中可能存在诸多缺陷,即使是最优秀的系统开发工程师也无法避免这些缺陷。因此,通过进行系统测试,我们可以有效地纠正这些bug,从而为后续的系统维护和升级提供有力的支持。经过严格的系统测试,开发者们能够更加坚定地认识到系统的性能,从而更有动力去推动后续的系统更新。

第二节 系统测试用例

系统测试包括:用户登录功能测试、车位资讯查看测试、学生车辆添加、车辆出场搜索、密码修改功能测试,如表5-1、5-2、5-3、5-4、5-5所示:

用户登录功能测试:

表5-1 用户登录功能测试表

用例名称

用户登录系统

目的

测试用户通过正确的用户名和密码可否登录功能

前提

未登录的情况下

测试流程

1) 进入登录页面

2) 输入正确的用户名和密码

预期结果

用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入

实际结果

实际结果与预期结果一致

车位资讯查看功能测试:

表5-2 车位资讯查看功能测试表

用例名称

车位资讯查看

目的

测试车位资讯查看功能

前提

用户登录

测试流程

点击车位资讯

预期结果

可以查看到所有车位资讯

实际结果

实际结果与预期结果一致

管理员添加学生车辆界面测试:

表5-3 管理员添加学生车辆界面测试表

用例名称

学生车辆发布测试用例

目的

测试学生车辆发布功能

前提

用户正常登录情况下

测试流程

1)点击学生车辆管理就,然后点击添加后并填写信息。

2)点击进行提交。

预期结果

提交以后,页面首页会显示新的学生车辆 

实际结果

实际结果与预期结果一致

车辆出场搜索功能测试:

表5-4车辆出场搜索功能测试表

用例名称

车辆出场搜索测试

目的

测试车辆出场搜索功能

前提

测试流程

1)在搜索框填入搜索关键字。

2)点击搜索按钮。

预期结果

页面显示包含有搜索关键字的车辆出场

实际结果

实际结果与预期结果一致

密码修改功能测试:

表5-5 密码修改功能测试表

用例名称

密码修改测试用例

目的

测试管理员密码修改功能

前提

管理员用户正常登录情况下

测试流程

1)管理员密码修改并完成填写。

2)点击进行提交。

预期结果

使用新的密码可以登录

实际结果

实际结果与预期结果一致

第三节 系统测试结果

经过对校园车位系统的测试,我们已经完成了5大模块的检测,包括用户登录功能测试、车位资讯查看测试、学生车辆添加、车辆出场搜索、密码修改功能测试,这些功能为后续的推广运营提供了强有力的技术支持。

第六章 结论

经过长时间的努力,我终于完成了这项系统设计。在此期间,我深入研究了系统开发中所涉及的相关知识,并且发现了自身的不足,从而更好地掌握了必要的应用技能,进一步的学习使我的知识储备更加丰富,最终完成了这项艰巨的任务。当面临挑战时,我会立即向老师寻求帮助,并利用专业的网络资源和论坛平台,以期望能够一步步地克服困境。系统设计过程不容易,你需要不断充实自己,有勇气克服困难。尽管系统开发的一些功能尚未完善,但我仍然会尽最大努力去改进,以便让用户体验更加出色。这次成功的尝试,让我感到无比欣慰,因为它是我第一次尝试,而且我会继续努力,打造出更加出色的系统。

当初,因为对一些编程语言的系统实施方法并不十分精通,使得开发变得极其艰巨。然而,最终,我成功利用一款特定的字典软件,克服了这一重重挑战。从而,我也深刻认识到,只要努力,才能够改善自身的英语水平,从而为未来的职业及生涯打下坚实的基础。经历了毕业设计的挑战,让我收获颇丰。最初,由于缺乏相关的开发知识,只能逐步尝试,但随着时间的推移,越来越了解了相关的文献与资料,并且能够成功地将其应用到实践当中。此外,该系统也为网络学习提供了强大的支持,让我能够更好地完成论文的撰写,并且拥抱挑战,以及探索生活中的各种未知。通过毕业设计,我深刻地体验到了如何把所掌握的理论转化为可行的行动。这使得我明白,要想取得成功,就需要不断努力,坚定地走下去。

参考文献

[1]Handini E ,Hasenaka T ,Barber D N , et al. Systematics of slab-derived components in Central Java, Sunda Arc: Evidence for differential material transfer across the Southeast Asian convergent margin [J]. Tectonophysics, 2024, 873 230229-.

[2]都秉甲,丁飞,刘春君等. 基于HarmonyOS与NB-IoT的城市共享停车系统设计与性能评估 [J/OL]. 无线电工程, 1-7[2024-02-21].

[3]汤祥,程皖蓉,赵乐等. 面向停车需求管理的交通政策影响传导系统动力学研究 [J]. 交通运输研究, 2023, 9 (06): 55-65.

[4]张恒,杨彬,代传奇等. 城市级智慧停车管理系统设计与研究 [J]. 智能建筑与智慧城市, 2024, (01): 170-172.

[5]刘乂毓. 应用Java的加密解密算法实验教学软件包 [J]. 福建电脑, 2024, 40 (01): 89-93.

[6]陈诗蔚. 智慧停车——停车位人工智能检测系统 [J]. 信息系统工程, 2024, (01): 27-30.

[7]李伟东,李冰,朱旭浩等. 基于语义分割的车位检测算法研究 [J]. 大连理工大学学报, 2024, 64 (01): 96-103.

[8]毛民,阳卫,冯雪刚等. 一个智慧停车系统的设计 [J]. 电脑知识与技术, 2023, 19 (35): 53-55.

[9]曾紫胤,石其坤. 基于GNSS的“零等待”路边停车系统 [J]. 科技与创新, 2023, (23): 53-55.

[10]马童. 怎样系统解决停车难?[N]. 信阳日报, 2023-11-25 (003).

[11]丁玉山,张路方. 首都高校校园机动车停车问题改善研究——以北京师范大学为例 [J]. 高校后勤研究, 2023, (11): 24-26.

[12]郭小红,张足生,李文杰等. 路边停车检测物联网系统网关部署算法 [J]. 计算机技术与发展, 2023, 33 (11): 91-98.

[13]黄伟东. 探索指向问题解决的数学主题活动教学——以“规划校园停车场”主题活动为例 [J]. 小学教学参考, 2023, (30): 6-8.

[14]杨芬,宋晓燕. MySQL数据库应用的课程教学分析 [J]. 电子技术, 2023, 52 (10): 180-181.

[15]马文新,刘百韬,侯冠麒等. 基于SpringBoot的三维数字化设备运维管理系统的设计与实现 [J]. 中国建设信息化, 2023, (18): 66-69.

[16]Ghoshal A . Oracle’s MySQL HeatWave gets Vector Store, generative AI features [J]. InfoWorld.com, 2023,

[17]王琨,余丹丹. 探讨改善城市中小学接送停车问题的途径 [J]. 中华建设, 2023, (06): 76-78.

[18]赵姗. 建议在校园周边增设停车候车场地[N]. 中国经济时报, 2023-03-08 (002).

[19]Yang Y . Design and Implementation of Student Information Management System Based on Springboot [J]. Advances in Computer, Signals and Systems, 2022, 6 (6):

[20]刘嘉伟. 基于FLASK的校园智能停车系统的构建[D]. 吉林大学, 2021.

致谢

到此,整个校园车位系统就算完成了,虽然过程十分艰难,但是等到都完成的时候,我感觉无比的自豪,虽然设计的系统还存在许多的纰漏,但是我已经拼劲全力,给自己的大学四年画上了一个圆满的句号。写到这里有许多思绪想要表达,但是回首大学四年的学习生涯,才发现留在记忆里的东西就像无穷无尽的代码一样多,用言语很难表达出所念所想,但是有一些最重要的感谢话还是要表达出来。

在这里我首先要感谢的就是大学四年来所有教过我的老师,是他们教会了我很多的专业知识和做人的道理,从一进校门对开发系统的一窍不通,对于老师所留的结课作业总是抱怨累心难做,到现在能自主开发一个管理系统,里面包含了前台框架、后台框架、业务流程、我非常感激我的指导老师们,在大学期间你们帮助我掌握了数据挖掘,数据结构、操作系统等各种知识,并且让我能够将它们统一运用,最终完成了整个系统。在开发这个系统的过程中,我遇到了无数的问题,但是无论是线上还是线下,我都会向导师寻求帮助,而导师也总是耐心地指导我如何实现这个功能,如何让系统变得更加完善,最终,我也通过自己查阅相关资料,解决了许多问题。通过“老师,谢谢您,您辛苦了”的指导,我大大提升了自身的解决问题的能力,比起传授知识,更重要的是,它让我受益匪浅,我将继续努力,向老师学习,让自己的智慧得到更大的发挥!最后我还要感谢我的室友、同学,在一起学习这四年,他们不但学习上给了我很多建议,在生活上更加给了我帮助,正是有他们的帮助,我的大学生涯才如此完美。

最后,希望自己在未来的道路上能够越走越远,不辜负在大学的学习以及老师们的细致的教导,追风赶月莫停留,平荒尽处是春山。

免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值