跳到主要内容
返回项目档案
工作进行中

智慧停车产品线 · 全栈交付

业主端与保安端小程序、B 端管理后台与 Spring Boot 后端的完整停车业务闭环

角色
全栈开发(后端 + 小程序 + 管理后台)
量级
4 端 · 390+ 小程序页面 · 170+ 接口
时间
2026年8月 — 至今
Spring BootMyBatis-PlusMySQLRedisVue 2uni-app微信小程序MQTT拉卡拉

做了什么

  • 一条业务线覆盖车主、保安、车场运营三类角色的完整闭环:找位 → 临停/包月/预约 → 支付开票 → 进出场 → 异常放行
  • 后端为 Spring Boot 2 多模块单体(约 170 个 Controller、1400+ Java 文件),停车、物业、托管三条线共用账号、租户、支付与消息能力
  • 六类缴费入口统一为小程序内直拉微信支付的主扫模式,回调支持有效期顺延与按实际通道查询兜底
  • 业主端(390 页面 / 5 分包)与保安端两个小程序、Vue 2 后台(190+ 页面)与后端四端状态定义一致,靠接口契约对齐

项目背景

公司在运营一套智慧停车 SaaS:车场方用它管车位与收费,车主用它缴费与找车位,保安用它在岗亭处理进出场 与异常放行。业务本身不复杂,复杂的是同一件事要在四种端上自洽——后台改一个计费规则,小程序、岗亭、 财务报表都得跟着对。

业务闭环

角色 在系统里做的事
车主 找附近车场、临停缴费、买包月/短租、租车位、预约、开电子发票
保安 岗亭看实时视频、登记进出场、异常放行、抬落杆
车场运营 配置车场与通道、计费规则、包月套餐、车位与共享规则、看报表与对账
平台运营 多车场/多租户管理、权限下发、支付通道与分账配置

「车位」是贯穿整条线的核心对象:临停占用它、月卡绑定它、共享出租它、托管代运营它。系统里同一个车位 在不同业务下有不同的状态与计费方式,但没有第二份车位数据。

我在其中的角色

全栈开发,团队共同交付这条线,我负责的部分是:

  • 后端:包月续费、车位管理费、临停开关、缴费记录聚合、支付回调顺延等接口
  • 小程序:业主端首页与附近车场、包月车选场与续费、车辆认证、登录态统一;保安端部分页面
  • 管理后台:云岗亭视频与抬落杆权限、通道通知、包月开卡、欠费合并补缴
  • 横切:支付通道改造、包体优化、跨租户与跨用户的数据校验

具体推进

支付链路统一

停车业务的缴费入口有六七个:临停出场、待支付订单、包月续费、车位租赁签约、车位管理费、预约。原先它们 各自跳转拉卡拉收银台小程序,链路长、失败率高、回调口径不一。

团队把这些入口统一改造成「小程序内直接拉起微信支付」的主扫模式。我负责的入口在后端同时处理:

  • 回调时按业务类型顺延有效期(续费不是从今天算,而是从原到期日算)
  • 支付状态查询按实际下单通道调用,避免拉卡拉与微信两条通道混查
  • 零元订单与并发下单用分布式锁控制,防止重复开卡

新旧两条通道在页面级并存过一段时间,按车场灰度切换——出问题可以单个车场回退,而不是整站回滚。

计费与账务

临停按阶梯时长计费,包月/短租按有效期计费,共享车位按分成结算,托管车位另走分账。四条计费口径最终都 落到同一张订单与流水上:车场要看收入、平台要看分账、车主要看缴费记录,三者必须能对上同一笔钱。

我参与的部分集中在「有效期」这一层:开卡、续费、补缴、退款都要算对起止时间,后台配置的规则与小程序 展示的口径必须来自同一个接口。

小程序体验与工程约束

业主端有 390 个页面、5 个分包。我重构了停车首页与附近车场推荐,重做包月车的选场与续费交互,并把 「登录态失效」从各页面的零散判断收敛成统一的处理路径。

真机调试时遇到主包超限(2306 KB > 2048 KB)。把 1152 KB 的静态资源迁到 OSS,走统一前缀引用, 再压缩各分包与 tabBar 图标,问题解决——并把「新增图片一律放 OSS」写进了团队规范。

云岗亭

岗亭是这条线上最接近硬件的一段:保安在移动端看实时视频(WebRTC 主通道,MJPEG over WebSocket 备通道)、 处理进场登记与异常放行、抬落杆。团队先做出了整块功能,我补上了视频与抬落杆的细分权限(此前是整块开放), 以及车辆进出场的实时通知与通道记录的合并展示。

技术亮点

  • 一套业务四种端:后台、业主端、保安端、服务端共用同一套状态定义,靠接口契约而非文档对齐
  • 支付改造可回滚:新旧两条通道在页面级并存,按车场灰度切换
  • 工程约束前置:包体、签名、鉴权这些「非功能」问题写成规范,而不是每次踩坑再修
  • 数据只有一份:车位、订单、流水在三类角色之间共享,报表与小程序读的是同一份数据

团队与分工

这条线由后端、前端、测试与产品共同交付。团队负责的部分包括车场与通道建模、计费规则引擎、报表与对账、 支付网关接入、保安端与云岗亭整体功能;我负责上面「我在其中的角色」列出的接口、页面与横切改造。简历里 写项目价值是为了说明这条线解决了什么问题,不表示每一行代码都出自我手。