Files
shanxia2.0/docs/superpowers/specs/2026-09-26-pl-vehicle-recharge-restore-fuel-design.md
T
2026-09-26 11:59:39 +08:00

2.0 KiB
Raw Blame History

车辆充值模块恢复「加油」类型 — 设计文档

日期: 2026-09-26
状态: 已批准(方案 B)
前置: docs/superpowers/specs/2026-09-12-pl-vehicle-recharge-etc-only-design.md(曾收窄为仅 ETC)
界面模式: 沿用既有申请列表 + 发放看板;仅恢复充值类型枚举与读/写范围

背景与目标

2026-09-12 将「ETC充值申请 / ETC充值发放登记」收窄为仅 etc,历史 fuel 留库不展示。
业务澄清后:

业务 含义 模块
加油充值申请 给司机加油卡充值 本模块(与 ETC 共用)
加油登记 司机用卡加油后登记 vehicle-fuel-register(独立,本次不动)

顺序:先加油充值,后加油登记。二者并存。

目标:在本模块恢复充值类型 etc | fuel(方案 B)。

已确认规则

# 规则 决策
D1 类型枚举 恢复 etc(ETC)、fuel(加油)
D2 列表范围 取消「强制仅 etc」过滤;历史 fuel 重新可见
D3 加油登记 不改菜单、表、接口
D4 菜单名 「ETC/加油充值申请」「ETC/加油充值发放登记」
D5 字典 重新启用 PL_RECHARGE_TYPE_FUEL(del_flag=0)
D6 表结构 / API path / 权限码 不变

非目标

  • 改菜单名、拆独立加油充值菜单
  • 迁移/清洗历史数据
  • 改加油登记模块
  • 审批流、小程序

实现要点

后端

  • RECHARGE_TYPES = {"etc", "fuel"};校验文案改为非法类型提示
  • 删除 MODULE_RECHARGE_TYPE 及所有强制 recharge_type == etc 过滤(含申请/发放 get、列表、看板、pending-options、菜单角标)
  • 测试:由「拒 fuel」改为「接受 etc + fuel」

前端

  • 表单下拉、列头漏斗增加「加油」
  • 类型展示沿用 getPlRechargeTypeLabel(已支持 fuel)

数据

  • 新增迁移 SQL:恢复字典「加油」;不改菜单名