fix(finance): 客服只能使用自己的备用金账户
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
> 重要:**客服备用金支出已经实施**(`manual_expenses`);**公司人工支出登记**(`manual_expense_records`)也已实施,两张表通过 `fund_expense_id` 关联,不是同一张表。
|
||||
> 重要:人工成本**逐单、按实际金额**录入,入口在订单界面;**不按小时,也不按固定单量/固定单价**。
|
||||
> 重要:**人工支出实际上都走客服备用金**——登记时必须选择备用金账户,系统在同一事务内扣减余额、写 `fund_entries` 与 `manual_expenses`,再回填 `manual_expense_records.fund_expense_id`。
|
||||
> 重要:**客服角色只能使用自己的备用金账户**(默认自动带入,不能选择别人);后端会强制校验,越权传别人的账户直接 403。管理员/财务可按需代录到指定客服账户。
|
||||
> 相关文档:[成本中心与三块履约模型.md](成本中心与三块履约模型.md) §8 · [财务系统集成方案.md](财务系统集成方案.md) §八 · [客服备用金台账实施方案](客服备用金台账实施方案-2026-10-18.md) ·
|
||||
> DDL 草案 [drafts/2026-10-17-人工支出登记-DDL草案.sql](drafts/2026-10-17-人工支出登记-DDL草案.sql)
|
||||
|
||||
@@ -110,7 +111,7 @@
|
||||
| 字段 | 谁提供 | 必填 | 说明 |
|
||||
| --- | --- | --- | --- |
|
||||
| 订单号 / 订单项 | 自动(订单) | 是(无订单支出除外) | 从订单详情/列表发起时锁定 |
|
||||
| **客服备用金账户** | **人工选** | **是** | 决定这笔钱从哪个客服的备用金扣;同一事务内扣余额、写流水与 `manual_expenses` |
|
||||
| **客服备用金账户** | **人工选 / 客服自动** | **是** | 决定这笔钱从哪个客服的备用金扣;客服角色锁定自己的账户,管理员/财务可选择。同一事务内扣余额、写流水与 `manual_expenses` |
|
||||
| 平台 / 店铺 / 商品 / 规格 / 数量 | 自动(订单) | 是 | 只读展示,避免手抄错 |
|
||||
| 用户实付 | 自动(订单) | 是 | 只读,用于毛利 |
|
||||
| 支付时间 | 自动(订单) | 是 | 校验支出时间不早于它 |
|
||||
@@ -136,7 +137,7 @@
|
||||
|
||||
> **人工成本计价口径(2026-10-22 确认)**:人工单**逐单、按实际金额**登记,**不按小时、不按固定单量/固定单价**——每一单的实际付款都可能不同。
|
||||
> 订单号是必填前置条件;同一订单项的多笔实际支出逐笔累加,未录入即保持 `cost_missing`,不按均价自动补齐。
|
||||
> **资金来源(2026-10-23 确认)**:人工支出实际上都是客服备用金出的,因此登记时**必须选择备用金账户**;公司直付不再作为默认路径。
|
||||
> **资金来源(2026-10-23 确认)**:人工支出实际上都是客服备用金出的,因此登记时**必须选择备用金账户**;公司直付不再作为默认路径。**客服只能用自己的账户**,默认自动带入;后端对越权账户返回 403。
|
||||
|
||||
### 3.3 一对多关系(必须允许)
|
||||
|
||||
|
||||
+1
-1
@@ -518,7 +518,7 @@ pending_assign -> assigned -> processing -> waiting_customer
|
||||
|
||||
> **业务口径(2026-10-22 确认)**:人工成本**不能按小时,也不能按固定单量/固定单价**——每一单的实际付款都不一样。
|
||||
> 必须**先关联订单号,再逐单录入这一单实际付出去的钱**。
|
||||
> **资金来源(2026-10-23 确认)**:人工支出实际上都走客服备用金,登记时必须选择备用金账户。
|
||||
> **资金来源(2026-10-23 确认)**:人工支出实际上都走客服备用金,登记时必须选择备用金账户;**客服角色只能用自己的账户(默认自动带入),管理员/财务可代录到指定客服账户**。
|
||||
|
||||
- 入口在订单界面:订单列表对人工单显示「人工录单」,订单详情始终有「人工录单」;弹窗锁定订单号、选择**备用金账户**,订单项多于 1 个时由人工选择。
|
||||
- 接口 `POST /api/v1/admin/finance/manual-order-costs`:同一事务内扣减备用金余额、写 `fund_entries` 与 `manual_expenses`,再写 `manual_expense_records`(成本项固定 `sys_manual_service`,`fund_expense_id` 必填),金额即本单实际支出;余额不足直接拒绝。
|
||||
|
||||
Reference in New Issue
Block a user