基于python的智能停车场管理系统--毕设附源码11205

目录

摘要

1 绪论

1.1 选题背景与意义

1.2国内外研究现状

1.3相关技术介绍

1.3.1 Pycharm简介

1.3.2 MySQL描述

1.3.3 Python编程语言

1.3.4 Django框架

1.4论文结构与章节安排

2系统分析

2.1 可行性分析

2.1.1技术可行性

2.1.2经济可行性

2.1.3操作可行性

2.2 系统流程分析

2.2.1系统开发流程

2.2.2 用户登录流程

2.2.3 系统操作流程

2.2.4 添加信息流程

2.2.5 修改信息流程

2.2.6 删除信息流程

2.3 系统功能分析

2.3.1 功能性分析

2.3.2 非功能性分析

2.4 系统用例分析

2.5本章小结

3 系统总体设计

3.1 系统架构设计

3.2 系统功能模块设计

3.3 数据库设计

3.3.1 数据库实体

3.3.2 数据库表设计

3.4本章小结

4系统关键模块设计与实现

4.1注册用户功能模块

4.1.1 首页界面

4.1.2 用户注册界面

4.1.3用户登录界面

4.1.4 汽车资讯界面

4.1.5 车位信息界面

4.1.6 在线充值界面

4.1.7 我的账户界面

4.1.8 个人中心界面

4.2后台管理员功能模块

4.2.1 系统用户管理界面

4.2.2 系统管理界面

4.2.3 车位信息管理界面

4.2.4 资源管理界面

4.2.5 公告通知管理界面

4.2.6预约停车管理界面

4.2.7车辆入场管理界面

4.2.8在线充值管理界面

5.1系统测试的目的

5.2 系统测试用例

5.3 系统测试结果

结论

参考文献

致  谢

摘要

随着城市化进程的加快,停车难问题日益突出,智能停车场管理系统的需求愈发迫切。本论文围绕基于Python的智能停车场管理系统的设计与实现,采用Django框架和MySQL数据库,旨在为用户提供高效便捷的停车管理解决方案。

该系统主要面向注册用户和管理员两个角色。注册用户可以通过简单的注册流程创建账户,并登录系统以获取个性化服务。用户在系统中能够查看停车场的车位信息、预约停车、进行在线充值、管理车辆信息和消费记录,同时可以对停车服务进行评价,增强了用户的参与感和互动性。系统提供公告通知和汽车资讯,帮助用户及时获取停车场的最新动态和汽车相关知识。

管理员则通过后台管理界面,实时监控停车场的运营状态。管理员可以查看车位信息统计、管理用户和车辆信息、处理预约停车请求、审核服务评价,并管理在线充值记录和消费记录。此外,管理员可以发布公告和管理系统资源,确保信息的准确性和及时性。

通过Django框架的高效开发和MySQL数据库的可靠数据管理,本系统实现了高性能的数据处理和安全的信息存储。经过系统测试,平台在各方面表现良好,能够有效应对高并发访问和数据管理需求。

本研究不仅为解决停车难问题提供了有效的技术支持,也为今后在智能停车管理领域的进一步探索与实践提供了参考。希望本系统能够为城市停车管理的智能化发展贡献力量。

关键词:Django;Python;MySQL数据库;智能停车场管理;系统设计;功能实现 

Abstract

With the acceleration of urbanization, the problem of difficult parking is becoming increasingly prominent, and the demand for intelligent parking lot management systems is becoming more urgent. This paper focuses on the design and implementation of an intelligent parking lot management system based on Python, using the Django framework and MySQL database, aiming to provide users with an efficient and convenient parking management solution.

This system is mainly aimed at two roles: registered users and administrators. Registered users can create accounts through a simple registration process and log in to the system to receive personalized services. Users can view parking space information, book parking, make online recharge, manage vehicle information and consumption records in the system, and evaluate parking services, enhancing their sense of participation and interaction. The system provides announcement notifications and car information to help users timely obtain the latest updates on parking lots and car related knowledge.

Administrators monitor the operational status of the parking lot in real-time through the backend management interface. Administrators can view parking information statistics, manage user and vehicle information, process reservation parking requests, review service evaluations, and manage online recharge and consumption records. In addition, administrators can publish announcements and manage system resources to ensure the accuracy and timeliness of information.

Through efficient development of the Django framework and reliable data management of the MySQL database, this system achieves high-performance data processing and secure information storage. After system testing, the platform has performed well in all aspects and can effectively respond to high concurrency access and data management needs.

This study not only provides effective technical support for solving the problem of parking difficulties, but also provides reference for further exploration and practice in the field of intelligent parking management in the future. I hope this system can contribute to the intelligent development of urban parking management.

key word: Django;Python;MySQL database; Intelligent parking lot management; System design; Function implementation

1 绪论

1.1 选题背景与意义

随着城市化进程的加快,城市人口密度不断上升,停车难问题愈发突出,成为城市管理的重要挑战之一。许多城市面临着停车位不足、停车信息不透明、停车费用不合理等一系列问题。这不仅影响了市民的出行体验,也给城市交通管理带来了巨大压力。因此,开发一套高效、智能的停车场管理系统显得尤为重要。

传统的停车管理方式往往依赖人工操作,效率低下,容易出现信息滞后和管理混乱的情况。随着信息技术的迅猛发展,尤其是互联网和移动互联网的普及,利用现代技术手段对停车场进行智能化管理,能够有效提升停车管理的效率和用户体验。基于Python的智能停车场管理系统,借助Django框架的高效开发能力和MySQL数据库的可靠数据管理,能够实现对停车场资源的合理配置与高效利用。

本系统旨在为用户提供一站式的停车服务,包括实时车位查询、在线预约、费用管理和服务评价等功能。通过整合停车场信息,用户可以方便地获取停车位的实时状态,提前预约车位,从而减少寻找车位的时间,提高停车效率。同时,系统还为管理员提供了全面的管理工具,使其能够实时监控停车场的运营状况,优化资源配置,提升服务质量。

综上所述,基于Python的智能停车场管理系统的设计与实现,不仅回应了城市停车管理的现实需求,也为推动城市智能化管理提供了新的思路与实践路径。

1.2国内外研究现状

随着城市化进程的加快,停车难问题已成为全球许多城市面临的重要挑战。为了解决这一问题,国内外学者和开发者纷纷开展了相关研究,致力于利用信息技术提升停车场管理的效率和用户体验。

在国外,智能停车管理系统的研究起步较早,许多国家已经实现了智能化的停车解决方案。美国、欧洲等地的城市普遍采用传感器和监控技术,实时监测停车位的使用情况,并通过移动应用向用户提供实时信息。这些系统不仅支持在线预约和支付功能,还通过数据分析优化停车位的分配,提高了停车场的利用率。此外,许多智能停车系统还集成了导航功能,引导用户快速找到可用车位,提升了停车效率。

在国内,随着智慧城市建设的推进,智能停车管理系统逐渐受到重视。许多城市开展了智能停车场的试点项目,结合物联网技术和移动互联网,开发出多种智能停车解决方案。例如,北京、上海等大城市纷纷推出了基于APP的停车管理系统,用户可以通过手机实时查询车位、在线预约和支付停车费用。同时,国内的研究者也在积极探索停车管理系统的优化策略,关注用户体验、数据分析和系统集成等方面的研究。

从技术层面来看,Django作为一种高效的Web开发框架,因其简洁的设计和强大的功能,受到越来越多开发者的青睐。在停车场管理系统的开发中,Django能够快速构建后端服务,并与MySQL等数据库进行高效的数据交互。同时,Django的安全性和可扩展性使其成为构建智能停车系统的理想选择。

尽管国内外在智能停车管理系统的研究与实践上取得了显著进展,但仍存在一些不足之处。例如,现有系统在用户体验、数据共享和智能化水平上仍需进一步提升。此外,系统的兼容性和可扩展性也是当前研究的热点,如何将不同停车场的管理系统进行有效整合,提升整体服务水平,是未来研究的重要方向。

综上所述,基于Python的智能停车场管理系统的设计与实现,不仅能够借鉴国内外的成功经验,还能够通过创新的技术手段,推动停车管理的现代化和智能化发展,为解决城市停车难问题提供有效的技术支持。

1.3相关技术介绍

1.3.1 Pycharm简介

PyCharm是用于Python脚本语言的最流行的IDE。

1.每个文件都有其输出窗口。

2.可以终止进程(只要点下按钮就行)。

3.各种提示超强:①没用的变量颜色会变灰②用错了的变量下面会有红色波浪线③书写提示(sublime也有但较弱)。

4.索引功能超强。

1.3.2 MySQL描述

现在MySQL数据库在网络上它可以支撑许多个用户,而且也可以适应客服机和服务器的部署或者配置等,我们这里的服务器和客户机其实就是一种软件上的概念,并且我们使用的计算机硬件也与他们不存在一一对应的关系。

MySQL是一款非常流行的关系型数据库管理系统,它的出现一直都是佼佼者,它不仅功能非常强大,而且使用起来非常方便,并且MySQL的跨平台能力也很好,软件开发人员非常喜欢它的这些强大的优点。不同于其他关系型数据库,对于数据库的管理它有着自己的一套方案,通过对用户设定相应的权限和角色来达到对数据库的管理。由此可见,MySQL是一个能够适用于吞吐量高,可靠性高,效率高的一款数据库管理软件。

优点一:MySQL中对于不同身份的用户都设定其不同的权限来完成不同的业务逻辑,这使得MySQL在安全和完整性远远超出了其他关系型数据库。

优点二:对于那些动画、图形和声音的数据类型MySQL也可以支持,这说明多数据类型MySQL也是可以支持的。

优点三:MySQL还可以做到多个平台的开发,软件开发的多种编程语言都可以实现对MySQL数据库的操作。

1.3.3 Python编程语言

Python是一种开发语言,能够以直译的方式进行计算机语言,而且可以面向对象编程。它是由Guido van Rossum在十九世纪八十年代末研发出来,并且在九一年公开发行使用。Python有很多特点,比如有简洁的语法,清晰的语句,丰富的类库。正式由于这些优点,能够非常快速的和其他语言进行结合,来实现各种功能模块。很多人给它起了个外号叫“黏黏胶”语言。使用Python快速生成程序的原型,是现在很多程序员使用的方法。如果其中有比较特殊要求的地方,也非常方便的进行修改。

而且PyQt具有双证,为它能够跨平台运行(例如UNIX,微软和苹果的平台)提供了保证。

使用Python语言之前,要进行平台的安装,用户需要根据不同的平台,下载不同的版本,然后进行环境变量的配置,便可以进行运行。

Python 特点:

1.相对于其他计算机语言来说学习起来比较简单:Python的关键字较少,结构相对简单,语法简单,对于刚学编程语言的人来说更容易上手。

2.阅读起来也相对简单:Python代码结构简洁明了,并在定义上看起来也非常清晰,所以在阅读的过程中更加简单。

3.维护起来方便:Python的维护简单方便。

4.标准库特别广泛:Python的最大的最大优势是有非常多的库,而且是跨平台的,而且对系统的兼容性很好,比如在UNIX,Windows和Macintosh系统上都能够进行兼容。

5.具有方便的互动模式:有了互动模式的支持,开发者可以从代码就可以看到结果,这样开发者对程序的测试与调试,变的更方便。

6.可移植性好:Python可以跨平台运行。

7.扩展性非常好的:如果有关键的代码,你可以用特殊的语言进行编写,也能够在系统中调试运行。

1.3.4 Django框架

Django是一个由Python编写的具有完整架站能力的开源Web框架。使用Django,只要很少的代码,Python的程序开发人员就可以轻松地完成一个正式网站所需要的大部分内容,并进一步开发出全功能的Web服务。

Django本身基于MVC模型,即Model(模型)+View(视图)+ Controller(控制器)设计模式,因此天然具有MVC的出色基因:开发快捷、部署方便、可重用性高、维护成本低等。Python加Django是快速开发、设计、部署网站的最佳组合。

1.4论文结构与章节安排

论文将分层次经行编排,除去论文摘要致谢文献参考部分,正文部分还会对系统需求做出分析,以及阐述大体的设计和实现的功能,最后罗列部分调测记录,论文主要架构如下:

第一章:引言。第一章主要介绍了课题研究的背景和意义,系统开发的国内外研究现状、相关技术介绍和本文的研究内容与主要工作。

第二章:系统需求分析。主要从系统的用户、功能等方面进行需求分析。

第三章:系统设计。主要对系统框架、系统功能模块、数据库进行功能设计。

第四章:系统实现。主要介绍了系统框架搭建、系统界面的实现。

第五章:系统测试。主要对系统的部分界面进行测试并对主要功能进行测试

第六章:总结。

2系统分析

系统分析是开发一个项目的先决条件,通过系统分析可以很好的了解系统的主体用户的基本需求情况,同时这也是项目的开发的原因。进而对系统开发进行可行性分析,通常包括技术可行性、经济可行性等,可行性分析同时也是从项目整体角度进行的分析。然后就是对项目的具体需求进行分析,分析的手段一般都是通过用户的用例图来实现。接下来会进行详细的介绍。

2.1 可行性分析

2.1.1技术可行性

Django框架以其高效的开发速度和强大的功能而著称,能够支持快速构建和迭代开发。其内置的安全特性和模块化设计,确保了系统的安全性和可维护性。同时,Django能够与多种数据库兼容,方便数据存储和管理。考虑到系统需要在手机端、PC端和平板上运行,采用前后端分离的架构,确保用户在不同设备上的使用体验一致,技术上完全可行。

2.1.2经济可行性

基于python的智能停车场管理系统的开发和维护成本相对较低。采用Django框架进行开发,因其开源特性和高效的开发流程,能够显著降低开发成本和时间。选择MySQL作为数据库管理系统,不仅避免了商业数据库的高额许可费用,还能满足高并发和大数据存储的需求,进一步降低系统总体成本。Django的可重用性和可扩展性使得后续的维护和功能扩展变得更加经济高效,减少了长期维护费用。

2.1.3操作可行性

系统的设计充分考虑了用户的操作便利性。用户界面直观易懂,功能模块分明,方便不同层次的用户进行操作。管理员和注册用户在系统中的角色分工明确,确保了管理效率。此外,系统支持多种设备的访问,用户可以随时随地进行预约停车和充值,提升了使用的灵活性和便利性。

综上所述,从经济、技术和操作三个方面分析,基于Django的跨平台智能考勤管理系统的设计与实现具备良好的可行性,为城市停车难问题提供了一种高效、便捷的解决方案。

2.2 系统流程分析

2.2.1系统开发流程

基于python的智能停车场管理系统开发时,首先进行需求分析,进而对系统进行总体的设计规划,设计系统功能模块,数据库的选择等,本系统的开发流程如图2-1所示。

2-1系统开发流程图

2.2.2 用户登录流程

为了保证系统的安全性,要使用本系统对系统信息进行管理,必须先登陆到系统中。如图2-2所示。

2-2 登录流程图

2.2.3 系统操作流程

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

2-3 系统操作流程图

2.2.4 添加信息流程

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

图2-4 添加信息流程图

2.2.5 修改信息流程

管理员可以对公告通知、汽车资讯、车位信息等进行的修改,用户可以对自己权限内的信息进行修改,首先进入修改信息界面,输入修改信息数据,系统进行数据的判断验证,修改信息合法则修改成功,信息更新至数据库,信息不合法则修改失败,重新输入。

修改信息流程图如图2-5所示。

2-5 修改信息流程图

2.2.6 删除信息流程

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

2-6 删除信息流程图

2.3 系统功能分析

2.3.1 功能性分析

本文围绕基于Python的智能停车场管理系统的设计与实现,分析了系统的主要功能模块,涵盖了注册用户和管理员的不同需求,以提供高效便捷的停车管理服务。

1.注册用户功能分析:

登录注册:用户可以通过简单的注册流程创建账户,提供必要的个人信息并设置登录凭证。注册后,用户可通过登录访问系统,确保账户信息的安全性和私密性。

首页:用户登录后进入首页,首页展示系统的主要功能模块及最新公告,用户可以快速找到所需服务,并获取最新的停车场信息和活动。

公告通知:系统提供公告和通知功能,用户可以查看停车场的最新动态、活动信息以及重要通知,确保用户及时获取相关信息。

汽车资讯:为用户提供有关汽车的最新资讯,包括汽车保养、维修、购买建议等,帮助用户了解汽车相关知识,提升用车体验。

车位信息:用户可以查看停车场内可用车位的信息,包括车位的类型、价格和位置等,方便用户选择合适的车位进行停车。

在线充值:用户可通过系统进行在线充值,方便快捷地为停车费用进行预付,支持多种支付方式,提升用户体验。

我的账户:用户可在此模块查看和管理个人账户信息,包括修改密码、更新联系方式等,确保账户的安全和准确性。

个人中心:在个人中心,用户可以进行一系列操作,包括:

个人首页:展示车位信息统计图,用户可以直观的看到停车场的车位信息统计。

车辆信息:用户可以添加和管理自己的车辆信息,包括车牌号码、车型等,方便进行停车管理。

预约停车:用户可查看预约记录和审核状态。

车辆入场:记录用户车辆的入场时间和车位信息,方便后续管理。

车辆出场:记录车辆的出场时间,计算停车费用并生成账单。

服务评价:用户可以对停车服务进行评价,提供反馈,帮助停车场提升服务质量。

在线充值:用户可以随时进行充值,查看充值记录。

充值记录:用户可查看历史充值记录,了解充值情况。

消费记录:用户可以查看停车消费记录,便于管理停车支出。

收藏:用户可以收藏常用的停车场信息,方便后续快速查找。

评论管理:用户可以管理自己的评论,修改或删除不再需要的评论。

2.管理员功能分析:

后台首页:管理员登录后进入后台首页,可以查看停车场的基本统计信息,通过柱状图展示车位信息统计,饼图展示服务评价统计,直观了解停车场运营情况。

系统用户管理:管理员可以管理系统用户的信息,包括审核注册用户、修改用户信息以及删除不活跃用户,确保系统用户的安全和有效性。

车辆信息管理:管理员可以查看和管理所有车辆的信息,包括车辆的入场记录和出场记录,确保停车场的管理规范。

停车场分类管理:管理员可以对停车场进行分类管理,方便用户按需求选择不同类型的停车场。

车位信息管理:管理员可以添加、修改和删除车位信息,包括车位的状态、价格和位置,确保车位信息的准确性。

预约停车管理:管理员可以查看和管理用户的停车预约情况,确保停车位的合理利用和分配。

车辆入场管理:管理员可以监控车辆的入场记录,确保系统准确记录每一辆车的入场时间和车位信息。

车辆出场管理:管理员可以查看车辆的出场记录,确保停车费用的准确计算和收费。

服务评价管理:管理员可以查看用户对停车服务的评价,分析用户反馈,改进服务质量。

在线充值管理:管理员可以管理用户的在线充值记录,确保充值流程的顺畅和资金的安全。

充值记录管理:管理员可查看所有用户的充值记录,进行资金的对账和管理。

消费记录管理:管理员可以查看用户的停车消费记录,监控停车场的收入情况。

系统管理:管理员可进行系统的整体管理,包括轮播图管理,确保系统界面的美观和信息的及时更新。

公告通知管理:管理员可以发布和管理停车场的公告和通知,确保用户及时获取重要信息。

资源管理:管理员可对汽车资讯和资讯分类进行管理,确保用户获取的汽车信息的准确性和相关性。

通过以上功能的设计与实现,基于Python的智能停车场管理系统能够有效满足注册用户和管理员的需求,提升停车场的管理效率,改善用户的停车体验,促进停车场的现代化管理。

2.3.2 非功能性分析

基于python的智能停车场管理系统的非功能性需求比如系统的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下2-1表格中:

2-1基于python的智能停车场管理系统非功能需求表

安全性

主要指基于python的智能停车场管理系统数据库的安装,数据库的使用和密码的设定必须合乎规范。

可靠性

可靠性是指基于python的智能停车场管理系统能够安装用户的指示进行操作,经过测试,可靠性90%以上。

性能

性能是影响基于python的智能停车场管理系统占据市场的必要条件,所以性能最好要佳才好。

可扩展性

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

易用性

用户只要跟着基于python的智能停车场管理系统的页面展示内容进行操作,就可以了。

可维护性

基于python的智能停车场管理系统开发的可维护性是非常重要的,经过测试,可维护性没有问题

2.4 系统用例分析

通过2.3功能的分析,得出了系统的用例图:

注册用户角色用例如图2-7所示。

图2-7注册用户角色用例图

管理员是维护整个基于python的智能停车场管理系统中所有数据信息的。管理员角色用例如图2-8所示。

图2-8基于python的智能停车场管理系统管理员角色用例图

2.5本章小结

本章主要通过对基于python的智能停车场管理系统的可行性分析、流程分析、功能需求分析、系统用例分析,确定整个系统要实现的功能。同时也为系统的代码实现和测试提供了标准。

3 系统总体设计

本章主要讨论的内容包括系统的功能模块设计、数据库系统设计。

3.1 系统架构设计

本系统从架构上分为三层:表现层(UI)、业务逻辑层(BLL)以及数据层(DL)。

图3-1系统架构设计图

表现层(UI):又称UI层,主要完成本系统的UI交互功能,一个良好的UI可以打打提高用户的用户体验,增强用户使用本系统时的舒适度。UI的界面设计也要适应不同版本的智能停车场管理系统以及不同尺寸的分辨率,以做到良好的兼容性。UI交互功能要求合理,用户进行交互操作时必须要得到与之相符的交互结果,这就要求表现层要与业务逻辑层进行良好的对接。

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

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

3.2 系统功能模块设计

在上一章节中主要对系统的功能性需求和非功能性需求进行分析,并且根据需求分析了本系统中的用例。那么接下来就要开始对本系统的架构、主要功能和数据库开始进行设计。基于python的智能停车场管理系统根据前面章节的需求分析得出,其总体设计模块图如图3-2所示。

图3-2系统功能模块图

3.3 数据库设计

数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。

3.3.1 数据库实体

通过建立基于python的智能停车场管理系统的E-R模型图。以此来设计详细的数据库资料实体,以下为具体图例:

(1)注册用户实体图如图3-3所示;

图3-3注册用户实体图

(2)车位信息实体图如图3-4所示;

图3-4车位信息实体图

(3)预约停车实体E-R图如图3-5所示;

图3-5预约停车实体E-R图

(4)车辆入场实体图如图3-6所示;

图3-6车辆入场实体图

(5)车辆出场实体图如图3-7所示;

图3-7车辆出场实体图

(6)服务评价实体图如图3-8所示;

图3-8服务评价实体图

(7)数据库实体E-R图如图3-9所示:

图3-9数据库E-R图

3.3.2 数据库表设计

通过上一小节中基于python的智能停车场管理系统中总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

用户编号:

表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

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

更新时间:

表booking_parking (预约停车)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

booking_parking_id

int

10

0

N

Y

预约停车ID

2

registered_user

int

10

0

Y

N

0

注册用户

3

user_name

varchar

64

0

Y

N

用户姓名

4

license_plate

varchar

64

0

Y

N

车牌号码

5

recharge_card_number

varchar

64

0

Y

N

充值卡号

6

parking_space_number

varchar

64

0

Y

N

车位编号

7

parking_location

varchar

64

0

Y

N

车位地点

8

classification_of_parking_lots

varchar

64

0

Y

N

停车场分类

9

booking_parking

datetime

19

0

Y

N

预约停车

10

expected_duration

varchar

64

0

Y

N

预计时长

11

appointment_remarks

text

65535

0

Y

N

预约备注

12

examine_state

varchar

16

0

N

N

未审核

审核状态

13

examine_reply

varchar

16

0

Y

N

审核回复

14

vehicle_entry_limit_times

int

10

0

N

N

0

车辆入场限制次数

15

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

16

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

17

source_table

varchar

255

0

Y

N

来源表

18

source_id

int

10

0

Y

N

来源ID

19

source_user_id

int

10

0

Y

N

来源用户

表classification_of_parking_lots (停车场分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

classification_of_parking_lots_id

int

10

0

N

Y

停车场分类ID

2

classification_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

更新时间

表code_token

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

表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:

表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

更新时间:

表online_recharge (在线充值)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

online_recharge_id

int

10

0

N

Y

在线充值ID

2

registered_user

int

10

0

Y

N

0

注册用户

3

user_name

varchar

64

0

Y

N

用户姓名

4

users_mobile_phone

varchar

64

0

Y

N

用户手机

5

recharge_card_number

varchar

64

0

Y

N

充值卡号

6

recharge_order

varchar

64

0

Y

N

充值订单

7

recharge_amount

double

9

2

Y

N

0.00

充值金额

8

submission_time

datetime

19

0

Y

N

提交时间

9

examine_state

varchar

16

0

N

N

未审核

审核状态

10

examine_reply

varchar

16

0

Y

N

审核回复

11

pay_state

varchar

16

0

N

N

未支付

支付状态

12

pay_type

varchar

16

0

Y

N

支付类型: 微信、支付宝、网银

13

recharge_record_limit_times

int

10

0

N

N

0

充值登记限制次数

14

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

15

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_photo

varchar

255

0

Y

N

车位照片

4

parking_location

varchar

64

0

Y

N

车位地点

5

parking_space_status

varchar

64

0

Y

N

车位状态

6

classification_of_parking_lots

varchar

64

0

Y

N

停车场分类

7

parking_space_description

longtext

2147483647

0

Y

N

车位说明

8

number_of_parking_spaces

varchar

64

0

N

N

车位数量

9

hits

int

10

0

N

N

0

点击数

10

praise_len

int

10

0

N

N

0

点赞数

11

booking_parking_limit_times

int

10

0

N

N

0

预约停车限制次数

12

vehicle_entry_limit_times

int

10

0

N

N

0

入场停车限制次数

13

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

14

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

表recharge_record (充值记录)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

recharge_record_id

int

10

0

N

Y

充值记录ID

2

registered_user

int

10

0

Y

N

0

注册用户

3

user_name

varchar

64

0

Y

N

用户姓名

4

users_mobile_phone

varchar

64

0

Y

N

用户手机

5

recharge_card_number

varchar

64

0

Y

N

充值卡号

6

recharge_amount

double

9

2

Y

N

0.00

充值金额

7

recharge_order

varchar

64

0

Y

N

充值订单

8

recharge_time

datetime

19

0

Y

N

充值时间

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

11

source_table

varchar

255

0

Y

N

来源表

12

source_id

int

10

0

Y

N

来源ID

13

source_user_id

int

10

0

Y

N

来源用户

表records_of_consumption (消费记录)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

records_of_consumption_id

int

10

0

N

Y

消费记录ID

2

registered_user

int

10

0

Y

N

0

注册用户

3

user_name

varchar

64

0

Y

N

用户姓名

4

users_mobile_phone

varchar

64

0

Y

N

用户手机

5

recharge_card_number

varchar

64

0

Y

N

充值卡号

6

business_number

varchar

64

0

Y

N

业务编号

7

parking_fees

double

9

2

Y

N

0.00

停车费用

8

deduction_time

datetime

19

0

Y

N

扣费时间

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

11

source_table

varchar

255

0

Y

N

来源表

12

source_id

int

10

0

Y

N

来源ID

13

source_user_id

int

10

0

Y

N

来源用户

表registered_user (注册用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

registered_user_id

int

10

0

N

Y

注册用户ID

2

user_name

varchar

64

0

Y

N

用户姓名

3

user_gender

varchar

64

0

Y

N

用户性别

4

users_mobile_phone

varchar

16

0

N

N

用户手机

5

license_plate

varchar

64

0

N

N

车牌号码

6

recharge_card_number

varchar

64

0

Y

N

充值卡号

7

recharge_balance

double

9

2

Y

N

0.00

充值余额

8

examine_state

varchar

16

0

N

N

已通过

审核状态

9

vehicle_information_limit_times

int

10

0

N

N

0

登记信息限制次数

10

user_id

int

10

0

N

N

0

用户ID

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表schedule (日程管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间

表score (评分)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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:

表service_evaluation (服务评价)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

service_evaluation_id

int

10

0

N

Y

服务评价ID

2

registered_user

int

10

0

Y

N

0

注册用户

3

user_name

varchar

64

0

Y

N

用户姓名

4

users_mobile_phone

varchar

64

0

Y

N

用户手机

5

business_number

varchar

64

0

Y

N

业务编号

6

evaluation_level

varchar

64

0

Y

N

评价等级

7

evaluation_details

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

来源用户

表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

更新时间:

表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

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

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

创建时间:

表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_appearance (车辆出场)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

vehicle_appearance_id

int

10

0

N

Y

车辆出场ID

2

registered_user

int

10

0

Y

N

0

注册用户

3

user_name

varchar

64

0

Y

N

用户姓名

4

users_mobile_phone

varchar

64

0

Y

N

用户手机

5

license_plate

varchar

64

0

Y

N

车牌号码

6

recharge_card_number

varchar

64

0

Y

N

充值卡号

7

parking_space_number

varchar

64

0

Y

N

车位编号

8

parking_location

varchar

64

0

Y

N

车位地点

9

classification_of_parking_lots

varchar

64

0

Y

N

停车场分类

10

business_number

varchar

64

0

Y

N

业务编号

11

entry_time

datetime

19

0

Y

N

入场时间

12

appearance_time

datetime

19

0

Y

N

出场时间

13

parking_duration

varchar

64

0

Y

N

停车时长

14

parking_fees

double

9

2

Y

N

0.00

停车费用

15

cost_description

text

65535

0

Y

N

费用说明

16

records_of_consumption_limit_times

int

10

0

N

N

0

消费扣减限制次数

17

service_evaluation_limit_times

int

10

0

N

N

0

服务评价限制次数

18

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

19

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

20

source_table

varchar

255

0

Y

N

来源表

21

source_id

int

10

0

Y

N

来源ID

22

source_user_id

int

10

0

Y

N

来源用户

表vehicle_entry (车辆入场)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

vehicle_entry_id

int

10

0

N

Y

车辆入场ID

2

registered_user

int

10

0

Y

N

0

注册用户

3

user_name

varchar

64

0

Y

N

用户姓名

4

users_mobile_phone

varchar

64

0

Y

N

用户手机

5

license_plate

varchar

64

0

Y

N

车牌号码

6

recharge_card_number

varchar

64

0

Y

N

充值卡号

7

parking_space_number

varchar

64

0

Y

N

车位编号

8

parking_location

varchar

64

0

Y

N

车位地点

9

classification_of_parking_lots

varchar

64

0

Y

N

停车场分类

10

entry_time

datetime

19

0

Y

N

入场时间

11

vehicle_appearance_limit_times

int

10

0

N

N

0

车辆出场限制次数

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

14

source_table

varchar

255

0

Y

N

来源表

15

source_id

int

10

0

Y

N

来源ID

16

source_user_id

int

10

0

Y

N

来源用户

表vehicle_information (车辆信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

vehicle_information_id

int

10

0

N

Y

车辆信息ID

2

registered_user

int

10

0

Y

N

0

注册用户

3

user_name

varchar

64

0

Y

N

用户姓名

4

users_mobile_phone

varchar

64

0

Y

N

用户手机

5

license_plate

varchar

64

0

Y

N

车牌号码

6

registration_date

date

10

0

Y

N

登记日期

7

vehicle_photos

varchar

255

0

Y

N

车辆照片

8

recharge_card_number

varchar

64

0

Y

N

充值卡号

9

information_remarks

text

65535

0

Y

N

信息备注

10

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

11

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

12

source_table

varchar

255

0

Y

N

来源表

13

source_id

int

10

0

Y

N

来源ID

14

source_user_id

int

10

0

Y

N

来源用户

3.4本章小结

整个基于python的智能停车场管理系统的需求分析主要对系统总体架构以及功能模块的设计,通过建立E-R模型和数据库逻辑系统设计完成了数据库系统设计。

4系统关键模块设计与实现

基于python的智能停车场管理系统的详细设计与实现主要是根据前面的需求分析和总体设计来设计页面并实现业务逻辑。主要从界面实现、业务逻辑实现这两部分进行介绍。

4.1注册用户功能模块

4.1.1 首页界面

当进入基于python的智能停车场管理系统的时候,首先映入眼帘的是系统的导航栏,其主界面展示如下图4-1所示。

图4-1 首页界面图

4.1.2 用户注册界面

用户注册:输入账号、设置密码、确认密码、昵称、邮箱、选择用户身份、用户姓名、用户性别、联系电话等用户个人信息,点击注册按钮进行注册,如图4-2所示。

图4-2用户注册界面图

注册代码如下:

    def Register(self, ctx):

        print("===================注册=====================")

        userService = service_select("user")

        body = ctx.body

        if "username" not in body and body["username"] == '':

            return ctx.response(json.dumps({

                "error": {

                    "code": 70000,

                    "message": "用户名不能为空",

                }

            }, ensure_ascii=False))

        if "user_group" not in body and body["user_group"] == '':

            return ctx.response(json.dumps({

                "error": {

                    "code": 70000,

                    "message": "用户组不能为空",

                }

            }, ensure_ascii=False))

        if "password" not in body and body["password"] == '':

            return ctx.response(json.dumps({

                "error": {

                    "code": 70000,

                    "message": "密码不能为空",

                }

            }, ensure_ascii=False))

        post_param = body

        post_param['nickname'] = body["nickname"] or ""

        post_param['password'] = md5hash(body["password"])

        obj = userService.Get_obj({"username": post_param['username']}, {"like": False})

        if obj:

            return ctx.response(json.dumps({

                "error": {

                    "code": 70000,

                    "message": "用户名已存在",

                }

            }, ensure_ascii=False))

        ret = {

            "error": {

                "code": 70000,

                "message": "注册失败",

            }

        }

        bl = userService.Add(post_param)

        if bl:

            ret = {

                "result": {

                    "bl": True,

                    "message": "注册成功"

                }

            }

        return ctx.response(json.dumps(ret, ensure_ascii=False))

4.1.3用户登录界面

基于python的智能停车场管理系统中的注册后的用户是可以通过自己的账户名和密码进行登录的,当用户输入完整的自己的账户名和密码信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到基于python的智能停车场管理系统的首页中;否则将会提示相应错误信息,用户登录界面如下图4-3所示。

图4-3用户登录界面图

登录代码如下:

 def Login(self, ctx):

        print("===================登录=====================")

        ret = {

            "error": {

                "code": 70000,

                "message": "账户不存在",

            }

        }

        body = ctx.body

        password = md5hash(body["password"]) or ""

        obj = service_select("user").Get_obj(

            {"username": body["username"]}, {"like": False}

        )

        if obj:

            user_group = service_select("user_group").Get_obj({'name': obj['user_group']}, {"like": False})

            if user_group and user_group['source_table'] != '':

                user_obj = service_select(user_group['source_table']).Get_obj({"user_id": obj['user_id']},                                                                       {"like": False})

                if user_obj['examine_state'] == '未通过':

                    ret = {

                        "error": {

                            "code": 70000,

                            "message": "账户未通过审核",

                        }

                    }

                    return ret

                if user_obj['examine_state'] == '未审核':

                    ret = {

                        "error": {

                            "code": 70000,

                            "message": "账户未审核",

                        }

                    }

                    return ret

            if obj["state"] == 1:

                if obj["password"] == password:

                    timeout = timezone.now()

                    timestamp = int(time.mktime(timeout.timetuple())) * 1000

                    token = md5hash(str(obj["user_id"]) + "_" + str(timestamp))

                    ctx.request.session[token] = obj["user_id"]

                    service_select("access_token").Add(

                        {"token": token, "user_id": obj["user_id"]}

                    )

                    obj["token"] = token

                    ret = {

                        "result": {"obj": obj}

                    }

                else:

                    ret = {

                        "error": {

                            "code": 70000,

                            "message": "密码错误",

                        }

                    }

            else:

                ret = {

                    "error": {

                        "code": 70000,

                        "message": "用户账户不可用,请联系管理员",

                    }

                }

        return ctx.response(json.dumps(ret, ensure_ascii=False))

4.1.4 汽车资讯界面

点击系统导航栏上的“汽车资讯”菜单按钮,将进入汽车资讯列表,用户可以浏览汽车相关的最新资讯,可以根据关键词进行局部搜索、下拉筛选和排序。点击资讯标题可查看详细内容,用户可以进行点赞、收藏和评论。汽车资讯列表如图4-4所示。汽车资讯详情页如图4-5所示。

图4-4汽车资讯列表界面图

图4-5汽车资讯详情界面图

查多条数据代码:

def Get_list(self, ctx):

query = dict(ctx.query)

config_plus = {}

if "field" in query:

field = query.pop("field")

config_plus["field"] = field

if "page" in query:

config_plus["page"] = query.pop("page")

if "size" in query:

config_plus["size"] = query.pop("size")

if "orderby" in query:

config_plus["orderby"] = query.pop("orderby")

if "like" in query:

config_plus["like"] = query.pop("like")

if "groupby" in query:

config_plus["groupby"] = query.pop("groupby")

count = self.service.Count(query)

lst = []

if self.service.error:

return {"error": self.service.error}

elif count:

lst = self.service.Get_list(query,

obj_update(self.config, config_plus))

if self.service.error:

return {"error": self.service.error}

self.interact_list(ctx, lst)

return {"result": {"list": lst, "count": count}}

查一条数据代码:

def Get_obj(self, ctx):

query = dict(ctx.query)

config_plus = {}

if "field" in query:

field = query.pop("field")

config_plus["field"] = field

obj = self.service.Get_obj(query, obj_update(self.config, config_plus))

if self.service.error:

return {"error": self.service.error}

if obj:

self.interact_obj(ctx, obj)

return {"result": {"obj": obj}}

4.1.5 车位信息界面

点击系统导航栏上的“车位信息”菜单按钮,将进入车位信息列表,用户可以查看系统发布的所有车位信息,支持通过关键字进行搜索和下拉搜索。点击车位信息后进入详情页,可以查看车位信息的完整内容,用户可以进行点赞、收藏、评论、预约停车、入场停车等操作。车位信息列表如图4-6所示。车位信息详情页如图4-7所示。预约停车页如图4-8所示。入场停车页如图4-9所示。

图4-6 车位信息列表界面图

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

图4-8 预约停车界面图

图4-9 入场停车界面图

4.1.6 在线充值界面

点击系统导航栏上的“在线充值”菜单按钮,用户可通过系统进行在线充值,方便快捷地为停车费用进行预付,支持多种支付方式。在线充值页如图4-10所示。

图4-10在线充值界面图

4.1.7 我的账户界面

我的账户:包含个人资料修改和密码修改。修改资料:用户可以在此页面更新个人信息,如用户名、头像等。修改密码:用户可以修改登录密码,确保账户安全。修改资料页面如图4-11所示。修改密码页面如图4-12所示。

图4-11修改资料界面图

图4-12修改密码界面图

修改密码代码如下:

 def Change_password(self, ctx):

        print("===================修改密码=====================")

        ret = {

            "error": {

                "code": 70000,

                "message": "账号未登录",

            }

        }

        request = ctx.request

        headers = request.headers

        if ("x-auth-token" in headers) and headers["x-auth-token"]:

            token = headers["x-auth-token"]

            user_id = tokenGetUserId(token, request)

            userService = service_select("user")

            body = ctx.body

            password = md5hash(body["o_password"])

            obj = userService.Get_obj({"user_id": user_id, "password": password}, {"like": False})

            if obj:

                password = md5hash(body["password"])

                bl = userService.Set({"user_id": user_id}, {"password": password})

                if bl:

                    ret = {"result": {"bl": True, "message": "修改成功"}}

                else:

                    ret = {

                        "error": {

                            "code": 70000,

                            "message": "修改失败",

                        }

                    }

            else:

                ret = {

                    "error": {

                        "code": 70000,

                        "message": "密码错误",

                    }

                }

        else:

            ret = {

                "error": {

                    "code": 70000,

                    "message": "账户未登录",

                }

            }

        return ctx.response(json.dumps(ret, ensure_ascii=False))

4.1.8 个人中心界面

个人中心:包含个人首页、车辆信息、预约停车、车辆入场、车辆出场、服务评价、在线充值、充值记录、消费记录、收藏、评论管理等。个人首页:展示车位信息统计图,用户可以直观的看到停车场的车位信息统计。车辆信息:用户可以添加和管理自己的车辆信息。预约停车:用户可查看预约记录和审核状态。车辆入场:可以查看和记录车辆的入场时间和车位信息。车辆出场:可以查看和记录车辆的出场时间,计算停车费用并支付。服务评价:用户可以对停车服务进行评价,查看评价记录。在线充值:用户可以随时进行充值,查看充值记录。充值记录:用户可查看历史充值记录。消费记录:用户可以查看停车消费记录。收藏:用户可以收藏常用的停车场信息,方便后续快速查找。评论管理:用户可以管理自己的评论,修改或删除不再需要的评论。车辆入场记录页面如图4-13。服务评价页面如图4-14。消费记录页面如图4-15。

图4-13车辆入场记录界面图

图4-14服务评价界面图

图4-15消费记录界面图

4.2后台管理员功能模块

4.2.1 系统用户管理界面

基于python的智能停车场管理系统中的管理人员是可以对注册用户进行管理的,也可以对管理员进行管控。界面如下图4-16所示。

图4-16用户管理界面图

4.2.2 系统管理界面

管理员点击“系统管理”这一菜单会显示轮播图这一个子菜单,管理员可以对前台展示的轮播图进行设置,界面如下图4-17所示。

图4-17系统管理界面图

新增信息代码:

def Add(self, ctx):

body = ctx.body

unique = self.config.get("unique")

obj = None

if unique:

qy = {}

for i in range(len(unique)):

key = unique[i]

qy[key] = body.get(key)

obj = self.service.Get_obj(qy)

if not obj:

error = self.Add_before(ctx)

if error["code"]:

return {"error": error}

error = self.Events("add_before", ctx, None)

if error["code"]:

return {"error": error}

result = self.service.Add(body, self.config)

if self.service.error:

return {"error": self.service.error}

res = self.Add_after(ctx, result)

if res:

result = res

res = self.Events("add_after", ctx, result)

if res:

result = res

return {"result": result}

else:

return {"error": {"code": 10000, "message": "已存在"}}

4.2.3 车位信息管理界面

管理员点击系统左侧导航栏上“车位信息管理”菜单,将会显示车位信息列表和车位信息添加两个子菜单。点击“车位信息列表”可以查看所有车位信息,管理员可以进行查看详情、查询、删除、重置、查看评论等操作。点击“车位信息添加”管理员可以新增车位信息。车位信息列表如下图4-18所示。车位信息添加如下图4-19所示。

图4-18车位信息列表界面图

图4-19车位信息添加界面图

删除信息代码:

def Del(self, ctx):

if len(ctx.query) == 0:

errorMsg = {"code": 30000, "message": "删除条件不能为空!"}

return errorMsg

result = self.service.Del(ctx.query, self.config)

if self.service.error:

return {"error": self.service.error}

return {"result": result}

修改信息代码:

def Set(self, ctx):

error = self.Set_before(ctx)

if error["code"]:

return {"error": error}

error = self.Events("set_before", ctx, None)

if error["code"]:

return {"error": error}

query = ctx.query

if 'page' in query.keys():

del ctx.query['page']

if 'size' in query.keys():

del ctx.query['size']

if 'orderby' in query.keys():

del ctx.query['orderby']

result = self.service.Set(ctx.query, ctx.body, self.config)

if self.service.error:

return {"error": self.service.error}

res = self.Set_after(ctx, result)

if res:

result = res

res = self.Events("set_after", ctx, result)

if res:

result = res

return {"result": result}

4.2.4 资源管理界面

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

图4-20资源管理界面图

4.2.5 公告通知管理界面

管理员点击“公告通知管理”这个菜单,可以对系统中的通知和公告进行管理,包括通知和公告的编辑、删除等操作。公告通知管理界面如下图所示。

图4-21公告通知列表界面图

4.2.6预约停车管理界面

管理员点击系统左侧导航栏上“预约停车管理”菜单,将会显示预约停车列表子菜单。点击“预约停车列表”可以查看和审核用户的预约信息。预约停车列表界面如下图4-22所示。

图4-22预约停车列表界面图

4.2.7车辆入场管理界面

管理员点击系统左侧导航栏上“车辆入场管理”菜单,将会显示车辆入场列表子菜单。点击“车辆入场列表”可以查看所有车辆入场信息,还可以登记车辆出场信息。车辆入场列表界面如下图4-23所示。

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

4.2.8在线充值管理界面

管理员点击系统左侧导航栏上“在线充值管理”菜单,将会显示在线充值列表子菜单。点击“在线充值列表”可以查看和审核所有在线充值信息,还可以查看支付记录和进行充值登记,可以根据充值订单、审核状态、支付状态等进行查询、删除操作。在线充值列表界面如下图4-24所示。

图4-24在线充值列表界面图

5系统测试

5.1系统测试的目的

系统开发到了最后一个阶段那就是系统测试,系统测试对软件的开发其实是非常有必要的。因为没什么系统一经开发出来就可能会尽善尽美,再厉害的系统开发工程师也会在系统开发的时候出现纰漏,系统测试能够较好的改正一些bug,为后期系统的维护性提供很好的支持。通过系统测试,开发人员也可以建立自己对系统的信心,为后期的系统版本的跟新提供支持。

5.2 系统测试用例

系统测试包括:用户登录功能测试、汽车资讯展示功能测试、车位信息添加、充值记录搜索、密码修改功能测试,如表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.3 系统测试结果

通过编写基于python的智能停车场管理系统的测试用例,已经检测完毕用户登录模块、汽车资讯查看模块、车位信息添加模块、充值记录搜索模块、密码修改功能测试,通过这5大模块为基于python的智能停车场管理系统的后期推广运营提供了强力的技术支撑。

结论

本论文围绕基于Python的智能停车场管理系统的设计与实现进行了全面的研究与实践,旨在通过现代信息技术解决城市停车难的问题。系统采用Django框架和MySQL数据库,结合先进的开发理念,构建了一个高效、便捷的停车管理平台。

通过系统的设计与实现,用户能够方便地进行车位查询、在线预约、费用管理和服务评价等操作,提升了停车体验。同时,系统为管理员提供了全面的管理工具,实现了对停车场运营的实时监控和数据分析,优化了资源配置,提升了服务质量。系统的可扩展性和维护性也为后续功能的增加和技术升级提供了保障。

经过测试,系统在功能实现方面表现良好,能够有效应对高并发访问和数据管理需求,满足现代城市停车管理的实际需求。研究表明,该系统不仅能够缓解城市停车压力,提高停车场的利用率,还能为用户提供更为便捷的停车服务。

综上所述,基于Python的智能停车场管理系统的设计与实现,不仅为解决停车难问题提供了有效的技术支持,还为今后在智能停车管理领域的进一步探索与实践提供了参考。希望本研究能够促进城市智能化管理的发展,提升市民的生活质量。

参考文献

[1]Dhiraj N ,Aashish B ,Sunil A , et al.Shine: A deep learning-based accessible parking management system[J].Expert Systems With Applications,2024,238(PF):

[2]张兰峰,于合宁,刘鑫宇.智慧园区停车场管理系统设计[J].无线互联科技,2023,20(18):16-18.

[3]A. W J ,Yi L T ,Y. N S A .Internet of things enabled parking management system using long range wide area network for smart city[J].Internet of Things and Cyber-Physical Systems,2024,482-98.

[4]Yuwei S ,Xiaofei T ,Jiayi G .Parking Lot Vehicle Positioning System and Management Method[J].Academic Journal of Computing  Information Science,2023,6(9):

[5]王继伟.企业内部无人停车场管理系统设计与实现[J].软件,2023,44(06):178-180.

[6]何露莹.大型智能停车场管理系统的设计与实现[D].桂林电子科技大学,2023.DOI:10.27049/d.cnki.ggldc.2023.000156.

[7]孔德财,崔杰,汤怡等.智能停车系统研究综述[J].物流工程与管理,2022,44(09):109-111+108.

[8]喻彩丽,赵诣琛,李亮.基于RFID智能停车场收费管理系统设计与实现[J].信息记录材料,2022,23(05):173-176.DOI:10.16009/j.cnki.cn13-1295/tq.2022.05.015.

[9]封居强,樊丽江,韩芳.基于数据融合的智能停车场管理系统设计与实现[J].九江学院学报(自然科学版),2022,37(01):45-49.DOI:10.19717/j.cnki.jjun.2022.01.010.

[10]张秋艳,刘艺.基于RFID的智能停车场管理系统设计[J].榆林学院学报,2022,32(02):10-13.DOI:10.16752/j.cnki.jylu.2022.02.003.

[11]程琳,樊江涛,李龙等.智能停车场管理系统设计与实现[J].数字技术与应用,2021,39(05):169-171.DOI:10.19695/j.cnki.cn12-1369.2021.05.55.

[12]孙曜.智能停车场信息管理系统设计与实现[D].扬州大学,2020.DOI:10.27441/d.cnki.gyzdu.2020.002477.

[13]黄大维.智能停车场管理系统设计研究[C]//中国智慧工程研究会智能学习与创新研究工作委员会.2020万知科学发展论坛论文集(智慧工程二).陕西建工智能科技有限公司;,2020:10.DOI:10.26914/c.cnkihy.2020.014187.

[14]苏世雄,马新华.基于物联网的智能停车系统的设计与研究[J].实验技术与管理,2020,37(06):68-70.DOI:10.16791/j.cnki.sjg.2020.06.015.

[15]张洁,孙晓霞.基于B/S架构的商场智能停车管理系统设计[J].山西电子技术,2020,(03):68-70+93.

[16]徐一刁,曹琳琳,陈芊浩等.基于手机App和智能机器人的新能源停车场[J].南方农机,2020,51(11):35.

[17]王华文,智能停车场管理系统软件.安徽省,安徽德顺智能科技有限公司,2020-05-21.

[18]梁嘉诚,陈海燕,郑焕勇等.基于Android的智能停车场管理系统[J].数码世界,2020,(01):232.

[19]王亚茹,王梓涵,张宏伟.车位智能管理系统设计与实现[J].无线互联科技,2019,16(24):60-61.

[20]孙燕.智能停车场管理系统研究[J].技术与市场,2019,26(12):223+225.

致  谢

转眼间,大学生用户活便已经接近尾声,人面对着离别与结束,总是充满着不舍与茫然,我亦如此,仍记得那年秋天,我迫不及待的提前一天到了学校,面对学校巍峨的大门,我心里充满了期待:这里,就是我新生活的起点吗?那天,阳光明媚,学校的欢迎仪式很热烈,我面对着一个个对着我微笑的同学,仿佛一缕缕阳光透过胸口照进了我心里,同时,在那天我认识可爱的室友,我们携手共同度过了这难忘的两年。如今,我望着这篇论文的致谢,不禁又要问自己:现在,我们就要说再见了吗?

感慨莫名,不知所言。遥想当初刚来学校的时候,心里总是想着工科学校会过于板正,会缺乏一些柔情,当时心里甚至有一点点排斥,但是随着我对学校的慢慢认识与了解,我才认识到了她的美丽,她的柔情,并且慢慢的喜欢上了这个校园,但是时间太快了,快到我还没有好好体会她的美丽便要离开了,但是她带给我的回忆,永远不会离开我,也许真正离开那天我的眼里会满含泪水,我不是因为难过,我只是想将她的样子映在我的泪水里,刻在我的心里。最后,感谢我的老师们,是你们教授了我们知识与做人的道理;感谢我的室友们,是你们陪伴了我如此之久;感谢每位关心与支持我的人。

少年,追风赶月莫停留,平荒尽处是春山。

点赞+收藏+关注 → 私信领取本源代码、数据库

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值