# BD_Manual：assistant_cancellation_records（助教废除记录）

> ODS 表：`ods.assistant_cancellation_records`
> DWD 表：`dwd.dwd_assistant_trash_event`（主表）、`dwd.dwd_assistant_trash_event_ex`（扩展表）
> API 接口：助教废除记录列表
> JSON 路径：`assistant_cancellation_records.json → data.orderAssistantTrashLedgers`
> 装载方式：事实表增量插入（`DwdLoadTask`）
> 代码位置：`apps/etl/connectors/feiqiu/tasks/dwd/dwd_load_task.py`

---

## 1. dwd_assistant_trash_event（主表）

| DWD 列名 | 类型 | ODS 源列 | 映射方式 | 业务含义 | 取值范围/示例 |
|----------|------|---------|---------|---------|-------------|
| `assistant_trash_event_id` | BIGINT | `id` | FACT_MAPPINGS | 废除记录唯一标识（PK） | 飞球雪花 ID |
| `site_id` | BIGINT | `siteid` | FACT_MAPPINGS | 门店 ID | 飞球门店 ID |
| `tenant_id` | BIGINT | `tenant_id` | FACT_MAPPINGS | 租户 ID | 飞球租户 ID |
| `assistant_no` | TEXT | `assistanton` | FACT_MAPPINGS | 助教编号（工号/序号）。ODS 列名 `assistantOn` 在 PG 中小写化为 `assistanton`，语义为助教的门店内编号 | 如 `31`、`1` |
| `abolish_amount` | NUMERIC | `assistantabolishamount` | FACT_MAPPINGS | 废除金额（元），被废除的服务应收金额 | `0.00` ~ 金额值 |
| `charge_minutes_raw` | INTEGER | `pdchargeminutes` | FACT_MAPPINGS | 陪打计费时长（分钟），被废除的服务时长 | 正整数 |
| `table_id` | BIGINT | `tableid` | FACT_MAPPINGS | 台桌 ID | 飞球台桌 ID |
| `table_area_id` | BIGINT | `tableareaid` | FACT_MAPPINGS | 台桌区域 ID | 飞球区域 ID |
| `assistant_name` | TEXT | `assistantname` | FACT_MAPPINGS | 助教姓名快照 | 如 `张静然` |
| `trash_reason` | TEXT | `trashreason` | FACT_MAPPINGS | 废除原因 | 自由文本 |
| `create_time` | TIMESTAMPTZ | `createtime` | FACT_MAPPINGS | 废除操作时间 | ISO 时间戳 |

---

## 2. dwd_assistant_trash_event_ex（扩展表）

| DWD 列名 | 类型 | ODS 源列 | 映射方式 | 业务含义 | 取值范围/示例 |
|----------|------|---------|---------|---------|-------------|
| `assistant_trash_event_id` | BIGINT | `id` | FACT_MAPPINGS | 废除记录唯一标识（PK） | 同主表 |
| `table_area_name` | TEXT | `tablearea` | FACT_MAPPINGS | 台桌区域名称快照 | 如 `大厅`、`VIP` |
| `table_name` | VARCHAR(64) | `tablename` | FACT_MAPPINGS | 台桌名称快照 | 如 `1号台` |

---

## 3. 跳过字段说明

| ODS 字段 | 跳过原因 |
|---------|---------|
| `siteprofile` | JSONB 嵌套列，已由 `dim_site` / `dim_site_ex` 通过 JSONB 提取映射 |

---

## 4. 代码引用

- FACT_MAPPINGS：`dwd_load_task.py` → `FACT_MAPPINGS["dwd.dwd_assistant_trash_event"]` / `FACT_MAPPINGS["dwd.dwd_assistant_trash_event_ex"]`
- TABLE_MAP：`"dwd.dwd_assistant_trash_event" → "ods.assistant_cancellation_records"`
- DWS 下游：`dws_assistant_daily_task.py`（助教日业绩汇总，废除金额扣减）
