P3.5: prop-acc 启用子模块嵌套(adhoc/),应对大型业务域扩展

背景:
单纯按 UDAS 严格扁平,prop-acc/scenarios/ 装齐 7 子模块后预计 100-150
篇 .md 单一文件夹,Explorer 无法浏览、Quartz folder page 无法阅读。

扩展规则(已写入 SKILL.md 多域章节 + multi-domain.md 第 10 节):
- 单类型文件夹文件数 > 30 且能按业务子模块分组时,启用嵌套
- 路径:<domain>/<type>/<sub-feature>/<file>.md
- 文件名去 <sub-feature>- 前缀(路径已表达)
- title 三段式:<domain> · <sub-feature> · <名>
- frontmatter 新增 sub_feature 字段(便于 RAG 过滤)
- 跨子模块文档落在 <domain>/<type>/(不进子文件夹),与"跨域→cross/"对称

本次迁移:
- prop-acc/concepts/adhoc-*.md (3)  → prop-acc/concepts/adhoc/*.md
- prop-acc/scenarios/adhoc-*.md (25) → prop-acc/scenarios/adhoc/*.md
- 每个文件:title 加 adhoc 段、aliases 追加旧 prop-acc · 前缀形式(兼容)、
  新增 sub_feature: adhoc 字段

WikiLink 解析未受影响:
- 既有 [[场景-A流-...]] 等 200+ 引用通过 aliases (含旧 basename) 解析
- 新引用可用 [[adhoc · 前台购买 IC 卡]] 或 [[prop-acc · adhoc · 前台购买 IC 卡]]
- 各域 knowledge-map.md 内 WikiLink 全部仍有效

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Willie
2026-05-25 20:55:59 +08:00
parent e9ed756fc4
commit 35c0147a7b
28 changed files with 84 additions and 28 deletions

View File

@@ -0,0 +1,152 @@
---
title: prop-acc · adhoc · 场景 - A 流 - 前台办理充电桩电费充值
aliases:
- prop-acc · 场景 - A 流 - 前台办理充电桩电费充值
- 场景 - A 流 - 前台办理充电桩电费充值
- 场景-A流-前台办理充电桩电费充值
tags:
- 场景
- prop-acc
- 一次性收费
- 业务场景
- A流
audience:
- 业户
- 业务人员
status: 已发布
sub_feature: adhoc
last_review: 2026-05-25
code_version: 2026-05-22
---
# 场景:前台办理充电桩电费充值
电动车业主**预付式电费充值**。充值后电费从余额扣减。
> [!warning] 这其实更适合预存款模块
> 严格说,这种"预存后逐次抵扣"的场景应该走 **[[预存款]]**(`PrepaidAccount` + `ConsumeAction`),而不是一次性收费。本场景描述的是**一次性买"电费券" / "充值码"** 的简化模式 —— 适合不需要逐次扣减的小区。
## 两种实现方式
### 方式 A:走一次性收费(简化,本场景)
业户付钱买**预付电费充值码**(类似话费充值卡),自己输入到充电桩。
- **适合**:充电桩支持充值码兑换
- **优点**:简单,后台只记一笔交易
- **缺点**:业户余额不在物业系统里,核对靠物理充值码
### 方式 B:走预存款模块(规范)
业户预存到物业开的"预付电费账户"(`PrepaidAccount`),用电时由集抄系统调用 `ConsumeAction` 自动扣减。
- **适合**:充电桩有联网,能实时上报用电量
- **优点**:业户余额清楚,系统自动扣减,可生成月度账单
- **缺点**:需要充电桩硬件支持联网
> [!info] 本文档继续讲方式 A
> 方式 B 详见预存款模块的"业户充值场景"(待补)。
## 典型情境
> [!example] 真实情境
> 张先生家有一辆电动车,小区充电桩需要预付费才能用。他来物业前台想充 ¥200。
## 业户视角
### 第 1 步:到前台
"我要给充电桩充 ¥200。"
### 第 2 步:付款
- 现金 / 微信 / POS
- 物业职员录入金额、提交
### 第 3 步:拿到充值码
- 职员给您**一张小票** 或 **微信发您一串充值码**
- 您在充电桩上输入,余额到账
> [!tip] 也可以打到 IC 卡
> 如果您的门禁 IC 卡支持电费(常见高档小区),职员可以**直接把 ¥200 余额写入您的 IC 卡**,不用记充值码。
## 业务人员视角
### Filament 录入(与 IC 卡几乎一样)
| 字段 | 填什么 |
|---|---|
| 业户 | 通过房号搜业户 |
| 收费项目 | "充电桩电费充值" |
| 数量 | 1(几张充值卡) |
| 金额 | 业户要充多少 |
| 支付方式 | 现金 / 微信 / POS |
| 备注 | 充值码 / 卡号(便于核对)|
### 与其他充值的对比
| 充值类型 | 模块 | 单价规则 |
|---|---|---|
| 充电桩(本场景)| 一次性收费 | 业户付多少充多少(无固定单价)|
| IC 卡 | 一次性收费 | 固定单价 ¥30-50 / 张 |
| 装修出入证 | 一次性收费 | 固定单价 ¥10-50 / 张 |
| 预存物业费 | 预存款模块 | 业户付多少存多少 |
## 系统流程
```mermaid
sequenceDiagram
participant 业户
participant 前台
participant 一次性收费
participant 充电桩
业户->>前台: 充 ¥200 电费
前台->>一次性收费: 录入金额 + 提交
一次性收费-->>前台: 完成 + 充值码
前台->>业户: 给充值码 + 收据
业户->>充电桩: 输入充值码
充电桩-->>业户: 余额 ¥200
```
## 常见问题
> [!question] 充值码丢了能补办吗?
> 不能。充值码本质是"一次性使用"的密码。建议立刻在充电桩输入,不要保留。
> [!question] 业户充错金额(想充 ¥200 充成 ¥2000)能改吗?
> **作废重做**:走 [[场景-已收款作废]] 退还 ¥2000,重新录 ¥200。**前提是充值码还没用**。
> [!question] 业户余额没用完想退怎么办?
> 取决于物业政策。技术上**这条订单不能"部分退"**(订单是原子的)。变通方案:
> - 联系业户,作废原订单(退全款 ¥200)
> - 业户重新付实际使用金额(比如已用 ¥50 → 重新录一笔 ¥50)
> [!question] 充值码能给别人用吗?
> 系统不限制 —— 充值码是"凭码兑换",**谁拿到谁能用**。业务上各物业政策不同。
## 何时换成预存款模块?
> [!tip] 升级到方式 B 的信号
> 如果你们小区出现以下情况,该考虑切换到预存款模块:
> - 业户经常问"我还剩多少钱"
> - 财务想月底对账"全小区欠多少预付费"
> - 充电桩硬件升级了能联网
切换路径:
1. 业户开 PrepaidAccount(预存款账户)
2. 充值走 `DepositAction`(预付款模块)
3. 用电由集抄系统自动 `ConsumeAction` 扣减
## 相关概念
- [[概念-A流与B流]]
- [[概念-CollectionOrder与Receipt]]
- [[场景-A流-前台购买IC卡]] — 模板
- 预存款模块文档(待补) — 方式 B 的实现
## 异常分支
- 充错金额 → [[场景-已收款作废]] + 重做
- 充值码丢失 → 不可补办,业务沟通退款