毕设项目·大数据新能源汽车大数据服务平台\12-18(白嫖源码+演示录像)可做计算机毕设JAVA、PHP、爬虫、APP、小程序、C#、C++、python、数据可视化、文案
摘 要
随着新能源汽车的快速发展,充电和服务网络的需求日益增加,如何高效管理充电电站、提升充电服务质量,成为了当前新能源汽车行业的重要课题。基于大数据技术的新能源汽车大数据服务平台,旨在通过数据的全面采集与分析,提升平台运营效率和服务质量。平台通过集成多种功能模块,涵盖了充电预约、账单管理、服务预约、驾驶报告、车辆管理等,满足不同用户的需求。管理员可以通过系统对平台的各类信息进行全面管理,如充电电站、电动汽车的统计与分析、用户信息的管理等,确保平台运营的高效性和服务的顺畅进行。普通用户则能够便捷地进行充电预约、查看账单、管理个人车辆信息以及获取驾驶报告等功能,提升了用户体验。服务商用户专注于服务信息和预约管理,确保提供高质量的服务。平台通过大数据分析,能够精准预测用户需求,优化资源调配,提升平台的智能化水平,为新能源汽车用户提供更加个性化、便捷的服务。
本平台采用Spark大数据技术,结合先进的数据处理与分析方法,充分发挥其在数据存储、处理和实时计算方面的优势,实现了平台高效的数据处理与服务优化。系统界面友好,操作简单,符合用户的使用习惯。通过大数据技术的应用,平台不仅提升了充电和服务的效率,也为新能源汽车行业的发展提供了有力的支持。
关键词:新能源汽车;服务平台;充电管理;Spark;数据分析;智能服务
Abstract
With the rapid development of new energy vehicles, the demand for charging and service networks is increasing. How to efficiently manage charging stations and improve the quality of charging services has become an important issue in the current new energy vehicle industry. The new energy vehicle big data service platform based on big data technology aims to improve platform operation efficiency and service quality through comprehensive data collection and analysis. The platform integrates multiple functional modules, including charging reservation, billing management, service reservation, driving report, vehicle management, etc., to meet the needs of different users. Administrators can comprehensively manage various types of information on the platform through the system, such as statistics and analysis of charging stations and electric vehicles, management of user information, etc., to ensure the efficiency of platform operation and smooth operation of services. Ordinary users can conveniently make charging appointments, view bills, manage personal vehicle information, and obtain driving reports, enhancing the user experience. Service provider users focus on service information and appointment management to ensure the provision of high-quality services. Through big data analysis, the platform can accurately predict user needs, optimize resource allocation, enhance the platform's intelligence level, and provide more personalized and convenient services for new energy vehicle users.
This platform adopts Spark big data technology and combines advanced data processing and analysis methods to fully leverage its advantages in data storage, processing, and real-time computing, achieving efficient data processing and service optimization on the platform. The system interface is user-friendly, easy to operate, and in line with user habits. Through the application of big data technology, the platform not only improves the efficiency of charging and services, but also provides strong support for the development of the new energy vehicle industry.
Keywords:New energy vehicles; Service platform; Charging management; Spark; Data analysis; Intelligent Services
目录
1 绪论
1.1 研究背景和意义
随着全球对环保和能源可持续发展的关注日益增加,新能源汽车作为一种低碳、绿色的交通工具,已经成为现代汽车产业发展的重要方向。尤其在我国,新能源汽车的生产与使用已经进入快速增长阶段,随之而来的充电基础设施建设、充电服务管理以及相关配套服务的需求也急剧增加。然而,新能源汽车的充电和服务管理存在诸多挑战,包括充电电站布局不均、充电资源调度不合理、服务信息不对称等问题,这些问题严重影响了新能源汽车用户的使用体验和充电服务的效率。
为了应对这些挑战,建立一个高效、智能的新能源汽车大数据服务平台显得尤为重要。通过集成先进的信息管理系统和大数据技术,能够对充电站点的实时状态、用户的充电需求、车辆的使用状况等进行全面的监控与管理,从而优化充电资源的配置,提升服务质量和效率。平台可以提供充电预约、账单管理、服务预约、驾驶报告、车辆信息管理等多项功能,满足不同用户的多样化需求。管理员可以实时掌握平台运营情况,确保系统高效运行;普通用户则可以便捷地进行充电和服务预约,查看账单并管理个人信息;服务商用户可以提供更加精准的服务,进一步提高平台的智能化水平。
新能源汽车大数据服务平台的设计与实施,能够在提升用户体验的同时,促进充电基础设施的高效利用,推动新能源汽车行业的可持续发展。通过整合大数据技术与平台管理,能够有效提升充电网络的整体效率,优化资源配置,并为行业提供全方位的数据支持与分析服务,对行业发展具有重要的推动作用。
1.2 国内外研究现状
新能源汽车的快速发展以及充电基础设施建设的日益完善,使得充电管理和服务的研究成为当前交通和能源领域的重要课题。国际上,许多发达国家已经在新能源汽车充电管理系统的设计和应用方面积累了丰富经验,尤其是在充电站网络建设、资源优化调度及用户服务平台的整合等方面取得了显著成效。部分欧美国家的研究重点集中在充电电站的分布优化、充电需求预测、支付系统整合等技术的应用,通过利用信息技术和数据分析实现了充电服务的智能化和高效化。例如,德国和法国的多个研究项目通过信息管理平台对充电站点进行实时监控和调度,确保充电设备的高效运行和用户体验的提升。
国内的研究起步较晚,但近年来随着新能源汽车市场的增长,相关的研究也得到了迅速发展。在国内,越来越多的高校和科研机构开始关注新能源汽车充电管理系统的研究,尤其是在充电站信息化管理、服务质量提升、资源调度等方面。国内的一些科研成果集中在充电网络规划、充电桩布局优化和电动车充电行为分析等方面。与此同时,充电服务平台的建设也逐步得到重视,部分企业和高校已经开始应用基于云计算和大数据的技术来提升平台的智能化管理水平。
与国外相比,国内的相关研究虽然起步较晚,但随着技术的发展和政策支持,越来越多的充电管理系统和服务平台正在实现实际应用。尤其在新能源汽车充电站的运营管理和服务优化方面,国内的研究成果不断涌现,部分地方已经实现了充电服务的智能化管理和实时信息反馈。尽管如此,在一些领域如大规模数据处理、充电站精准调度等方面,国内仍存在一定的技术差距,未来需要在这些技术层面进行进一步的深入研究和实践。
总体来看,国内外在新能源汽车充电管理和服务平台的研究中,都注重通过技术手段提升充电效率、改善用户体验以及优化资源配置。随着新能源汽车市场的不断发展和充电基础设施建设的完善,未来的研究将更加注重充电网络的智能化和数据化管理,以适应日益增长的充电需求和服务要求。
1.3 论文组成结构
第一章是绪论,本文章的开头部分,对本题目的研究背景意义和研究现状等一些做文字性的描述。
第二章研究了新能源汽车大数据服务平台的所采用的开发技术和开发工具。
第三章是系统分析部分,包括系统总体需求描述、功能性角度分析系统需求、非功能性等各个方面分析系统是否可以实现。
第四章是系统设计部分,本文章的重要部分,提供了系统架构的详细设计和一些主要功能模块的设计说明。
第五章是系统的具体实现,介绍系统的各个模块的具体实现。
第六章在前几章的基础上对系统进行测试和运行。
最后对系统进行了认真的总结,以此对未来有一个新的展望。
2 相关技术介绍
2.1 B/S体系结构介绍
B/S体系[1],即Browser/Server体系,是一种常见的网络应用程序架构。其工作原理基于客户端与服务器之间的请求-响应模型。用户通过浏览器向服务器发送请求,服务器接收到请求后进行处理,并生成相应的响应结果,最终将响应返回给客户端。浏览器接收到服务器返回的响应后,解析其中的标记语言(如HTML[2]),并根据CSS样式表和PythonScript脚本来渲染页面,呈现给用户。用户可以与页面进行交互,例如点击链接、填写表单等操作,这些操作会触发新的请求,循环执行上述过程。
2.2spark框架介绍
Spark Streaming:构建在Spark上处理Stream数据的框架,基本的原理是将Stream数据分成小的时间片段(几秒),以类似batch批量处理的方式来处理这小部分数据[3]。Spark Streaming构建在Spark上,一方面是因为Spark的低延迟执行引擎(100ms+),虽然比不上专门的流式数据处理软件,也可以用于实时计算,另一方面相比基于Record的其它处理框架(如Storm),一部分窄依赖的RDD数据集可以从源数据重新计算达到容错处理目的。此外小批量处理的方式使得它可以同时兼容批量和实时数据处理的逻辑和算法。方便了一些需要历史数据和实时数据联合分析的特定应用场合[4]。
2.3Mysql数据库
MySQL是一种广泛使用的开源关系型数据库管理系统[5](RDBMS),其稳定性、可靠性和卓越性能使其成为众多应用程序的首选数据库。MySQL支持标准SQL语法,并提供丰富的功能和特性,如事务处理、触发器和存储过程等,以满足开发者对数据管理和操作的需求。MySQL具有良好的可扩展性,支持主从复制、分布式架构和集群部署,适用于各种规模和负载的应用场景。作为一个开源项目,MySQL拥有庞大的用户社区和活跃的开发者社区,为用户提供了丰富的文档、教程和支持资源。总之,MySQL是一款可靠、强大且灵活的关系型数据库管理系统[6],通过其卓越性能和可扩展性,帮助开发者高效地管理和操作数据,并得到了广大用户的认可和应用。
2.4Python简介
Python是一种简洁易读、跨平台且功能强大的编程语言[7]。它拥有庞大而活跃的社区,提供了丰富的第三方库和框架,如NumPy、Pandas和Django,使开发人员能够快速构建各种应用程序。Python在数据处理和科学计算方面表现出色,通过相关库和工具,可以进行数据分析、机器学习和科学计算等任务。此外,Python广泛应用于Web开发[8]、自动化脚本、网络爬虫等领域,其多样性使其成为一个全能的编程语言。无论你是初学者还是有经验的开发者,Python的简单语法、跨平台性以及强大的社区支持都能为你提供高效、优雅和可靠的编程体验。总之,Python是一个强大而灵活的编程语言,深受开发人员喜爱,并在各个领域得到广泛应用。
3 系统分析
3.1 可行性分析
在软件开发的过程中,可行性分析是至关重要的,它旨在评估问题的可行性,以便尽可能快地解决,同时也要考虑到不同的解决方案的优势和劣势,以及实施这些方案所带来的经济效益。通过对新能源汽车大数据服务平台的可行性分析,可以从技术、操作和经济三个方面来评估其可行性,从而为其提供有效的支持和保障。
3.1.1 技术可行性
系统在技术上是完全可行的。spark作为一个成熟的Python Web框架,提供了丰富的功能和工具,使得开发人员能够快速构建稳定、高效的Web应用程序。此外,Python作为一种广泛使用的编程语言,具有强大的数据处理和分析能力,可以很好地满足系统的需求。
3.1.2 经济可行性
大数据新能源汽车服务平台在经济可行性方面具有显著优势。通过集成高效的数据处理和分析能力,平台能够在优化资源配置、提升服务效率方面实现较高的成本效益。利用大数据技术,平台可以减少资源浪费,提升充电站和服务设施的利用率,从而降低运营成本。此外,平台的智能化管理提高了用户满意度,增强了市场竞争力,为企业创造了可观的经济效益。随着新能源汽车行业的快速发展,平台的规模效益和长期收益也将持续增长,具备较强的经济可行性。
3.1.3 操作可行性
在操作方面,系统具有良好的用户友好性和易用性。系统的界面设计应简洁明了,功能模块清晰易懂,使用户能够快速上手。同时,系统应提供完善的用户手册和在线帮助文档,以方便用户更好地理解和使用系统。此外,由于spark提供了强大的后台管理功能,管理员可以通过简单的操作实现对系统的管理和维护。
3.2 功能需求分析
为了满足用户的需求,新能源汽车大数据服务平台将系统划分为三个部分:管理员、普通用户和服务商用户,每个部分都有独特的功能,以便更加便捷地管理信息。此外,系统还具有简单易操作的特点,可以更加精确、全面地实现用户的需求。以下是关于该功能的详细描述:
(一)普通用户功能介绍:
普通用户则能够通过平台进行充电预约,查看充电账单及反馈,管理自己的车辆信息并获得驾驶报告。普通用户也可进行服务预约和查看服务记录,及时了解自己车辆的充电与服务情况,提升使用便捷性。平台还提供通知提醒功能,确保用户获取最新的充电服务信息和相关提示。
(二)服务商用户功能介绍:
服务商用户主要集中在服务信息和服务预约的管理。通过后台首页,服务商可以查看服务需求,管理服务记录,确保服务的高效完成,满足用户的多样化需求。
(三)管理员功能介绍:
管理员作为系统的核心管理者,能够通过后台首页全面掌握平台的运营状况。管理员可以进行系统用户管理、充电电站和充电信息的统计与管理,包括充电预约、账单和反馈管理,保障充电服务的有序进行。此外,管理员还可以管理车辆信息、驾驶报告、车辆类型、服务信息和服务预约等,确保平台的高效运行。系统还提供投诉建议管理和权限管理功能,确保用户反馈的及时处理和系统权限的合理分配。
根据以上功能需求分析得出普通用户用例图如下所示。

图3-1 普通用户用例图
管理员用例图如下所示。

图3-2 管理员用例图
服务商用户用例图如下所示。

图3-3 服务商用户用例图
3.3系统非功能性需求分析
非功能性分析是系统设计的重要组成部分,其目标是保证系统在各种负载条件下的高效、稳定和可靠。对于新能源汽车大数据服务平台,系统非功能性需求分析表如表3-1所示。
表3-1 非功能性需求表
| 项目 | 内容 |
| 性能 | 系统应支持至少500个并发用户访问,响应时间不超过2秒 |
| 安全性 | 用户数据需加密,系统应具备防攻击机制(如SQL注入、XSS防护) |
| 可用性 | 系统年可用性应达到99.5%,保证大部分时间能够正常访问 |
| 可维护性 | 代码易于阅读与修改,文档齐全,便于后期维护和功能扩展 |
| 扩展性 | 系统架构应支持后续功能的扩展,易于添加新模块或功能 |
| 兼容性 | 系统应支持主流浏览器 |
| 用户体验 | 界面友好、简洁,操作应当简便,避免用户困惑 |
3.4 系统操作流程
3.4.1信息添加流程
新能源汽车大数据服务平台可以实现快速、准确地收集和处理各种信息,而且在使用过程中,只有在按照指定的界面,才能够正确地获取和处理信息,而若信息未能满足预期,就会被退出第一步,并且在第二步中,还会继续检查信息的准确性,以确保最终的结果能够满足预期的目标。

图3-4信息添加流程图
3.4.2信息删除流程
无论是何种用户角色,只要进入了不正常的系统操作界面,就可以使用不同的信息内容来进行操作。当用户尝试删除系统中的数据时,必须先ACK这些数据是否已经被删除,如果没有,就应该按照图3-5的指示进行操作,以免影响系统的正常运行。

4系统设计
4.1 系统架构设计
当前,B/S架构的数据访问模式已经大大改善:用户只需要打开网站,就能够获取系统的信息,而且,系统会根据用户的需要,自动响应并解决所有的问题。此外,用户还能够查阅服务器的处理结果,从而更好地了解数据的流转情况。新能源汽车大数据服务平台采用三层结构,即视觉-模拟-决策层。其中,视觉层负责接收来自用户的信息并将其呈现给用户;而模拟层则负责完成与用户有关的任务,包括组织信息、进行流程优化、提升用户体验。决策层则负责协商决策,并确保两层结果的一致性。
系统架构图如下图所示。

图4-1 系统架构图
4.2 系统功能结构
根据系统分析,新能源汽车大数据服务平台主要分为普通用户、管理员和服务商用户三大模块,系统的功能结构图如下所示。

图4-2 系统功能结构图
4.3 数据库设计
一个优秀的系统必须具备完善的后台数据库,就像建筑物一样,它不是一蹴而就的,而是需要经过精心设计,以确保其稳固可靠。只有将数据库设计得完善,并且考虑到各个方面,才能保证系统的可靠性,避免出现任何问题。
4.3.1 数据库实体设计
数据库实体设计是数据库设计的关键步骤,对实际业务逻辑中涉及的实体及其属性进行抽象建模,明确系统中的主要信息对象及其关系[9]。在实体设计中,根据需求分析确定系统的核心实体,如用户、角色、权限等,提取实体的主要属性,如用户的ID、姓名、联系方式,名称、类型等,同时定义各实体之间的关系,包括一对一、一对多、多对多等。在设计过程中,注重实体的完整性、规范性和唯一性,确保设计能够满足系统功能需求,并为后续的表设计提供清晰的结构框架。实体设计需遵循数据库设计的标准化要求,避免数据冗余和不必要的复杂度。
下面是整个系统中主要的数据库表总E-R实体关系图。

图4-3 系统E-R图
4.3.2 数据库表设计
数据库表设计基于实体设计,将抽象的实体映射为具体的表结构。设计过程中,为每个实体定义表名、字段名及数据类型[10]。根据业务需求,合理定义主键、外键及约束条件,确保表之间的关联性,例如通过外键建立用户表和角色表之间的关系。表设计时注重数据存储的完整性、一致性,并通过索引优化查询效率,最终确保数据库结构能够支持系统的功能需求。以下是系统的数据库表设计展示。
表 4-1-access_token(登陆访问时长)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | token_id | int | 是 | 是 | 临时访问牌ID | |
| 2 | token | varchar | 64 | 否 | 否 | 临时访问牌 |
| 3 | info | text | 65535 | 否 | 否 | 信息 |
| 4 | maxage | int | 是 | 否 | 最大寿命:默认2小时 | |
| 5 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 6 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 7 | user_id | int | 是 | 否 | 用户编号 |
表 4-2-auth(用户权限管理)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | auth_id | int | 是 | 是 | 授权ID | |
| 2 | user_group | varchar | 64 | 否 | 否 | 用户组 |
| 3 | mod_name | varchar | 64 | 否 | 否 | 模块名 |
| 4 | table_name | varchar | 64 | 否 | 否 | 表名 |
| 5 | page_title | varchar | 255 | 否 | 否 | 页面标题 |
| 6 | path | varchar | 255 | 否 | 否 | 路由路径 |
| 7 | parent | varchar | 64 | 否 | 否 | 父级菜单 |
| 8 | parent_sort | int | 是 | 否 | 父级菜单排序 | |
| 9 | position | varchar | 32 | 否 | 否 | 位置 |
| 10 | mode | varchar | 32 | 是 | 否 | 跳转方式 |
| 11 | add | tinyint | 是 | 否 | 是否可增加 | |
| 12 | del | tinyint | 是 | 否 | 是否可删除 | |
| 13 | set | tinyint | 是 | 否 | 是否可修改 | |
| 14 | get | tinyint | 是 | 否 | 是否可查看 | |
| 15 | field_add | text | 65535 | 否 | 否 | 添加字段 |
| 16 | field_set | text | 65535 | 否 | 否 | 修改字段 |
| 17 | field_get | text | 65535 | 否 | 否 | 查询字段 |
| 18 | table_nav_name | varchar | 500 | 否 | 否 | 跨表导航名称 |
| 19 | table_nav | varchar | 500 | 否 | 否 | 跨表导航 |
| 20 | option | text | 65535 | 否 | 否 | 配置 |
| 21 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 22 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-3-charging_bill(充电账单)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | charging_bill_id | int | 是 | 是 | 充电账单ID | |
| 2 | ordinary_user | int | 否 | 否 | 普通用户 | |
| 3 | user_name | varchar | 64 | 否 | 否 | 用户姓名 |
| 4 | users_mobile_phone | varchar | 64 | 否 | 否 | 用户手机 |
| 5 | station_no | varchar | 64 | 否 | 否 | 电站编号 |
| 6 | name_of_power_station | varchar | 64 | 否 | 否 | 电站名称 |
| 7 | type_of_power_station | varchar | 64 | 否 | 否 | 电站类型 |
| 8 | charging_price | double | 否 | 否 | 充电价格 | |
| 9 | charging_duration | double | 否 | 否 | 充电时长 | |
| 10 | total_order_price | varchar | 64 | 否 | 否 | 订单总价 |
| 11 | bill_remarks | text | 65535 | 否 | 否 | 账单备注 |
| 12 | pay_state | varchar | 16 | 是 | 否 | 支付状态 |
| 13 | pay_type | varchar | 16 | 否 | 否 | 支付类型: 微信、支付宝、网银 |
| 14 | charging_feedback_limit_times | int | 是 | 否 | 反馈限制次数 | |
| 15 | create_time | datetime | 是 | 否 | 创建时间 | |
| 16 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 17 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 18 | source_id | int | 否 | 否 | 来源ID | |
| 19 | source_user_id | int | 否 | 否 | 来源用户 |
表 4-4-charging_feedback(充电反馈)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | charging_feedback_id | int | 是 | 是 | 充电反馈ID | |
| 2 | ordinary_user | int | 否 | 否 | 普通用户 | |
| 3 | user_name | varchar | 64 | 否 | 否 | 用户姓名 |
| 4 | users_mobile_phone | varchar | 64 | 否 | 否 | 用户手机 |
| 5 | station_no | varchar | 64 | 否 | 否 | 电站编号 |
| 6 | name_of_power_station | varchar | 64 | 否 | 否 | 电站名称 |
| 7 | type_of_power_station | varchar | 64 | 否 | 否 | 电站类型 |
| 8 | feedback_content | text | 65535 | 否 | 否 | 反馈内容 |
| 9 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
| 10 | examine_reply | varchar | 16 | 否 | 否 | 审核回复 |
| 11 | create_time | datetime | 是 | 否 | 创建时间 | |
| 12 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 13 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 14 | source_id | int | 否 | 否 | 来源ID | |
| 15 | source_user_id | int | 否 | 否 | 来源用户 |
表 4-5-charging_report(充电报表)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | charging_report_id | int | 是 | 是 | 充电报表ID | |
| 2 | station_no | varchar | 64 | 是 | 是 | 电站编号 |
| 3 | name_of_power_station | varchar | 64 | 否 | 否 | 电站名称 |
| 4 | type_of_power_station | varchar | 64 | 否 | 否 | 电站类型 |
| 5 | location_of_power_station | varchar | 64 | 否 | 否 | 电站位置 |
| 6 | total_charging_time | double | 否 | 否 | 充电总时长 | |
| 7 | total_income | double | 否 | 否 | 收入总额 | |
| 8 | statistical_remarks | text | 65535 | 否 | 否 | 统计备注 |
| 9 | create_time | datetime | 是 | 否 | 创建时间 | |
| 10 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 11 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 12 | source_id | int | 否 | 否 | 来源ID | |
| 13 | source_user_id | int | 否 | 否 | 来源用户 |
表 4-6-charging_reservation(充电预约)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | charging_reservation_id | int | 是 | 是 | 充电预约ID | |
| 2 | ordinary_user | int | 否 | 否 | 普通用户 | |
| 3 | user_name | varchar | 64 | 否 | 否 | 用户姓名 |
| 4 | users_mobile_phone | varchar | 64 | 否 | 否 | 用户手机 |
| 5 | station_no | varchar | 64 | 否 | 否 | 电站编号 |
| 6 | name_of_power_station | varchar | 64 | 否 | 否 | 电站名称 |
| 7 | type_of_power_station | varchar | 64 | 否 | 否 | 电站类型 |
| 8 | available_quantity | varchar | 64 | 否 | 否 | 可用数量 |
| 9 | reservation_quantity | varchar | 64 | 否 | 否 | 预约数量 |
| 10 | appointment_time | datetime | 否 | 否 | 预约时间 | |
| 11 | appointment_remarks | text | 65535 | 否 | 否 | 预约备注 |
| 12 | charging_progress | varchar | 64 | 否 | 否 | 充电进度 |
| 13 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
| 14 | examine_reply | varchar | 16 | 否 | 否 | 审核回复 |
| 15 | charging_bill_limit_times | int | 是 | 否 | 充电账单限制次数 | |
| 16 | notification_reminder_limit_times | int | 是 | 否 | 通知提醒限制次数 | |
| 17 | create_time | datetime | 是 | 否 | 创建时间 | |
| 18 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 19 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 20 | source_id | int | 否 | 否 | 来源ID | |
| 21 | source_user_id | int | 否 | 否 | 来源用户 |
表 4-7-code_token(验证码)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | code_token_id | int | 是 | 是 | 验证码ID | |
| 2 | token | varchar | 255 | 否 | 否 | 令牌 |
| 3 | code | varchar | 255 | 否 | 否 | 验证码 |
| 4 | expire_time | timestamp | 是 | 否 | 失效时间 | |
| 5 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 6 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-8-complaint_recommendations(投诉建议)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | complaint_recommendations_id | int | 是 | 是 | 投诉建议ID | |
| 2 | service_name | varchar | 64 | 否 | 否 | 服务名称 |
| 3 | service_location | varchar | 64 | 否 | 否 | 服务地点 |
| 4 | ordinary_user | int | 否 | 否 | 普通用户 | |
| 5 | user_name | varchar | 64 | 否 | 否 | 用户姓名 |
| 6 | users_mobile_phone | varchar | 64 | 否 | 否 | 用户手机 |
| 7 | header_information | varchar | 64 | 否 | 否 | 标题信息 |
| 8 | content_details | text | 65535 | 否 | 否 | 内容详情 |
| 9 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
| 10 | examine_reply | varchar | 16 | 否 | 否 | 审核回复 |
| 11 | create_time | datetime | 是 | 否 | 创建时间 | |
| 12 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 13 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 14 | source_id | int | 否 | 否 | 来源ID | |
| 15 | source_user_id | int | 否 | 否 | 来源用户 |
表 4-9-driving_report(驾驶报告)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | driving_report_id | int | 是 | 是 | 驾驶报告ID | |
| 2 | ordinary_user | int | 否 | 否 | 普通用户 | |
| 3 | vehicle_name | varchar | 64 | 否 | 否 | 车辆名称 |
| 4 | vehicle_type | varchar | 64 | 否 | 否 | 车辆类型 |
| 5 | number_of_rapid_acceleration | double | 否 | 否 | 急加速数 | |
| 6 | number_of_sudden_brakes | double | 否 | 否 | 急刹车数 | |
| 7 | fuel_consumption_information | varchar | 64 | 否 | 否 | 油耗信息 |
| 8 | endurance_information | varchar | 64 | 否 | 否 | 续航信息 |
| 9 | battery_status | varchar | 64 | 否 | 否 | 电池状态 |
| 10 | analysis_report | text | 65535 | 否 | 否 | 分析报告 |
| 11 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
| 12 | create_time | datetime | 是 | 否 | 创建时间 | |
| 13 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 14 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 15 | source_id | int | 否 | 否 | 来源ID | |
| 16 | source_user_id | int | 否 | 否 | 来源用户 |
表 4-10-hits(用户点击)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | hits_id | int | 是 | 是 | 点赞ID | |
| 2 | user_id | int | 是 | 否 | 点赞人 | |
| 3 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 4 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 5 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 6 | source_field | varchar | 255 | 否 | 否 | 来源字段 |
| 7 | source_id | int | 是 | 否 | 来源ID |
表 4-11-notification_reminder(通知提醒)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | notification_reminder_id | int | 是 | 是 | 通知提醒ID | |
| 2 | ordinary_user | int | 否 | 否 | 普通用户 | |
| 3 | user_name | varchar | 64 | 否 | 否 | 用户姓名 |
| 4 | notification_title | varchar | 64 | 否 | 否 | 通知标题 |
| 5 | notification_time | datetime | 否 | 否 | 通知时间 | |
| 6 | notification_content | text | 65535 | 否 | 否 | 通知内容 |
| 7 | create_time | datetime | 是 | 否 | 创建时间 | |
| 8 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 9 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 10 | source_id | int | 否 | 否 | 来源ID | |
| 11 | source_user_id | int | 否 | 否 | 来源用户 |
表 4-12-ordinary_user(普通用户)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | ordinary_user_id | int | 是 | 是 | 普通用户ID | |
| 2 | user_name | varchar | 64 | 否 | 否 | 用户姓名 |
| 3 | user_gender | varchar | 64 | 否 | 否 | 用户性别 |
| 4 | users_mobile_phone | varchar | 16 | 否 | 否 | 用户手机 |
| 5 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
| 6 | user_id | int | 是 | 否 | 用户ID | |
| 7 | create_time | datetime | 是 | 否 | 创建时间 | |
| 8 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-13-plant_information(电站信息)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | plant_information_id | int | 是 | 是 | 电站信息ID | |
| 2 | station_no | varchar | 64 | 是 | 是 | 电站编号 |
| 3 | name_of_power_station | varchar | 64 | 否 | 否 | 电站名称 |
| 4 | type_of_power_station | varchar | 64 | 否 | 否 | 电站类型 |
| 5 | location_of_power_station | varchar | 64 | 否 | 否 | 电站位置 |
| 6 | available_quantity | double | 否 | 否 | 可用数量 | |
| 7 | charging_price | double | 否 | 否 | 充电价格 | |
| 8 | plant_details | longtext | 4294967295 | 否 | 否 | 电站详情 |
| 9 | charging_reservation_limit_times | int | 是 | 否 | 预约充电限制次数 | |
| 10 | charging_report_limit_times | int | 是 | 否 | 统计报告限制次数 | |
| 11 | create_time | datetime | 是 | 否 | 创建时间 | |
| 12 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-14-score(评分)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | score_id | int | 是 | 是 | 评分ID | |
| 2 | user_id | int | 是 | 否 | 评分人 | |
| 3 | nickname | varchar | 64 | 否 | 否 | 昵称 |
| 4 | score_num | double | 是 | 否 | 评分 | |
| 5 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 6 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 7 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 8 | source_field | varchar | 255 | 否 | 否 | 来源字段 |
| 9 | source_id | int | 是 | 否 | 来源ID |
表 4-15-service_information(服务信息)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | service_information_id | int | 是 | 是 | 服务信息ID | |
| 2 | service_provider_user | int | 否 | 否 | 服务商用户 | |
| 3 | service_name | varchar | 64 | 否 | 否 | 服务名称 |
| 4 | service_location | varchar | 64 | 否 | 否 | 服务地点 |
| 5 | service_telephone | varchar | 64 | 否 | 否 | 服务电话 |
| 6 | scope_of_services | text | 65535 | 否 | 否 | 服务范围 |
| 7 | service_introduction | longtext | 4294967295 | 否 | 否 | 服务介绍 |
| 8 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
| 9 | examine_reply | varchar | 16 | 否 | 否 | 审核回复 |
| 10 | service_reservation_limit_times | int | 是 | 否 | 预约服务限制次数 | |
| 11 | create_time | datetime | 是 | 否 | 创建时间 | |
| 12 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-16-service_provider_user(服务商用户)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | service_provider_user_id | int | 是 | 是 | 服务商用户ID | |
| 2 | service_provider_name | varchar | 64 | 否 | 否 | 服务商名称 |
| 3 | service_provider_location | varchar | 64 | 否 | 否 | 服务商地点 |
| 4 | service_provider_phone | varchar | 16 | 否 | 否 | 服务商电话 |
| 5 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
| 6 | user_id | int | 是 | 否 | 用户ID | |
| 7 | create_time | datetime | 是 | 否 | 创建时间 | |
| 8 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-17-service_records(服务记录)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | service_records_id | int | 是 | 是 | 服务记录ID | |
| 2 | service_provider_user | int | 否 | 否 | 服务商用户 | |
| 3 | service_name | varchar | 64 | 否 | 否 | 服务名称 |
| 4 | service_location | varchar | 64 | 否 | 否 | 服务地点 |
| 5 | ordinary_user | int | 否 | 否 | 普通用户 | |
| 6 | user_name | varchar | 64 | 否 | 否 | 用户姓名 |
| 7 | users_mobile_phone | varchar | 64 | 否 | 否 | 用户手机 |
| 8 | service_amount | double | 否 | 否 | 服务金额 | |
| 9 | billing_details | text | 65535 | 否 | 否 | 账单明细 |
| 10 | pay_state | varchar | 16 | 是 | 否 | 支付状态 |
| 11 | pay_type | varchar | 16 | 否 | 否 | 支付类型: 微信、支付宝、网银 |
| 12 | complaint_recommendations_limit_times | int | 是 | 否 | 投诉建议限制次数 | |
| 13 | create_time | datetime | 是 | 否 | 创建时间 | |
| 14 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 15 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 16 | source_id | int | 否 | 否 | 来源ID | |
| 17 | source_user_id | int | 否 | 否 | 来源用户 |
表 4-18-service_reservation(服务预约)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | service_reservation_id | int | 是 | 是 | 服务预约ID | |
| 2 | service_provider_user | int | 否 | 否 | 服务商用户 | |
| 3 | service_name | varchar | 64 | 否 | 否 | 服务名称 |
| 4 | service_location | varchar | 64 | 否 | 否 | 服务地点 |
| 5 | ordinary_user | int | 否 | 否 | 普通用户 | |
| 6 | user_name | varchar | 64 | 否 | 否 | 用户姓名 |
| 7 | users_mobile_phone | varchar | 64 | 否 | 否 | 用户手机 |
| 8 | appointment_time | date | 否 | 否 | 预约时间 | |
| 9 | appointment_type | varchar | 64 | 否 | 否 | 预约类型 |
| 10 | number_of_appointments | varchar | 64 | 否 | 否 | 预约次数 |
| 11 | appointment_remarks | text | 65535 | 否 | 否 | 预约备注 |
| 12 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
| 13 | examine_reply | varchar | 16 | 否 | 否 | 审核回复 |
| 14 | service_records_limit_times | int | 是 | 否 | 服务记录限制次数 | |
| 15 | create_time | datetime | 是 | 否 | 创建时间 | |
| 16 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 17 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 18 | source_id | int | 否 | 否 | 来源ID | |
| 19 | source_user_id | int | 否 | 否 | 来源用户 |
表 4-19-upload(文件上传)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | upload_id | int | 是 | 是 | 上传ID | |
| 2 | name | varchar | 64 | 否 | 否 | 文件名 |
| 3 | path | varchar | 255 | 否 | 否 | 访问路径 |
| 4 | file | varchar | 255 | 否 | 否 | 文件路径 |
| 5 | display | varchar | 255 | 否 | 否 | 显示顺序 |
| 6 | father_id | int | 否 | 否 | 父级ID | |
| 7 | dir | varchar | 255 | 否 | 否 | 文件夹 |
| 8 | type | varchar | 32 | 否 | 否 | 文件类型 |
表 4-20-user(用户账户)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | user_id | int | 是 | 是 | 用户ID | |
| 2 | state | smallint | 是 | 否 | 账户状态:(1可用|2异常|3已冻结|4已注销) | |
| 3 | user_group | varchar | 32 | 否 | 否 | 所在用户组 |
| 4 | login_time | timestamp | 是 | 否 | 上次登录时间 | |
| 5 | phone | varchar | 11 | 否 | 否 | 手机号码 |
| 6 | phone_state | smallint | 是 | 否 | 手机认证:(0未认证|1审核中|2已认证) | |
| 7 | username | varchar | 16 | 是 | 否 | 用户名 |
| 8 | nickname | varchar | 16 | 否 | 否 | 昵称 |
| 9 | password | varchar | 64 | 是 | 否 | 密码 |
| 10 | | varchar | 64 | 否 | 否 | 邮箱 |
| 11 | email_state | smallint | 是 | 否 | 邮箱认证:(0未认证|1审核中|2已认证) | |
| 12 | avatar | varchar | 255 | 否 | 否 | 头像地址 |
| 13 | open_id | varchar | 255 | 否 | 否 | 针对获取用户信息字段 |
| 14 | create_time | timestamp | 是 | 否 | 创建时间 |
表 4-21-user_group(用户组)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | group_id | mediumint | 是 | 是 | 用户组ID | |
| 2 | display | smallint | 是 | 否 | 显示顺序 | |
| 3 | name | varchar | 16 | 是 | 否 | 名称 |
| 4 | description | varchar | 255 | 否 | 否 | 描述 |
| 5 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 6 | source_field | varchar | 255 | 否 | 否 | 来源字段 |
| 7 | source_id | int | 是 | 否 | 来源ID | |
| 8 | register | smallint | 否 | 否 | 注册位置 | |
| 9 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 10 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-22-vehicle_information(车辆信息)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | vehicle_information_id | int | 是 | 是 | 车辆信息ID | |
| 2 | ordinary_user | int | 否 | 否 | 普通用户 | |
| 3 | vehicle_no | varchar | 64 | 是 | 是 | 车辆编号 |
| 4 | vehicle_name | varchar | 64 | 否 | 否 | 车辆名称 |
| 5 | vehicle_type | varchar | 64 | 否 | 否 | 车辆类型 |
| 6 | vehicle_displacement | varchar | 64 | 否 | 否 | 车辆排量 |
| 7 | license_plate_number | varchar | 64 | 否 | 否 | 车牌号码 |
| 8 | vehicle_color | varchar | 64 | 否 | 否 | 车辆颜色 |
| 9 | purchase_date | date | 否 | 否 | 购买日期 | |
| 10 | vehicle_picture | varchar | 255 | 否 | 否 | 车辆图片 |
| 11 | battery_level | varchar | 64 | 否 | 否 | 电池电量 |
| 12 | vehicle_position | varchar | 64 | 否 | 否 | 车辆位置 |
| 13 | vehicle_details | longtext | 4294967295 | 否 | 否 | 车辆详情 |
| 14 | driving_report_limit_times | int | 是 | 否 | 驾驶报告限制次数 | |
| 15 | create_time | datetime | 是 | 否 | 创建时间 | |
| 16 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-23-vehicle_type(车辆类型)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | vehicle_type_id | int | 是 | 是 | 车辆类型ID | |
| 2 | vehicle_type | varchar | 64 | 否 | 否 | 车辆类型 |
| 3 | create_time | datetime | 是 | 否 | 创建时间 | |
| 4 | update_time | timestamp | 是 | 否 | 更新时间 |
5 系统实现
5.1 普通用户模块的实现
5.1.1 用户注册界面
注册模块满足用户两部分,当用户想要进行资料相关信息的查询管理的时候,就必须进行登录,如果没有账号的话,在登录界面,点击“注册”按钮就会跳转到注册的界面,根据提示填写好注册信息,添加提交,注册的信息在数据库中就添加完成了,然后再输入填写好的账号和密码进行登录,其注册主界面展示如下图所示。

图5-1 用户注册界面
登录关键代码如下:
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))
5.1.2 用户登录界面
用户在登录界面输入账号+密码,点击“登录”按钮,系统在用户数据库表中会对用户的账号进行匹配,账号+密码正确的话,就会登录到系统中各个用户的主管理界面,否则提示对应的信息,返回到登录的界面,其登录主界面展示如下图所示。

图5-2用户登录界面
5.1.3 电站信息管理界面
普通用户点击“电站信息管理”这一菜单会显示电站信息列表这个子菜单,可以查看电站信息详情,包括电站编号、电站名称、电站类型、电站位置、可用数量、充电价格等信息可以进行查询、重置和预约充电的操作。电站信息管理界面如下图所示。

图5-3电站信息管理界面
5.1.4 充电预约管理界面
普通用户点击“充电预约管理”这一菜单会显示充电预约列表这个子菜单,可以查看充电预约详情,包括电站名称、电站类型、可用数量、预约数量、预约时间、预约备注、充电进度等信息。可以进行查询、重置的操作。充电预约管理界面如下图所示。

图5-4充电预约管理界面图
5.1.5 充电账单管理界面
普通用户点击“充电账单管理”这一菜单会显示充电账单列表这个子菜单,可以查看充电账单详情,包括电站编号、电站名称、电站类型、充电价格、充电时长等信息。可以进行查询、重置、反馈和支付的操作。充电账单管理界面如下图所示。

图5-5充电账单管理界面图
5.2 管理员模块的实现
5.2.1 系统用户界面
管理员可以对系统中所有的用户角色进行管控,包含了管理员、普通用户和服务商用户这三种角色,如果需要添加新的用户,点击页面中的“添加”按钮根据提示输入上用户信息,点击“提交”以后在对应的用户界面就可以查看到了,可以点击用户后面的“删除”按钮直接删除某一用户。系统用户界面如下图所示。

图5-6系统用户界面
添加系统用户关键代码如下:
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": "已存在"}}
5.2.2 车辆信息管理界面
管理员点击“车辆信息管理”这一菜单会显示车辆信息列表和车辆信息添加两个子菜单,点击“车辆信息列表”可以查看车辆信息详情和驾驶报告,可以进行查询、重置和删除等操作。点击“车辆信息添加”,管理员可以添加新的车辆信息。车辆信息管理界面如下图所示。

图5-7车辆信息管理界面
5.2.3 充电统计管理界面
管理员点击“充电统计管理”这一菜单会显示充电统计列表这个子菜单,可以查看充电统计详情,包括电站编号、电站名称、电站类型、电站位置、充电总时长、收入总额等信息可以进行查询、重置和删除的操作。充电统计管理界面如下图所示。

图5-8充电统计管理界面
添加充电统计关键代码如下:
WSGI_APPLICATION = "app.wsgi.application"
DATABASES = {
"default": {
"ENGINE": "django.db.backends.mysql",
"NAME": "project93355",
"USER": "root",
"PASSWORD": "root",
"HOST": "127.0.0.1",
"PORT": "3306",
}
}
5.2.4 驾驶报告管理界面
管理员点击“驾驶报告管理”这一菜单会显示驾驶报告列表这个子菜单,可以查看驾驶报告详情,包括车辆名称、车辆类型、急加速数、急刹车数、油耗信息、续航信息、电池状态等信息。可以进行查询、重置、删除和审核的操作。驾驶报告管理界面如下图所示。

图5-9驾驶报告管理界面
5.2.5 后台首页数据统计界面
管理员后台首页的数据统计界面提供了全面的充电和服务管理概况。通过该界面,管理员可以查看充电电站的实时数据统计,包括各电站的充电次数、充电总量等关键信息。同时,充电预约统计功能展示了不同电站的预约数量,帮助管理员了解用户的预约需求分布。此外,服务预约统计则提供了服务项目的预约情况,管理员可以查看每项服务的预约数量和用户反馈。所有统计数据以图表形式呈现,直观、清晰,便于管理员快速掌握平台运营状况,为后续的资源调度和服务优化提供数据支持。界面如下图所示。

图5-10后台首页数据统计界面
5.3 服务商用户模块的实现
5.3.1 充电反馈管理界面
服务商用户点击“充电反馈管理”这一菜单会显示充电反馈列表这个子菜单,可以查看充电反馈详情,包括电站编号、电站名称、电站类型、反馈内容等信息。可以进行查询和重置的操作。充电反馈管理界面如下图所示。

图5-11充电反馈管理界面
5.3.2 服务信息管理界面
服务商用户点击“服务信息管理”这一菜单会显示服务信息列表这个子菜单,可以查看服务信息详情,包括服务名称、服务地点、服务电话、服务范围等信息。可以进行查询、重置和预约相关服务的操作。服务信息管理界面如下图所示。

图5-12服务信息管理界面
5.3.3 服务预约管理界面
服务商用户点击“服务预约管理”这一菜单会显示服务预约列表这个子菜单,可以查看服务预约详情,包括预约时间、预约类型、预约次数等信息。可以进行查询和重置的操作。服务预约管理界面如下图所示。

图5-13服务预约管理界面
5.3.4 服务记录管理界面
服务商用户点击“服务记录管理”这一菜单会显示服务记录列表这个子菜单,可以查看服务记录详情,包括服务名称、服务地点、普通用户、用户姓名、用户手机、服务金额、账单明细等信息。可以进行查询、重置和支付的操作。服务记录管理界面如下图所示。

图5-14服务记录管理界面
6 系统测试
6.1系统测试的目的
系统开发到了最后一个阶段那就是系统测试,系统测试对软件的开发其实是非常有必要的。因为没什么系统一经开发出来就可能会尽善尽美,再厉害的系统开发工程师也会在系统开发的时候出现纰漏,系统测试能够较好的改正一些bug,为后期系统的维护性提供很好的支持。通过系统测试,开发人员也可以建立自己对系统的信心,为后期的系统版本的跟新提供支持。
6.2 系统测试用例
系统测试包括:用户登录功能测试、电站信息查看功能测试、电站信息添加、车辆信息搜索、密码修改功能测试,如表6-1、6-2、6-3、6-4、6-5所示:
表6-1 用户登录功能测试表
| 用例名称 | 用户登录系统 |
| 目的 | 测试用户通过正确的用户名和密码可否登录功能 |
| 前提 | 未登录的情况下 |
| 测试流程 | 1) 进入登录页面 2) 输入正确的用户名和密码 |
| 预期结果 | 用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入 |
| 实际结果 | 实际结果与预期结果一致 |
电站信息查看功能测试:
表6-2电站信息查看功能测试表
| 用例名称 | 电站信息查看 |
| 目的 | 测试电站信息查看功能 |
| 前提 | 用户登录 |
| 测试流程 | 点击电站信息 |
| 预期结果 | 可以查看到所有电站信息 |
| 实际结果 | 实际结果与预期结果一致 |
管理员添加电站信息界面测试:
表6-3 管理员添加电站信息界面测试表
| 用例名称 | 电站信息添加测试用例 |
| 目的 | 测试电站信息添加功能 |
| 前提 | 管理员正常登录情况下 |
| 测试流程 | 1)管理员点击电站信息管理,然后点击电站信息,点击添加后并填写信息。 2)点击进行提交。 |
| 预期结果 | 提交以后,页面首页会显示新的电站信息 |
| 实际结果 | 实际结果与预期结果一致 |
车辆信息搜索功能测试:
表6-4车辆信息搜索功能测试表
| 用例名称 | 车辆信息搜索测试 |
| 目的 | 测试车辆信息搜索功能 |
| 前提 | 无 |
| 测试流程 | 1)在搜索框填入搜索关键字。 2)点击搜索按钮。 |
| 预期结果 | 页面显示包含有搜索关键字的车辆信息 |
| 实际结果 | 实际结果与预期结果一致 |
密码修改功能测试:
表6-5 密码修改功能测试表
| 用例名称 | 密码修改测试用例 |
| 目的 | 测试管理员密码修改功能 |
| 前提 | 管理员用户正常登录情况下 |
| 测试流程 | 1)管理员密码修改并完成填写。 2)点击进行提交。 |
| 预期结果 | 使用新的密码可以登录 |
| 实际结果 | 实际结果与预期结果一致 |
6.3 系统测试结果
通过编写新能源汽车大数据服务平台的测试用例,已经检测完毕用户登录模块、电站信息查看模块、电站信息添加模块、车辆信息搜索模块、密码修改功能测试,通过这5大模块为新能源汽车大数据服务平台的后期推广运营提供了强力的技术支撑。
结论
新能源汽车大数据服务平台的设计,通过互联网来解决实现信息化的系统,通过我四年所学的所有专业知识整合一起,进行对新能源汽车大数据服务平台进行开发设计,当然在真正着手来做的时候遇到了很多问题,一个是网站的技术问题,一个是自己之前没有单独开发过程序,动手实践比较少,面对问题的同时,自己的自信心也受到了一些打击,不过我也是快速的调整自己的状态,老师与同学讨论的方法解决了所有的困难。
毕业设计是我们所学知识应用的最佳体现,也是在考核我们四年中所学的所有的专业知识及技术应用情况,通过这样毕业设计可以更好的得到锻炼及对所学知识的复习及运用,也是一种训练和实践。新能源汽车大数据服务平台的实现,不仅巩固了我以前的知识,还对学到的知识通过结合技术进行详细了解,还结合了对跨学科效果的深入理解。
在以后我的工作中,我仍然会继续努力我的计算机方面的技术,让我在后期的平台开发中可以更好更快的实现需求功能。我相信自己可以胜任更多的好工作并在工作领域做出更大的贡献。
回顾毕业设计的整个过程,既付出了努力与汗水也收获了很多难以忘怀的美好经历。虽然在系统开发过程中经历了各种各样的困难,自己也在不断研究与探索,可是系统的实现仍有许多不足之处。但是经过系统编程工作让我有了更多的信心,我相信在未来的路上,我会走的更好。
参考文献
- 黄维.基于B/S模式的虚拟网络宠物安全管理体系分析[J].信息系统工程,2024,(05):4-7.
- 张宇薇.HTML5在Web前端开发中的应用[J].集成电路应用,2024,41(04):274-276.
- 马星.Spark分布式计算平台性能优化研究[D].电子科技大学,2024.DOI:10.27005/d.cnki.gdzku.2024.003029.
- 陈春茹.基于Spark SQL的数据查询与索引优化系统研究[J].信息技术与信息化,2024,(07):170-173.
- 李艳杰.MySQL数据库下存储过程的综合运用研究[J].现代信息科技,2023,7(11):80-82+88.
- 肖睿,李鲲程,范效亮,等.MySQL数据库应用技术及实践[M].人民邮电出版社:202206.228.
- 明日科技.快速上手Python[M].化学工业出版社:202211.337.
- 明日科技.Python Web开发手册[M].化学工业出版社:202201.411.
- 马艳艳,吴晓光.计算机软件与数据库的设计策略分析[J].电子技术,2024,53(05):104-105.
- 李俊萌.计算机软件测试技术与开发应用策略分析[J].信息记录材料,2023,24(03):50-52.
- Liang J .Teaching Reform and Exploration of Python Programming Course Based on Knowledge Graph[J].Journal of Educational Research and Policies,2025,7(1):24-29.
- Lei L .A Probe Into the Mixed Teaching Reform of Python Language Programming[J].Journal of Electronic Research and Application,2024,8(6):66-71.
- Yang L ,Cao S ,Liu L , et al.cyclicpeptide: a Python package for cyclic peptide drug design.[J].Briefings in bioinformatics,2024,26(1):
- 闵睿.对新能源汽车及充电设施智慧管理服务平台的思考[J].销售与管理,2024,(27):21-23.
- 兰弘羿.新能源汽车车联网大数据平台构建探析[J].太阳能学报,2023,44(06):545-546.
- 肖忠东,杨舒淇.新能源汽车工业大数据平台建设三方合作策略研究[J].工业技术经济,2023,42(05):58-69.
- 田野.大数据平台:为新能源汽车护航[N].新能源汽车报,2022-11-21(007).DOI:10.28896/n.cnki.nxnqc.2022.000396.
- 魏晓艳.基于大数据技术的新能源汽车软件检控平台设计[J].信息技术与信息化,2022,(07):88-91.
- 彭冲,叶磊,姚波,等.新能源汽车安全监测及大数据分析平台设计与实现[J].汽车实用技术,2021,46(20):5-8.DOI:10.16638/j.cnki.1671-7988.2021.020.002.
- 廖甜汇,黎飞,张森,等.基于大数据的新能源汽车个性化售后服务推荐系统[J].时代汽车,2021,(06):181-182.
致谢
眨眼之间,大学生活就要结束了。在本文的最后,我要感谢我和蔼可亲的导师、团结有爱的同学的帮助和鼓励。此刻,我找不到感谢之词可以用来表达我最深切的感激之情。尤其感谢我的指导老师,在选题的过程中与我进行了深入的交流,在毕业设计期间给我提供了一些指导。四年的学习生活让我受益良多,老师们的丰富的学术知识、认真负责的学习态度让我受益匪浅。在此,我深深地感谢那些曾经给予我帮助和指导的老师!
我们的论文得益于许多学者的贡献,他们的研究成果为我们提供了宝贵的指导,使我们能够更好地完成这篇文章。感谢我的同学和朋友在我的写作以及排版过程中给予热情的帮助,才使得我比较顺利的完成了这篇论文。
感谢大学里遇见的朋友,你们在我这四年里留下无数的温暖和快乐,让我对这个校园多了一份留念。最后,感谢我的父母、辅导员老师以及室友们对我大学生活上的关心和理解,让我能保持乐观和追求我所热爱的。尽管我的能力有限,但我仍然尽力去完善这篇论文,并且诚挚地希望各位老师和学友能够给予宝贵的指导与意见!
-免费领取项目源码,请关注❤点赞收藏并私信博主,谢谢-
更多推荐
所有评论(0)