vault backup: 2026-05-25 22:22:37
This commit is contained in:
165
prop-acc/scenarios/deposit/deposit-first-time-renovation.md
Normal file
165
prop-acc/scenarios/deposit/deposit-first-time-renovation.md
Normal file
@@ -0,0 +1,165 @@
|
||||
---
|
||||
title: prop-acc · deposit · 场景 - 装修业户首次缴 5000 保证金
|
||||
aliases:
|
||||
- 首次缴装修保证金
|
||||
- deposit-first-time-renovation
|
||||
- 场景-装修业户首次缴保证金
|
||||
tags:
|
||||
- 场景
|
||||
- prop-acc
|
||||
- 保证金
|
||||
- 缴纳
|
||||
audience:
|
||||
- 业户
|
||||
- 业务人员
|
||||
status: 已发布
|
||||
sub_feature: deposit
|
||||
last_review: 2026-05-25
|
||||
code_version: 2026-05-22
|
||||
---
|
||||
|
||||
# 场景:装修业户首次缴 5,000 保证金
|
||||
|
||||
最常见的保证金场景。业户准备装修,**第一次**给物业交装修押金,系统**当场建账户 + 收钱 + 出收据**。
|
||||
|
||||
## 典型情境
|
||||
|
||||
> [!example] 真实情境
|
||||
> 张阿姨,72 岁,儿子要装修她家(12-3-501)。装修前一天她带着身份证、房产证、装修施工合同来物业前台,要交 ¥5,000 装修保证金。
|
||||
|
||||
## 业户视角(您要做什么)
|
||||
|
||||
### 第 1 步:到前台带齐材料
|
||||
|
||||
- 身份证(或户口本)
|
||||
- 房产证(或租赁合同 + 业主授权书)
|
||||
- 装修施工合同(物业要存档,确认装修方信息)
|
||||
|
||||
### 第 2 步:告诉职员
|
||||
|
||||
"我家要装修了,来交装修保证金,房号 12-3-501。"
|
||||
|
||||
### 第 3 步:付款
|
||||
|
||||
职员告诉您**多少钱**(常见 ¥3,000-10,000,各小区不同),您可选:
|
||||
|
||||
- **现金**
|
||||
- **微信扫码**
|
||||
- **POS 刷卡**
|
||||
- **银行转账**(需打印银行凭证)
|
||||
|
||||
### 第 4 步:拿收据
|
||||
|
||||
- 纸质收据:**当场打印**
|
||||
- 电子收据:发到您的微信或邮箱
|
||||
|
||||
> [!success] 完成
|
||||
> 整个过程 10 分钟内搞定。收据写"装修保证金缴纳 ¥5,000",妥善保管,装修结束时退押凭这个。
|
||||
|
||||
## 业务人员视角(物业职员怎么操作)
|
||||
|
||||
> [!info] 关键差异
|
||||
> 这是**首次**开户 + 缴款。之后追加缴款走 [[deposit-additional-topup]],流程更简短。
|
||||
|
||||
### 第 1 步:打开后台
|
||||
|
||||
登录 Filament 后台 → 保证金 → **新建账户**(`CreateDepositAccount` 页面)。
|
||||
|
||||
### 第 2 步:填表单(账户信息)
|
||||
|
||||
| 字段 | 填什么 |
|
||||
|---|---|
|
||||
| **缴款人类型(`payer_type`)** | 选 `Owner`(业主)/ `Tenant`(租户)/ `Contractor`(承包商)等;详见 [[payer-types]] |
|
||||
| **缴款人姓名(`payer_name`)** | "张某某" |
|
||||
| **缴款人联系方式(`payer_contact`)** | 张阿姨手机号 |
|
||||
| **业户档案(`community_user_profile_id`)** | 通过房号 12-3-501 找到张阿姨绑定的业户档案(Owner / Tenant 类型必填) |
|
||||
| **房屋单元(`asset_id`)** | 12-3-501 房屋资产 |
|
||||
| **押金种类(`fee_type_id`)** | "装修保证金"(本物业项目预先配置的 FeeType) |
|
||||
| **备注(`remark`)** | 选填,如 "2026 年春季装修,施工方:王装修有限公司" |
|
||||
|
||||
### 第 3 步:填首次缴款信息
|
||||
|
||||
`CreateDepositAccount` 页面下半部分有"首次缴款"段,**和开户一起一气呵成**:
|
||||
|
||||
| 字段 | 填什么 |
|
||||
|---|---|
|
||||
| **缴款金额** | ¥5,000 |
|
||||
| **支付方式(PaymentChannel)** | 现金 / 微信 / POS / 银行转账 |
|
||||
| **收款银行账户** | 微信/POS/转账选对应银行;现金可空 |
|
||||
| **缴款备注** | 选填,如 "首次开户缴款" |
|
||||
|
||||
### 第 4 步:提交
|
||||
|
||||
点击"创建"。系统在一个数据库事务内完成:
|
||||
|
||||
1. 建 `DepositAccount`(`status=Active`,`balance=5000`)
|
||||
2. 建 `CollectionOrder`(`actual_amount=+5000`,`status=Completed`)
|
||||
3. 建 `DepositTransaction`(`type=deposit`,`amount=5000`,`balance_before=0`,`balance_after=5000`,关联 CO)
|
||||
4. 触发 `CollectionOrderCompleted` 事件
|
||||
5. Listener 自动建 `Receipt` + `ReceiptItem`,文案"装修保证金缴纳 ¥5,000"
|
||||
|
||||
### 第 5 步:打印 / 发收据
|
||||
|
||||
- 后台收据列表找到刚生成的 Receipt → 点击"打印"或"发送"
|
||||
- 把纸质收据交给张阿姨,或直接微信发她
|
||||
|
||||
## 系统流程
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
participant 业户
|
||||
participant 前台
|
||||
participant Filament
|
||||
participant 数据库
|
||||
participant 监听器
|
||||
|
||||
业户->>前台: 我要交装修保证金 5000(现金)
|
||||
前台->>Filament: CreateDepositAccount 填表 + 提交
|
||||
Filament->>数据库: 开启事务
|
||||
Filament->>数据库: 1. 建 DepositAccount (Active, balance=5000)
|
||||
Filament->>数据库: 2. 建 CollectionOrder (actual=+5000, Completed)
|
||||
Filament->>数据库: 3. 建 DepositTransaction (deposit, balance 0→5000)
|
||||
Filament->>监听器: 4. 触发 CollectionOrderCompleted
|
||||
监听器->>数据库: 5. 建 Receipt + ReceiptItem ("装修保证金缴纳 ¥5,000")
|
||||
Filament->>数据库: 提交事务
|
||||
Filament-->>前台: 成功通知 + 显示新账户
|
||||
前台->>业户: 给收据
|
||||
```
|
||||
|
||||
> [!info] 一气呵成
|
||||
> 5 个数据库写入在同一事务里。任何一步失败,整笔回滚 —— 不会出现"账户建了但钱没记""收据生成了但流水没建"的半成品状态。
|
||||
|
||||
## 常见问题
|
||||
|
||||
> [!question] 业户没带身份证 / 房产证可以办吗?
|
||||
> 各物业政策不同,系统不强制证件检查。属于物业内部审核流程。
|
||||
|
||||
> [!question] 装修方是装修公司不是业户,该怎么开?
|
||||
> 走 [[deposit-on-behalf-by-company]] 流程:`payer_type=Company`,不绑业户档案,只记公司名 + 联系人。
|
||||
|
||||
> [!question] 业户没带够现金可以拆分付款吗?
|
||||
> 单笔 `CollectionOrder` 只支持一种支付方式。可以**先开账户缴一部分**,过几天 [[deposit-additional-topup|追加缴款]] 补齐。
|
||||
|
||||
> [!question] 录错金额(把 ¥5,000 录成 ¥50,000)怎么办?
|
||||
> 不要试图改流水,流水是不可变的。正确做法:建一笔 `Refund` 退还多收的差额,业户拿到一张红字收据。详见 [[transaction-types]] "真实修正场景示例" 段。
|
||||
|
||||
> [!question] 这个账户绑了张阿姨,但实际付钱的是她儿子,可以吗?
|
||||
> 系统只看 `payer_*` 字段。如果想严格反映"儿子代付",可在 `payer_name` 写儿子名 + `community_user_profile_id` 仍绑张阿姨;退款时收据上文案会按 `payer_name` 显示。或者继续用张阿姨名,备注里说明。
|
||||
|
||||
> [!question] 同一业户能开多个押金账户吗?
|
||||
> 可以,只要 `(community_id, fee_type_id, payer_type, asset_id)` 组合不同。例如张阿姨可以同时有"装修保证金"和"入驻押金"两个账户,各自独立。
|
||||
|
||||
## 异常分支
|
||||
|
||||
- 录错金额想撤回 → [[refund-partial-after-forfeit]] 或 [[refund-full-no-damage]]
|
||||
- 装修过程出问题(损坏 / 违约)→ [[forfeit-damage-public-area]] / [[forfeit-violation-no-permit]]
|
||||
- 业户和物业有纠纷暂时冻结 → [[freeze-during-dispute]]
|
||||
- 已开账户后续追加 → [[deposit-additional-topup]]
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [[deposit-account-vs-transaction]]
|
||||
- [[account-state-machine]]
|
||||
- [[payer-types]]
|
||||
- [[refund-full-no-damage]]
|
||||
- [[deposit-additional-topup]]
|
||||
Reference in New Issue
Block a user