# table_fee_transactions 台费交易记录

> 生成时间：2026-02-14

## 表信息

| 属性 | 值 |
|------|-----|
| Schema | ods |
| 表名 | table_fee_transactions |
| 主键 | id, content_hash |
| 数据来源 | export/test-json-doc/table_fee_transactions.json |
| 说明 | 台费流水 |

## 字段说明

| 序号 | 字段名 | 类型 | 可空 | 说明 |
|------|--------|------|------|------|
| 1 | id | BIGINT | NO | 台费流水记录主键（事实表主键） |
| 2 | tenant_id | BIGINT | YES | 租户/品牌 ID |
| 3 | site_id | BIGINT | YES | 门店 ID，本次数据全部来自同一门店（朗朗桌球） |
| 4 | siteprofile | JSONB | YES | （待补充） |
| 5 | site_table_id | BIGINT | YES | 球台 ID |
| 6 | site_table_area_id | BIGINT | YES | 门店内“台桌区域” ID（站在门店物理布局的角度） |
| 7 | site_table_area_name | TEXT | YES | 台桌区域的名称，用于门店表现和区域统计 |
| 8 | tenant_table_area_id | BIGINT | YES | 租户维度的台桌区域 ID（品牌层面的同一类区域） |
| 9 | order_trade_no | TEXT | YES | 订单交易号，是整笔订单的主编号 |
| 10 | order_pay_id | BIGINT | YES | 订单支付记录 ID |
| 11 | order_settle_id | BIGINT | YES | 结算单号/结账 ID，对应一次结账操作 |
| 12 | ledger_name | TEXT | YES | 台号名称，实际展示给员工/顾客看的桌台编号 |
| 13 | ledger_amount | NUMERIC(18,2) | YES | 按单价与计费时长计算出的原始应收台费金额 |
| 14 | ledger_count | NUMERIC(18,4) | YES | 台账记录的计费秒数，计费用秒数（应收时长） |
| 15 | ledger_unit_price | NUMERIC(18,4) | YES | 台费结算时设置的 每小时单价/计费单价 |
| 16 | ledger_status | INTEGER | YES | 来自 JSON 导出的原始字段，用于保留业务取值 |
| 17 | ledger_start_time | TIMESTAMP | YES | 台账上的计费起始时间 |
| 18 | ledger_end_time | TIMESTAMP | YES | 台账上的计费结束时间 |
| 19 | start_use_time | TIMESTAMP | YES | 台开始使用的时间（实际开台时间） |
| 20 | last_use_time | TIMESTAMP | YES | 最后使用/操作时间 |
| 21 | real_table_use_seconds | INTEGER | YES | 实际使用的总秒数（系统真实统计的使用时长） |
| 22 | real_table_charge_money | NUMERIC(18,2) | YES | 台费中实际向顾客收取的金额（现金/实付维度，未含券方承担或内部调账的那一部分） |
| 23 | add_clock_seconds | INTEGER | YES | 加钟秒数，在原有使用基础上追加的时长 |
| 24 | adjust_amount | NUMERIC(18,2) | YES | 调整金额/调账金额，用于将台费金额转移或冲减到其它项目，或手工调整 |
| 25 | coupon_promotion_amount | NUMERIC(18,2) | YES | 由优惠券/活动/团购（平台/门店促销）承担的优惠金额，直接抵扣在台费上 |
| 26 | member_discount_amount | NUMERIC(18,2) | YES | 由会员权益产生的优惠金额，例如会员折扣、会员价等 |
| 27 | used_card_amount | NUMERIC(18,2) | YES | 由储值卡、次卡等“卡内余额”抵扣的金额 |
| 28 | mgmt_fee | NUMERIC(18,2) | YES | 管理费字段，用于未来支持“台费附加管理费/服务费”的功能 |
| 29 | service_money | NUMERIC(18,2) | YES | 门店用于记录“服务费/成本/分成金额”的字段，类似助教流水里的 service_money |
| 30 | fee_total | NUMERIC(18,2) | YES | 各种附加费用（如管理费、服务费）合计值 |
| 31 | is_single_order | INTEGER | YES | 布尔/开关字段，用于表示权限、可用性或状态开关 |
| 32 | is_delete | INTEGER | YES | 逻辑删除标记（0=否，1=是） |
| 33 | member_id | BIGINT | YES | 门店/租户内的会员 ID |
| 34 | operator_id | BIGINT | YES | 操作员 ID，负责开台/结账的员工账号 ID |
| 35 | operator_name | TEXT | YES | 操作员姓名（冗余字段），便于直接阅读，不必再联表员工档案 |
| 36 | salesman_name | TEXT | YES | 业务员/营业员姓名，如果台费有单独提成员工，这里记录归属人 |
| 37 | salesman_org_id | BIGINT | YES | 营业员所属机构/部门 ID |
| 38 | salesman_user_id | BIGINT | YES | 营业员的用户 ID（与 salesman_name 搭配） |
| 39 | create_time | TIMESTAMP | YES | 这条台费流水记录的创建时间，通常接近结账时间 |
| 40 | payload | JSONB | NO | ETL 元数据：完整原始 JSON 记录快照，用于回溯与二次解析 |
| 41 | source_file | TEXT | YES | ETL 元数据：原始导出文件名，用于数据追溯 |
| 42 | source_endpoint | TEXT | YES | ETL 元数据：采集来源（接口/文件路径），用于数据追溯 |
| 43 | fetched_at | TIMESTAMPTZ | YES | ETL 元数据：采集/入库时间戳，用于口径对齐与增量处理 |
| 44 | content_hash | TEXT | NO | ETL 元数据：对业务字段计算 SHA256，用于变更检测与去重 |
| 45 | activity_discount_amount | NUMERIC(18,2) | YES | 活动折扣金额 |
| 46 | order_consumption_type | INTEGER | YES | 订单消费类型 |
| 47 | real_service_money | NUMERIC(18,2) | YES | 实际服务费金额 |

## 使用说明

```sql
-- 查询最新入库的记录
SELECT * FROM ods.table_fee_transactions
ORDER BY fetched_at DESC
LIMIT 10;
```

```sql
-- 按业务主键查询某条记录的所有版本
SELECT * FROM ods.table_fee_transactions
WHERE id = <value>
ORDER BY fetched_at DESC;
```

## ETL 元数据字段

| 字段名 | 类型 | 说明 |
|--------|------|------|
| content_hash | TEXT | 对业务字段计算 SHA256，用于变更检测与去重 |
| source_file | TEXT | 原始导出文件名，用于数据追溯 |
| source_endpoint | TEXT | 采集来源（接口/文件路径），用于数据追溯 |
| fetched_at | TIMESTAMPTZ | 采集/入库时间戳，用于口径对齐与增量处理 |
| payload | JSONB | 完整原始 JSON 记录快照，用于回溯与二次解析 |

## 可回溯性

| 项目 | 说明 |
|------|------|
| 可回溯 | ✅ 完全可回溯（保留 payload 原始 JSON） |
| 数据来源 | export/test-json-doc/table_fee_transactions.json |
