新能源充电 · App + 后台

新能源汽车充电服务 App:找桩与导航、扫码启动充电、分时电费与服务费、场站与充电枪管理

南京易企达交付的新能源汽车充电服务系统:车主在App里找桩、扫码启动充电、看实时电量与费用,运营商在后台管场站、设分时价格、对账结算,设备状态与订单走同一条链路。

承接方:南京易企达网络科技有限公司 交付形态:App + 后台 行业:新能源充电
  • 3 个端车主 App / 场站端 / 运营后台
  • 6 块功能找桩、充电、计费、支付、设备、报表
  • 1 次 1 单每次充电一条会话,订单不靠对账补
  • 两笔账电费与服务费分开记,调价互不影响

项目速览:8 项关键事实

只列可核查的交付事实:项目定位、交付形态、覆盖范围、技术选型与归属口径。

项目名称
新能源汽车充电服务 App
客户与行业
某充电运营商(按客户要求未公开名称),新能源汽车充电服务
承接方
南京易企达网络科技有限公司(南京本地团队,可线下对接)
项目定位
车主找得到桩、充得上电、付得明白;运营商管得了设备、算得清账
交付形态
车主端 App + 场站端 + PC 运营后台,配套设备接入服务
覆盖范围
找桩与导航、扫码启动与充电会话、分时计费与订单、支付与发票、场站与设备管理、运营报表
技术栈
后端 Java(Spring Boot)+ MyBatis-Plus,设备接入走 TCP / MQTT 网关,数据 MySQL + Redis + 消息队列
交付与归属
源码、数据库脚本、部署文档与接口文档按合同随验收移交,管理员账号与著作权归客户

六块功能:系统到底做了什么

每一项都是客户实际在用的功能,不是模块清单。

  • 找桩与导航

    按距离、价格、桩型筛选,列表上直接标空闲几位、多少钱一度。点进去看场站照片与营业时间,一键跳导航。桩被占满时列表就变灰,不让人白跑一趟。

  • 扫码与充电会话

    扫枪上的码启动充电,充电中实时看已充度数、当前功率、预估金额。中途可以停,拔枪自动结束会话。每次充电对应一条会话记录,出问题能回到那一次。

  • 分时计费与订单

    电费按峰平谷时段算,服务费单独计。时段规则、起步价、停车减免都在后台配,改完下一单立即生效,不用发版。

  • 支付、余额与发票

    支持微信、支付宝与账户余额,充电结束自动扣款,扣款失败先挂账再补缴,不影响离场。开票按订单批量申请,抬头信息存一次复用。

  • 场站与设备管理

    场站、车位、充电枪分层管理,每把枪有唯一编号与在线状态。设备离线、故障、被占用都有标记,运维按告警去现场,不用挨个点开看。

  • 运营报表与对账

    按场站、按枪看充电量、利用率、收入与电费成本。每天自动生成对账表,平台流水与支付通道能对上的才算平账。

项目架构:谁在用,数据往哪走

先看入口与业务域,再看技术选型;只写结构与取舍,不写客户内部数据。

入口与角色

  • 车主 App:找桩、扫码、充电中、订单与发票
  • 场站端:现场运维:枪状态、故障、临时停用
  • PC 运营后台:场站、价格、订单、对账与报表

业务域划分

  • 找桩与场站:位置、桩型、实时空闲与营业状态
  • 充电会话:启停、实时数据、异常中断与补单
  • 计费与订单:分时电价、服务费、起步价与优惠
  • 支付与结算:扣款、挂账补缴、发票与对账
车主端
uni-app(Vue)一套代码出双端,原生能力按端配置
服务端
Java(Spring Boot),按业务域分模块,对外 RESTful 接口
设备接入
TCP / MQTT 接入网关,与充电桩按协议收发指令与状态
数据访问
MyBatis-Plus,实时状态与历史报表分开处理
中间件
Redis 存实时状态与锁,消息队列接设备上报,避免高峰期堵死
存储
MySQL 存订单与会话,文件与发票走对象存储

这个项目做对了四件事

不是功能罗列,是当初的判断。

  • 1

    一眼看出哪把枪能用

    车主最怕的不是贵,是开过去发现桩坏的或被占着。空闲状态、故障标记、桩型功率都摆在列表上,白跑一趟的概率降下来。

  • 2

    充电时钱在涨,心里有数

    实时度数、功率与预估金额一直在走,不用守在车边猜。看到快要超预算可以自己停,不必等充满才发现金额不对。

  • 3

    充不上能自救

    启动失败会给出原因:枪未插好、设备离线、余额不足,各自对应不同处理。能让车主自己解决的,不必打客服电话。

  • 4

    哪把枪在赔钱看得见

    利用率、单枪日均充电量、电费与服务费拆开算,亏损的场站与闲置的枪能被指出来,扩容和调价才有依据。

关键设计取舍

同样的需求,不同做法代价不同;这里写清楚为什么这样选。

  • 一次充电一条会话,不按分钟拼单

    会话从插枪开始到拔枪结束,中间的中断、续充、异常都记在同一条里。按分钟记流水看着简单,一旦断网或桩重启,账就拼不回来了。

  • 设备状态先落库,再给前端

    App 不直接问桩,问的是服务端缓存的最后状态。桩离线时页面显示「状态未知」,而不是转圈等到超时——用户知道发生了什么,才不会以为 App 坏了。

  • 电费和服务费分开记

    分时电价一年要调好几次,服务费是运营方的定价空间。两笔账合在一起记,每次调价都要重算历史,对账时也说不清哪部分变了。

适用边界:什么情况适合做,什么情况先别做

判断标准写在这里,避免双方预期错位。

适合做

  • 有自建或合作场站,需要自己定价、自己结算,不想只做导流。
  • 多场站、多把枪,靠人工记录充电量和收入已经不现实。
  • 希望沉淀车主:余额、发票、常用场站、优惠都在自己手里。
  • 设备来自不同厂商,需要一套系统统一接入与监控。

先别做

  • 只有一两把桩:用现成的扫码充电小程序更快,自建系统不划算。
  • 纯聚合、不碰设备:做导流与地图入口即可,不必上会话与计费。
  • 没有运营团队:桩坏了没人管、价格没人调,系统上线也跑不起来。
  • 设备厂商已经提供完整平台且不愿开放协议:先谈接口,别急着开发。

常见问题(7 条)

问答与页面结构化数据同源,答案口径两站一致。

车主找不到桩、或者到了发现桩被占,怎么处理?

列表按距离和空闲状态排序,每把枪标出功率与当前状态;被占用或故障会显示为不可用并给出原因。场站详情里有照片、营业时间与车位信息,避免到了才发现进不去。

扫码启动失败,常见原因有哪些?

主要是四类:枪没插到位、设备离线、账户余额不足、上一笔会话没有正常结束。系统会把原因直接显示给车主,能自助处理的(比如换个枪、先充值)不用等客服;需要现场处理的会同时推给场站运维。

电费和服务费怎么算?

电费按当地峰平谷时段单价计算,服务费由运营商单独设定,两者分开记录、合并展示。分时电价调整时只改电费部分,历史订单不受影响,对账时也能看清哪一笔是电价变动带来的。

充电中途断网了,这一次还算数吗?

算。会话在服务端持续记录,设备恢复上报后自动补全中间缺失的数据;如果桩本身断网但仍在充电,恢复连接后按设备侧记录结算。订单以会话为准,不以 App 是否在线为准。

能接入不同厂商的充电桩吗?

取决于桩支持的协议。常见的是国标通信协议、云快充协议或厂商私有协议,系统侧做统一接入网关,把不同协议转成同一套内部指令。私有协议需要厂商提供文档或配合联调,这一步通常在项目开始前就要确认。

支付扣款失败怎么办?

先挂账放行,不让车主卡在场站;再通过消息提醒补缴,下次使用前补上即可。挂账记录在后台可查、可导出,不会变成一笔没人管的坏账。

多少钱、要做多久?

本页不含报价。费用主要取决于场站与充电枪数量、要对接的桩协议种类、是否需要与现有支付或停车系统打通。通常分两期:先上车主找桩与扫码充电主线,再补对账、发票与运营报表。

也在做类似的系统?

先问业务,再出方案报价。南京本地可上门或到公司面谈,外地走线上 + 原型文档。