1、立项背景和目标
为了满足某汽车品牌在移动出行领域的战略布局,提升车辆资产利用率与用户租车体验,本项目作为广汽本田官方出行平台的核心运营支撑底座应运而生。项目的目标是构建一套支撑全链路出行服务的高可用系统,实现“厂端-店端-用户-管家”四端协同,彻底解决租车场景中长期存在的押金管理难、车辆库存极易超卖、以及店端整备效率低下的核心痛点。
2、软件功能、核心功能模块的介绍
系统涵盖厂/店两级 Vue 管理后台以及面向 C 端用户和 B 端门店管家的微信小程序矩阵,核心功能模块包括:
双域免押支付中心:深度融合微信支付分与支付宝芝麻信用,实现跨平台的信用免押租车闭环。
长周期订单状态机:管理从预订、取车、用车、还车到违章结算的超长生命周期订单流转。 高频车辆排期与库存引擎:基于“时间碎片化”模型,精准管控各门店、各车型的时段可用库存。
多端生态与管家协同系统:统筹用户自助用车与管家整备调拨的实时数据交互。
双级运营大盘与数据看板:聚合多维度的车辆使用率、均价核算及长短租单量统计报表。 3、业务流程、功能路径描述
核心业务流转路径如下:C端用户在小程序选定时间与车型发起租车请求,系统实时校验底层时段库存;库存锁定后,调用双域信用接口完成免押授权并生成订单;到达取车时间前,B端管家小程序接收任务,完成车辆整备与资产安全上报;用户自助扫码开锁取车,开启计费状态机;用户还车后,系统自动发起免押扣款;若后续产生违章,状态机异步流转触发违章延期扣款机制;最终所有订单与车辆流转数据汇聚至双级运营看板,供厂店两级管理层进行数据分析与决策。
1、整体架构和设计思路,不同模块使用的技术栈
本项目采用 Java/Spring Boot 构建后端微服务架构,前端采用 Vue(管理后台)与 uniapp/原生微信小程序(移动端)进行 API 契约对接。
异步流转与解耦:引入 RabbitMQ 处理长周期订单中诸如超时未付取消、免押回调、违章延期等长链路异步任务。
高并发库存控制:利用 Redis 的高性能与 Lua 脚本的原子性,彻底重构基于时段碎片的库存日历架构。
数据存储与聚合:核心业务数据落盘 MySQL,针对复杂的运营看板大屏,采用分库分表与跨表慢 SQL 治理策略保障查询性能。
2、“我”的负责模块和结果(尽可能量化)
我作为核心后端开发,全面负责 Java/Spring Boot 核心业务链路的设计与研发落地:
双域免押与状态机重构:打通微信/支付宝底层信用接口,主导设计了严密的订单核心状态机。利用 RabbitMQ 异步驱动订单流转,有效杜绝了高并发场景下的订单状态脏写与资损风险,保障了每一笔交易的准确性。
管家协同效率提升:统筹前后端 API 设计,打通了用户端(选车/结算)与管家端(整备/验车/上报)的实时协同,大幅缩减了店端车辆从回收到再次上架的整备流转时效。
复杂看板性能调优:针对包含海量历史订单、多维度单量及车辆使用率的“出行运营总览看板”,深入优化 MySQL 复杂跨表聚合查询,完成慢 SQL 治理,确保了海量数据下的报表查询实现秒级响应。
3、“我”遇到的难点、坑,和解决方案
难点一:节假日租车大促期间的高频“超卖”隐患。
坑:租车业务面临特有的“时间碎片化库存”痛点,初期采用传统的数据库行锁锁车方案,在高并发下不仅性能极差,且经常出现锁超时导致的“一车多租”或超卖现象。
解决方案:彻底摒弃 DB 悲观锁,基于 Redis 重新设计了以“门店+车型+时间段”为极细颗粒度的库存日历缓存架构。利用 Redis Lua 脚本保证预占与扣减操作的绝对原子性,成功将库存校验耗时降至毫秒级,彻底攻克了并发超卖难题。
难点二:超长订单生命周期导致的状态混乱。
坑:租车订单从预订到还车甚至违章处理,跨度可能长达数月,传统的定时任务轮询更新状态会导致数据库压力过大且极易发生状态流转冲突。
解决方案:设计了标准化的分布式订单状态机,所有状态变更由核心引擎统一拦截校验;同时引入 RabbitMQ 延迟队列替代定时轮询,处理超时取消与违章扣款等异步事件,确保了长周期订单流转的健壮性。