# refund_transactions 退款交易记录

> 生成时间：2026-02-14

## 表信息

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

## 字段说明

| 序号 | 字段名 | 类型 | 可空 | 说明 |
|------|--------|------|------|------|
| 1 | id | BIGINT | NO | 本条 退款流水 的唯一 ID |
| 2 | tenant_id | BIGINT | YES | 租户/品牌 ID，全系统维度标识该商户 |
| 3 | tenantname | TEXT | YES | （待补充） |
| 4 | site_id | BIGINT | YES | 门店 ID |
| 5 | siteprofile | JSONB | YES | （待补充） |
| 6 | relate_type | INTEGER | YES | 本退款对应的“业务类型” |
| 7 | relate_id | BIGINT | YES | 本次退款关联的业务 ID |
| 8 | pay_sn | TEXT | YES | 来自 JSON 导出的原始字段，用于保留业务取值 |
| 9 | pay_amount | NUMERIC(18,2) | YES | 本次退款的 资金变动金额 |
| 10 | refund_amount | NUMERIC(18,2) | YES | 设计上本应显示“实际退款金额”（正数），与 pay_amount 配合使用 |
| 11 | round_amount | NUMERIC(18,2) | YES | 舍入金额/抹零金额 |
| 12 | pay_status | INTEGER | YES | 来自 JSON 导出的原始字段，用于保留业务取值 |
| 13 | pay_time | TIMESTAMP | YES | 退款在支付渠道层面实际发生的时间 |
| 14 | create_time | TIMESTAMP | YES | 本条退款流水在系统内创建时间 |
| 15 | payment_method | INTEGER | YES | 来自 JSON 导出的原始字段，用于保留业务取值 |
| 16 | pay_terminal | INTEGER | YES | 来自 JSON 导出的原始字段，用于保留业务取值 |
| 17 | pay_config_id | BIGINT | YES | 支付配置 ID，例如商户在“非球科技”内配置的某一条支付通道（某个微信商户号、银联通道）的主键 |
| 18 | online_pay_channel | INTEGER | YES | 来自 JSON 导出的原始字段，用于保留业务取值 |
| 19 | online_pay_type | INTEGER | YES | 当前：全部 0 |
| 20 | channel_fee | NUMERIC(18,2) | YES | 第三方支付渠道对本次退款收取的手续费 |
| 21 | channel_payer_id | TEXT | YES | 支付渠道侧的 payer ID，例如微信 openid、银行卡号掩码等 |
| 22 | channel_pay_no | TEXT | YES | 第三方支付平台的交易号（如微信支付单号、支付宝交易号等） |
| 23 | member_id | BIGINT | YES | 租户内部的会员 ID（对应会员档案中的某个主键） |
| 24 | member_card_id | BIGINT | YES | 关联的会员卡账户 ID（对应“储值卡列表”或“会员档案”中的某一张卡） |
| 25 | cashier_point_id | BIGINT | YES | 收银点 ID，例如前台 1、前台 2、自助机等 |
| 26 | operator_id | BIGINT | YES | 执行该退款操作的操作员 ID |
| 27 | action_type | INTEGER | YES | 当前：全部 2 |
| 28 | check_status | INTEGER | YES | 当前：全部 1 |
| 29 | is_revoke | INTEGER | YES | 布尔/开关字段，用于表示权限、可用性或状态开关 |
| 30 | is_delete | INTEGER | YES | 逻辑删除标志 |
| 31 | balance_frozen_amount | NUMERIC(18,2) | YES | 涉及会员储值卡退款时，暂时冻结的余额金额 |
| 32 | card_frozen_amount | NUMERIC(18,2) | YES | 与上一个类似，偏向“某张卡的被冻结金额”，也与会员卡/储值账户相关 |
| 33 | source_file | TEXT | YES | ETL 元数据：原始导出文件名，用于数据追溯 |
| 34 | source_endpoint | TEXT | YES | ETL 元数据：采集来源（接口/文件路径），用于数据追溯 |
| 35 | fetched_at | TIMESTAMPTZ | YES | ETL 元数据：采集/入库时间戳，用于口径对齐与增量处理 |
| 36 | payload | JSONB | NO | ETL 元数据：完整原始 JSON 记录快照，用于回溯与二次解析 |
| 37 | content_hash | TEXT | NO | ETL 元数据：对业务字段计算 SHA256，用于变更检测与去重 |

## 使用说明

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

```sql
-- 按业务主键查询某条记录的所有版本
SELECT * FROM ods.refund_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/refund_transactions.json |
