新能源汽车共享充电桩收费管理系统的设计与实现(SpringBoot+MyBatis-Plus+Vue,前后台分离完整源码)
前言
这两年身边换电车的朋友明显多了,小区和商圈里的充电桩也越装越密。设备多了之后,运营方要操心的事情反而变复杂了:哪些桩是挂壁式、哪些是落地式,输出功率各是多少、每小时怎么计费,坏了谁来修、修到哪一步了------这些如果还靠一张 Excel 表格来管,很快就会乱成一团。
这个项目要解决的问题很聚焦:给充电桩运营方一套带前台的收费管理系统。用户在前台按类型浏览充电桩、查看参数与单价、对故障设备提交报修;维修员接单处理后给出维修回复;管理员则在后台维护充电桩档案、类型字典、维修员账号与资讯内容。整个链路围绕"设备档案---故障工单---维修闭环"展开,是一个功能不复杂但结构相当规整的 Spring Boot 练手项目。
下面从技术选型、功能设计、数据库结构到实际运行效果,把这个系统完整拆一遍。

技术栈
整个项目是标准的"单工程承载前后台"结构,一个 Spring Boot 工程同时对外提供接口服务和静态页面:
- 后端 :Spring Boot 2.2.2 + MyBatis-Plus,内嵌 Tomcat,统一以
/carCharging为上下文路径对外服务; - 数据库:MySQL 5.7,HikariCP 连接池,11 张业务表;
- 后台管理端 :Vue2 + Element UI 构建的 SPA,
dist产物直接随工程发布,由 Spring Boot 静态资源映射托管,无需单独部署; - 前台门户:Layui + jQuery 的多页结构,按模块拆分页面,同样内嵌在工程里;
- 鉴权:服务端 Token 拦截器。登录成功后颁发 Token,后续请求统一在请求头携带,拦截器校验通过才放行业务接口。
对想跑通这类项目的人来说,这种"一个 jar 包跑起前后台"的结构非常友好:不用装 Node 环境、不用配 Nginx,java -jar 一条命令就能把整套系统拉起来。
各层职责划分也很清晰------Controller 层只做参数校验和结果包装,业务逻辑下沉到 Service,数据访问交给 MyBatis-Plus 的条件构造器完成,复杂的查询语句单独放在 Mapper XML 里维护。跨域方面提供了全局 CORS 配置,方便后期把管理端单独拆出去部署。
功能设计
系统有三种角色:管理员、用户、维修员。功能结构如下图。

前台面向用户和维修员:
- 充电桩浏览:首页轮播推荐充电桩展示图,列表页支持按"挂壁式 / 落地式"类型筛选,卡片直接呈现实拍图与关键参数;
- 充电桩详情:查看输入电压、输出功率、使用方式、注意事项、每时单价等完整档案,支持收藏;
- 报修申请:用户对故障设备提交报修单,描述故障情况;
- 充电常识:以资讯形式发布充电安全、设备选型等科普内容;
- 注册登录与个人中心:用户自助注册,登录后可管理收藏与报修记录;维修员登录后处理名下的报修单并提交维修回复。
后台面向管理员:
- 充电桩管理:档案的增删改查,含图片上传、类型关联、每时单价维护;
- 充电桩类型管理:维护"挂壁式、落地式"这类类型字典,前台筛选联动;
- 报修管理与维修回复管理:查看全部报修单及维修员的回复内容,形成完整的维修闭环;
- 维修员管理:维修工号、联系方式等档案维护;
- 用户管理、充电常识管理、轮播图配置:常规内容运营功能。


数据库设计
数据库 db_car_charging 共 11 张表,围绕充电桩核心实体展开。整体 E-R 关系如下。

几张核心表的职责:
| 表名 | 说明 | 关键字段 |
|---|---|---|
| chongdianzhuang | 充电桩档案 | 电桩编号、类型、图片、输入电压、输出功率、使用方式、注意事项、每时单价 |
| dianzhuangleibie | 充电桩类型字典 | 类型名称,前台筛选项的数据源 |
| chongdianzhuangbaoxiu | 充电桩报修单 | 关联电桩、报修人、故障描述、状态 |
| weixiuhuifu | 维修回复 | 关联报修单、回复内容,构成维修闭环 |
| weixiuyuan | 维修员档案 | 维修工号、姓名、联系电话、身份证号、住址 |
| yonghu | 前台用户 | 账号、姓名、性别、头像、手机号 |
| news | 充电常识资讯 | 标题、简介、封面、正文 |
| storeup | 收藏记录 | 用户、收藏对象、类型 |
| config / users / token | 轮播配置、管理员、登录令牌 | 平台级支撑数据 |
设计上有两个小细节值得一提:一是报修单和维修回复拆成两张表,一次故障从发起到处理的完整轨迹都能留住,比在单表上盖状态位更直观;二是轮播图走 config 表配置化存储,运营换图不用动代码。
系统演示
前台首页的轮播位配置了充电桩实拍图,下方"充电常识"栏目输出平台资讯,"充电桩展示"区以卡片形式罗列设备。

用户从前台注册账号后登录,即可收藏感兴趣的设备,或对故障设备发起报修。


后台管理端是典型的 Element UI 风格:左侧导航、顶部面包屑、中部查询区加数据表格。充电桩管理页支持按电桩编号、类型、所处位置组合查询,表格内直接缩略展示设备实拍图,并提供详情、修改、删除操作。

报修管理页汇总了全部故障工单,维修员提交的回复内容也在这里归档查看;用户管理与维修员管理则分别维护两类账号的基础档案。



小结
这个项目的技术组合(Spring Boot + MyBatis-Plus + Vue2/Element UI + Layui)在管理系统类项目里非常典型,规模不大,但设备档案、类型字典、报修工单、维修回复之间的关联关系做得有模有样,三角色权限边界也划分得比较清楚。无论是拿来学习 Spring Boot 的工程化组织方式,还是作为同类"设备运维管理"课题的参考样板,都比较合适。
工程里已内置初始化脚本与部署说明,MySQL 建库导入后 java -jar 即可启动,前后台入口和演示账号都在源码包的 README 里写清楚了。关于充电桩管理、报修闭环或者 MyBatis-Plus 的用法,欢迎在评论区交流。
完整工程已整理上传(含前后台源码、数据库脚本与部署说明):
如果在实现类似系统时遇到问题,欢迎评论区交流。