在前后端开发联调前 的提交20260223

This commit is contained in:
Neo
2026-02-23 23:02:20 +08:00
parent 254ccb1e77
commit fafc95e64c
1142 changed files with 10366960 additions and 36957 deletions

View File

View File

View File

@@ -0,0 +1,178 @@
# DWS_ASSISTANT_DAILY BUG 修复报告
> 生成时间2026-02-21 19:13:11
> 执行 run_uuid4ba9d2d365ee4a858f1c4104b1942dc2
> 执行开始2026-02-21 15:29:20
---
## 1. BUG 概述
ETL 执行过程中 `DWS_ASSISTANT_DAILY` 任务失败,根因是 `assistant_daily_task.py`
`_extract_trash_records` 方法的 SQL 引用了 `dwd.dwd_assistant_trash_event` 表中不存在的字段。
### 错误信息
```
psycopg2.errors.UndefinedColumn: 错误: 字段 "assistant_service_id" 不存在
LINE 3: assistant_service_id,
^
```
### 级联影响
`DWS_ASSISTANT_DAILY` 失败后psycopg2 连接进入 `InFailedSqlTransaction` 状态,
级联导致以下 8 个任务全部失败:
| # | 任务代码 | 失败原因 |
|---|---------|---------|
| 1 | DWS_ASSISTANT_DAILY | 根因UndefinedColumn |
| 2 | DWS_ASSISTANT_MONTHLY | InFailedSqlTransaction级联 |
| 3 | DWS_ASSISTANT_CUSTOMER | InFailedSqlTransaction级联 |
| 4 | DWS_ASSISTANT_SALARY | InFailedSqlTransaction级联 |
| 5 | DWS_ASSISTANT_FINANCE | InFailedSqlTransaction级联 |
| 6 | ODS_SETTLEMENT_RECORDS | InFailedSqlTransaction级联 |
| 7 | ODS_PAYMENT | InFailedSqlTransaction级联 |
| 8 | ODS_REFUND | InFailedSqlTransaction级联 |
| 9 | DWS_BUILD_ORDER_SUMMARY | InFailedSqlTransaction级联 |
`ODS_TABLE_USE` 开始task_executor 的连接恢复机制生效,后续任务恢复正常执行。
---
## 2. 根因分析
### 2.1 错误 SQL修复前
```sql
SELECT assistant_service_id, trash_seconds, trash_reason, trash_time
FROM dwd.dwd_assistant_trash_event
WHERE site_id = %s AND DATE(trash_time) >= %s AND DATE(trash_time) <= %s
```
### 2.2 `dwd_assistant_trash_event` 实际表结构
| 字段名 | 类型 | 说明 |
|--------|------|------|
| assistant_trash_event_id | BIGINT (PK) | 废除事件 ID |
| site_id | BIGINT | 门店 ID |
| table_id | BIGINT | 台桌 ID |
| table_area_id | BIGINT | 区域 ID |
| assistant_no | VARCHAR(32) | 助教编号 |
| assistant_name | VARCHAR(64) | 助教姓名 |
| charge_minutes_raw | INTEGER | 废除时长(分钟) |
| abolish_amount | NUMERIC(18,2) | 废除金额 |
| trash_reason | VARCHAR(255) | 废除原因 |
| create_time | TIMESTAMPTZ | 废除时间 |
| tenant_id | BIGINT | 租户 ID |
### 2.3 字段映射错误
| 错误引用 | 实际字段 | 说明 |
|----------|---------|------|
| `assistant_service_id` | `assistant_trash_event_id` | PK 名称不同 |
| `trash_seconds` | `charge_minutes_raw` | 单位不同(分钟 vs 秒) |
| `trash_time` | `create_time` | 字段名不同 |
### 2.4 深层设计缺陷
废除表 `dwd_assistant_trash_event` 没有 `assistant_service_id` 外键,
无法与服务记录表 `dwd_assistant_service_log` 做 1:1 关联。
原代码的 `_build_trash_index``assistant_service_id` 做 key 构建索引,
`_aggregate_by_assistant_date``service_id in trash_index` 判断服务是否被废除。
即使 SQL 字段名修正后,这个匹配逻辑在设计上也是无效的——两个 ID 不同源。
---
## 3. 修复方案
### 3.1 文件
`apps/etl/connectors/feiqiu/tasks/dws/assistant_daily_task.py`
### 3.2 修改点(共 4 处)
#### (1) `_extract_trash_records` — SQL 字段名修正
```sql
-- 修复后
SELECT
assistant_trash_event_id,
charge_minutes_raw * 60 AS trash_seconds,
trash_reason,
create_time AS trash_time,
table_id,
assistant_name
FROM dwd.dwd_assistant_trash_event
WHERE site_id = %s
AND DATE(create_time) >= %s
AND DATE(create_time) <= %s
```
#### (2) `_extract_service_records` — JOIN _ex 表取 is_trash
```sql
-- 新增 LEFT JOIN 和 is_trash 字段
SELECT
asl.assistant_service_id,
...
DATE(asl.start_use_time) AS service_date,
COALESCE(ex.is_trash, 0) AS is_trash
FROM dwd.dwd_assistant_service_log asl
LEFT JOIN dwd.dwd_assistant_service_log_ex ex
ON asl.assistant_service_id = ex.assistant_service_id
WHERE asl.site_id = %s
AND DATE(asl.start_use_time) >= %s
AND DATE(asl.start_use_time) <= %s
AND asl.is_delete = 0
```
#### (3) `_build_trash_index` — key 改为 assistant_trash_event_id
```python
# 修复前
service_id = record.get('assistant_service_id')
# 修复后
event_id = record.get('assistant_trash_event_id')
```
#### (4) `_aggregate_by_assistant_date` — 废除判断改用 is_trash
```python
# 修复前
is_trashed = service_id in trash_index
# 修复后
is_trashed = bool(record.get('is_trash', 0))
```
废除时长也从 `trash_index[service_id]` 改为直接用 `income_seconds`
### 3.3 设计决策说明
`dwd_assistant_service_log_ex` 表的 `is_trash` 字段来自上游 SaaS 系统的
`assistant_service_records` API是服务记录级别的废除标记比跨表匹配更可靠。
废除时长统计改用服务记录自身的 `income_seconds`(即该服务的计费时长),
而非从废除表取 `charge_minutes_raw`(废除事件的计费分钟数),
因为两者无法 1:1 关联。
---
## 4. 验证计划
修复将在下次 ETL 执行时生效。验证步骤:
1. 重新提交包含 `DWS_ASSISTANT_DAILY` 的执行
2. 确认无 SQL 错误
3. 检查 `dws.dws_assistant_daily` 表中 `trashed_count` / `trashed_seconds` 是否合理
4. 对比 `dwd_assistant_service_log_ex.is_trash = 1` 的记录数与 DWS 汇总的 `trashed_count`
---
## 5. 回滚方案
如需回滚,恢复 `assistant_daily_task.py` 到修改前版本即可。
DWS 表数据可通过重新执行 `DWS_ASSISTANT_DAILY` 任务覆盖。

View File

@@ -0,0 +1,443 @@
# ETL 前后端联调 — BUG 修复全记录
> 日期: 2026-02-21
> 执行轮次: v1 ~ v8共 8 次)
> 任务配置: api_full, full_window, 2025-11-01 ~ 2026-02-20, 30天窗口切分, force_full, 19个任务
---
## 总览
| 指标 | v1 (首次) | v6 (中期最佳) | v8 (最终) |
|------|-----------|--------------|-----------|
| 耗时 | 590.7s | 29m26s | 1m24s |
| 成功任务 | 10/41 | 11/19 | 14/19 |
| 失败任务 | 31/41 | 8/19 | 5/19 |
| 累计修复 BUG | 0 | 7 | 11 |
最终 5 个失败均为 `InFailedSqlTransaction` 级联(根因是上游数据质量问题,非代码 BUG
---
## BUG 详情
### BUG 1 — DWS_ASSISTANT_DAILY SQL 字段引用错误
| 项目 | 内容 |
|------|------|
| 发现版本 | v1 |
| 验证版本 | v2 |
| 文件 | `apps/etl/connectors/feiqiu/tasks/dws/assistant_daily_task.py` |
| 错误现象 | `UndefinedColumn: 错误: 字段 "assistant_service_id" 不存在`DWS_ASSISTANT_DAILY 及其下游 31 个任务全部失败InFailedSqlTransaction 级联) |
| 根因 | `_extract_trash_records()` 方法的 SQL 引用了 `dwd.dwd_assistant_trash_event` 表中不存在的 3 个字段名,且废除判断逻辑依赖跨表 ID 匹配(两表无外键关联,设计上无效) |
| 涉及表 | `dwd.dwd_assistant_trash_event``dwd.dwd_assistant_service_log``dwd.dwd_assistant_service_log_ex` |
#### 字段映射错误3 处 SQL 字段名不匹配)
| # | 错误引用(修复前) | 实际 DDL 字段(修复后) | 所属表 | 说明 |
|---|-------------------|----------------------|--------|------|
| 1 | `assistant_service_id` | `assistant_trash_event_id` | `dwd_assistant_trash_event` | PK 名称不同,废除表没有 service_id 外键 |
| 2 | `trash_seconds` | `charge_minutes_raw * 60 AS trash_seconds` | `dwd_assistant_trash_event` | 实际字段存储分钟数,需乘 60 转秒 |
| 3 | `trash_time` | `create_time AS trash_time` | `dwd_assistant_trash_event` | 废除时间字段名不同 |
#### 逻辑修复1 处设计缺陷修正)
| # | 修复点 | 修复前 | 修复后 | 说明 |
|---|--------|--------|--------|------|
| 4 | `_aggregate_by_assistant_date` 废除判断 | `is_trashed = service_id in trash_index`(跨表 ID 匹配) | `is_trashed = bool(record.get('is_trash', 0))`(使用 _ex 表标记) | 原逻辑依赖废除表的 event_id 与服务表的 service_id 匹配,但两者无外键关联,匹配永远为空。改为 LEFT JOIN `dwd_assistant_service_log_ex``is_trash` 字段直接判断 |
#### 修复后 SQL`_extract_trash_records`
```sql
SELECT
assistant_trash_event_id,
charge_minutes_raw * 60 AS trash_seconds,
trash_reason,
create_time AS trash_time,
table_id,
assistant_name
FROM dwd.dwd_assistant_trash_event
WHERE site_id = %s
AND DATE(create_time) >= %s AND DATE(create_time) <= %s
```
#### 修复后 SQL`_extract_service_records` 新增 JOIN
```sql
SELECT asl.assistant_service_id, ...,
COALESCE(ex.is_trash, 0) AS is_trash
FROM dwd.dwd_assistant_service_log asl
LEFT JOIN dwd.dwd_assistant_service_log_ex ex
ON asl.assistant_service_id = ex.assistant_service_id
WHERE asl.site_id = %s AND ...
```
| 修复结果 | ✅ v2 中 DWS_ASSISTANT_DAILY 执行成功 |
|------|------|
| 详细修复记录 | `export/SYSTEM/LOGS/2026-02-21__dws_assistant_daily_bug_fix.md` |
### BUG 2 — DWS_ASSISTANT_MONTHLY GROUP BY 聚合错误
| 项目 | 内容 |
|------|------|
| 发现版本 | v2 |
| 验证版本 | v3 |
| 文件 | `apps/etl/connectors/feiqiu/tasks/dws/assistant_monthly_task.py` |
| 错误现象 | `UniqueViolation: duplicate key value violates unique constraint "uk_dws_assistant_monthly"` |
| 根因 | `_extract_daily_aggregates()` 的 GROUP BY 包含了 `assistant_nickname``assistant_level_code``assistant_level_name` 三个维度字段。当助教在月内改名或升级时,同一 `(assistant_id, stat_month)` 会产出多行INSERT 时违反 `uk_dws_assistant_monthly` 唯一约束 |
| 涉及表 | `dws.dws_assistant_daily_detail`(源)→ `dws.dws_assistant_monthly_summary`(目标) |
#### 业务场景
助教月内改名/升级是正常业务操作。例如助教 A 在 12 月 15 日从"初级"升为"中级",则 `dws_assistant_daily_detail` 中 12 月的记录会有两种 `assistant_level_code`。原 SQL 按 `(assistant_id, stat_month, assistant_level_code)` 分组,产出 2 行,但月度汇总表的唯一约束只有 `(site_id, assistant_id, stat_month)`
#### 修复方式
`assistant_nickname``assistant_level_code``assistant_level_name` 从 GROUP BY 移除,改用 `MAX()` 聚合(取月内最新值):
```sql
-- 修复前 GROUP BY
GROUP BY assistant_id, assistant_nickname, assistant_level_code, assistant_level_name, DATE_TRUNC('month', stat_date)
-- 修复后 GROUP BY
GROUP BY assistant_id, DATE_TRUNC('month', stat_date)
-- 维度字段改为 MAX() 聚合
MAX(assistant_nickname) AS assistant_nickname,
MAX(assistant_level_code) AS assistant_level_code,
MAX(assistant_level_name) AS assistant_level_name,
```
| 修复结果 | ✅ v3 中 DWS_ASSISTANT_MONTHLY 执行成功(删除 9 行,插入 9 行) |
|------|------|
### BUG 3 — DWS_ASSISTANT_CUSTOMER 引用不存在的 site_id 列
| 项目 | 内容 |
|------|------|
| 发现版本 | v2 |
| 验证版本 | v3 |
| 文件 | `apps/etl/connectors/feiqiu/tasks/dws/assistant_customer_task.py` |
| 错误现象 | `UndefinedColumn: column dm.site_id does not exist` |
| 根因 | `dwd.dim_member` 表没有 `site_id` 列,实际字段为 `register_site_id` |
| 修复方式 | `dm.site_id``dm.register_site_id` |
| 修复结果 | ✅ v3 中 DWS_ASSISTANT_CUSTOMER 执行成功285 行) |
### BUG 4 — 多个 DWS 任务引用 dim_member/dim_member_card_account 的 site_id
| 项目 | 内容 |
|------|------|
| 发现版本 | v3 |
| 验证版本 | v4 |
| 文件 | `assistant_customer_task.py``member_consumption_task.py``finance_recharge_task.py`(共 4 处) |
| 错误现象 | 多个 DWS 任务因 `UndefinedColumn: site_id` 失败 |
| 根因 | 与 BUG 3 同源 — `dim_member``dim_member_card_account` 均无 `site_id`,需用 `register_site_id` |
| 修复方式 | 4 处 `site_id``register_site_id` |
| 修复结果 | ✅ v4 中相关任务执行成功 |
### BUG 5 — DWS_MEMBER_VISIT 引用不存在的 birthday 字段
| 项目 | 内容 |
|------|------|
| 发现版本 | v4 |
| 验证版本 | v6 |
| 文件 | `apps/etl/connectors/feiqiu/tasks/dws/member_visit_task.py` |
| 错误现象 | `UndefinedColumn: column dm.birthday does not exist` |
| 根因 | `_extract_member_info()` 的 SQL 中 SELECT 了 `birthday` 字段,但 `dwd.dim_member` 表没有该字段 |
| 涉及表 | `dwd.dim_member` |
#### 业务场景
`dim_member` 的数据来源是上游 SaaS 的 `member_profiles` API。该 API 返回的会员信息中不包含生日字段,因此 ODS → DWD 装载时也没有 `birthday` 列。原代码假设 `dim_member``birthday`,用于在 `dws_member_visit` 中记录会员生日,但这个字段从未存在过。
#### DDL 确认
`dim_member` 实际字段:`member_id`, `system_member_id`, `tenant_id`, `register_site_id`, `mobile`, `nickname`, `member_card_grade_code`, `member_card_grade_name`, `create_time`, `update_time`, `pay_money_sum`, `recharge_money_sum` + SCD2 元数据。无 `birthday`
#### 修复方式
1. `_extract_member_info()` SQL 中移除 `birthday`,只保留 `member_id`, `nickname`, `mobile`
2. `transform()``member_birthday` 字段固定填 `None`DWS 表该列保留但值为空)
```python
# 修复前
sql = "SELECT member_id, nickname, mobile, birthday FROM dwd.dim_member ..."
# 修复后
sql = "SELECT member_id, nickname, mobile FROM dwd.dim_member ..."
# transform 中
'member_birthday': None, # dim_member 无 birthday 字段
```
| 修复结果 | ✅ v6 中 DWS_MEMBER_VISIT 执行成功v5 被 BUG 6 遮蔽) |
|------|------|
### BUG 6 — DWS_MEMBER_VISIT _extract_table_info() 字段名不匹配
| 项目 | 内容 |
|------|------|
| 发现版本 | v5 |
| 验证版本 | v6 |
| 文件 | `apps/etl/connectors/feiqiu/tasks/dws/member_visit_task.py` |
| 错误现象 | `UndefinedColumn``_extract_table_info()` 方法中引用了 `dim_table` 中不存在的列名 |
| 根因 | 代码中用 `site_table_id``site_table_name` 查询 `dim_table`,但该表的 PK 是 `table_id`,名称字段是 `table_name``site_table_id` 是事实表 `dwd_table_fee_log` 中的外键列名,不是维度表的列名 |
| 涉及表 | `dwd.dim_table` |
#### 字段映射错误
| # | 错误引用(修复前) | 实际 DDL 字段(修复后) | 说明 |
|---|-------------------|----------------------|------|
| 1 | `site_table_id` | `table_id` | `dim_table` 的 PK 是 `table_id`,不是 `site_table_id` |
| 2 | `site_table_name` | `table_name` | `dim_table` 的名称字段是 `table_name` |
#### DDL 确认
`dim_table` 实际字段:`table_id`(PK), `site_id`, `table_name`, `site_table_area_id`, `site_table_area_name`, `tenant_table_area_id`, `table_price`, `order_id` + SCD2 元数据。
#### 修复后 SQL
```sql
SELECT
table_id AS table_id,
table_name AS table_name,
site_table_area_name AS area_name
FROM dwd.dim_table
WHERE site_id = %s AND scd2_is_current = 1
```
#### 排查结论
修复后字段映射与 DDL 完全一致 ✅:
- `table_id` — DDL 中存在,是 PK ✅
- `table_name` — DDL 中存在 ✅
- `site_table_area_name` — DDL 中存在 ✅
- `site_id` 用于 WHERE 过滤 — DDL 中存在 ✅
| 修复结果 | ✅ v6 中 DWS_MEMBER_VISIT 执行成功 |
|------|------|
### BUG 7 — DWS_FINANCE_INCOME_STRUCTURE JOIN 条件列名错误
| 项目 | 内容 |
|------|------|
| 发现版本 | 预防性修复v5 代码审查发现) |
| 验证版本 | v6 |
| 文件 | `apps/etl/connectors/feiqiu/tasks/dws/finance_income_task.py` |
| 错误现象 | JOIN 条件中 `dt.site_table_id` 不存在(`dim_table``site_table_id` 列) |
| 根因 | `_extract_income_by_area()``dwd_table_fee_log``dwd_assistant_service_log``dim_table` 做 LEFT JOIN 时JOIN 条件写成了 `dt.site_table_id = tfl.site_table_id`,但 `dim_table` 的 PK 是 `table_id` 而非 `site_table_id` |
| 涉及表 | `dwd.dim_table`(维度)、`dwd.dwd_table_fee_log`(事实)、`dwd.dwd_assistant_service_log`(事实) |
#### 关联关系说明
事实表 `dwd_table_fee_log``dwd_assistant_service_log` 中的 `site_table_id` 是外键,指向维度表 `dim_table` 的 PK `table_id`。两个 ID 值相同,但列名不同。
#### 修复方式
```sql
-- 修复前2 处)
LEFT JOIN dwd.dim_table dt ON dt.site_table_id = tfl.site_table_id
LEFT JOIN dwd.dim_table dt ON dt.site_table_id = asl.site_table_id
-- 修复后2 处)
LEFT JOIN dwd.dim_table dt ON dt.table_id = tfl.site_table_id
LEFT JOIN dwd.dim_table dt ON dt.table_id = asl.site_table_id
```
#### 排查结论
修复后 JOIN 条件与 DDL 一致 ✅:
- `dim_table.table_id` — DDL 确认是 PK ✅
- `dwd_table_fee_log.site_table_id` — DDL 确认存在,语义为"台桌 ID 外键" ✅
- `dwd_assistant_service_log.site_table_id` — 同上 ✅
- JOIN 方向正确:维度表 PK ← 事实表 FK ✅
| 修复结果 | ✅ v6 中未出现该错误(但被 BUG 8 级联遮蔽) |
|------|------|
### BUG 8 — DWS_FINANCE_DAILY / DWS_FINANCE_RECHARGE 字段名错误
| 项目 | 内容 |
|------|------|
| 发现版本 | v6 |
| 验证版本 | v8 |
| 文件 | `finance_base_task.py``finance_recharge_task.py` |
| 错误现象 | `UndefinedColumn: column "pay_money" does not exist`DWS_FINANCE_DAILY 失败并级联导致 7 个下游任务失败 |
| 根因 | 代码中用 `pay_money` / `gift_money` 查询 `dwd.dwd_recharge_order`,但该表的实际字段是 `pay_amount`(现金充值金额)/ `point_amount`(赠送金额) |
| 涉及表 | `dwd.dwd_recharge_order` |
#### 字段映射错误
| # | 错误引用(修复前) | 实际 DDL 字段(修复后) | 业务含义 |
|---|-------------------|----------------------|---------|
| 1 | `pay_money` | `pay_amount` | 现金充值金额(会员实际支付) |
| 2 | `gift_money` | `point_amount` | 赠送金额(充值赠送的积分/赠送卡金额) |
#### DDL 确认
`dwd_recharge_order` 金额相关字段:`pay_amount` NUMERIC(18,2)、`refund_amount` NUMERIC(18,2)、`point_amount` NUMERIC(18,2)、`cash_amount` NUMERIC(18,2)。无 `pay_money``gift_money`
#### 修复涉及 2 个文件
1. `finance_base_task.py``_extract_recharge_summary()` 方法(被 `FinanceDailyTask` 继承调用)
2. `finance_recharge_task.py``_extract_recharge_summary()` 方法(`FinanceRechargeTask` 自身的重写版本)
两处修复内容相同:所有 `pay_money``pay_amount`,所有 `gift_money``point_amount`
#### 排查结论
修复后字段映射与 DDL 完全一致 ✅:
- `pay_amount` — DDL 确认存在NUMERIC(18,2) ✅
- `point_amount` — DDL 确认存在NUMERIC(18,2) ✅
- `is_first` — DDL 确认存在INTEGER ✅
- `member_id` — DDL 确认存在 ✅
- `pay_time` — DDL 确认存在TIMESTAMPTZ ✅
- `site_id` — DDL 确认存在 ✅
- 业务语义:`pay_amount + point_amount` = 充值总额(现金 + 赠送),`is_first = 1` 区分首充/续充 ✅
| 修复结果 | ✅ v8 中 DWS_FINANCE_DAILY 和 DWS_FINANCE_RECHARGE 均执行成功v7 被 BUG 9 遮蔽) |
|------|------|
### BUG 9 — DWD_LOAD_FROM_ODS 缺少 _pick_snapshot_order_column 方法
| 项目 | 内容 |
|------|------|
| 发现版本 | v7 |
| 验证版本 | v8 |
| 文件 | `apps/etl/connectors/feiqiu/tasks/dwd/dwd_load_task.py` |
| 错误现象 | `AttributeError: 'DwdLoadTask' object has no attribute '_pick_snapshot_order_column'`,所有 dim 表 SCD2 装载全部失败 |
| 根因 | `_merge_dim_scd2()` 方法内部调用了 `self._pick_snapshot_order_column(cols)`,但该方法只存在于 `quality/integrity_checker.py` 中作为模块级函数,`DwdLoadTask` 类中没有定义。这是代码重构时遗漏的问题——SCD2 装载逻辑从 integrity_checker 迁移到 DwdLoadTask 时,忘记把依赖的辅助函数一起迁移 |
| 涉及表 | 所有 dim 表dim_site, dim_table, dim_assistant, dim_member, dim_member_card_account, dim_tenant_goods, dim_store_goods, dim_goods_category, dim_groupbuy_package 及其 _ex 表) |
#### 方法功能说明
`_pick_snapshot_order_column(cols)` 用于从 ODS 表的列名列表中选取快照排序列,优先级为 `fetched_at` > `update_time` > `create_time`。SCD2 装载时需要按此列排序,确保同一业务主键的多条快照按时间顺序处理,最新快照覆盖旧快照。
#### 修复方式
`DwdLoadTask` 类中添加 `@staticmethod` 方法,逻辑与 `integrity_checker.py` 中的同名函数一致:
```python
@staticmethod
def _pick_snapshot_order_column(cols: Sequence[str]) -> str | None:
"""从 ODS 列中选取用于快照排序的列fetched_at > update_time > create_time"""
lower = {c.lower() for c in cols}
for candidate in ("fetched_at", "update_time", "create_time"):
if candidate in lower:
return candidate
return None
```
| 修复结果 | ✅ v8 中所有 15 个 dim 表 SCD2 装载成功dim_site, dim_table, dim_assistant, dim_member, dim_member_card_account, dim_tenant_goods, dim_store_goods, dim_goods_category, dim_groupbuy_package 及其 _ex 表) |
|------|------|
### BUG 10 — goods_stock 表 FACT_MAPPINGS 驼峰字段名导致 SQL 错误
| 项目 | 内容 |
|------|------|
| 发现版本 | v7 |
| 验证版本 | v8 |
| 文件 | `apps/etl/connectors/feiqiu/tasks/dwd/dwd_load_task.py` |
| 错误现象 | `UndefinedColumn: column "siteGoodsId" does not exist, perhaps you mean "sitegoodsid"` |
| 根因 | `FACT_MAPPINGS``dwd_goods_stock_summary``dwd_goods_stock_movement` 的源列使用了带引号的驼峰名(如 `"siteGoodsId"`),但 ODS 表中 PostgreSQL 存储的列名是全小写的 `sitegoodsid`ODS 入库时 `_int_col("sitegoodsid", "siteGoodsId")` 已将 JSON 驼峰键转为小写列名) |
| 修复方式 | 将 FACT_MAPPINGS 中 2 个表共 30+ 个字段的驼峰引用全部改为小写(如 `"siteGoodsId"``"sitegoodsid"` |
| 修复结果 | ✅ v8 中 `dwd_goods_stock_summary`716 条 INSERT`dwd_goods_stock_movement`14306 条 INSERT装载成功 |
### BUG 11 — flow_runner.py sum() 类型不安全
| 项目 | 内容 |
|------|------|
| 发现版本 | v7 |
| 验证版本 | v8 |
| 文件 | `apps/etl/connectors/feiqiu/orchestration/flow_runner.py` |
| 错误现象 | `TypeError: unsupported operand type(s) for +: 'int' and 'list'` |
| 根因 | Flow 执行完成后汇总各任务的 `counts.errors` 时,某些任务返回的 `errors` 是错误详情列表(`list[str]`)而非错误计数(`int``sum()` 无法将 `int``list` 相加 |
| 涉及位置 | `FlowRunner.run()` 方法末尾的 `flow_logger.set_counts(...)` 调用 |
#### 触发场景
任务执行器 `task_executor` 返回的 `result["counts"]["errors"]` 类型不统一:
- 大部分任务返回 `int`(错误计数,如 `0``3`
- 部分任务返回 `list`(错误详情列表,如 `["UndefinedColumn: ...", "InFailedSqlTransaction: ..."]`
`sum()` 遍历到 `list` 类型时Python 尝试执行 `int + list`,抛出 `TypeError`
#### 修复方式
`run()` 方法内添加 `_safe_int()` 局部函数,统一类型转换:
```python
def _safe_int(val) -> int:
"""将 int/list/None 统一转为 int 计数。"""
if isinstance(val, int):
return val
if isinstance(val, list):
return len(val) # 错误列表 → 取长度作为错误计数
return 0
flow_logger.set_counts(
fetched=sum(_safe_int(r.get("counts", {}).get("fetched", 0)) for r in results),
inserted=sum(_safe_int(r.get("counts", {}).get("inserted", 0)) for r in results),
updated=sum(_safe_int(r.get("counts", {}).get("updated", 0)) for r in results),
errors=sum(_safe_int(r.get("counts", {}).get("errors", 0)) for r in results),
)
```
#### 排查结论
修复后类型处理正确 ✅:
- `int` → 直接返回 ✅
- `list``len()` 转为计数 ✅(语义正确:错误详情列表的长度 = 错误数量)
- `None` → 返回 0 ✅
- `r.get("counts", {}).get(...)` 已做双层防御,`counts` 缺失时不会报错 ✅
- 四个计数字段(`fetched`/`inserted`/`updated`/`errors`)均经过 `_safe_int` 处理 ✅
| 修复结果 | ✅ v8 中不再出现 TypeErrorFlow 汇总正常完成 |
|------|------|
---
## 未修复的遗留问题
### 数据质量问题 — dim_assistant_ex / dim_member_card_account_ex 非法日期
| 项目 | 内容 |
|------|------|
| 发现版本 | v8 |
| 性质 | 上游数据质量问题,非代码 BUG |
| 错误现象 | `ValueError: year -1 is out of range` |
| 根因 | ODS 中某些记录的日期字段包含非法值year=-1Python `datetime` 无法解析 |
| 影响 | `dim_assistant_ex``dim_member_card_account_ex` 装载失败 → 事务进入 `InFailedSqlTransaction` → 级联导致 5 个 DWS 任务失败DWS_FINANCE_INCOME_STRUCTURE, DWS_FINANCE_DISCOUNT_DETAIL, DWS_WINBACK_INDEX, DWS_NEWCONV_INDEX, DWS_RELATION_INDEX |
| 建议 | 在 DWD 装载的日期类型转换中添加容错处理(捕获 ValueError将非法日期置为 NULL 或哨兵值) |
---
## 修复文件清单
| 文件 | 修复的 BUG |
|------|-----------|
| `apps/etl/connectors/feiqiu/tasks/dws/assistant_daily_task.py` | BUG 1 |
| `apps/etl/connectors/feiqiu/tasks/dws/assistant_monthly_task.py` | BUG 2 |
| `apps/etl/connectors/feiqiu/tasks/dws/assistant_customer_task.py` | BUG 3, 4 |
| `apps/etl/connectors/feiqiu/tasks/dws/member_consumption_task.py` | BUG 4 |
| `apps/etl/connectors/feiqiu/tasks/dws/member_visit_task.py` | BUG 5, 6 |
| `apps/etl/connectors/feiqiu/tasks/dws/finance_income_task.py` | BUG 7 |
| `apps/etl/connectors/feiqiu/tasks/dws/finance_base_task.py` | BUG 8 |
| `apps/etl/connectors/feiqiu/tasks/dws/finance_recharge_task.py` | BUG 4, 8 |
| `apps/etl/connectors/feiqiu/tasks/dwd/dwd_load_task.py` | BUG 9, 10 |
| `apps/etl/connectors/feiqiu/orchestration/flow_runner.py` | BUG 11 |
---
## 执行历史
| 版本 | execution_id | 耗时 | 成功 | 失败 | 修复验证 |
|------|-------------|------|------|------|---------|
| v1 | `dbf0c29a-...` | 590.7s | 10 | 31 | — |
| v2 | `e21e1935-...` | 150.4s | — | — | BUG 1 ✅ |
| v3 | `abc94b2d-...` | 681.2s | 9 | 22 | BUG 2,3 ✅ |
| v4 | `efd4f421-...` | 11m55s | 10 | 21 | BUG 4 ✅ |
| v5 | `fe87144a-...` | 11m37s | 10 | 21 | BUG 5 部署(被 BUG 6 遮蔽) |
| v6 | `d9443781-...` | 29m26s | 11 | 8 | BUG 5,6,7 ✅ |
| v7 | `0929ab3a-...` | 89.3s | — | 全部 | BUG 8 部署(被 BUG 9 遮蔽) |
| v8 | `f943bac6-...` | 1m24s | 14 | 5 | BUG 8,9,10,11 ✅ |

View File

@@ -0,0 +1,428 @@
{
"execution": {
"id": "dbf0c29a-253a-4705-a1ef-35cd71243d48",
"site_id": 2790685415443269,
"task_codes": [
"ODS_ASSISTANT_ACCOUNT",
"ODS_ASSISTANT_LEDGER",
"ODS_ASSISTANT_ABOLISH",
"DWS_ASSISTANT_DAILY",
"DWS_ASSISTANT_MONTHLY",
"DWS_ASSISTANT_CUSTOMER",
"DWS_ASSISTANT_SALARY",
"DWS_ASSISTANT_FINANCE",
"ODS_SETTLEMENT_RECORDS",
"ODS_PAYMENT",
"ODS_REFUND",
"DWS_BUILD_ORDER_SUMMARY",
"ODS_TABLE_USE",
"ODS_TABLE_FEE_DISCOUNT",
"ODS_TABLES",
"ODS_MEMBER",
"ODS_MEMBER_CARD",
"ODS_MEMBER_BALANCE",
"ODS_RECHARGE_SETTLE",
"DWS_MEMBER_CONSUMPTION",
"DWS_MEMBER_VISIT",
"ODS_GOODS_CATEGORY",
"ODS_STORE_GOODS",
"ODS_STORE_GOODS_SALES",
"ODS_TENANT_GOODS",
"ODS_PLATFORM_COUPON",
"ODS_GROUP_PACKAGE",
"ODS_GROUP_BUY_REDEMPTION",
"ODS_INVENTORY_STOCK",
"ODS_INVENTORY_CHANGE",
"DWS_GOODS_STOCK_DAILY",
"DWS_GOODS_STOCK_WEEKLY",
"DWS_GOODS_STOCK_MONTHLY",
"DWS_FINANCE_DAILY",
"DWS_FINANCE_RECHARGE",
"DWS_FINANCE_INCOME_STRUCTURE",
"DWS_FINANCE_DISCOUNT_DETAIL",
"DWS_WINBACK_INDEX",
"DWS_NEWCONV_INDEX",
"DWS_RELATION_INDEX",
"DWD_LOAD_FROM_ODS"
],
"status": "success",
"started_at": "2026-02-21T15:29:20.233302+08:00",
"finished_at": "2026-02-21T15:39:10.909320+08:00",
"exit_code": 0,
"duration_ms": 590676,
"command": "C:\\NeoZQYY\\.venv\\Scripts\\python.exe -m cli.main --flow api_full --processing-mode full_window --tasks ODS_ASSISTANT_ACCOUNT,ODS_ASSISTANT_LEDGER,ODS_ASSISTANT_ABOLISH,DWS_ASSISTANT_DAILY,DWS_ASSISTANT_MONTHLY,DWS_ASSISTANT_CUSTOMER,DWS_ASSISTANT_SALARY,DWS_ASSISTANT_FINANCE,ODS_SETTLEMENT_RECORDS,ODS_PAYMENT,ODS_REFUND,DWS_BUILD_ORDER_SUMMARY,ODS_TABLE_USE,ODS_TABLE_FEE_DISCOUNT,ODS_TABLES,ODS_MEMBER,ODS_MEMBER_CARD,ODS_MEMBER_BALANCE,ODS_RECHARGE_SETTLE,DWS_MEMBER_CONSUMPTION,DWS_MEMBER_VISIT,ODS_GOODS_CATEGORY,ODS_STORE_GOODS,ODS_STORE_GOODS_SALES,ODS_TENANT_GOODS,ODS_PLATFORM_COUPON,ODS_GROUP_PACKAGE,ODS_GROUP_BUY_REDEMPTION,ODS_INVENTORY_STOCK,ODS_INVENTORY_CHANGE,DWS_GOODS_STOCK_DAILY,DWS_GOODS_STOCK_WEEKLY,DWS_GOODS_STOCK_MONTHLY,DWS_FINANCE_DAILY,DWS_FINANCE_RECHARGE,DWS_FINANCE_INCOME_STRUCTURE,DWS_FINANCE_DISCOUNT_DETAIL,DWS_WINBACK_INDEX,DWS_NEWCONV_INDEX,DWS_RELATION_INDEX,DWD_LOAD_FROM_ODS --window-start 2025-11-01 --window-end 2026-02-20 --window-split day --window-split-days 30 --force-full --store-id 2790685415443269",
"summary": null
},
"error_log_length": 66800,
"task_results_parsed": [
{
"task": "ODS_ASSISTANT_ACCOUNT",
"layer": "ODS",
"status": "success",
"start": "2026-02-21 15:29:21",
"end": "2026-02-21 15:29:31",
"windows": 4,
"stats": "{'fetched': 276, 'inserted': 0, 'updated': 276, 'skipped': 0, 'errors': 0, 'deleted': 0}"
},
{
"task": "ODS_ASSISTANT_LEDGER",
"layer": "ODS",
"status": "success",
"start": "2026-02-21 15:29:32",
"end": "2026-02-21 15:30:08",
"windows": 4,
"stats": "{'fetched': 2277, 'inserted': 342, 'updated': 2277, 'skipped': 0, 'errors': 0, 'deleted': 342}"
},
{
"task": "ODS_ASSISTANT_ABOLISH",
"layer": "ODS",
"status": "success",
"start": "2026-02-21 15:30:08",
"end": "2026-02-21 15:30:11",
"windows": 4,
"stats": "{'fetched': 78, 'inserted': 0, 'updated': 78, 'skipped': 0, 'errors': 0, 'deleted': 0}"
},
{
"task": "DWS_ASSISTANT_DAILY",
"layer": "DWS",
"status": "failed",
"start": "2026-02-21 15:30:13",
"end": "2026-02-21 15:30:14",
"windows": 0,
"error": "错误: 当前事务被终止, 事务块结束之前的查询被忽略"
},
{
"task": "DWS_ASSISTANT_MONTHLY",
"layer": "DWS",
"status": "failed",
"start": "",
"end": "2026-02-21 15:30:14",
"windows": 0,
"error": "错误: 当前事务被终止, 事务块结束之前的查询被忽略"
},
{
"task": "DWS_ASSISTANT_CUSTOMER",
"layer": "DWS",
"status": "failed",
"start": "",
"end": "2026-02-21 15:30:14",
"windows": 0,
"error": "错误: 当前事务被终止, 事务块结束之前的查询被忽略"
},
{
"task": "DWS_ASSISTANT_SALARY",
"layer": "DWS",
"status": "failed",
"start": "",
"end": "2026-02-21 15:30:14",
"windows": 0,
"error": "错误: 当前事务被终止, 事务块结束之前的查询被忽略"
},
{
"task": "DWS_ASSISTANT_FINANCE",
"layer": "DWS",
"status": "failed",
"start": "",
"end": "2026-02-21 15:30:14",
"windows": 0,
"error": "错误: 当前事务被终止, 事务块结束之前的查询被忽略"
},
{
"task": "ODS_SETTLEMENT_RECORDS",
"layer": "ODS",
"status": "failed",
"start": "",
"end": "2026-02-21 15:30:14",
"windows": 0,
"error": "错误: 当前事务被终止, 事务块结束之前的查询被忽略"
},
{
"task": "ODS_PAYMENT",
"layer": "ODS",
"status": "failed",
"start": "",
"end": "2026-02-21 15:30:15",
"windows": 0,
"error": "错误: 当前事务被终止, 事务块结束之前的查询被忽略"
},
{
"task": "ODS_REFUND",
"layer": "ODS",
"status": "failed",
"start": "",
"end": "2026-02-21 15:30:15",
"windows": 0,
"error": "错误: 当前事务被终止, 事务块结束之前的查询被忽略"
},
{
"task": "DWS_BUILD_ORDER_SUMMARY",
"layer": "DWS",
"status": "failed",
"start": "2026-02-21 15:30:15",
"end": "2026-02-21 15:30:15",
"windows": 0,
"error": "错误: 当前事务被终止, 事务块结束之前的查询被忽略"
},
{
"task": "ODS_TABLE_USE",
"layer": "ODS",
"status": "success",
"start": "2026-02-21 15:30:15",
"end": "2026-02-21 15:35:01",
"windows": 4,
"stats": "{'fetched': 36412, 'inserted': 0, 'updated': 36412, 'skipped': 0, 'errors': 0, 'deleted': 0}"
},
{
"task": "ODS_TABLE_FEE_DISCOUNT",
"layer": "ODS",
"status": "success",
"start": "2026-02-21 15:35:02",
"end": "2026-02-21 15:36:04",
"windows": 4,
"stats": "{'fetched': 6464, 'inserted': 0, 'updated': 6464, 'skipped': 0, 'errors': 0, 'deleted': 0}"
},
{
"task": "ODS_TABLES",
"layer": "ODS",
"status": "success",
"start": "2026-02-21 15:36:05",
"end": "2026-02-21 15:36:10",
"windows": 4,
"stats": "{'fetched': 296, 'inserted': 0, 'updated': 296, 'skipped': 0, 'errors': 0, 'deleted': 0}"
},
{
"task": "ODS_MEMBER",
"layer": "ODS",
"status": "success",
"start": "2026-02-21 15:36:11",
"end": "2026-02-21 15:36:28",
"windows": 4,
"stats": "{'fetched': 2228, 'inserted': 0, 'updated': 2228, 'skipped': 0, 'errors': 0, 'deleted': 0}"
},
{
"task": "ODS_MEMBER_CARD",
"layer": "ODS",
"status": "success",
"start": "2026-02-21 15:36:29",
"end": "2026-02-21 15:37:05",
"windows": 4,
"stats": "{'fetched': 3784, 'inserted': 0, 'updated': 3784, 'skipped': 0, 'errors': 0, 'deleted': 0}"
},
{
"task": "ODS_MEMBER_BALANCE",
"layer": "ODS",
"status": "success",
"start": "2026-02-21 15:37:06",
"end": "2026-02-21 15:38:59",
"windows": 4,
"stats": "{'fetched': 8740, 'inserted': 0, 'updated': 8740, 'skipped': 0, 'errors': 0, 'deleted': 0}"
},
{
"task": "ODS_RECHARGE_SETTLE",
"layer": "ODS",
"status": "success",
"start": "2026-02-21 15:39:01",
"end": "2026-02-21 15:39:06",
"windows": 4,
"stats": "{'fetched': 191, 'inserted': 0, 'updated': 191, 'skipped': 0, 'errors': 0, 'deleted': 0}"
},
{
"task": "DWS_MEMBER_CONSUMPTION",
"layer": "DWS",
"status": "failed",
"start": "2026-02-21 15:39:06",
"end": "2026-02-21 15:39:07",
"windows": 0,
"error": "错误: 当前事务被终止, 事务块结束之前的查询被忽略"
},
{
"task": "DWS_MEMBER_VISIT",
"layer": "DWS",
"status": "failed",
"start": "",
"end": "2026-02-21 15:39:07",
"windows": 0,
"error": "错误: 当前事务被终止, 事务块结束之前的查询被忽略"
},
{
"task": "ODS_GOODS_CATEGORY",
"layer": "ODS",
"status": "failed",
"start": "",
"end": "2026-02-21 15:39:07",
"windows": 0,
"error": "错误: 当前事务被终止, 事务块结束之前的查询被忽略"
},
{
"task": "ODS_STORE_GOODS",
"layer": "ODS",
"status": "failed",
"start": "",
"end": "2026-02-21 15:39:07",
"windows": 0,
"error": "错误: 当前事务被终止, 事务块结束之前的查询被忽略"
},
{
"task": "ODS_STORE_GOODS_SALES",
"layer": "ODS",
"status": "failed",
"start": "",
"end": "2026-02-21 15:39:07",
"windows": 0,
"error": "错误: 当前事务被终止, 事务块结束之前的查询被忽略"
},
{
"task": "ODS_TENANT_GOODS",
"layer": "ODS",
"status": "failed",
"start": "",
"end": "2026-02-21 15:39:07",
"windows": 0,
"error": "错误: 当前事务被终止, 事务块结束之前的查询被忽略"
},
{
"task": "ODS_PLATFORM_COUPON",
"layer": "ODS",
"status": "failed",
"start": "",
"end": "2026-02-21 15:39:07",
"windows": 0,
"error": "错误: 当前事务被终止, 事务块结束之前的查询被忽略"
},
{
"task": "ODS_GROUP_PACKAGE",
"layer": "ODS",
"status": "failed",
"start": "",
"end": "2026-02-21 15:39:07",
"windows": 0,
"error": "错误: 当前事务被终止, 事务块结束之前的查询被忽略"
},
{
"task": "ODS_GROUP_BUY_REDEMPTION",
"layer": "ODS",
"status": "failed",
"start": "",
"end": "2026-02-21 15:39:07",
"windows": 0,
"error": "错误: 当前事务被终止, 事务块结束之前的查询被忽略"
},
{
"task": "ODS_INVENTORY_STOCK",
"layer": "ODS",
"status": "failed",
"start": "",
"end": "2026-02-21 15:39:07",
"windows": 0,
"error": "错误: 当前事务被终止, 事务块结束之前的查询被忽略"
},
{
"task": "ODS_INVENTORY_CHANGE",
"layer": "ODS",
"status": "failed",
"start": "",
"end": "2026-02-21 15:39:07",
"windows": 0,
"error": "错误: 当前事务被终止, 事务块结束之前的查询被忽略"
},
{
"task": "DWS_GOODS_STOCK_DAILY",
"layer": "DWS",
"status": "failed",
"start": "",
"end": "2026-02-21 15:39:07",
"windows": 0,
"error": "错误: 当前事务被终止, 事务块结束之前的查询被忽略"
},
{
"task": "DWS_GOODS_STOCK_WEEKLY",
"layer": "DWS",
"status": "failed",
"start": "",
"end": "2026-02-21 15:39:07",
"windows": 0,
"error": "错误: 当前事务被终止, 事务块结束之前的查询被忽略"
},
{
"task": "DWS_GOODS_STOCK_MONTHLY",
"layer": "DWS",
"status": "failed",
"start": "",
"end": "2026-02-21 15:39:07",
"windows": 0,
"error": "错误: 当前事务被终止, 事务块结束之前的查询被忽略"
},
{
"task": "DWS_FINANCE_DAILY",
"layer": "DWS",
"status": "failed",
"start": "",
"end": "2026-02-21 15:39:07",
"windows": 0,
"error": "错误: 当前事务被终止, 事务块结束之前的查询被忽略"
},
{
"task": "DWS_FINANCE_RECHARGE",
"layer": "DWS",
"status": "failed",
"start": "",
"end": "2026-02-21 15:39:07",
"windows": 0,
"error": "错误: 当前事务被终止, 事务块结束之前的查询被忽略"
},
{
"task": "DWS_FINANCE_INCOME_STRUCTURE",
"layer": "DWS",
"status": "failed",
"start": "",
"end": "2026-02-21 15:39:08",
"windows": 0,
"error": "错误: 当前事务被终止, 事务块结束之前的查询被忽略"
},
{
"task": "DWS_FINANCE_DISCOUNT_DETAIL",
"layer": "DWS",
"status": "failed",
"start": "",
"end": "2026-02-21 15:39:08",
"windows": 0,
"error": "错误: 当前事务被终止, 事务块结束之前的查询被忽略"
},
{
"task": "DWS_WINBACK_INDEX",
"layer": "DWS",
"status": "failed",
"start": "2026-02-21 15:39:08",
"end": "2026-02-21 15:39:08",
"windows": 0,
"error": "错误: 当前事务被终止, 事务块结束之前的查询被忽略"
},
{
"task": "DWS_NEWCONV_INDEX",
"layer": "DWS",
"status": "failed",
"start": "2026-02-21 15:39:08",
"end": "2026-02-21 15:39:08",
"windows": 0,
"error": "错误: 当前事务被终止, 事务块结束之前的查询被忽略"
},
{
"task": "DWS_RELATION_INDEX",
"layer": "DWS",
"status": "failed",
"start": "2026-02-21 15:39:08",
"end": "2026-02-21 15:39:08",
"windows": 0,
"error": "错误: 当前事务被终止, 事务块结束之前的查询被忽略"
},
{
"task": "DWD_LOAD_FROM_ODS",
"layer": "DWD",
"status": "failed",
"start": "",
"end": "2026-02-21 15:39:08",
"windows": 0,
"error": "错误: 当前事务被终止, 事务块结束之前的查询被忽略"
}
]
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,124 @@
# ETL 执行结果报告
> 生成时间2026-02-21 19:18:58
> execution_iddbf0c29a-253a-4705-a1ef-35cd71243d48
> run_uuid4ba9d2d365ee4a858f1c4104b1942dc2
---
## 执行概览
| 项目 | 值 |
|------|-----|
| 状态 | success |
| 开始时间 | 2026-02-21T15:29:20.233302+08:00 |
| 结束时间 | 2026-02-21T15:39:10.909320+08:00 |
| 总时长 | 590.7s (9.8m) |
| 退出码 | 0 |
| 任务总数 | 41 |
| 成功 | 10 |
| 失败 | 31 |
---
## 任务级结果
| # | 任务 | 层 | 状态 | 开始 | 结束 | 耗时 | 窗口数 | 备注 |
|---|------|-----|------|------|------|------|--------|------|
| 1 | ODS_ASSISTANT_ACCOUNT | ODS | ✅ success | 15:29:21 | 15:29:31 | 10.0s | 4 | {'fetched': 276, 'inserted': 0, 'updated': 276, 'skipped'... |
| 2 | ODS_ASSISTANT_LEDGER | ODS | ✅ success | 15:29:32 | 15:30:08 | 36.0s | 4 | {'fetched': 2277, 'inserted': 342, 'updated': 2277, 'skip... |
| 3 | ODS_ASSISTANT_ABOLISH | ODS | ✅ success | 15:30:08 | 15:30:11 | 3.0s | 4 | {'fetched': 78, 'inserted': 0, 'updated': 78, 'skipped': ... |
| 4 | DWS_ASSISTANT_DAILY | DWS | ❌ failed | 15:30:13 | 15:30:14 | 1.0s | — | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 5 | DWS_ASSISTANT_MONTHLY | DWS | ❌ failed | | 15:30:14 | — | — | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 6 | DWS_ASSISTANT_CUSTOMER | DWS | ❌ failed | | 15:30:14 | — | — | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 7 | DWS_ASSISTANT_SALARY | DWS | ❌ failed | | 15:30:14 | — | — | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 8 | DWS_ASSISTANT_FINANCE | DWS | ❌ failed | | 15:30:14 | — | — | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 9 | ODS_SETTLEMENT_RECORDS | ODS | ❌ failed | | 15:30:14 | — | — | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 10 | ODS_PAYMENT | ODS | ❌ failed | | 15:30:15 | — | — | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 11 | ODS_REFUND | ODS | ❌ failed | | 15:30:15 | — | — | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 12 | DWS_BUILD_ORDER_SUMMARY | DWS | ❌ failed | 15:30:15 | 15:30:15 | 0.0s | — | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 13 | ODS_TABLE_USE | ODS | ✅ success | 15:30:15 | 15:35:01 | 4.8m | 4 | {'fetched': 36412, 'inserted': 0, 'updated': 36412, 'skip... |
| 14 | ODS_TABLE_FEE_DISCOUNT | ODS | ✅ success | 15:35:02 | 15:36:04 | 1.0m | 4 | {'fetched': 6464, 'inserted': 0, 'updated': 6464, 'skippe... |
| 15 | ODS_TABLES | ODS | ✅ success | 15:36:05 | 15:36:10 | 5.0s | 4 | {'fetched': 296, 'inserted': 0, 'updated': 296, 'skipped'... |
| 16 | ODS_MEMBER | ODS | ✅ success | 15:36:11 | 15:36:28 | 17.0s | 4 | {'fetched': 2228, 'inserted': 0, 'updated': 2228, 'skippe... |
| 17 | ODS_MEMBER_CARD | ODS | ✅ success | 15:36:29 | 15:37:05 | 36.0s | 4 | {'fetched': 3784, 'inserted': 0, 'updated': 3784, 'skippe... |
| 18 | ODS_MEMBER_BALANCE | ODS | ✅ success | 15:37:06 | 15:38:59 | 1.9m | 4 | {'fetched': 8740, 'inserted': 0, 'updated': 8740, 'skippe... |
| 19 | ODS_RECHARGE_SETTLE | ODS | ✅ success | 15:39:01 | 15:39:06 | 5.0s | 4 | {'fetched': 191, 'inserted': 0, 'updated': 191, 'skipped'... |
| 20 | DWS_MEMBER_CONSUMPTION | DWS | ❌ failed | 15:39:06 | 15:39:07 | 1.0s | — | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 21 | DWS_MEMBER_VISIT | DWS | ❌ failed | | 15:39:07 | — | — | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 22 | ODS_GOODS_CATEGORY | ODS | ❌ failed | | 15:39:07 | — | — | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 23 | ODS_STORE_GOODS | ODS | ❌ failed | | 15:39:07 | — | — | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 24 | ODS_STORE_GOODS_SALES | ODS | ❌ failed | | 15:39:07 | — | — | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 25 | ODS_TENANT_GOODS | ODS | ❌ failed | | 15:39:07 | — | — | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 26 | ODS_PLATFORM_COUPON | ODS | ❌ failed | | 15:39:07 | — | — | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 27 | ODS_GROUP_PACKAGE | ODS | ❌ failed | | 15:39:07 | — | — | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 28 | ODS_GROUP_BUY_REDEMPTION | ODS | ❌ failed | | 15:39:07 | — | — | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 29 | ODS_INVENTORY_STOCK | ODS | ❌ failed | | 15:39:07 | — | — | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 30 | ODS_INVENTORY_CHANGE | ODS | ❌ failed | | 15:39:07 | — | — | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 31 | DWS_GOODS_STOCK_DAILY | DWS | ❌ failed | | 15:39:07 | — | — | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 32 | DWS_GOODS_STOCK_WEEKLY | DWS | ❌ failed | | 15:39:07 | — | — | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 33 | DWS_GOODS_STOCK_MONTHLY | DWS | ❌ failed | | 15:39:07 | — | — | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 34 | DWS_FINANCE_DAILY | DWS | ❌ failed | | 15:39:07 | — | — | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 35 | DWS_FINANCE_RECHARGE | DWS | ❌ failed | | 15:39:07 | — | — | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 36 | DWS_FINANCE_INCOME_STRUCTURE | DWS | ❌ failed | | 15:39:08 | — | — | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 37 | DWS_FINANCE_DISCOUNT_DETAIL | DWS | ❌ failed | | 15:39:08 | — | — | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 38 | DWS_WINBACK_INDEX | DWS | ❌ failed | 15:39:08 | 15:39:08 | 0.0s | — | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 39 | DWS_NEWCONV_INDEX | DWS | ❌ failed | 15:39:08 | 15:39:08 | 0.0s | — | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 40 | DWS_RELATION_INDEX | DWS | ❌ failed | 15:39:08 | 15:39:08 | 0.0s | — | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 41 | DWD_LOAD_FROM_ODS | DWD | ❌ failed | | 15:39:08 | — | — | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
---
## 失败任务分析
### 根因DWS_ASSISTANT_DAILY
错误:`错误: 当前事务被终止, 事务块结束之前的查询被忽略`
原因:`_extract_trash_records` SQL 引用了 `dwd_assistant_trash_event` 中不存在的字段 `assistant_service_id`
### 级联失败
- DWS_ASSISTANT_MONTHLYInFailedSqlTransaction事务污染
- DWS_ASSISTANT_CUSTOMERInFailedSqlTransaction事务污染
- DWS_ASSISTANT_SALARYInFailedSqlTransaction事务污染
- DWS_ASSISTANT_FINANCEInFailedSqlTransaction事务污染
- ODS_SETTLEMENT_RECORDSInFailedSqlTransaction事务污染
- ODS_PAYMENTInFailedSqlTransaction事务污染
- ODS_REFUNDInFailedSqlTransaction事务污染
- DWS_BUILD_ORDER_SUMMARYInFailedSqlTransaction事务污染
- DWS_MEMBER_CONSUMPTIONInFailedSqlTransaction事务污染
- DWS_MEMBER_VISITInFailedSqlTransaction事务污染
- ODS_GOODS_CATEGORYInFailedSqlTransaction事务污染
- ODS_STORE_GOODSInFailedSqlTransaction事务污染
- ODS_STORE_GOODS_SALESInFailedSqlTransaction事务污染
- ODS_TENANT_GOODSInFailedSqlTransaction事务污染
- ODS_PLATFORM_COUPONInFailedSqlTransaction事务污染
- ODS_GROUP_PACKAGEInFailedSqlTransaction事务污染
- ODS_GROUP_BUY_REDEMPTIONInFailedSqlTransaction事务污染
- ODS_INVENTORY_STOCKInFailedSqlTransaction事务污染
- ODS_INVENTORY_CHANGEInFailedSqlTransaction事务污染
- DWS_GOODS_STOCK_DAILYInFailedSqlTransaction事务污染
- DWS_GOODS_STOCK_WEEKLYInFailedSqlTransaction事务污染
- DWS_GOODS_STOCK_MONTHLYInFailedSqlTransaction事务污染
- DWS_FINANCE_DAILYInFailedSqlTransaction事务污染
- DWS_FINANCE_RECHARGEInFailedSqlTransaction事务污染
- DWS_FINANCE_INCOME_STRUCTUREInFailedSqlTransaction事务污染
- DWS_FINANCE_DISCOUNT_DETAILInFailedSqlTransaction事务污染
- DWS_WINBACK_INDEXInFailedSqlTransaction事务污染
- DWS_NEWCONV_INDEXInFailedSqlTransaction事务污染
- DWS_RELATION_INDEXInFailedSqlTransaction事务污染
- DWD_LOAD_FROM_ODSInFailedSqlTransaction事务污染
### 修复状态
代码已修复4 处改动),待下次执行验证。
详见:`export/SYSTEM/LOGS/2026-02-21__dws_assistant_daily_bug_fix.md`
---
## 下一步
1. 重新提交包含 9 个失败任务的执行,验证修复
2. 运行 ETL Data Consistency Check
3. 运行 /audit 审计

View File

@@ -0,0 +1,136 @@
# ETL 回归执行结果报告(第二次)
> 生成时间2026-02-21 19:33:28
> execution_ide21e1935-5abf-434f-9984-69c492402db7
> 目的:验证 DWS_ASSISTANT_DAILY 修复 + 补跑上次失败的 31 个任务
---
## 执行概览
| 项目 | 值 |
|------|-----|
| 状态 | success |
| 开始时间 | 2026-02-21T19:27:47.937140+08:00 |
| 结束时间 | 2026-02-21T19:30:18.341157+08:00 |
| 总时长 | 150.4s (2.5m) |
| 退出码 | 0 |
| 任务总数 | 31 |
## 执行日志error_log 末尾 100 行)
```
Traceback (most recent call last):
File "C:\NeoZQYY\apps\etl\connectors\feiqiu\orchestration\task_executor.py", line 403, in _run_utility_task
result = task.execute(None)
File "C:\NeoZQYY\apps\etl\connectors\feiqiu\tasks\dws\index\relation_index_task.py", line 145, in execute
tenant_id = self._get_tenant_id()
File "C:\NeoZQYY\apps\etl\connectors\feiqiu\tasks\dws\index\relation_index_task.py", line 688, in _get_tenant_id
rows = self.db.query(sql)
File "C:\NeoZQYY\apps\etl\connectors\feiqiu\database\operations.py", line 99, in query
return self._connection.query(sql, args)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
File "C:\NeoZQYY\apps\etl\connectors\feiqiu\database\connection.py", line 50, in query
c.execute(sql, args)
~~~~~~~~~^^^^^^^^^^^
File "C:\NeoZQYY\.venv\Lib\site-packages\psycopg2\extras.py", line 236, in execute
return super().execute(query, vars)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^
psycopg2.errors.InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
[2026-02-21 19:30:15] ERROR | etl_billiards | 任务 DWS_RELATION_INDEX 失败: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
Traceback (most recent call last):
File "C:\NeoZQYY\apps\etl\connectors\feiqiu\orchestration\task_executor.py", line 94, in run_tasks
task_result = self.run_single_task(
task_code, run_uuid, store_id, data_source=data_source,
)
File "C:\NeoZQYY\apps\etl\connectors\feiqiu\orchestration\task_executor.py", line 150, in run_single_task
return self._run_utility_task(task_code_upper, store_id)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\NeoZQYY\apps\etl\connectors\feiqiu\orchestration\task_executor.py", line 403, in _run_utility_task
result = task.execute(None)
File "C:\NeoZQYY\apps\etl\connectors\feiqiu\tasks\dws\index\relation_index_task.py", line 145, in execute
tenant_id = self._get_tenant_id()
File "C:\NeoZQYY\apps\etl\connectors\feiqiu\tasks\dws\index\relation_index_task.py", line 688, in _get_tenant_id
rows = self.db.query(sql)
File "C:\NeoZQYY\apps\etl\connectors\feiqiu\database\operations.py", line 99, in query
return self._connection.query(sql, args)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
File "C:\NeoZQYY\apps\etl\connectors\feiqiu\database\connection.py", line 50, in query
c.execute(sql, args)
~~~~~~~~~^^^^^^^^^^^
File "C:\NeoZQYY\.venv\Lib\site-packages\psycopg2\extras.py", line 236, in execute
return super().execute(query, vars)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^
psycopg2.errors.InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
[2026-02-21 19:30:15] ERROR | etl_billiards | 任务 DWD_LOAD_FROM_ODS 失败: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
Traceback (most recent call last):
File "C:\NeoZQYY\apps\etl\connectors\feiqiu\orchestration\task_executor.py", line 94, in run_tasks
task_result = self.run_single_task(
task_code, run_uuid, store_id, data_source=data_source,
)
File "C:\NeoZQYY\apps\etl\connectors\feiqiu\orchestration\task_executor.py", line 152, in run_single_task
task_cfg = self._load_task_config(task_code, store_id)
File "C:\NeoZQYY\apps\etl\connectors\feiqiu\orchestration\task_executor.py", line 429, in _load_task_config
rows = self.db_ops.query(sql, (store_id, task_code))
File "C:\NeoZQYY\apps\etl\connectors\feiqiu\database\operations.py", line 99, in query
return self._connection.query(sql, args)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
File "C:\NeoZQYY\apps\etl\connectors\feiqiu\database\connection.py", line 50, in query
c.execute(sql, args)
~~~~~~~~~^^^^^^^^^^^
File "C:\NeoZQYY\.venv\Lib\site-packages\psycopg2\extras.py", line 236, in execute
return super().execute(query, vars)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^
psycopg2.errors.InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
[2026-02-21 19:30:15] INFO | etl_billiards | 所有任务执行完成
[2026-02-21 19:30:18] INFO | etl_billiards | 一致性检查报告已生成: C:\NeoZQYY\export\ETL-Connectors\feiqiu\REPORTS\consistency_report_20260221_193018.md
[2026-02-21 19:30:18] INFO | etl_billiards | 计时报告已生成
[2026-02-21 19:30:18] INFO | etl_billiards |
╔══════════════════════════════════════════════════════════════╗
║ 任务执行总结 ║
╠══════════════════════════════════════════════════════════════╣
║ 任务代码: FLOW_API_FULL ║
║ 执行状态: 成功 ║
║ 执行时间: 2026-02-21 19:27:49 ~ 19:30:18 (2分29秒) ║
╠══════════════════════════════════════════════════════════════╣
║ 数据统计 ║
║ - 获取记录: 0 ║
║ - 新增记录: 0 ║
║ - 更新记录: 0 ║
║ - 跳过记录: 0 ║
║ - 错误记录: 0 ║
╚══════════════════════════════════════════════════════════════╝
[2026-02-21 19:30:18] INFO | etl_billiards |
╔══════════════════════════════════════════════════════════════╗
║ 任务执行总结 ║
╠══════════════════════════════════════════════════════════════╣
║ 任务代码: FLOW_API_FULL ║
║ 执行状态: 成功 ║
║ 执行时间: 2026-02-21 19:27:49 ~ 19:30:18 (2分29秒) ║
╠══════════════════════════════════════════════════════════════╣
║ 数据统计 ║
║ - 获取记录: 0 ║
║ - 新增记录: 0 ║
║ - 更新记录: 0 ║
║ - 跳过记录: 0 ║
║ - 错误记录: 0 ║
╚══════════════════════════════════════════════════════════════╝
[2026-02-21 19:30:18] INFO | etl_billiards | Flow 执行完成: SUCCESS
[2026-02-21 19:30:18] INFO | etl_billiards | ETL运行完成
```
---
## 与第一次执行的对比
| 项目 | 第一次 | 第二次(本次) |
|------|--------|---------------|
| 任务数 | 41 | 31 |
| 状态 | success (exit_code=0) | success (exit_code=0) |
| 耗时 | 590.7s (9.8m) | 150.4s (2.5m) |
| 成功 | 10/41 | 待分析 |
| 失败 | 31/41 | 待分析 |
| 根因 | DWS_ASSISTANT_DAILY SQL 字段错误 | — |

View File

@@ -0,0 +1,85 @@
# ETL 回归执行结果报告(第三次)
> 生成时间2026-02-21 19:54:12
> execution_idabc94b2d-615f-42ea-83cc-ce687524a6ea
> 目的:验证 BUG 2DWS_ASSISTANT_MONTHLY UniqueViolation和 BUG 3DWS_ASSISTANT_CUSTOMER UndefinedColumn修复
---
## 执行概览
| 项目 | 值 |
|------|-----|
| 状态 | success |
| 开始时间 | 2026-02-21 19:41:02 |
| 结束时间 | 2026-02-21 19:52:22 |
| 总时长 | 681.2s (11m19s) |
| 退出码 | 0 |
| 任务总数 | 31 |
| 成功 | 9 |
| 失败 | 22 |
| 未知 | 0 |
| 数据统计 | 获取 52,982 / 新增 13,296 / 更新 52,982 |
## BUG 修复验证
| BUG | 任务 | 第二次结果 | 第三次结果 | 验证 |
|-----|------|-----------|-----------|------|
| BUG 1 | DWS_ASSISTANT_DAILY | ✅ 已修复 | ✅ 成功 | ✅ 持续通过 |
| BUG 2 | DWS_ASSISTANT_MONTHLY | ❌ UniqueViolation | ✅ 成功 | ✅ 修复验证通过 |
| BUG 3 | DWS_ASSISTANT_CUSTOMER | ❌ UndefinedColumn | ✅ 成功 | ✅ 修复验证通过 |
## 逐任务结果
| # | 任务 | 状态 | 统计/错误 |
|---|------|------|----------|
| 1 | DWS_ASSISTANT_DAILY | ✅ 成功 | {'counts': {'fetched': 367, 'inserted': 367, 'updated': 0, 'skipped': 0, 'errors |
| 2 | DWS_ASSISTANT_MONTHLY | ✅ 成功 | {'counts': {'fetched': 25, 'inserted': 25, 'updated': 0, 'skipped': 0, 'errors': |
| 3 | DWS_ASSISTANT_CUSTOMER | ✅ 成功 | {'counts': {'fetched': 486, 'inserted': 486, 'updated': 0, 'skipped': 0, 'errors |
| 4 | DWS_ASSISTANT_SALARY | ✅ 成功 | {'counts': {'fetched': 0, 'inserted': 0, 'updated': 0, 'skipped': 0, 'errors': 0 |
| 5 | DWS_ASSISTANT_FINANCE | ✅ 成功 | {'counts': {'fetched': 367, 'inserted': 367, 'updated': 0, 'skipped': 0, 'errors |
| 6 | ODS_SETTLEMENT_RECORDS | ✅ 成功 | fetched=10366, updated=10366 |
| 7 | ODS_PAYMENT | ✅ 成功 | fetched=42500, updated=42500 |
| 8 | ODS_REFUND | ✅ 成功 | fetched=116, updated=116 |
| 9 | DWS_BUILD_ORDER_SUMMARY | ✅ 成功 | {'fetched': 0, 'inserted': 13296, 'updated': 0, 'skipped': 0, 'errors': 0} |
| 10 | DWS_MEMBER_CONSUMPTION | ❌ 字段错误 | UndefinedColumn: dim_member.site_id 不存在(同 BUG 3 同类) |
| 11 | DWS_MEMBER_VISIT | ❌ 失败 | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 12 | ODS_GOODS_CATEGORY | ❌ 失败 | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 13 | ODS_STORE_GOODS | ❌ 失败 | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 14 | ODS_STORE_GOODS_SALES | ❌ 失败 | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 15 | ODS_TENANT_GOODS | ❌ 失败 | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 16 | ODS_PLATFORM_COUPON | ❌ 失败 | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 17 | ODS_GROUP_PACKAGE | ❌ 失败 | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 18 | ODS_GROUP_BUY_REDEMPTION | ❌ 失败 | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 19 | ODS_INVENTORY_STOCK | ❌ 失败 | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 20 | ODS_INVENTORY_CHANGE | ❌ 失败 | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 21 | DWS_GOODS_STOCK_DAILY | ❌ 失败 | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 22 | DWS_GOODS_STOCK_WEEKLY | ❌ 失败 | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 23 | DWS_GOODS_STOCK_MONTHLY | ❌ 失败 | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 24 | DWS_FINANCE_DAILY | ❌ 失败 | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 25 | DWS_FINANCE_RECHARGE | ❌ 失败 | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 26 | DWS_FINANCE_INCOME_STRUCTURE | ❌ 失败 | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 27 | DWS_FINANCE_DISCOUNT_DETAIL | ❌ 失败 | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 28 | DWS_WINBACK_INDEX | ❌ 失败 | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 29 | DWS_NEWCONV_INDEX | ❌ 失败 | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 30 | DWS_RELATION_INDEX | ❌ 失败 | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 31 | DWD_LOAD_FROM_ODS | ❌ 失败 | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
## 根因分析
本次新发现的根因错误:
- 任务:`DWS_MEMBER_CONSUMPTION`
- 错误:错误: 当前事务被终止, 事务块结束之前的查询被忽略
- 影响:后续所有任务因 `InFailedSqlTransaction` 级联失败
## 三次执行对比
| 项目 | 第一次 | 第二次 | 第三次(本次) |
|------|--------|--------|---------------|
| 任务数 | 41 | 31 | 31 |
| 耗时 | 590.7s | 150.4s | 681.2s |
| 成功 | 10/41 | 3/31 | 6/31 |
| 失败 | 31/41 | 28/31 | 22/31 |
| 根因 | DWS_ASSISTANT_DAILY SQL 字段 | DWS_ASSISTANT_MONTHLY UK + DWS_ASSISTANT_CUSTOMER site_id | DWS_MEMBER_CONSUMPTION site_id |

View File

@@ -0,0 +1,70 @@
# 第四次 ETL 执行结果报告
- execution_id: `efd4f421-ee10-4244-833f-7b2d68c3c05b`
- 时间: 2026-02-21 19:57:02 ~ 20:08:57
- 耗时: 11 分 55 秒 (715s)
- 整体状态: success (exit_code=0)
- 任务总数: 31
## 成功任务 (10 个)
| # | 任务 | 耗时 | 统计 |
|---|------|------|------|
| 1 | DWS_ASSISTANT_DAILY | ~2m28s | fetched=367, inserted=367, deleted=367 |
| 2 | DWS_ASSISTANT_MONTHLY | ~12s | fetched=25, inserted=25, deleted=25 |
| 3 | DWS_ASSISTANT_CUSTOMER | ~1m22s | fetched=486, inserted=486 |
| 4 | DWS_ASSISTANT_SALARY | <1s | 非工资结算期,跳过 |
| 5 | DWS_ASSISTANT_FINANCE | ~1m10s | fetched=367, inserted=367, deleted=367 |
| 6 | ODS_SETTLEMENT_RECORDS | ~1m46s | fetched=10366, updated=10366 |
| 7 | ODS_PAYMENT | ~4m0s | fetched=42500, updated=42500 |
| 8 | ODS_REFUND | ~3s | fetched=116, updated=116 |
| 9 | DWS_BUILD_ORDER_SUMMARY | ~1s | inserted=13296 |
| 10 | DWS_MEMBER_CONSUMPTION | ~43s | fetched=198, inserted=198 |
## BUG 4 修复验证
- DWS_MEMBER_CONSUMPTION ✅ 不再报 UndefinedColumn site_id
- DWS_MEMBER_VISIT ❌ 新错误BUG 5
- DWS_FINANCE_RECHARGE ❌ 级联失败(未能独立验证)
## 新发现 BUG 5
- 任务: `DWS_MEMBER_VISIT`
- 错误: `UndefinedColumn: 字段 "birthday" 不存在`
- 位置: `member_visit_task.py``_extract_member_info()` line ~312
- 根因: SQL 查询 `dwd.dim_member` 时引用了 `birthday` 字段,但该表没有此字段
- DWS 表 `dws_member_visit_detail` 设计了 `member_birthday DATE` 列,但上游 dim_member 未提供此数据
- 级联影响: 后续 20 个任务全部 InFailedSqlTransaction
## 失败任务 (21 个)
| 类型 | 任务 | 错误 |
|------|------|------|
| 🔴 根因 | DWS_MEMBER_VISIT | UndefinedColumn: birthday |
| 级联 | ODS_GOODS_CATEGORY | InFailedSqlTransaction |
| 级联 | ODS_STORE_GOODS | InFailedSqlTransaction |
| 级联 | ODS_STORE_GOODS_SALES | InFailedSqlTransaction |
| 级联 | ODS_TENANT_GOODS | InFailedSqlTransaction |
| 级联 | ODS_PLATFORM_COUPON | InFailedSqlTransaction |
| 级联 | ODS_GROUP_PACKAGE | InFailedSqlTransaction |
| 级联 | ODS_GROUP_BUY_REDEMPTION | InFailedSqlTransaction |
| 级联 | ODS_INVENTORY_STOCK | InFailedSqlTransaction |
| 级联 | ODS_INVENTORY_CHANGE | InFailedSqlTransaction |
| 级联 | DWS_GOODS_STOCK_DAILY | InFailedSqlTransaction |
| 级联 | DWS_GOODS_STOCK_WEEKLY | InFailedSqlTransaction |
| 级联 | DWS_GOODS_STOCK_MONTHLY | InFailedSqlTransaction |
| 级联 | DWS_FINANCE_DAILY | InFailedSqlTransaction |
| 级联 | DWS_FINANCE_RECHARGE | InFailedSqlTransaction |
| 级联 | DWS_FINANCE_INCOME_STRUCTURE | InFailedSqlTransaction |
| 级联 | DWS_FINANCE_DISCOUNT_DETAIL | InFailedSqlTransaction |
| 级联 | DWS_WINBACK_INDEX | InFailedSqlTransaction |
| 级联 | DWS_NEWCONV_INDEX | InFailedSqlTransaction |
| 级联 | DWS_RELATION_INDEX | InFailedSqlTransaction |
| 级联 | DWD_LOAD_FROM_ODS | InFailedSqlTransaction |
## BUG 5 修复
- 文件: `member_visit_task.py`
- 改动 1: `_extract_member_info` SQL 移除 `birthday` 字段
- 改动 2: transform 中 `member_birthday` 改为 `None`
- 已添加 CHANGE 注释

View File

@@ -0,0 +1,69 @@
# 第五次 ETL 执行结果报告
- execution_id: `fe87144a-687d-4ce0-9b79-6bd0186b2be3`
- 执行时间: 2026-02-21 20:19:52 ~ 20:31:29约 11m37s
- exit_code: 0
- 总任务数: 31
## 成功任务10 个)
| # | 任务 |
|---|------|
| 1 | DWS_ASSISTANT_DAILY |
| 2 | DWS_ASSISTANT_MONTHLY |
| 3 | DWS_ASSISTANT_CUSTOMER |
| 4 | DWS_ASSISTANT_SALARY |
| 5 | DWS_ASSISTANT_FINANCE |
| 6 | ODS_SETTLEMENT_RECORDS ODS 任务完成 |
| 7 | ODS_PAYMENT ODS 任务完成 |
| 8 | ODS_REFUND ODS 任务完成 |
| 9 | DWS_BUILD_ORDER_SUMMARY |
| 10 | DWS_MEMBER_CONSUMPTION |
## 失败任务21 个)
| # | 任务 | 错误类型 |
|---|------|----------|
| 1 | DWS_MEMBER_VISIT | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 2 | ODS_GOODS_CATEGORY | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 3 | ODS_STORE_GOODS | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 4 | ODS_STORE_GOODS_SALES | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 5 | ODS_TENANT_GOODS | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 6 | ODS_PLATFORM_COUPON | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 7 | ODS_GROUP_PACKAGE | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 8 | ODS_GROUP_BUY_REDEMPTION | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 9 | ODS_INVENTORY_STOCK | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 10 | ODS_INVENTORY_CHANGE | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 11 | DWS_GOODS_STOCK_DAILY | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 12 | DWS_GOODS_STOCK_WEEKLY | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 13 | DWS_GOODS_STOCK_MONTHLY | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 14 | DWS_FINANCE_DAILY | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 15 | DWS_FINANCE_RECHARGE | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 16 | DWS_FINANCE_INCOME_STRUCTURE | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 17 | DWS_FINANCE_DISCOUNT_DETAIL | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 18 | DWS_WINBACK_INDEX | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 19 | DWS_NEWCONV_INDEX | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 20 | DWS_RELATION_INDEX | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 21 | DWD_LOAD_FROM_ODS | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
## 根因分析
BUG 6: `DWS_MEMBER_VISIT``_extract_table_info()` 方法中 SQL 引用了 `dwd.dim_table.site_table_id`
但该表的主键字段实际为 `table_id`(参考 `db/etl_feiqiu/schemas/dwd.sql`)。
错误发生后psycopg2 连接进入 InFailedSqlTransaction 状态,导致后续所有任务级联失败。
## 修复措施
1. `member_visit_task.py``_extract_table_info()`:
- `site_table_id AS table_id``table_id AS table_id`
- `site_table_name AS table_name``table_name AS table_name`
2. `finance_income_task.py``_extract_income_by_area()`:
- JOIN 条件 `dt.site_table_id = tfl.site_table_id``dt.table_id = tfl.site_table_id`
- JOIN 条件 `dt.site_table_id = asl.site_table_id``dt.table_id = asl.site_table_id`
## BUG 5 验证
BUG 5birthday 字段)的修复已部署,但被 BUG 6 遮蔽,无法在本次执行中验证。
需要第六次执行来同时验证 BUG 5 + BUG 6 + BUG 7。

View File

@@ -0,0 +1,59 @@
# 第六次 ETL 执行结果报告
- execution_id: `d9443781-e4ac-4df6-9f87-11c45d72e5ba`
- 执行时间: 2026-02-21 20:45:18 ~ 21:14:4529 分 26 秒)
- exit_code: 0
- status: success
- 总任务数: 31
- 数据统计: 获取 171,961 / 新增 13,662 / 更新 171,595 / 跳过 0 / 错误 0
## 成功任务11 个)
| # | 任务 |
|---|------|
| 1 | DWS_ASSISTANT_DAILY: |
| 2 | DWS_ASSISTANT_MONTHLY: |
| 3 | DWS_ASSISTANT_CUSTOMER: |
| 4 | DWS_ASSISTANT_SALARY: |
| 5 | DWS_ASSISTANT_FINANCE: |
| 6 | {'fetched': |
| 7 | DWS_MEMBER_CONSUMPTION: |
| 8 | DWS_MEMBER_VISIT: |
| 9 | DWS_GOODS_STOCK_DAILY: |
| 10 | DWS_GOODS_STOCK_WEEKLY: |
| 11 | DWS_GOODS_STOCK_MONTHLY: |
## 失败任务8 个)
| # | 任务 | 错误类型 |
|---|------|----------|
| 1 | DWS_FINANCE_DAILY | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 2 | DWS_FINANCE_RECHARGE | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 3 | DWS_FINANCE_INCOME_STRUCTURE | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 4 | DWS_FINANCE_DISCOUNT_DETAIL | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 5 | DWS_WINBACK_INDEX | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 6 | DWS_NEWCONV_INDEX | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 7 | DWS_RELATION_INDEX | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
| 8 | DWD_LOAD_FROM_ODS | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 |
## 根因分析8 个非级联失败)
- `DWS_FINANCE_DAILY`: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
- `DWS_FINANCE_RECHARGE`: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
- `DWS_FINANCE_INCOME_STRUCTURE`: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
- `DWS_FINANCE_DISCOUNT_DETAIL`: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
- `DWS_WINBACK_INDEX`: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
- `DWS_NEWCONV_INDEX`: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
- `DWS_RELATION_INDEX`: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
- `DWD_LOAD_FROM_ODS`: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
## 与前次对比
| 轮次 | 成功 | 失败 | 耗时 | 修复的 BUG |
|------|------|------|------|-----------|
| v1 | 10 | 31 | 9m51s | — |
| v2 | — | — | 2m30s | BUG 1 |
| v3 | 9 | 22 | 11m21s | BUG 2+3 |
| v4 | 10 | 21 | 11m55s | BUG 4 |
| v5 | 10 | 21 | 11m37s | BUG 5 |
| v6 | 11 | 8 | 29m26s | BUG 5+6+7 |

View File

@@ -0,0 +1,109 @@
# ETL 第八次执行报告 (v8)
- execution_id: `f943bac6-23be-45c5-8b8c-a864e85a1916`
- 时间: 2026-02-21 21:33:37 ~ 21:35:01 (1分24秒)
- 整体状态: success, exit_code=0
## 本次修复验证
| BUG | 修复内容 | 验证结果 |
|-----|---------|---------|
| BUG 8 | `finance_base_task.py` + `finance_recharge_task.py`: pay_money→pay_amount, gift_money→point_amount | ✅ DWS_FINANCE_DAILY + DWS_FINANCE_RECHARGE 均完成 |
| BUG 9 | `dwd_load_task.py`: 添加 `_pick_snapshot_order_column` 方法 | ✅ 所有 dim 表 SCD2 装载成功 |
| BUG 10 | `dwd_load_task.py`: FACT_MAPPINGS 驼峰字段名→小写 | ✅ dwd_goods_stock_summary(716条) + dwd_goods_stock_movement(14306条) 装载成功 |
| BUG 11 | `flow_runner.py`: sum() 类型安全处理 | ✅ 不再出现 TypeError |
## DWD_LOAD_FROM_ODS 详情
### 维度表 (SCD2) — 全部成功
| 表 | processed | inserted | updated |
|----|-----------|----------|---------|
| dim_site | 1 | 0 | 1 |
| dim_site_ex | 1 | 0 | 1 |
| dim_table | 74 | 0 | 74 |
| dim_table_ex | 74 | 0 | 74 |
| dim_assistant | 69 | 0 | 69 |
| dim_member | 557 | 0 | 557 |
| dim_member_ex | 557 | 0 | 557 |
| dim_member_card_account | 946 | 0 | 946 |
| dim_tenant_goods | 174 | 1 | 173 |
| dim_tenant_goods_ex | 174 | 1 | 173 |
| dim_store_goods | 173 | 1 | 172 |
| dim_store_goods_ex | 173 | 1 | 172 |
| dim_goods_category | 26 | 0 | 26 |
| dim_groupbuy_package | 34 | 0 | 34 |
| dim_groupbuy_package_ex | 34 | 0 | 34 |
### 事实表 (INCREMENT) — 全部成功
| 表 | processed | inserted | updated |
|----|-----------|----------|---------|
| dwd_settlement_head | 10366 | 0 | 10366 |
| dwd_settlement_head_ex | 10366 | 0 | 10366 |
| dwd_table_fee_log | 9103 | 0 | 9103 |
| dwd_table_fee_log_ex | 9103 | 0 | 9103 |
| dwd_table_fee_adjust | 1616 | 0 | 1616 |
| dwd_table_fee_adjust_ex | 1616 | 0 | 1616 |
| dwd_assistant_service_log | 2619 | 0 | 2619 |
| dwd_assistant_service_log_ex | 2619 | 0 | 2619 |
| dwd_assistant_trash_event | 78 | 0 | 78 |
| dwd_assistant_trash_event_ex | 78 | 0 | 78 |
| dwd_member_balance_change | 2185 | 0 | 2185 |
| dwd_member_balance_change_ex | 2185 | 0 | 2185 |
| dwd_groupbuy_redemption | 7267 | 0 | 7267 |
| dwd_groupbuy_redemption_ex | 7267 | 0 | 7267 |
| dwd_platform_coupon_redemption | 18311 | 0 | 18311 |
| dwd_platform_coupon_redemption_ex | 18311 | 0 | 18311 |
| dwd_recharge_order | 191 | 0 | 191 |
| dwd_recharge_order_ex | 191 | 0 | 191 |
| dwd_payment | 10625 | 0 | 10625 |
| dwd_refund | 29 | 0 | 29 |
| dwd_refund_ex | 29 | 0 | 29 |
| dwd_goods_stock_summary | 716 | 716 | 0 |
| dwd_goods_stock_movement | 14306 | 14306 | 0 |
### DWD 装载错误 (2个数据质量问题非代码 BUG)
| 表 | 错误 |
|----|------|
| dim_assistant_ex | year -1 is out of range |
| dim_member_card_account_ex | year -1 is out of range |
## DWS 任务状态
| 任务 | 状态 | 备注 |
|------|------|------|
| ODS_FETCH | ✅ 完成 | |
| DWD_LOAD_FROM_ODS | ✅ 完成 | 39表成功2表数据质量错误 |
| DWS_ASSISTANT_DAILY | ✅ 完成 | |
| DWS_ASSISTANT_MONTHLY | ✅ 完成 | 删除9行插入9行 |
| DWS_ASSISTANT_CUSTOMER | ✅ 完成 | 删除285行插入285行 |
| DWS_ASSISTANT_SALARY | ✅ 完成 | |
| DWS_ASSISTANT_FINANCE | ✅ 完成 | |
| DWS_MEMBER_CONSUMPTION | ✅ 完成 | 删除198行插入198行 |
| DWS_MEMBER_VISIT | ✅ 完成 | |
| DWS_GOODS_STOCK_DAILY | ✅ 完成 | |
| DWS_GOODS_STOCK_WEEKLY | ✅ 完成 | |
| DWS_GOODS_STOCK_MONTHLY | ✅ 完成 | |
| DWS_FINANCE_DAILY | ✅ 完成 | |
| DWS_FINANCE_RECHARGE | ✅ 完成 | |
| DWS_FINANCE_INCOME_STRUCTURE | ❌ 级联失败 | InFailedSqlTransaction |
| DWS_FINANCE_DISCOUNT_DETAIL | ❌ 级联失败 | InFailedSqlTransaction |
| DWS_WINBACK_INDEX | ❌ 级联失败 | InFailedSqlTransaction |
| DWS_NEWCONV_INDEX | ❌ 级联失败 | InFailedSqlTransaction |
| DWS_RELATION_INDEX | ❌ 级联失败 | InFailedSqlTransaction |
## 总结
- 14/19 任务成功完成
- 5/19 任务因 InFailedSqlTransaction 级联失败
- 级联失败根因: `dim_assistant_ex``dim_member_card_account_ex` 中存在非法日期值 (year=-1),导致事务进入失败状态
- 这是数据质量问题,不是代码 BUG — 需要在 DWD 装载时对日期字段做容错处理
## 与 v6上次最好成绩对比
| 指标 | v6 | v8 |
|------|----|----|
| 耗时 | 29m26s | 1m24s |
| 成功任务 | 11/19 | 14/19 |
| 失败任务 | 8/19 | 5/19 |
| DWD 装载 | 部分 dim 失败 | 39/41 表成功 |
| 新增成功 | — | DWS_FINANCE_DAILY, DWS_FINANCE_RECHARGE, DWS_GOODS_STOCK_* |

View File

@@ -0,0 +1,96 @@
{
"ods_table": "assistant_accounts_master",
"ods_fields": {
"id": "助教账号主键 ID在“助教流水.json”中对应 site_assistant_id",
"tenant_id": "品牌/租户 ID对应“非球科技”系统中该商户的唯一标识",
"site_id": "门店 ID对应本次数据的这家球房朗朗桌球",
"assistant_no": "助教工号 / 编号,便于业务侧识别",
"nickname": "助教在前台展示的昵称,如“佳怡”“周周”“球球”等",
"real_name": "助教真实姓名,如“何海婷”“梁婷婷”等",
"mobile": "助教手机号,用于登录绑定、通知、钉钉同步等",
"team_id": "助教所属团队 ID",
"team_name": "团队名称,展示用,和 team_id 一一对应",
"user_id": "系统级“用户账号 ID”通常对应登录账号",
"level": "10 × 24",
"assistant_status": "1 × 48",
"work_status": "当 leave_status = 0 时work_status = 1",
"leave_status": "0 × 21",
"entry_time": "入职时间",
"resign_time": "离职日期",
"start_time": "当前配置生效的开始日期",
"end_time": "当前配置生效的结束日期(例如一个周期性的排班/合同周期)",
"create_time": "账号创建时间",
"update_time": "账号最近一次被修改的时间(例如修改等级、昵称等)",
"order_trade_no": "该助教最近一次关联的订单号,用于快速跳转或回溯最近服务行为",
"staff_id": "预留给“人事系统员工 ID”的字段目前未接入或未启用",
"staff_profile_id": "人事档案 ID与第三方 HR 系统或内部员工档案集成使用,当前未启用",
"system_role_id": "标识类 ID 字段,用于关联/定位相关实体",
"avatar": "助教头像地址",
"birth_date": "助教出生日期",
"gender": "0 × 40",
"height": "身高(单位:厘米)",
"weight": "体重(单位:公斤)",
"job_num": "备用工号字段,目前未在该门店启用",
"show_status": "来自 JSON 导出的原始字段,用于保留业务取值",
"show_sort": "前台展示排序权重,值越小/越大对应不同的排序策略(当前看起来与 assistant_no 有一定对应关系)",
"sum_grade": "评分总和用于计算平均分assistant_grade = sum_grade / get_grade_times当前为 0",
"assistant_grade": "助教综合评分(员工维度的平均分 snapshot当前尚未启用评分",
"get_grade_times": "累计被评分次数",
"introduce": "个人简介文案,预留给助教自我介绍使用",
"video_introduction_url": "助教个人视频介绍地址",
"group_id": "上层“分组 ID”预留字段例如集团/事业部),本门店未使用",
"group_name": "group_id 对应的名称,目前为空",
"shop_name": "门店名称,冗余字段,用于展示",
"charge_way": "2 代表当前门店为“计时收费”其他值1、3 等)可能对应按局、按课时等,当前未出现",
"entry_type": "来自 JSON 导出的原始字段,用于保留业务取值",
"allow_cx": "来自 JSON 导出的原始字段,用于保留业务取值",
"is_guaranteed": "布尔/开关字段,用于表示权限、可用性或状态开关",
"salary_grant_enabled": "来自 JSON 导出的原始字段,用于保留业务取值",
"light_status": "灯光控制状态,如 1=启用控制、2=不启用 或相反",
"online_status": "在线状态",
"is_delete": "逻辑删除标记0=否1=是)",
"cx_unit_price": "促销时段的单价,本门店未在账号表层面设置",
"pd_unit_price": "某种标准单价(例如“普通时段单价”),这里未在账号上配置(实际单价在助教商品或套餐配置中)",
"last_table_id": "该助教最近一次服务的球台 ID",
"last_table_name": "最近服务球台名称(展示用)",
"person_org_id": "人事组织 ID通常表示“某某门店-助教部-某小组”等层级组织",
"serial_number": "系统内部生成的序列号或排序标识,用于全局排序或迁移",
"is_team_leader": "布尔/开关字段,用于表示权限、可用性或状态开关",
"criticism_status": "1 × 49",
"last_update_name": "最近修改该账号配置的管理员名称",
"ding_talk_synced": "来自 JSON 导出的原始字段,用于保留业务取值",
"site_light_cfg_id": "门店灯控配置 ID本门店未在助教账号维度启用",
"light_equipment_id": "灯控设备 ID如果开启“助教开台自动控制灯”会通过该字段关联到灯控硬件",
"entry_sign_status": "来自 JSON 导出的原始字段,用于保留业务取值",
"resign_sign_status": "离职协议签署状态,类似上面",
"source_file": "ETL 元数据:原始导出文件名,用于数据追溯",
"source_endpoint": "ETL 元数据:采集来源(接口/文件路径),用于数据追溯",
"fetched_at": "ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理",
"payload": "ETL 元数据:完整原始 JSON 记录快照,用于回溯与二次解析",
"content_hash": "ETL 元数据:对业务字段计算 SHA256用于变更检测与去重"
},
"dwd_fields": {
"dim_assistant": {
"assistant_id": "助教唯一标识 ID",
"user_id": "关联用户 ID当前数据全为 0**[作用待确认]**",
"assistant_no": "助教工号,如 \"11\"、\"27\"",
"real_name": "真实姓名,如 \"梁婷婷\"、\"周佳怡\"",
"nickname": "昵称/花名,如 \"柚子\"、\"周周\"、\"Amy\"",
"mobile": "手机号码",
"tenant_id": "租户 ID当前值: 2790683160709957",
"site_id": "门店 ID → dim_site当前值: 2790685415443269",
"team_id": "团队 ID",
"team_name": "团队名称。**枚举值**: \"1组\"(对应 team_id = 2792011585884037), \"2组\"(对应 team_id = 2959085810992645)",
"level": "助教等级。**枚举值**: 8 = 助教管理, 10 = 初级, 20 = 中级, 30 = 高级, 40 =专家",
"entry_time": "入职时间",
"resign_time": "离职时间(远未来日期如 2225-xx-xx 表示在职)",
"leave_status": "在职状态。**枚举值**: 0 = 在职, 1 = 已离职",
"assistant_status": "观察者状态。**枚举值**: 1 = 为非观察者, 2 = 为观察者。",
"scd2_start_time": "SCD2 版本生效时间",
"scd2_end_time": "SCD2 版本失效时间",
"scd2_is_current": "当前版本标记",
"scd2_version": "版本号"
},
"dim_assistant_ex": {}
}
}

View File

@@ -0,0 +1,40 @@
{
"ods_table": "assistant_cancellation_records",
"ods_fields": {
"id": "本表主键 ID用于唯一标识一条记录",
"siteid": "(待补充)",
"siteprofile": "(待补充)",
"assistantname": "(待补充)",
"assistantabolishamount": "(待补充)",
"assistanton": "(待补充)",
"pdchargeminutes": "(待补充)",
"tableareaid": "(待补充)",
"tablearea": "(待补充)",
"tableid": "(待补充)",
"tablename": "(待补充)",
"trashreason": "(待补充)",
"createtime": "(待补充)",
"source_file": "ETL 元数据:原始导出文件名,用于数据追溯",
"source_endpoint": "ETL 元数据:采集来源(接口/文件路径),用于数据追溯",
"fetched_at": "ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理",
"payload": "ETL 元数据:完整原始 JSON 记录快照,用于回溯与二次解析",
"content_hash": "ETL 元数据:对业务字段计算 SHA256用于变更检测与去重",
"tenant_id": "租户ID"
},
"dwd_fields": {
"dwd_assistant_trash_event": {
"assistant_trash_event_id": "作废事件 ID",
"site_id": "门店 ID",
"table_id": "台桌 ID → dim_table",
"table_area_id": "台区 ID",
"assistant_no": "助教工号/昵称。**样本值**: \"七七\", \"乔西\", \"球球\"等",
"assistant_name": "助教名称,与 assistant_no 相同",
"charge_minutes_raw": "原计费时长(秒)。**样本值**: 0, 3600=1h, 10800=3h 等",
"abolish_amount": "作废金额(元)。**样本值**: 0.00, 190.00, 570.00 等",
"trash_reason": "作废原因(当前数据全为 NULL",
"create_time": "创建时间",
"tenant_id": "租户 ID"
},
"dwd_assistant_trash_event_ex": {}
}
}

View File

@@ -0,0 +1,114 @@
{
"ods_table": "assistant_service_records",
"ods_fields": {
"id": "本条助教流水记录的主键 ID流水唯一标识",
"tenant_id": "租户/品牌 ID",
"site_id": "门店 ID本数据中指“朗朗桌球”这一家门店",
"siteprofile": "(待补充)",
"site_table_id": "球台 ID",
"order_settle_id": "订单结算 ID相当于“结账单号”的内部主键",
"order_trade_no": "订单交易号,整个订单层面的编号",
"order_pay_id": "关联到“支付记录”的主键 ID",
"order_assistant_id": "订单中“助教项目明细”的内部 ID",
"order_assistant_type": "来自 JSON 导出的原始字段,用于保留业务取值",
"assistantname": "(待补充)",
"assistantno": "(待补充)",
"assistant_level": "助教等级名称,与 assistant_level 一一对应(初级/中级/高级/助教管理)",
"levelname": "名称字段,用于展示与辅助识别",
"site_assistant_id": "门店维度的助教 ID",
"skill_id": "助教服务“课程/技能”ID",
"skillname": "名称字段,用于展示与辅助识别",
"system_member_id": "系统级会员 ID全集团统一 ID",
"tablename": "名称字段,用于展示与辅助识别",
"tenant_member_id": "商户维度会员 ID门店/品牌内的会员主键)",
"user_id": "助教对应的“用户账号 ID”系统级用户",
"assistant_team_id": "助教所属团队 ID",
"nickname": "助教对外昵称,如“佳怡”“周周”“球球”等",
"ledger_name": "名称字段,用于展示与辅助识别",
"ledger_group_name": "助教项目所属的“计费分组/套餐分组名称”,例如某种助教套餐或业务组名称",
"ledger_amount": "按标准单价计算出来的应收金额(近似 = ledger_unit_price × income_seconds / 3600",
"ledger_count": "台账记录的计时总秒数",
"ledger_unit_price": "助教服务 标准单价(通常是标价:每小时、每节课的单价)",
"ledger_status": "来自 JSON 导出的原始字段,用于保留业务取值",
"ledger_start_time": "台账层面记录的开始时间",
"ledger_end_time": "台账层面的结束时间",
"manual_discount_amount": "收银员手动给予的减免金额(人工改价)",
"member_discount_amount": "由会员卡折扣产生的优惠金额",
"coupon_deduct_money": "由“优惠券/代金券/团购券”等 直接抵扣到这条助教服务上的金额",
"service_money": "用于记录与助教结算的金额(平台预留的“成本/分成”字段)",
"projected_income": "实际结算计入门店的金额(已经考虑折扣、卡权益、券等后的结果)",
"real_use_seconds": "实际使用时长(秒)",
"income_seconds": "计费秒数 / 应计收入对应的时间",
"start_use_time": "助教实际开始服务时间",
"last_use_time": "最后一次使用(实际服务)时间",
"create_time": "这条助教流水记录创建时间(一般接近结算/下单时间)",
"is_single_order": "布尔/开关字段,用于表示权限、可用性或状态开关",
"is_delete": "逻辑删除标志",
"is_trash": "布尔/开关字段,用于表示权限、可用性或状态开关",
"trash_reason": "废除原因(文本说明),例如“顾客取消”“录入错误”等",
"trash_applicant_id": "提出废除申请的员工 ID通常是操作员/管理员)",
"trash_applicant_name": "废除申请人姓名",
"operator_id": "操作员 ID录入/结算这条助教服务的员工)",
"operator_name": "操作员姓名,与 operator_id 一起使用,便于直接阅读",
"salesman_name": "关联的“营业员/销售员姓名”,用于提成归属",
"salesman_org_id": "营业员所属组织/部门 ID",
"salesman_user_id": "营业员用户 ID",
"person_org_id": "助教所属“人事组织/部门 ID”",
"add_clock": "加钟秒数,即在原有预约/服务基础上临时追加的时长",
"returns_clock": "退钟秒数(取消加钟或提前结束退回的时间)",
"composite_grade": "综合评分(例如技能+服务加权后的平均分),当前数据没有实际评分",
"composite_grade_time": "助教服务所在的球台名称(如 \"A17\"、\"S1\"",
"skill_grade": "顾客对“技能表现”的评分(整数或打分等级)",
"service_grade": "顾客对“服务态度”的评分",
"sum_grade": "累计评分总和(可能用于计算平均分),当前为 0",
"grade_status": "1 = 未评价/正常",
"get_grade_times": "该条记录对应的评价次数(或该助教被评价次数快照)",
"is_not_responding": "布尔/开关字段,用于表示权限、可用性或状态开关",
"is_confirm": "布尔/开关字段,用于表示权限、可用性或状态开关",
"payload": "ETL 元数据:完整原始 JSON 记录快照,用于回溯与二次解析",
"source_file": "ETL 元数据:原始导出文件名,用于数据追溯",
"source_endpoint": "ETL 元数据:采集来源(接口/文件路径),用于数据追溯",
"fetched_at": "ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理",
"content_hash": "ETL 元数据:对业务字段计算 SHA256用于变更检测与去重",
"assistantteamname": "助教团队名称",
"real_service_money": "实际服务费金额"
},
"dwd_fields": {
"dwd_assistant_service_log": {
"assistant_service_id": "服务流水 ID",
"order_trade_no": "订单号 → dwd_settlement_head",
"order_settle_id": "结账单 ID → dwd_settlement_head",
"order_pay_id": "支付单 ID当前数据全为 0",
"order_assistant_id": "订单助教 ID",
"order_assistant_type": "服务类型。**枚举值**: 1=基础课 或 包厢课, 2=附加课/激励课",
"tenant_id": "租户 ID",
"site_id": "门店 ID",
"site_table_id": "台桌 ID → dim_table0=非台桌服务)",
"tenant_member_id": "会员 ID → dim_member0=散客)",
"system_member_id": "系统会员 ID0=散客)",
"assistant_no": "助教工号。**样本值**: \"2\", \"9\"等",
"nickname": "助教昵称。**样本值**: \"佳怡\", \"婉婉\", \"七七\"等",
"site_assistant_id": "助教 ID → dim_assistant",
"user_id": "助教用户 ID",
"assistant_team_id": "助教团队 ID。**枚举值**: 2792011585884037=1组, 2959085810992645=2组",
"person_org_id": "人事组织 ID",
"assistant_level": "助教等级。**枚举值**: 8=助教管理, 10=初级, 20=中级, 30=高级, 40=星级",
"level_name": "等级名称。**枚举值**: \"助教管理\", \"初级\", \"中级\", \"高级\", \"星级\"",
"skill_id": "技能 ID **枚举值**: 2790683529513797 = 基础课 , 2790683529513798 = 附加课/激励课, 3039912271463941 = 包厢课",
"skill_name": "技能名称。 **枚举值**: \"基础课\",\"附加课\",\"包厢课\"",
"ledger_unit_price": "单价(元/小时),**样本值**: 98.00/108.00/190.00 等",
"ledger_amount": "计费金额",
"projected_income": "预估收入",
"coupon_deduct_money": "券抵扣金额",
"income_seconds": "计费时长(秒)。常见值: 3600=1h, 7200=2h, 10800=3h",
"real_use_seconds": "实际使用时长(秒)",
"add_clock": "加时时长(秒),大多为 0",
"create_time": "创建时间",
"start_use_time": "服务开始时间",
"last_use_time": "服务结束时间",
"is_delete": "删除标记。**枚举值**: 0=未删除",
"real_service_money": "实际服务费金额"
},
"dwd_assistant_service_log_ex": {}
}
}

View File

@@ -0,0 +1,32 @@
{
"ods_table": "goods_stock_movements",
"ods_fields": {
"sitegoodsstockid": "(待补充)",
"tenantid": "(待补充)",
"siteid": "(待补充)",
"sitegoodsid": "(待补充)",
"goodsname": "(待补充)",
"goodscategoryid": "(待补充)",
"goodssecondcategoryid": "(待补充)",
"unit": "库存计量单位",
"price": "商品单价(单位金额)",
"stocktype": "(待补充)",
"changenum": "(待补充)",
"startnum": "(待补充)",
"endnum": "(待补充)",
"changenuma": "(待补充)",
"startnuma": "(待补充)",
"endnuma": "(待补充)",
"remark": "备注信息,用于手工记录本次变更的特殊原因说明(例如“盘点差异调整”“报损”)",
"operatorname": "(待补充)",
"createtime": "(待补充)",
"source_file": "ETL 元数据:原始导出文件名,用于数据追溯",
"source_endpoint": "ETL 元数据:采集来源(接口/文件路径),用于数据追溯",
"fetched_at": "ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理",
"payload": "ETL 元数据:完整原始 JSON 记录快照,用于回溯与二次解析",
"content_hash": "ETL 元数据:对业务字段计算 SHA256用于变更检测与去重"
},
"dwd_fields": {
"dwd_goods_stock_movement": {}
}
}

View File

@@ -0,0 +1,27 @@
{
"ods_table": "goods_stock_summary",
"ods_fields": {
"sitegoodsid": "(待补充)",
"goodsname": "(待补充)",
"goodsunit": "(待补充)",
"goodscategoryid": "(待补充)",
"goodscategorysecondid": "(待补充)",
"categoryname": "(待补充)",
"rangestartstock": "(待补充)",
"rangeendstock": "(待补充)",
"rangein": "(待补充)",
"rangeout": "(待补充)",
"rangesale": "(待补充)",
"rangesalemoney": "(待补充)",
"rangeinventory": "(待补充)",
"currentstock": "(待补充)",
"source_file": "ETL 元数据:原始导出文件名,用于数据追溯",
"source_endpoint": "ETL 元数据:采集来源(接口/文件路径),用于数据追溯",
"fetched_at": "ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理",
"payload": "ETL 元数据:完整原始 JSON 记录快照,用于回溯与二次解析",
"content_hash": "ETL 元数据:对业务字段计算 SHA256用于变更检测与去重"
},
"dwd_fields": {
"dwd_goods_stock_summary": {}
}
}

View File

@@ -0,0 +1,75 @@
{
"ods_table": "group_buy_packages",
"ods_fields": {
"id": "门店侧套餐 ID本文件内部的主键",
"package_id": "“上层套餐 ID” 或“总部/系统级套餐 ID”",
"package_name": "团购套餐名称,用于前台展示和核销界面",
"selling_price": "语义上应该是“团购售卖价”(顾客在平台购买券时的成交价格)",
"coupon_money": "券面值或内部结算面值,表示该套餐在门店侧对应的金额额度",
"date_type": "来自 JSON 导出的原始字段,用于保留业务取值",
"date_info": "预留字段,通常用来存储更细粒度的日期信息,如具体日期列表、节假日特殊规则(可能是 JSON 字符串或编码)",
"start_time": "套餐开始生效的日期时间",
"end_time": "套餐失效的日期时间(到这个时间点后不可使用)",
"start_clock": "每日可用起始时间点(第一段)",
"end_clock": "每日可用的结束时间点(第一段)",
"add_start_clock": "附加可用时间段的起始时间(第二段)",
"add_end_clock": "附加时段结束时间,多数情况配合 \"00:00:00\" 或 \"10:00:00\" 使用",
"duration": "套餐内包含的时长(秒)",
"usable_count": "可使用次数上限",
"usable_range": "一般用于文字描述可用日期范围(例如“周一至周五”)",
"table_area_id": "原始设计应为“单一台区 ID”当套餐只限一个区域可以用这个字段存储",
"table_area_name": "套餐适用的“门店台区名称”,用于显示和筛选",
"table_area_id_list": "用来存放具体台区 ID 列表(例如 \"1,2,3\"),实现更细粒度的台桌限制",
"tenant_table_area_id": "与 table_area_id 类似,是租户层级的台区 ID原本用于单区选择",
"tenant_table_area_id_list": "实际代表“台区集合 ID”或“租户台区配置 ID”用来限制套餐可用的台区范围",
"site_id": "门店 ID",
"site_name": "门店名称",
"tenant_id": "租户 ID品牌/商户 ID",
"card_type_ids": "原意是“适用会员卡类型 ID 列表”,例如某套餐只允许某几种会员卡使用,可以在此配置",
"group_type": "来自 JSON 导出的原始字段,用于保留业务取值",
"system_group_type": "来自 JSON 导出的原始字段,用于保留业务取值",
"type": "内部业务子类型,具体含义需要结合系统文档",
"effective_status": "113 条",
"is_enabled": "启用状态",
"is_delete": "逻辑删除标志",
"max_selectable_categories": "来自 JSON 导出的原始字段,用于保留业务取值",
"area_tag_type": "1 很可能代表“按台区标签限制”,例如 A区、中八区、包厢、KTV 等",
"creator_name": "创建人信息,一般包含“角色:姓名”",
"create_time": "该套餐在系统中创建的时间",
"source_file": "ETL 元数据:原始导出文件名,用于数据追溯",
"source_endpoint": "ETL 元数据:采集来源(接口/文件路径),用于数据追溯",
"fetched_at": "ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理",
"payload": "ETL 元数据:完整原始 JSON 记录快照,用于回溯与二次解析",
"content_hash": "ETL 元数据:对业务字段计算 SHA256用于变更检测与去重",
"is_first_limit": "是否首单限制",
"sort": "排序",
"tenantcouponsaleorderitemid": "租户券销售订单项ID"
},
"dwd_fields": {
"dim_groupbuy_package": {
"groupbuy_package_id": "团购套餐 ID",
"tenant_id": "租户 ID当前值: 2790683160709957",
"site_id": "门店 ID → dim_site当前值: 2790685415443269",
"package_name": "套餐名称。**样本值**: \"中八、斯诺克包厢两小时\", \"斯诺克两小时\"等",
"package_template_id": "套餐模板 ID",
"selling_price": "售卖价格每笔订单不同从核销记录中dwd_groupbuy_redemption获取",
"coupon_face_value": "券面值每笔订单不同从核销记录中dwd_groupbuy_redemption获取",
"duration_seconds": "套餐时长(秒)。**样本值**: 3600=1小时, 7200=2小时, 14400=4小时 等",
"start_time": "套餐生效开始时间",
"end_time": "套餐生效结束时间",
"table_area_name": "适用台区名称。**枚举值**: \"A区\", \"VIP包厢\", \"斯诺克区\", \"B区\", \"麻将房\", \"888\"",
"is_enabled": "启用状态。**枚举值**: 1=启用, 2=停用",
"is_delete": "删除标记。**枚举值**: 0=未删除",
"create_time": "创建时间",
"tenant_table_area_id_list": "租户级台区 ID 列表",
"card_type_ids": "允许使用的卡类型 ID 列表(当前数据为 \"0\"",
"sort": "排序",
"is_first_limit": "是否首单限制",
"scd2_start_time": "SCD2 版本生效时间",
"scd2_end_time": "SCD2 版本失效时间",
"scd2_is_current": "当前版本标记",
"scd2_version": "版本号"
},
"dim_groupbuy_package_ex": {}
}
}

View File

@@ -0,0 +1,92 @@
{
"ods_table": "group_buy_redemption_records",
"ods_fields": {
"id": "本条“团购套餐流水”记录的 主键 ID",
"tenant_id": "租户/品牌 ID",
"site_id": "门店 ID与其它 JSON 中一致",
"sitename": "(待补充)",
"table_id": "球台 ID",
"tablename": "(待补充)",
"tableareaname": "(待补充)",
"tenant_table_area_id": "租户级台区分组 ID表示当前使用券的台桌所属的区域组合",
"order_trade_no": "订单交易号,和其它消费明细(台费、商品、助教、团购)共用的订单主键",
"order_settle_id": "结算单 ID小票结账主键",
"order_pay_id": "指向支付记录表中的支付流水 ID",
"order_coupon_id": "订单中“券使用记录”的 ID",
"order_coupon_channel": "来自 JSON 导出的原始字段,用于保留业务取值",
"coupon_code": "团购券券码,核销时扫描/录入的字符串",
"coupon_money": "本次核销时,这张券在门店侧对应的金额额度(“可抵扣金额”)",
"coupon_origin_id": "平台/上游系统中的券记录主键 ID“券来源 ID”",
"ledger_name": "台费侧关联的“团购项目名称”(记账名)",
"ledger_group_name": "团购项目所属的“记账分组名称”(例如“团购台费”“团购包厢”等)",
"ledger_amount": "本次券实际冲抵台费的金额",
"ledger_count": "按此次优惠实际计算的“核销秒数”",
"ledger_unit_price": "对应台费的标准单价,单位元/小时从数值来看是类似29.9/小时这种定价)",
"ledger_status": "流水状态",
"table_charge_seconds": "本次结算中该球台总计计费的秒数(整台的台费计费时间)",
"promotion_activity_id": "团购/促销活动 ID",
"promotion_coupon_id": "团购套餐定义 ID",
"promotion_seconds": "团购套餐定义的“标准时长”(券本身标称的可用时长)",
"offer_type": "优惠类型",
"assistant_promotion_money": "分摊到“助教服务”的促销金额",
"assistant_service_promotion_money": "进一步细分助教服务的促销金额",
"table_service_promotion_money": "本次券使用中,分摊到“台费服务费”部分的促销金额",
"goods_promotion_money": "本次券使用中,分摊到“商品”部分的促销金额",
"recharge_promotion_money": "来自“充值类优惠”的分摊金额(例如储值赠送部分)",
"reward_promotion_money": "本次促销中,属于“奖励金/积分抵扣”的金额",
"goodsoptionprice": "(待补充)",
"salesman_name": "营业员姓名",
"sales_man_org_id": "营业员所属组织 ID",
"salesman_role_id": "营业员角色 ID",
"salesman_user_id": "营业员/业务员用户 ID",
"operator_id": "执行本次核销/结算操作的 操作员 ID",
"operator_name": "操作员名称(包含角色说明),与 operator_id 对应的冗余展示字段",
"is_single_order": "是否单独作为一条订单行",
"is_delete": "逻辑删除标记0=否1=是)",
"create_time": "本条团购套餐使用流水创建时间(即券核销时间,或与结账时间接近)",
"payload": "ETL 元数据:完整原始 JSON 记录快照,用于回溯与二次解析",
"source_file": "ETL 元数据:原始导出文件名,用于数据追溯",
"source_endpoint": "ETL 元数据:采集来源(接口/文件路径),用于数据追溯",
"fetched_at": "ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理",
"content_hash": "ETL 元数据:对业务字段计算 SHA256用于变更检测与去重",
"assistant_service_share_money": "助教服务分摊金额",
"assistant_share_money": "助教分摊金额",
"coupon_sale_id": "优惠券销售ID",
"good_service_share_money": "商品服务分摊金额",
"goods_share_money": "商品分摊金额",
"member_discount_money": "会员折扣金额",
"recharge_share_money": "充值分摊金额",
"table_service_share_money": "台费服务分摊金额",
"table_share_money": "台费分摊金额"
},
"dwd_fields": {
"dwd_groupbuy_redemption": {
"redemption_id": "核销 ID",
"tenant_id": "租户 ID",
"site_id": "门店 ID",
"table_id": "台桌 ID → dim_table",
"tenant_table_area_id": "台区 ID",
"table_charge_seconds": "台费计费时长(秒)。**样本值**: 3600=1h, 7200=2h, 10800=3h 等",
"order_trade_no": "订单号",
"order_settle_id": "结账单 ID → dwd_settlement_head",
"order_coupon_id": "订单券 ID",
"coupon_origin_id": "券来源 ID",
"promotion_activity_id": "促销活动 ID",
"promotion_coupon_id": "促销券 ID → dim_groupbuy_package",
"order_coupon_channel": "券渠道。**枚举值**: 1=美团, 2=抖音",
"ledger_unit_price": "单价(元)。**样本值**: 29.90, 12.12, 11.11, 39.90 等",
"ledger_count": "计费数量(秒)。**样本值**: 3600=1h, 7200=2h 等",
"ledger_amount": "账本金额(元)。**样本值**: 48.00, 96.00, 68.00 等",
"coupon_money": "券面额(元)。**样本值**: 48.00, 116.00, 96.00, 68.00 等",
"promotion_seconds": "促销时长(秒)。**样本值**: 3600=1h, 7200=2h, 14400=4h 等",
"coupon_code": "券码",
"is_single_order": "是否独立订单。**枚举值**: 0=否, 1=是",
"is_delete": "删除标记。**枚举值**: 0=未删除",
"ledger_name": "套餐名称。**样本值**: \"全天A区中八一小时\", \"中八A区新人特惠一小时\" 等",
"create_time": "创建时间",
"member_discount_money": "会员折扣金额",
"coupon_sale_id": "优惠券销售 ID"
},
"dwd_groupbuy_redemption_ex": {}
}
}

View File

@@ -0,0 +1,65 @@
{
"ods_table": "member_balance_changes",
"ods_fields": {
"tenant_id": "租户/商户 ID本数据中是固定值同一品牌/商户)",
"site_id": "非 0记录所属的具体门店 ID与其他 JSON 内的 site_id 一致)",
"register_site_id": "会员卡的“注册门店 ID”即办卡所在门店",
"registersitename": "(待补充)",
"paysitename": "(待补充)",
"id": "余额变更记录的主键 ID唯一标识这一条“账户余额变化事件”",
"tenant_member_id": "商户维度的会员 ID租户内会员主键",
"tenant_member_card_id": "会员卡账户 ID在租户内唯一标识某张卡",
"system_member_id": "系统级(全局)会员 ID",
"membername": "(待补充)",
"membermobile": "(待补充)",
"card_type_id": "卡种类型 ID用于区分不同卡种",
"membercardtypename": "(待补充)",
"account_data": "本次变动的金额(元),正数表示增加,负数表示减少",
"before": "本次变动前,该卡账户的余额(元)",
"after": "本次变动后,该卡账户的余额(元)",
"refund_amount": "可能用于标记“其中有多少金额是以‘退款’形式回流的”,或区分“退回余额”和“原路退回”两种模式",
"from_type": "来自 JSON 导出的原始字段,用于保留业务取值",
"payment_method": "来自 JSON 导出的原始字段,用于保留业务取值",
"relate_id": "例如某次充值记录的 ID、某张订单/结算单 ID、某次活动抵用券核销记录 ID 等",
"remark": "当为空时,说明这条变动没有额外备注说明",
"operator_id": "执行此次余额变更操作的员工 ID",
"operator_name": "操作员姓名(带职位前缀),是对 operator_id 的可读冗余字段",
"is_delete": "逻辑删除标记0=否1=是)",
"create_time": "本条余额变更记录的创建时间,通常接近交易发生时间",
"source_file": "ETL 元数据:原始导出文件名,用于数据追溯",
"source_endpoint": "ETL 元数据:采集来源(接口/文件路径),用于数据追溯",
"fetched_at": "ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理",
"payload": "ETL 元数据:完整原始 JSON 记录快照,用于回溯与二次解析",
"content_hash": "ETL 元数据:对业务字段计算 SHA256用于变更检测与去重",
"principal_after": "变动后本金",
"principal_before": "变动前本金",
"principal_data": "本金变动数据"
},
"dwd_fields": {
"dwd_member_balance_change": {
"balance_change_id": "变动流水 ID",
"tenant_id": "租户 ID",
"site_id": "门店 ID",
"register_site_id": "注册门店 ID",
"tenant_member_id": "会员 ID → dim_member",
"system_member_id": "系统会员 ID",
"tenant_member_card_id": "会员卡 ID → dim_member_card_account",
"card_type_id": "卡类型 ID",
"card_type_name": "卡类型名称。**枚举值**: \"储值卡\", \"活动抵用券\", \"台费卡\", \"酒水卡\", \"年卡\", \"月卡\"",
"member_name": "会员名称快照",
"member_mobile": "会员手机号快照",
"balance_before": "变动前余额",
"change_amount": "变动金额(正=充值/赠送,负=消费)",
"balance_after": "变动后余额",
"from_type": "变动来源。**枚举值**: 1=结账/消费, 2=结账撤销, 3=现付充值, 4=活动赠送, 7=充值撤销/退款, 9=手动调整",
"payment_method": "支付方式,暂未启用。",
"change_time": "变动时间",
"is_delete": "删除标记",
"remark": "备注。**样本值**: \"注销会员\", \"充值退款\" 等",
"principal_before": "变动前本金",
"principal_after": "变动后本金",
"principal_change_amount": "本金变动金额(正=增加,负=减少)"
},
"dwd_member_balance_change_ex": {}
}
}

View File

@@ -0,0 +1,51 @@
{
"ods_table": "member_profiles",
"ods_fields": {
"tenant_id": "租户/品牌 ID",
"register_site_id": "会员的注册门店 ID",
"site_name": "注册门店名称,属于冗余字段,用于直接展示",
"id": "这是“租户内会员账户”的主键 ID",
"system_member_id": "这是“系统级会员 ID”在全平台唯一用来把一个会员在不同门店/不同卡类型下的账户统一到一个“人”的维度上",
"member_card_grade_code": "这两个字段是成对出现的:一个数值码,一个中文名称",
"member_card_grade_name": "这是“会员卡种类/等级”的定义字段",
"mobile": "会员绑定的手机号码",
"nickname": "会员在当前租户下的显示名称(可以是姓名,也可以是昵称)",
"point": "当前积分余额(这条会员账户的积分值)",
"growth_value": "成长值 / 经验值,用于会员等级晋升的累计指标",
"referrer_member_id": "推荐人会员 ID用于记录该会员是由哪位老会员推荐",
"status": "帐户状态(偏“卡状态/档案状态”)",
"user_status": "用户账号状态(偏“用户逻辑”层面的状态)",
"create_time": "会员账户的创建时间(即这条档案/这张卡在系统中被创建的时间)",
"source_file": "ETL 元数据:原始导出文件名,用于数据追溯",
"source_endpoint": "ETL 元数据:采集来源(接口/文件路径),用于数据追溯",
"fetched_at": "ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理",
"payload": "ETL 元数据:完整原始 JSON 记录快照,用于回溯与二次解析",
"content_hash": "ETL 元数据:对业务字段计算 SHA256用于变更检测与去重",
"pay_money_sum": "累计支付金额",
"person_tenant_org_id": "人员租户组织ID",
"person_tenant_org_name": "人员租户组织名称",
"recharge_money_sum": "累计充值金额",
"register_source": "注册来源"
},
"dwd_fields": {
"dim_member": {
"member_id": "租户内会员 IDtenant_member_id",
"system_member_id": "系统级会员 ID",
"tenant_id": "租户 ID当前值: 2790683160709957",
"register_site_id": "注册门店 ID → dim_site当前值: 2790685415443269",
"mobile": "手机号码",
"nickname": "昵称。**样本值**: \"陈先生\", \"张先生\", \"李先生\",等",
"member_card_grade_code": "卡等级代码",
"member_card_grade_name": "卡等级名称。**枚举值**: \"储值卡\", \"台费卡\", \"年卡\", \"活动抵用券\", \"月卡\"",
"create_time": "创建时间",
"update_time": "更新时间",
"pay_money_sum": "累计支付金额",
"recharge_money_sum": "累计充值金额",
"scd2_start_time": "SCD2 版本生效时间",
"scd2_end_time": "SCD2 版本失效时间",
"scd2_is_current": "当前版本标记",
"scd2_version": "版本号"
},
"dim_member_ex": {}
}
}

View File

@@ -0,0 +1,113 @@
{
"ods_table": "member_stored_value_cards",
"ods_fields": {
"tenant_id": "租户/品牌 ID与其他 JSON 中 tenant_id 一致",
"tenant_member_id": "当前商户(品牌/租户)中会员的主键 ID",
"system_member_id": "系统级会员 ID跨门店统一主键",
"register_site_id": "卡首次办理的门店 ID",
"site_name": "卡归属门店名称(视图中的展示字段)",
"id": "本表主键 ID用于唯一标识一条记录",
"member_card_grade_code": "卡等级/卡类代码,和下面两个名称字段一一对应",
"member_card_grade_code_name": "卡等级/卡类名称",
"member_card_type_name": "卡类型名称,实际与 member_card_grade_code_name 一致",
"member_name": "持卡会员姓名快照",
"member_mobile": "持卡会员手机号快照",
"card_type_id": "卡种 ID定义“这是哪一种卡”",
"card_no": "实体卡物理卡号/条码号",
"card_physics_type": "物理卡类型",
"balance": "当前卡内余额(主要针对储值卡、部分券卡)",
"denomination": "采用“几折”的记法10=不打折9=九折8=八折",
"table_discount": "数量/时长字段,用于统计与计量",
"goods_discount": "数量/时长字段,用于统计与计量",
"assistant_discount": "数量/时长字段,用于统计与计量",
"assistant_reward_discount": "数量/时长字段,用于统计与计量",
"table_service_discount": "数量/时长字段,用于统计与计量",
"assistant_service_discount": "数量/时长字段,用于统计与计量",
"coupon_discount": "数量/时长字段,用于统计与计量",
"goods_service_discount": "数量/时长字段,用于统计与计量",
"assistant_discount_sub_switch": "数量/时长字段,用于统计与计量",
"table_discount_sub_switch": "数量/时长字段,用于统计与计量",
"goods_discount_sub_switch": "数量/时长字段,用于统计与计量",
"assistant_reward_discount_sub_switch": "数量/时长字段,用于统计与计量",
"table_service_deduct_radio": "金额字段,用于计费/结算/分摊等金额计算",
"assistant_service_deduct_radio": "金额字段,用于计费/结算/分摊等金额计算",
"goods_service_deduct_radio": "金额字段,用于计费/结算/分摊等金额计算",
"assistant_deduct_radio": "金额字段,用于计费/结算/分摊等金额计算",
"table_deduct_radio": "金额字段,用于计费/结算/分摊等金额计算",
"goods_deduct_radio": "金额字段,用于计费/结算/分摊等金额计算",
"coupon_deduct_radio": "金额字段,用于计费/结算/分摊等金额计算",
"assistant_reward_deduct_radio": "金额字段,用于计费/结算/分摊等金额计算",
"tablecarddeduct": "(待补充)",
"tableservicecarddeduct": "(待补充)",
"goodscardeduct": "(待补充)",
"goodsservicecarddeduct": "(待补充)",
"assistantcarddeduct": "(待补充)",
"assistantservicecarddeduct": "(待补充)",
"assistantrewardcarddeduct": "(待补充)",
"cardsettlededuct": "(待补充)",
"couponcarddeduct": "(待补充)",
"deliveryfeededuct": "(待补充)",
"use_scene": "卡使用场景说明(比如“仅店内使用”“仅团建”等),本门店尚未使用此字段",
"able_cross_site": "是否允许跨店使用",
"is_allow_give": "是否允许转赠/转让给其他会员",
"is_allow_order_deduct": "是否允许在“订单层面统一扣款”",
"is_delete": "逻辑删除标志",
"bind_password": "卡绑定密码,用于消费或查询验证(目前未启用)",
"goods_discount_range_type": "数量/时长字段,用于统计与计量",
"goodscategoryid": "(待补充)",
"tableareaid": "(待补充)",
"effect_site_id": "卡片限定生效门店 ID",
"start_time": "卡片生效开始时间(有效期起始)",
"end_time": "卡片有效期结束时间",
"disable_start_time": "停用时间段(比如临时冻结卡的起止时间)",
"disable_end_time": "停用时间段(比如临时冻结卡的起止时间)",
"last_consume_time": "最近一次消费时间",
"create_time": "卡片创建时间(开卡时间)",
"status": "状态枚举,用于标识记录当前业务状态",
"sort": "在前端展示或某些列表中的排序权重",
"tenantavatar": "(待补充)",
"tenantname": "(待补充)",
"pdassisnatlevel": "(待补充)",
"cxassisnatlevel": "(待补充)",
"source_file": "ETL 元数据:原始导出文件名,用于数据追溯",
"source_endpoint": "ETL 元数据:采集来源(接口/文件路径),用于数据追溯",
"fetched_at": "ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理",
"payload": "ETL 元数据:完整原始 JSON 记录快照,用于回溯与二次解析",
"content_hash": "ETL 元数据:对业务字段计算 SHA256用于变更检测与去重",
"able_share_member_discount": "是否可共享会员折扣",
"electricity_deduct_radio": "电费扣减比例",
"electricity_discount": "电费折扣",
"electricitycarddeduct": "电费卡扣",
"member_grade": "会员等级",
"principal_balance": "本金余额",
"rechargefreezebalance": "充值冻结余额"
},
"dwd_fields": {
"dim_member_card_account": {
"member_card_id": "会员卡账户 ID",
"tenant_id": "租户 ID",
"register_site_id": "开卡门店 ID → dim_site",
"tenant_member_id": "持卡会员 ID → dim_member0=未绑定会员)",
"system_member_id": "系统级会员 ID",
"card_type_id": "卡种 ID",
"member_card_grade_code": "卡等级代码",
"member_card_grade_code_name": "卡等级名称。**枚举值**: \"储值卡\", \"台费卡\", \"活动抵用券\", \"酒水卡\", \"月卡\", \"年卡\"",
"member_card_type_name": "卡类型名称(与 grade_code_name 相同)",
"member_name": "持卡人姓名快照",
"member_mobile": "持卡人手机号快照",
"balance": "当前余额(元)",
"start_time": "卡生效时间",
"end_time": "卡失效时间2225-01-01=长期有效)",
"last_consume_time": "最近消费时间",
"status": "卡状态。**枚举值**: 1=正常, 4=过期",
"is_delete": "删除标记。**枚举值**: 0=未删除",
"principal_balance": "本金余额",
"member_grade": "会员等级",
"scd2_start_time": "SCD2 版本生效时间",
"scd2_end_time": "SCD2 版本失效时间",
"scd2_is_current": "当前版本标记",
"scd2_version": "版本号"
},
"dim_member_card_account_ex": {}
}
}

View File

@@ -0,0 +1,38 @@
{
"ods_table": "payment_transactions",
"ods_fields": {
"id": "支付流水记录的主键 ID",
"site_id": "支付记录所属的门店 ID",
"siteprofile": "(待补充)",
"relate_type": "表示“这条支付记录关联的业务类型”",
"relate_id": "关联业务记录的主键 ID按 relate_type 不同指向不同表)",
"pay_amount": "本条支付流水的“支付金额”,单位为元",
"pay_status": "支付状态枚举字段",
"pay_time": "实际支付完成时间(支付状态变为成功的时间戳)",
"create_time": "支付记录创建时间,通常与发起支付请求的时间一致(创建支付流水的时间戳)",
"payment_method": "支付方式枚举,例如微信、支付宝、现金、银行卡、储值卡等某一种",
"online_pay_channel": "每一笔结账单settleList.id对应一条支付记录当前样本中是一条记录relate_id 唯一)",
"source_file": "ETL 元数据:原始导出文件名,用于数据追溯",
"source_endpoint": "ETL 元数据:采集来源(接口/文件路径),用于数据追溯",
"fetched_at": "ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理",
"payload": "ETL 元数据:完整原始 JSON 记录快照,用于回溯与二次解析",
"content_hash": "ETL 元数据:对业务字段计算 SHA256用于变更检测与去重",
"tenant_id": "租户ID"
},
"dwd_fields": {
"dwd_payment": {
"payment_id": "支付流水 ID",
"site_id": "门店 ID",
"relate_type": "关联业务类型。**枚举值**: 1=预付, 2=结账, 5=充值, 6=线上商城",
"relate_id": "关联业务 ID",
"pay_amount": "支付金额(元)",
"pay_status": "支付状态。**枚举值**: 2=已支付",
"payment_method": "支付方式。**枚举值**: 2=现金支付 , 4=离线支付",
"online_pay_channel": "在线支付渠道(当前数据全为 0",
"create_time": "创建时间",
"pay_time": "支付时间",
"pay_date": "支付日期",
"tenant_id": "租户 ID"
}
}
}

View File

@@ -0,0 +1,61 @@
{
"ods_table": "platform_coupon_redemption_records",
"ods_fields": {
"id": "本条平台验券记录在本系统内的主键 ID",
"verify_id": "平台核销记录 ID某些平台会为每一次核销生成一个唯一 ID",
"certificate_id": "平台侧的凭证 ID通常由第三方团购平台生成的券实例 ID",
"coupon_code": "券码,顾客出示的团购券密码/编号",
"coupon_name": "团购券产品名称(即第三方平台上向顾客展示的名称)",
"coupon_channel": "券来源渠道(第三方平台渠道编号)",
"groupon_type": "团购券类型",
"group_package_id": "标识类 ID 字段,用于关联/定位相关实体",
"sale_price": "顾客在第三方平台上实际支付的价格(团购售价)",
"coupon_money": "券面值 / 套餐价值(系统层面的“可抵扣金额或对应套餐价值”)",
"coupon_free_time": "券附带的“免费时长”字段(例如送多少分钟台费)",
"coupon_cover": "来自 JSON 导出的原始字段,用于保留业务取值",
"coupon_remark": "来自 JSON 导出的原始字段,用于保留业务取值",
"use_status": "值 1198 条",
"consume_time": "券被核销/使用的业务时间",
"create_time": "验券记录在本系统中创建的时间(记录入库时间)",
"deal_id": "另一个层次的团购产品 ID",
"channel_deal_id": "渠道侧 dealId / 产品 ID一般是第三方平台给该团购商品定义的主键",
"site_id": "门店 ID",
"site_order_id": "门店内部的订单 ID平台券核销时对应的店内订单",
"table_id": "使用券的球台 ID",
"tenant_id": "商户/租户 ID品牌级别",
"operator_id": "操作员 ID执行验券操作的收银员/员工)",
"operator_name": "操作员姓名,例如 \"收银员:郑丽珊\"",
"is_delete": "把平台验券记录挂到本门店的一条订单上",
"siteprofile": "(待补充)",
"source_file": "ETL 元数据:原始导出文件名,用于数据追溯",
"source_endpoint": "ETL 元数据:采集来源(接口/文件路径),用于数据追溯",
"fetched_at": "ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理",
"payload": "ETL 元数据:完整原始 JSON 记录快照,用于回溯与二次解析",
"content_hash": "ETL 元数据:对业务字段计算 SHA256用于变更检测与去重"
},
"dwd_fields": {
"dwd_platform_coupon_redemption": {
"platform_coupon_redemption_id": "核销 ID",
"tenant_id": "租户 ID",
"site_id": "门店 ID",
"coupon_code": "券码",
"coupon_channel": "券渠道。**枚举值**: 1=美团, 2=抖音",
"coupon_name": "券名称。**样本值**: \"【全天可用】中八桌球一小时A区\", \"【全天可用】中八桌球两小时A区\" 等",
"sale_price": "售卖价(元)。**样本值**: 29.90, 69.90, 59.90, 39.90, 19.90 等",
"coupon_money": "券面额(元)。**样本值**: 48.00, 96.00, 116.00, 68.00 等",
"coupon_free_time": "券赠送时长(当前数据全为 0",
"channel_deal_id": "渠道交易 ID",
"deal_id": "交易 ID",
"group_package_id": "团购套餐 ID当前数据全为 0",
"site_order_id": "门店订单 ID",
"table_id": "台桌 ID → dim_table",
"certificate_id": "凭证 ID",
"verify_id": "核验 ID仅抖音券有值",
"use_status": "使用状态。**枚举值**: 1=已使用, 2=已撤销",
"is_delete": "删除标记。**枚举值**: 0=未删除",
"create_time": "创建时间",
"consume_time": "核销时间"
},
"dwd_platform_coupon_redemption_ex": {}
}
}

View File

@@ -0,0 +1,105 @@
{
"ods_table": "recharge_settlements",
"ods_fields": {
"id": "门店 ID",
"tenantid": "来自 JSON 导出的原始字段,用于保留业务取值",
"siteid": "来自 JSON 导出的原始字段,用于保留业务取值",
"sitename": "名称字段,用于展示与辅助识别",
"balanceamount": "金额字段,用于计费/结算/分摊等金额计算",
"cardamount": "金额字段,用于计费/结算/分摊等金额计算",
"cashamount": "金额字段,用于计费/结算/分摊等金额计算",
"couponamount": "金额字段,用于计费/结算/分摊等金额计算",
"createtime": "时间字段,用于记录业务时间点/发生时间",
"memberid": "来自 JSON 导出的原始字段,用于保留业务取值",
"membername": "名称字段,用于展示与辅助识别",
"tenantmembercardid": "来自 JSON 导出的原始字段,用于保留业务取值",
"membercardtypename": "名称字段,用于展示与辅助识别",
"memberphone": "来自 JSON 导出的原始字段,用于保留业务取值",
"tableid": "来自 JSON 导出的原始字段,用于保留业务取值",
"consumemoney": "金额字段,用于计费/结算/分摊等金额计算",
"onlineamount": "金额字段,用于计费/结算/分摊等金额计算",
"operatorid": "来自 JSON 导出的原始字段,用于保留业务取值",
"operatorname": "名称字段,用于展示与辅助识别",
"revokeorderid": "来自 JSON 导出的原始字段,用于保留业务取值",
"revokeordername": "名称字段,用于展示与辅助识别",
"revoketime": "时间字段,用于记录业务时间点/发生时间",
"payamount": "金额字段,用于计费/结算/分摊等金额计算",
"pointamount": "金额字段,用于计费/结算/分摊等金额计算",
"refundamount": "金额字段,用于计费/结算/分摊等金额计算",
"settlename": "名称字段,用于展示与辅助识别",
"settlerelateid": "来自 JSON 导出的原始字段,用于保留业务取值",
"settlestatus": "来自 JSON 导出的原始字段,用于保留业务取值",
"settletype": "来自 JSON 导出的原始字段,用于保留业务取值",
"paytime": "时间字段,用于记录业务时间点/发生时间",
"roundingamount": "金额字段,用于计费/结算/分摊等金额计算",
"paymentmethod": "来自 JSON 导出的原始字段,用于保留业务取值",
"adjustamount": "金额字段,用于计费/结算/分摊等金额计算",
"assistantcxmoney": "金额字段,用于计费/结算/分摊等金额计算",
"assistantpdmoney": "金额字段,用于计费/结算/分摊等金额计算",
"couponsaleamount": "金额字段,用于计费/结算/分摊等金额计算",
"memberdiscountamount": "金额字段,用于计费/结算/分摊等金额计算",
"tablechargemoney": "金额字段,用于计费/结算/分摊等金额计算",
"goodsmoney": "金额字段,用于计费/结算/分摊等金额计算",
"realgoodsmoney": "金额字段,用于计费/结算/分摊等金额计算",
"servicemoney": "金额字段,用于计费/结算/分摊等金额计算",
"prepaymoney": "金额字段,用于计费/结算/分摊等金额计算",
"salesmanname": "名称字段,用于展示与辅助识别",
"orderremark": "来自 JSON 导出的原始字段,用于保留业务取值",
"salesmanuserid": "来自 JSON 导出的原始字段,用于保留业务取值",
"canberevoked": "来自 JSON 导出的原始字段,用于保留业务取值",
"pointdiscountprice": "金额字段,用于计费/结算/分摊等金额计算",
"pointdiscountcost": "金额字段,用于计费/结算/分摊等金额计算",
"activitydiscount": "数量/时长字段,用于统计与计量",
"serialnumber": "数量/时长字段,用于统计与计量",
"assistantmanualdiscount": "数量/时长字段,用于统计与计量",
"allcoupondiscount": "数量/时长字段,用于统计与计量",
"goodspromotionmoney": "金额字段,用于计费/结算/分摊等金额计算",
"assistantpromotionmoney": "金额字段,用于计费/结算/分摊等金额计算",
"isusecoupon": "来自 JSON 导出的原始字段,用于保留业务取值",
"isusediscount": "数量/时长字段,用于统计与计量",
"isactivity": "来自 JSON 导出的原始字段,用于保留业务取值",
"isbindmember": "来自 JSON 导出的原始字段,用于保留业务取值",
"isfirst": "来自 JSON 导出的原始字段,用于保留业务取值",
"rechargecardamount": "金额字段,用于计费/结算/分摊等金额计算",
"giftcardamount": "金额字段,用于计费/结算/分摊等金额计算",
"source_file": "ETL 元数据:原始导出文件名,用于数据追溯",
"source_endpoint": "ETL 元数据:采集来源(接口/文件路径),用于数据追溯",
"fetched_at": "ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理",
"payload": "ETL 元数据:完整原始 JSON 记录快照,用于回溯与二次解析",
"content_hash": "ETL 元数据:对业务字段计算 SHA256用于变更检测与去重",
"electricityadjustmoney": "电费调整金额",
"electricitymoney": "电费金额",
"mervousalesamount": "商户券销售额",
"plcouponsaleamount": "平台券销售额",
"realelectricitymoney": "实际电费金额"
},
"dwd_fields": {
"dwd_recharge_order": {
"recharge_order_id": "充值订单 ID",
"tenant_id": "租户 ID",
"site_id": "门店 ID",
"member_id": "会员 ID → dim_member",
"member_name_snapshot": "会员名称快照",
"member_phone_snapshot": "会员电话快照",
"tenant_member_card_id": "会员卡账户 ID → dim_member_card_account",
"member_card_type_name": "卡类型名称。**枚举值**: \"储值卡\", \"月卡\"",
"settle_relate_id": "结算关联 ID",
"settle_type": "结算类型。**枚举值**: 5=充值订单, 7=充值退款",
"settle_name": "结算名称。**枚举值**: \"充值订单\", \"充值退款\"",
"is_first": "是否首充。**枚举值**: 1=是, 2=否",
"pay_amount": "充值金额(元,撤销为负数)",
"refund_amount": "退款金额",
"point_amount": "积分金额",
"cash_amount": "现金金额",
"payment_method": "支付方式,暂未启用。",
"create_time": "创建时间",
"pay_time": "支付时间",
"pl_coupon_sale_amount": "平台券销售金额",
"mervou_sales_amount": "美团/大众点评等平台销售金额",
"electricity_money": "电费金额",
"real_electricity_money": "实际电费金额",
"electricity_adjust_money": "电费调整金额"
},
"dwd_recharge_order_ex": {}
}
}

View File

@@ -0,0 +1,59 @@
{
"ods_table": "refund_transactions",
"ods_fields": {
"id": "本条 退款流水 的唯一 ID",
"tenant_id": "租户/品牌 ID全系统维度标识该商户",
"tenantname": "(待补充)",
"site_id": "门店 ID",
"siteprofile": "(待补充)",
"relate_type": "本退款对应的“业务类型”",
"relate_id": "本次退款关联的业务 ID",
"pay_sn": "来自 JSON 导出的原始字段,用于保留业务取值",
"pay_amount": "本次退款的 资金变动金额",
"refund_amount": "设计上本应显示“实际退款金额”(正数),与 pay_amount 配合使用",
"round_amount": "舍入金额/抹零金额",
"pay_status": "来自 JSON 导出的原始字段,用于保留业务取值",
"pay_time": "退款在支付渠道层面实际发生的时间",
"create_time": "本条退款流水在系统内创建时间",
"payment_method": "来自 JSON 导出的原始字段,用于保留业务取值",
"pay_terminal": "来自 JSON 导出的原始字段,用于保留业务取值",
"pay_config_id": "支付配置 ID例如商户在“非球科技”内配置的某一条支付通道某个微信商户号、银联通道的主键",
"online_pay_channel": "来自 JSON 导出的原始字段,用于保留业务取值",
"online_pay_type": "当前:全部 0",
"channel_fee": "第三方支付渠道对本次退款收取的手续费",
"channel_payer_id": "支付渠道侧的 payer ID例如微信 openid、银行卡号掩码等",
"channel_pay_no": "第三方支付平台的交易号(如微信支付单号、支付宝交易号等)",
"member_id": "租户内部的会员 ID对应会员档案中的某个主键",
"member_card_id": "关联的会员卡账户 ID对应“储值卡列表”或“会员档案”中的某一张卡",
"cashier_point_id": "收银点 ID例如前台 1、前台 2、自助机等",
"operator_id": "执行该退款操作的操作员 ID",
"action_type": "当前:全部 2",
"check_status": "当前:全部 1",
"is_revoke": "布尔/开关字段,用于表示权限、可用性或状态开关",
"is_delete": "逻辑删除标志",
"balance_frozen_amount": "涉及会员储值卡退款时,暂时冻结的余额金额",
"card_frozen_amount": "与上一个类似,偏向“某张卡的被冻结金额”,也与会员卡/储值账户相关",
"source_file": "ETL 元数据:原始导出文件名,用于数据追溯",
"source_endpoint": "ETL 元数据:采集来源(接口/文件路径),用于数据追溯",
"fetched_at": "ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理",
"payload": "ETL 元数据:完整原始 JSON 记录快照,用于回溯与二次解析",
"content_hash": "ETL 元数据:对业务字段计算 SHA256用于变更检测与去重"
},
"dwd_fields": {
"dwd_refund": {
"refund_id": "退款流水 ID",
"tenant_id": "租户 ID",
"site_id": "门店 ID",
"relate_type": "关联业务类型。**枚举值**: 1(7)=预付退款 , 2(31)=结账退款, 5(7)=充值退款",
"relate_id": "关联业务 ID",
"pay_amount": "退款金额(元,负数)",
"channel_fee": "渠道手续费",
"pay_time": "退款时间",
"create_time": "创建时间",
"payment_method": "支付方式,暂无用途。",
"member_id": "会员 ID当前数据全为 0",
"member_card_id": "会员卡 ID当前数据全为 0"
},
"dwd_refund_ex": {}
}
}

View File

@@ -0,0 +1,118 @@
{
"ods_table": "settlement_records",
"ods_fields": {
"id": "结账记录主键 ID订单结算 ID",
"tenantid": "来自 JSON 导出的原始字段,用于保留业务取值",
"siteid": "来自 JSON 导出的原始字段,用于保留业务取值",
"sitename": "名称字段,用于展示与辅助识别",
"balanceamount": "金额字段,用于计费/结算/分摊等金额计算",
"cardamount": "金额字段,用于计费/结算/分摊等金额计算",
"cashamount": "金额字段,用于计费/结算/分摊等金额计算",
"couponamount": "金额字段,用于计费/结算/分摊等金额计算",
"createtime": "时间字段,用于记录业务时间点/发生时间",
"memberid": "来自 JSON 导出的原始字段,用于保留业务取值",
"membername": "名称字段,用于展示与辅助识别",
"tenantmembercardid": "来自 JSON 导出的原始字段,用于保留业务取值",
"membercardtypename": "名称字段,用于展示与辅助识别",
"memberphone": "来自 JSON 导出的原始字段,用于保留业务取值",
"tableid": "来自 JSON 导出的原始字段,用于保留业务取值",
"consumemoney": "金额字段,用于计费/结算/分摊等金额计算",
"onlineamount": "金额字段,用于计费/结算/分摊等金额计算",
"operatorid": "来自 JSON 导出的原始字段,用于保留业务取值",
"operatorname": "名称字段,用于展示与辅助识别",
"revokeorderid": "来自 JSON 导出的原始字段,用于保留业务取值",
"revokeordername": "名称字段,用于展示与辅助识别",
"revoketime": "时间字段,用于记录业务时间点/发生时间",
"payamount": "金额字段,用于计费/结算/分摊等金额计算",
"pointamount": "金额字段,用于计费/结算/分摊等金额计算",
"refundamount": "金额字段,用于计费/结算/分摊等金额计算",
"settlename": "名称字段,用于展示与辅助识别",
"settlerelateid": "来自 JSON 导出的原始字段,用于保留业务取值",
"settlestatus": "来自 JSON 导出的原始字段,用于保留业务取值",
"settletype": "来自 JSON 导出的原始字段,用于保留业务取值",
"paytime": "时间字段,用于记录业务时间点/发生时间",
"roundingamount": "金额字段,用于计费/结算/分摊等金额计算",
"paymentmethod": "来自 JSON 导出的原始字段,用于保留业务取值",
"adjustamount": "金额字段,用于计费/结算/分摊等金额计算",
"assistantcxmoney": "金额字段,用于计费/结算/分摊等金额计算",
"assistantpdmoney": "金额字段,用于计费/结算/分摊等金额计算",
"couponsaleamount": "金额字段,用于计费/结算/分摊等金额计算",
"memberdiscountamount": "金额字段,用于计费/结算/分摊等金额计算",
"tablechargemoney": "金额字段,用于计费/结算/分摊等金额计算",
"goodsmoney": "金额字段,用于计费/结算/分摊等金额计算",
"realgoodsmoney": "金额字段,用于计费/结算/分摊等金额计算",
"servicemoney": "金额字段,用于计费/结算/分摊等金额计算",
"prepaymoney": "金额字段,用于计费/结算/分摊等金额计算",
"salesmanname": "名称字段,用于展示与辅助识别",
"orderremark": "来自 JSON 导出的原始字段,用于保留业务取值",
"salesmanuserid": "来自 JSON 导出的原始字段,用于保留业务取值",
"canberevoked": "来自 JSON 导出的原始字段,用于保留业务取值",
"pointdiscountprice": "金额字段,用于计费/结算/分摊等金额计算",
"pointdiscountcost": "金额字段,用于计费/结算/分摊等金额计算",
"activitydiscount": "数量/时长字段,用于统计与计量",
"serialnumber": "数量/时长字段,用于统计与计量",
"assistantmanualdiscount": "数量/时长字段,用于统计与计量",
"allcoupondiscount": "数量/时长字段,用于统计与计量",
"goodspromotionmoney": "金额字段,用于计费/结算/分摊等金额计算",
"assistantpromotionmoney": "金额字段,用于计费/结算/分摊等金额计算",
"isusecoupon": "来自 JSON 导出的原始字段,用于保留业务取值",
"isusediscount": "数量/时长字段,用于统计与计量",
"isactivity": "来自 JSON 导出的原始字段,用于保留业务取值",
"isbindmember": "来自 JSON 导出的原始字段,用于保留业务取值",
"isfirst": "来自 JSON 导出的原始字段,用于保留业务取值",
"rechargecardamount": "金额字段,用于计费/结算/分摊等金额计算",
"giftcardamount": "金额字段,用于计费/结算/分摊等金额计算",
"source_file": "ETL 元数据:原始导出文件名,用于数据追溯",
"source_endpoint": "ETL 元数据:采集来源(接口/文件路径),用于数据追溯",
"fetched_at": "ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理",
"payload": "ETL 元数据:完整原始 JSON 记录快照,用于回溯与二次解析",
"content_hash": "ETL 元数据:对业务字段计算 SHA256用于变更检测与去重",
"electricityadjustmoney": "电费调整金额",
"electricitymoney": "电费金额",
"mervousalesamount": "商户券销售额",
"plcouponsaleamount": "平台券销售额",
"realelectricitymoney": "实际电费金额"
},
"dwd_fields": {
"dwd_settlement_head": {
"order_settle_id": "结账单 ID",
"tenant_id": "租户 ID",
"site_id": "门店 ID → dim_site",
"site_name": "门店名称。**当前值**: \"朗朗桌球\"",
"table_id": "台桌 ID → dim_table0=非台桌订单,如商城订单)",
"settle_name": "结账名称。**样本值**: \"商城订单\", \"A区 A3\", \"A区 A4\", \"斯诺克区 S1\"",
"order_trade_no": "订单号",
"create_time": "创建时间",
"pay_time": "支付时间",
"settle_type": "结账类型。**枚举值**: 1=台桌结账, 3=商城订单, 6=退货订单, 7=退款订单",
"revoke_order_id": "撤销订单 ID当前数据全为 0",
"member_id": "会员 ID → dim_member0=散客,占比约 82.8%",
"member_name": "会员名称",
"member_phone": "会员电话",
"member_card_account_id": "会员卡账户 ID当前数据全为 0",
"member_card_type_name": "卡类型名称(当前数据全为空)",
"is_bind_member": "是否绑定会员。**枚举值**: False=否",
"member_discount_amount": "会员折扣金额",
"consume_money": "消费总金额(元)",
"table_charge_money": "台费金额",
"goods_money": "商品金额",
"real_goods_money": "实收商品金额",
"assistant_pd_money": "助教陪打费用",
"assistant_cx_money": "助教超休费用",
"adjust_amount": "调整金额",
"pay_amount": "实付金额",
"balance_amount": "余额支付金额",
"recharge_card_amount": "储值卡支付金额",
"gift_card_amount": "礼品卡支付金额",
"coupon_amount": "券抵扣金额",
"rounding_amount": "抹零金额",
"point_amount": "积分抵扣等值金额",
"electricity_money": "电费金额",
"real_electricity_money": "实际电费金额",
"electricity_adjust_money": "电费调整金额",
"pl_coupon_sale_amount": "平台券销售额",
"mervou_sales_amount": "商户券销售额"
},
"dwd_settlement_head_ex": {}
}
}

View File

@@ -0,0 +1,53 @@
{
"ods_table": "site_tables_master",
"ods_fields": {
"id": "台桌主键 ID",
"site_id": "门店 ID",
"sitename": "(待补充)",
"appletqrcodeurl": "(待补充)",
"areaname": "(待补充)",
"audit_status": "当前值:全部为 2",
"charge_free": "当前值:全部为 0",
"create_time": "台桌配置的创建时间或最近一次创建/复制时间",
"delay_lights_time": "台灯熄灭延迟时间(单位多半是秒或分钟),用于结账后延时关灯",
"is_online_reservation": "布尔/开关字段,用于表示权限、可用性或状态开关",
"is_rest_area": "当前值:全部为 0",
"light_status": "来自 JSON 导出的原始字段,用于保留业务取值",
"only_allow_groupon": "小程序二维码 URL",
"order_delay_time": "订单层面允许的“自动延时时长”(例如到点后自动延长多少时间继续计费)",
"self_table": "当前值:全部为 1",
"show_status": "来自 JSON 导出的原始字段,用于保留业务取值",
"site_table_area_id": "门店维度的“台桌区域 ID”",
"tablestatusname": "(待补充)",
"table_cloth_use_cycle": "(待补充)",
"table_cloth_use_time": "时间字段,用于记录业务时间点/发生时间",
"table_name": "台号/台名称,用于前台操作界面展示,也出现在小票和各种流水中的 ledger_name 或 tableName 字段",
"table_price": "设计上应为“台的基础单价”字段(例如按小时或按局单价)",
"table_status": "台当前运行状态,真实反映某一时刻台的占用/暂停情况",
"temporary_light_second": "临时点灯时长(秒),例如手动临时开灯一段时间",
"virtual_table": "当前值:全部为 0",
"source_file": "ETL 元数据:原始导出文件名,用于数据追溯",
"source_endpoint": "ETL 元数据:采集来源(接口/文件路径),用于数据追溯",
"fetched_at": "ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理",
"payload": "ETL 元数据:完整原始 JSON 记录快照,用于回溯与二次解析",
"content_hash": "ETL 元数据:对业务字段计算 SHA256用于变更检测与去重",
"order_id": "订单ID"
},
"dwd_fields": {
"dim_table": {
"table_id": "台桌 ID",
"site_id": "门店 ID → dim_site",
"table_name": "台桌名称。**样本值**: \"A1\", \"A2\", \"B1\", \"B2\", \"S1\", \"C1\", \"VIP1\", \"M3\", \"666\" 等",
"site_table_area_id": "台区 ID",
"site_table_area_name": "台区名称。**样本值**: \"A区\", \"B区\", \"补时长\", \"C区\", \"麻将房\", \"K包\", \"VIP包厢\", \"斯诺克区\", \"666\", \"k包活动区\", \"M7\" 等",
"tenant_table_area_id": "租户级台区 ID",
"table_price": "台桌单价(当前数据全为 0.00",
"order_id": "订单 ID",
"scd2_start_time": "SCD2 版本生效时间",
"scd2_end_time": "SCD2 版本失效时间",
"scd2_is_current": "当前版本标记",
"scd2_version": "版本号"
},
"dim_table_ex": {}
}
}

View File

@@ -0,0 +1,41 @@
{
"ods_table": "stock_goods_category_tree",
"ods_fields": {
"id": "分类节点主键 ID在商品分类维度中的唯一标识",
"tenant_id": "租户 ID品牌/商户 ID",
"category_name": "分类名称(实际业务分类名称)",
"alias_name": "名称字段,用于展示与辅助识别",
"pid": "父级分类 ID",
"business_name": "业务大类名称",
"tenant_goods_business_id": "业务大类 ID",
"open_salesman": "是否启用“营业员”或“导购提成”相关的功能开关",
"categoryboxes": "(待补充)",
"sort": "分类的排序序号,用于前端展示顺序的控制",
"is_warehousing": "本文件可视为“所有参与库存管理的商品分类清单”,因此均为 1",
"source_file": "ETL 元数据:原始导出文件名,用于数据追溯",
"source_endpoint": "ETL 元数据:采集来源(接口/文件路径),用于数据追溯",
"fetched_at": "ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理",
"payload": "ETL 元数据:完整原始 JSON 记录快照,用于回溯与二次解析",
"content_hash": "ETL 元数据:对业务字段计算 SHA256用于变更检测与去重"
},
"dwd_fields": {
"dim_goods_category": {
"category_id": "分类唯一标识",
"tenant_id": "租户 ID当前值: 2790683160709957",
"category_name": "分类名称。**样本值**: \"槟榔\", \"皮头\" 等",
"alias_name": "分类别名(当前数据大部分为空)",
"parent_category_id": "父级分类 ID0=一级分类)→ 自关联",
"business_name": "业务大类名称。**样本值**: \"酒水\", \"器材\" 等",
"tenant_goods_business_id": "业务大类 ID",
"category_level": "分类层级。**枚举值**: 1=一级大类, 2=二级子类",
"is_leaf": "是否叶子节点。**枚举值**: 0=非叶子, 1=叶子",
"open_salesman": "营业员开关。",
"sort_order": "排序序号",
"is_warehousing": "是否库存管理。**枚举值**: 1=参与库存管理",
"scd2_start_time": "SCD2 版本生效时间",
"scd2_end_time": "SCD2 版本失效时间",
"scd2_is_current": "当前版本标记",
"scd2_version": "版本号"
}
}
}

View File

@@ -0,0 +1,88 @@
{
"ods_table": "store_goods_master",
"ods_fields": {
"id": "门店商品 ID门店维度的商品主键",
"tenant_id": "租户/品牌 ID",
"site_id": "门店 ID",
"sitename": "(待补充)",
"tenant_goods_id": "租户/品牌维度的商品 ID相当于“全局商品 ID”",
"goods_name": "商品名称,例如“合味道泡面”“地道肠”“麻将房茶位费”等",
"goods_bar_code": "商品条形码(如 EAN-13 编码),用于扫码销售",
"goods_category_id": "商品一级分类 ID",
"goods_second_category_id": "商品二级分类 ID",
"onecategoryname": "(待补充)",
"twocategoryname": "(待补充)",
"unit": "商品计量单位(销售单位)",
"sale_price": "商品标准销售价(挂牌价),单位为元",
"cost_price": "商品成本价(单件成本)",
"cost_price_type": "1 代表使用“固定成本价”(手工维护的 cost_priceprovisional_total_cost 按“数量 × cost_price”算",
"min_discount_price": "最低允许成交价(限价)",
"safe_stock": "安全库存量(阈值),低于该值时系统可以提示补货",
"stock": "当前可用库存数量(以 unit 为单位)",
"stock_a": "(待补充)",
"sale_num": "在当前统计口径下的销售数量(总销量,单位同 unit",
"total_purchase_cost": "总采购成本,单位为元",
"total_sales": "累计销售数量",
"average_monthly_sales": "平均月销量(件/月),根据某个统计周期内的销售数据折算而来",
"batch_stock_quantity": "当前“批次”的库存数量(主单位)",
"days_available": "商品“在架天数”或“可售天数”,大致等于当前时间减去首次上架时间",
"provisional_total_cost": "暂估总成本,单位为元",
"enable_status": "控制商品档案是否参与任何业务(库存、销售等)",
"audit_status": "观察值:全部为 2",
"goods_state": "来自 JSON 导出的原始字段,用于保留业务取值",
"is_delete": "逻辑删除标志",
"is_warehousing": "是否纳入库存管理",
"able_discount": "是否允许参与折扣",
"able_site_transfer": "表示是否允许跨门店调拨或跨站点共享库存",
"forbid_sell_status": "观察值:全部为 1",
"freeze": "(待补充)",
"send_state": "观察值:全部为 1",
"custom_label_type": "自定义标签类型",
"option_required": "是否需要在销售时选择规格/选项",
"sale_channel": "销售渠道类型",
"sort": "排序权重,用于前端商品列表展示时的排版顺序,数值越小/越大哪个优先,具体规则看系统设定(一般是数值越小排序越靠前)",
"remark": "商品备注(可以写口味说明、供应商、注意事项等)",
"pinyin_initial": "商品名称的拼音首字母缩写,有时多个别名用逗号分隔",
"goods_cover": "商品图片 URL如 OSS 对象存储地址),用于前端展示商品图片",
"create_time": "门店商品档案创建时间(商品在门店建立档案的时间点)",
"update_time": "最后一次修改该商品档案的时间(包括价格调整、状态变更等)",
"payload": "ETL 元数据:完整原始 JSON 记录快照,用于回溯与二次解析",
"source_file": "ETL 元数据:原始导出文件名,用于数据追溯",
"source_endpoint": "ETL 元数据:采集来源(接口/文件路径),用于数据追溯",
"fetched_at": "ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理",
"content_hash": "ETL 元数据:对业务字段计算 SHA256用于变更检测与去重",
"commodity_code": "商品编码",
"not_sale": "(待补充)"
},
"dwd_fields": {
"dim_store_goods": {
"site_goods_id": "门店商品 ID",
"tenant_id": "租户 ID",
"site_id": "门店 ID → dim_site",
"tenant_goods_id": "租户商品 ID → dim_tenant_goods",
"goods_name": "商品名称。**样本值**: \"双中支中华\", \"炫赫门小南京\"等",
"goods_category_id": "一级分类 ID → dim_goods_category",
"goods_second_category_id": "二级分类 ID → dim_goods_category",
"category_level1_name": "一级分类名称。**样本值**: \"零食\", \"酒水\", \"其他\", \"香烟\" 等",
"category_level2_name": "二级分类名称。**样本值**: \"零食\", \"饮料\", \"其他2\", \"香烟\", \"雪糕\", \"酒水\", \"球杆\", \"槟榔\" 等",
"batch_stock_qty": "批次库存数量",
"sale_qty": "销售数量",
"total_sales_qty": "累计销售数量",
"sale_price": "销售价格(元)",
"created_at": "创建时间",
"updated_at": "更新时间",
"avg_monthly_sales": "月均销量",
"goods_state": "商品状态。**枚举值**: 1=上架, 2=下架",
"enable_status": "启用状态。**枚举值**: 1=启用",
"send_state": "配送状态。暂无作用",
"is_delete": "删除标记。**枚举值**: 0=未删除",
"commodity_code": "商品编码",
"not_sale": "是否停售",
"scd2_start_time": "SCD2 版本生效时间",
"scd2_end_time": "SCD2 版本失效时间",
"scd2_is_current": "当前版本标记",
"scd2_version": "版本号"
},
"dim_store_goods_ex": {}
}
}

View File

@@ -0,0 +1,90 @@
{
"ods_table": "store_goods_sales_records",
"ods_fields": {
"id": "本条「门店销售流水」记录的主键 ID",
"tenant_id": "租户/品牌 ID",
"site_id": "门店 ID系统主键",
"siteid": "来自 JSON 导出的原始字段,用于保留业务取值",
"sitename": "名称字段,用于展示与辅助识别",
"site_goods_id": "门店商品 ID",
"tenant_goods_id": "租户(品牌)级商品 ID全局商品 ID",
"order_settle_id": "订单结算 ID结账单主键",
"order_trade_no": "订单交易号(业务单号)",
"order_goods_id": "订单商品明细 ID订单内部的商品行主键",
"ordergoodsid": "来自 JSON 导出的原始字段,用于保留业务取值",
"order_pay_id": "关联支付记录的 ID",
"order_coupon_id": "订单级优惠券 ID",
"ledger_name": "销售项目名称(商品名称),例如 “哇哈哈矿泉水”“地道肠”“东方树叶”等",
"ledger_group_name": "销售项目所属的「门店内部分组名称」,类似前台菜单分组或大类标签",
"ledger_amount": "原始应收金额,公式上接近 ledger_unit_price × ledger_count",
"ledger_count": "销售数量(以 unit 为单位unit 字段在门店商品档案中)",
"ledger_unit_price": "商品在该次销售中的「结算单价」(元/单位)",
"ledger_status": "销售流水状态",
"discount_money": "本条销售明细的「价格优惠金额」,即原价部分被减免掉的金额",
"discount_price": "折后单价(元/单位)",
"coupon_deduct_money": "被优惠券 / 团购券直接抵扣到这条商品明细上的金额",
"member_discount_amount": "由会员身份(会员折扣)针对这一行商品产生的优惠金额",
"option_coupon_deduct_money": "由优惠券抵扣“选项价格”的金额",
"option_member_discount_money": "由会员折扣作用在“选项价格”上的优惠金额",
"point_discount_money": "由积分抵扣的金额(顾客兑换积分抵现金额)",
"point_discount_money_cost": "积分抵扣对应的“成本金额”(后台核算用),例如按积分成本来计提费用",
"real_goods_money": "商品实际入账金额(考虑折扣、可能还会考虑其它抵扣后的实际销售金额)",
"cost_money": "本条销售对应的成本金额(以元计)",
"push_money": "本条销售对应的提成金额(给营业员/促销员的提成)",
"sales_type": "销售类型",
"is_single_order": "是否单独订单标识",
"is_delete": "逻辑删除标志",
"goods_remark": "商品备注/口味说明/特殊说明",
"option_price": "商品选项(规格/加料)的附加价格",
"option_value_name": "商品选项名称(如规格、口味:大杯/小杯,不加冰等)",
"member_coupon_id": "会员券 ID比如会员专享优惠券",
"package_coupon_id": "套餐券 ID",
"sales_man_org_id": "营业员所属组织/部门 ID",
"salesman_name": "营业员姓名(如果有为具体销售员记业绩,则在此填姓名)",
"salesman_role_id": "营业员的系统角色 ID例如某个角色代码表示“销售员”",
"salesman_user_id": "营业员用户 ID系统账号 ID",
"operator_id": "操作员 ID录入这笔销售的员工",
"operator_name": "操作员姓名,文字冗余",
"opensalesman": "(待补充)",
"returns_number": "退货数量(如果这条明细做了退货,会记录退货数量)",
"site_table_id": "球台 ID",
"tenant_goods_business_id": "租户级商品「业务大类」ID例如“零食类”“酒水类”等更高维度",
"tenant_goods_category_id": "租户级商品一级分类 ID",
"create_time": "销售记录创建时间,通常就是结账时间或录入时间",
"payload": "ETL 元数据:完整原始 JSON 记录快照,用于回溯与二次解析",
"source_file": "ETL 元数据:原始导出文件名,用于数据追溯",
"source_endpoint": "ETL 元数据:采集来源(接口/文件路径),用于数据追溯",
"fetched_at": "ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理",
"content_hash": "ETL 元数据:对业务字段计算 SHA256用于变更检测与去重",
"coupon_share_money": "优惠券分摊金额"
},
"dwd_fields": {
"dwd_store_goods_sale": {
"store_goods_sale_id": "销售流水 ID",
"order_trade_no": "订单号",
"order_settle_id": "结账单 ID → dwd_settlement_head",
"order_pay_id": "支付单 ID当前数据全为 0",
"order_goods_id": "订单商品 ID0=商城订单)",
"site_id": "门店 ID",
"tenant_id": "租户 ID",
"site_goods_id": "门店商品 ID → dim_store_goods",
"tenant_goods_id": "租户商品 ID → dim_tenant_goods",
"tenant_goods_category_id": "商品分类 ID",
"tenant_goods_business_id": "业务大类 ID",
"site_table_id": "台桌 ID0=商城订单,非台桌消费)",
"ledger_name": "商品名称。**样本值**: \"哇哈哈矿泉水\", \"东方树叶\", \"可乐\" 等",
"ledger_group_name": "商品分类。**样本值**: \"酒水\", \"零食\", \"香烟\" 等",
"ledger_unit_price": "单价(元)",
"ledger_count": "购买数量。**样本值**: 1, 2, 3, 4 等",
"ledger_amount": "销售金额(元)",
"discount_price": "折扣金额",
"real_goods_money": "实收金额",
"cost_money": "成本金额",
"ledger_status": "账本状态。**枚举值**: 1=已结算",
"is_delete": "删除标记。**枚举值**: 0=未删除",
"create_time": "创建时间",
"coupon_share_money": "优惠券分摊金额"
},
"dwd_store_goods_sale_ex": {}
}
}

View File

@@ -0,0 +1,59 @@
{
"ods_table": "table_fee_discount_records",
"ods_fields": {
"id": "台费打折 / 调整流水主键 ID",
"tenant_id": "租户/品牌 ID",
"site_id": "门店 ID本批数据全部为同一家门店朗朗桌球",
"siteprofile": "(待补充)",
"site_table_id": "台桌 ID",
"tableprofile": "(待补充)",
"tenant_table_area_id": "租户维度的“台桌区域 ID”",
"adjust_type": "文件名是“台费打折”,字段名为“调整类型”,当前所有记录都是 1即“台费打折/台费减免”这一种调整类型",
"ledger_amount": "金额字段,用于计费/结算/分摊等金额计算",
"ledger_count": "这里不是“秒数”,而是“调整次数/条数”的量化,目前固定为 1表示“一次调账事件”",
"ledger_name": "设计上应该用于记录“调账项目名称”或“打折原因描述”(例如某种优惠规则名称),但当前门店并未使用该字段",
"ledger_status": "来自 JSON 导出的原始字段,用于保留业务取值",
"applicant_id": "打折/调账申请人 ID",
"applicant_name": "申请人姓名(带角色描述),为 applicant_id 的冗余显示字段",
"operator_id": "实际执行调账操作的操作员 ID",
"operator_name": "操作员姓名",
"order_settle_id": "结算单/小票 ID",
"order_trade_no": "订单交易号",
"is_delete": "逻辑删除标记0=否1=是)",
"create_time": "台费调整记录的创建时间,即打折操作被执行的时间戳",
"source_file": "ETL 元数据:原始导出文件名,用于数据追溯",
"source_endpoint": "ETL 元数据:采集来源(接口/文件路径),用于数据追溯",
"fetched_at": "ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理",
"payload": "ETL 元数据:完整原始 JSON 记录快照,用于回溯与二次解析",
"content_hash": "ETL 元数据:对业务字段计算 SHA256用于变更检测与去重",
"area_type_id": "区域类型ID",
"charge_free": "是否免费",
"site_table_area_id": "门店台区ID",
"site_table_area_name": "门店台区名称",
"sitename": "门店名称",
"table_name": "台桌名称",
"table_price": "台桌价格",
"tenant_name": "租户名称"
},
"dwd_fields": {
"dwd_table_fee_adjust": {
"table_fee_adjust_id": "台费调整 ID",
"order_trade_no": "订单号",
"order_settle_id": "结账单 ID → dwd_settlement_head",
"tenant_id": "租户 ID",
"site_id": "门店 ID",
"table_id": "台桌 ID → dim_table",
"table_area_id": "台区 ID",
"table_area_name": "台区名称(当前数据全为 NULL",
"tenant_table_area_id": "租户台区 ID",
"ledger_amount": "调整金额(元)",
"ledger_status": "账本状态。**枚举值**: 0=待确认, 1=已确认",
"is_delete": "删除标记。**枚举值**: 0=未删除",
"table_name": "台桌名称",
"table_price": "台桌价格",
"charge_free": "是否免费",
"adjust_time": "调整时间"
},
"dwd_table_fee_adjust_ex": {}
}
}

View File

@@ -0,0 +1,106 @@
{
"ods_table": "table_fee_transactions",
"ods_fields": {
"id": "台费流水记录主键(事实表主键)",
"tenant_id": "租户/品牌 ID",
"site_id": "门店 ID本次数据全部来自同一门店朗朗桌球",
"siteprofile": "(待补充)",
"site_table_id": "球台 ID",
"site_table_area_id": "门店内“台桌区域” ID站在门店物理布局的角度",
"site_table_area_name": "台桌区域的名称,用于门店表现和区域统计",
"tenant_table_area_id": "租户维度的台桌区域 ID品牌层面的同一类区域",
"order_trade_no": "订单交易号,是整笔订单的主编号",
"order_pay_id": "订单支付记录 ID",
"order_settle_id": "结算单号/结账 ID对应一次结账操作",
"ledger_name": "台号名称,实际展示给员工/顾客看的桌台编号",
"ledger_amount": "按单价与计费时长计算出的原始应收台费金额",
"ledger_count": "台账记录的计费秒数,计费用秒数(应收时长)",
"ledger_unit_price": "台费结算时设置的 每小时单价/计费单价",
"ledger_status": "来自 JSON 导出的原始字段,用于保留业务取值",
"ledger_start_time": "台账上的计费起始时间",
"ledger_end_time": "台账上的计费结束时间",
"start_use_time": "台开始使用的时间(实际开台时间)",
"last_use_time": "最后使用/操作时间",
"real_table_use_seconds": "实际使用的总秒数(系统真实统计的使用时长)",
"real_table_charge_money": "台费中实际向顾客收取的金额(现金/实付维度,未含券方承担或内部调账的那一部分)",
"add_clock_seconds": "加钟秒数,在原有使用基础上追加的时长",
"adjust_amount": "调整金额/调账金额,用于将台费金额转移或冲减到其它项目,或手工调整",
"coupon_promotion_amount": "由优惠券/活动/团购(平台/门店促销)承担的优惠金额,直接抵扣在台费上",
"member_discount_amount": "由会员权益产生的优惠金额,例如会员折扣、会员价等",
"used_card_amount": "由储值卡、次卡等“卡内余额”抵扣的金额",
"mgmt_fee": "管理费字段,用于未来支持“台费附加管理费/服务费”的功能",
"service_money": "门店用于记录“服务费/成本/分成金额”的字段,类似助教流水里的 service_money",
"fee_total": "各种附加费用(如管理费、服务费)合计值",
"is_single_order": "布尔/开关字段,用于表示权限、可用性或状态开关",
"is_delete": "逻辑删除标记0=否1=是)",
"member_id": "门店/租户内的会员 ID",
"operator_id": "操作员 ID负责开台/结账的员工账号 ID",
"operator_name": "操作员姓名(冗余字段),便于直接阅读,不必再联表员工档案",
"salesman_name": "业务员/营业员姓名,如果台费有单独提成员工,这里记录归属人",
"salesman_org_id": "营业员所属机构/部门 ID",
"salesman_user_id": "营业员的用户 ID与 salesman_name 搭配)",
"create_time": "这条台费流水记录的创建时间,通常接近结账时间",
"payload": "ETL 元数据:完整原始 JSON 记录快照,用于回溯与二次解析",
"source_file": "ETL 元数据:原始导出文件名,用于数据追溯",
"source_endpoint": "ETL 元数据:采集来源(接口/文件路径),用于数据追溯",
"fetched_at": "ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理",
"content_hash": "ETL 元数据:对业务字段计算 SHA256用于变更检测与去重",
"activity_discount_amount": "活动折扣金额",
"order_consumption_type": "订单消费类型",
"real_service_money": "实际服务费金额"
},
"dwd_fields": {
"dim_site": {
"site_id": "门店 ID",
"org_id": "组织机构 ID",
"tenant_id": "租户 ID当前值: 2790683160709957",
"shop_name": "门店名称。**当前值**: \"朗朗桌球\"",
"site_label": "门店标签。**当前值**: \"A\"",
"full_address": "详细地址。**当前值**: \"广东省广州市天河区丽阳街12号\"",
"address": "地址描述。**当前值**: \"广东省广州市天河区天园街道朗朗桌球\"",
"longitude": "经度。**当前值**: 113.360321",
"latitude": "纬度。**当前值**: 23.133629",
"tenant_site_region_id": "区域 ID。**当前值**: 156440100",
"business_tel": "联系电话。**当前值**: \"13316068642\"",
"site_type": "门店类型。**枚举值**: 1(1)=**[待确认]**",
"shop_status": "营业状态。**枚举值**: 1(1)=营业中 **[待确认]**",
"scd2_start_time": "SCD2 版本生效时间",
"scd2_end_time": "SCD2 版本失效时间",
"scd2_is_current": "当前版本标记",
"scd2_version": "版本号"
},
"dim_site_ex": {},
"dwd_table_fee_log": {
"table_fee_log_id": "台费流水 ID",
"order_trade_no": "订单号",
"order_settle_id": "结账单 ID → dwd_settlement_head",
"order_pay_id": "支付单 ID当前数据全为 0",
"tenant_id": "租户 ID",
"site_id": "门店 ID",
"site_table_id": "台桌 ID → dim_table",
"site_table_area_id": "台区 ID",
"site_table_area_name": "台区名称。**枚举值**: \"A区\", \"B区\", \"斯诺克区\", \"麻将房\", \"C区\", \"补时长\", \"VIP包厢\" 等",
"tenant_table_area_id": "租户级台区 ID",
"member_id": "会员 ID0=散客,占比约 82.4%",
"ledger_name": "台桌名称。**样本值**: \"A3\", \"A5\", \"A4\", \"S1\", \"B5\", \"M3\" 等",
"ledger_unit_price": "单价(元/小时),如 48.00/58.00/68.00",
"ledger_count": "计费时长(秒)。**样本值**: 3600=1h, 7200=2h, 10800=3h 等",
"ledger_amount": "计费金额(元)",
"real_table_charge_money": "实收台费金额",
"coupon_promotion_amount": "券促销金额",
"member_discount_amount": "会员折扣金额",
"adjust_amount": "调整金额",
"real_table_use_seconds": "实际使用时长(秒)",
"add_clock_seconds": "加时时长(秒),大多为 0",
"start_use_time": "开台时间",
"ledger_end_time": "结账时间",
"create_time": "记录创建时间",
"ledger_status": "账本状态。**枚举值**: 1=已结算",
"is_single_order": "是否独立订单。**枚举值**: 0=合并订单, 1=独立订单",
"is_delete": "删除标记。**枚举值**: 0=未删除",
"activity_discount_amount": "活动折扣金额",
"real_service_money": "实际服务费金额"
},
"dwd_table_fee_log_ex": {}
}
}

View File

@@ -0,0 +1,66 @@
{
"ods_table": "tenant_goods_master",
"ods_fields": {
"id": "商品档案主键 ID唯一标识一条商品",
"tenant_id": "租户/品牌 ID",
"goods_name": "商品名称(前台展示名称)",
"goods_bar_code": "商品条码EAN 等),目前未维护",
"goods_category_id": "商品一级分类 ID",
"goods_second_category_id": "商品二级分类 ID",
"categoryname": "(待补充)",
"unit": "计量单位",
"goods_number": "商品内部编码(自定义货号/系统货号)",
"out_goods_id": "外部系统商品 ID对接第三方平台使用如外卖、线上商城等",
"goods_state": "商品状态(上架/下架等)",
"sale_channel": "销售渠道类型,如“门店堂食/线下零售/线上小程序”等的一种编码",
"able_discount": "是否允许参与折扣/打折",
"able_site_transfer": "布尔/开关字段,用于表示权限、可用性或状态开关",
"is_delete": "逻辑删除标志",
"is_warehousing": "是否启用库存管理",
"isinsite": "(待补充)",
"cost_price": "成本价格",
"cost_price_type": "金额字段,用于计费/结算/分摊等金额计算",
"market_price": "商品标价 / 售价(标准销售单价)",
"min_discount_price": "该商品允许售卖的最低价格(底价)",
"common_sale_royalty": "普通销售提成比例或提成金额的配置字段",
"point_sale_royalty": "积分销售提成/积分赠送规则相关配置",
"pinyin_initial": "拼音首字母/助记码",
"commoditycode": "(待补充)",
"commodity_code": "商品编码(通常为对外商品编码或条码)",
"goods_cover": "商品封面图片 URL 地址",
"supplier_id": "供应商 ID用于关联到供应商档案",
"remark_name": "商品备注名/别名,通常用来配置简写或特殊显示名称",
"create_time": "商品档案创建时间",
"update_time": "商品档案最近一次修改时间",
"payload": "ETL 元数据:完整原始 JSON 记录快照,用于回溯与二次解析",
"source_file": "ETL 元数据:原始导出文件名,用于数据追溯",
"source_endpoint": "ETL 元数据:采集来源(接口/文件路径),用于数据追溯",
"fetched_at": "ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理",
"content_hash": "ETL 元数据:对业务字段计算 SHA256用于变更检测与去重",
"not_sale": "(待补充)"
},
"dwd_fields": {
"dim_tenant_goods": {
"tenant_goods_id": "租户商品 IDSKU",
"tenant_id": "租户 ID",
"supplier_id": "供应商 ID当前数据全为 0",
"category_name": "分类名称(二级分类)。**样本值**: \"零食\", \"饮料\", \"香烟\"等",
"goods_category_id": "一级分类 ID",
"goods_second_category_id": "二级分类 ID",
"goods_name": "商品名称。**样本值**: \"海之言\", \"西梅多多饮品\", \"美汁源果粒橙\", \"三诺橙汁\"等",
"goods_number": "商品编号(序号)",
"unit": "商品单位。**枚举值**: \"包\", \"瓶\", \"个\", \"份\"等",
"market_price": "市场价/吊牌价(元)",
"goods_state": "商品状态。**枚举值**: 1=上架, 2=下架",
"create_time": "创建时间",
"update_time": "更新时间",
"is_delete": "删除标记。**枚举值**: 0=未删除",
"not_sale": "是否停售",
"scd2_start_time": "SCD2 版本生效时间",
"scd2_end_time": "SCD2 版本失效时间",
"scd2_is_current": "当前版本标记",
"scd2_version": "版本号"
},
"dim_tenant_goods_ex": {}
}
}

View File

@@ -0,0 +1,357 @@
{
"timestamp": "2026-02-21T15:36:41.823828+08:00",
"table_map": {
"dwd.dim_site": "ods.table_fee_transactions",
"dwd.dim_site_ex": "ods.table_fee_transactions",
"dwd.dim_table": "ods.site_tables_master",
"dwd.dim_table_ex": "ods.site_tables_master",
"dwd.dim_assistant": "ods.assistant_accounts_master",
"dwd.dim_assistant_ex": "ods.assistant_accounts_master",
"dwd.dim_member": "ods.member_profiles",
"dwd.dim_member_ex": "ods.member_profiles",
"dwd.dim_member_card_account": "ods.member_stored_value_cards",
"dwd.dim_member_card_account_ex": "ods.member_stored_value_cards",
"dwd.dim_tenant_goods": "ods.tenant_goods_master",
"dwd.dim_tenant_goods_ex": "ods.tenant_goods_master",
"dwd.dim_store_goods": "ods.store_goods_master",
"dwd.dim_store_goods_ex": "ods.store_goods_master",
"dwd.dim_goods_category": "ods.stock_goods_category_tree",
"dwd.dim_groupbuy_package": "ods.group_buy_packages",
"dwd.dim_groupbuy_package_ex": "ods.group_buy_packages",
"dwd.dwd_settlement_head": "ods.settlement_records",
"dwd.dwd_settlement_head_ex": "ods.settlement_records",
"dwd.dwd_table_fee_log": "ods.table_fee_transactions",
"dwd.dwd_table_fee_log_ex": "ods.table_fee_transactions",
"dwd.dwd_table_fee_adjust": "ods.table_fee_discount_records",
"dwd.dwd_table_fee_adjust_ex": "ods.table_fee_discount_records",
"dwd.dwd_store_goods_sale": "ods.store_goods_sales_records",
"dwd.dwd_store_goods_sale_ex": "ods.store_goods_sales_records",
"dwd.dwd_assistant_service_log": "ods.assistant_service_records",
"dwd.dwd_assistant_service_log_ex": "ods.assistant_service_records",
"dwd.dwd_assistant_trash_event": "ods.assistant_cancellation_records",
"dwd.dwd_assistant_trash_event_ex": "ods.assistant_cancellation_records",
"dwd.dwd_member_balance_change": "ods.member_balance_changes",
"dwd.dwd_member_balance_change_ex": "ods.member_balance_changes",
"dwd.dwd_groupbuy_redemption": "ods.group_buy_redemption_records",
"dwd.dwd_groupbuy_redemption_ex": "ods.group_buy_redemption_records",
"dwd.dwd_platform_coupon_redemption": "ods.platform_coupon_redemption_records",
"dwd.dwd_platform_coupon_redemption_ex": "ods.platform_coupon_redemption_records",
"dwd.dwd_recharge_order": "ods.recharge_settlements",
"dwd.dwd_recharge_order_ex": "ods.recharge_settlements",
"dwd.dwd_payment": "ods.payment_transactions",
"dwd.dwd_refund": "ods.refund_transactions",
"dwd.dwd_refund_ex": "ods.refund_transactions",
"dwd.dwd_goods_stock_summary": "ods.goods_stock_summary",
"dwd.dwd_goods_stock_movement": "ods.goods_stock_movements"
},
"tables": [
{
"table": "assistant_accounts_master",
"task_code": "ODS_ASSISTANT_ACCOUNT",
"description": "助教账号档案",
"record_count": 69,
"json_field_count": 62,
"ods_column_count": 67,
"dwd_tables": [
"dim_assistant",
"dim_assistant_ex"
],
"dwd_column_count": 71,
"error": null
},
{
"table": "settlement_records",
"task_code": "ODS_SETTLEMENT_RECORDS",
"description": "结账记录",
"record_count": 200,
"json_field_count": 92,
"ods_column_count": 71,
"dwd_tables": [
"dwd_settlement_head",
"dwd_settlement_head_ex"
],
"dwd_column_count": 67,
"error": null
},
{
"table": "table_fee_transactions",
"task_code": "ODS_TABLE_USE",
"description": "台费计费流水",
"record_count": 200,
"json_field_count": 67,
"ods_column_count": 47,
"dwd_tables": [
"dim_site",
"dim_site_ex",
"dwd_table_fee_log",
"dwd_table_fee_log_ex"
],
"dwd_column_count": 84,
"error": null
},
{
"table": "assistant_service_records",
"task_code": "ODS_ASSISTANT_LEDGER",
"description": "助教服务流水",
"record_count": 200,
"json_field_count": 91,
"ods_column_count": 71,
"dwd_tables": [
"dwd_assistant_service_log",
"dwd_assistant_service_log_ex"
],
"dwd_column_count": 66,
"error": null
},
{
"table": "assistant_cancellation_records",
"task_code": "ODS_ASSISTANT_ABOLISH",
"description": "助教废除记录",
"record_count": 78,
"json_field_count": 38,
"ods_column_count": 19,
"dwd_tables": [
"dwd_assistant_trash_event",
"dwd_assistant_trash_event_ex"
],
"dwd_column_count": 15,
"error": null
},
{
"table": "store_goods_sales_records",
"task_code": "ODS_STORE_GOODS_SALES",
"description": "门店商品销售流水",
"record_count": 200,
"json_field_count": 51,
"ods_column_count": 56,
"dwd_tables": [
"dwd_store_goods_sale",
"dwd_store_goods_sale_ex"
],
"dwd_column_count": 53,
"error": null
},
{
"table": "payment_transactions",
"task_code": "ODS_PAYMENT",
"description": "支付流水",
"record_count": 200,
"json_field_count": 36,
"ods_column_count": 17,
"dwd_tables": [
"dwd_payment"
],
"dwd_column_count": 12,
"error": null
},
{
"table": "refund_transactions",
"task_code": "ODS_REFUND",
"description": "退款流水",
"record_count": 29,
"json_field_count": 57,
"ods_column_count": 37,
"dwd_tables": [
"dwd_refund",
"dwd_refund_ex"
],
"dwd_column_count": 32,
"error": null
},
{
"table": "platform_coupon_redemption_records",
"task_code": "ODS_PLATFORM_COUPON",
"description": "平台/团购券核销",
"record_count": 200,
"json_field_count": 51,
"ods_column_count": 31,
"dwd_tables": [
"dwd_platform_coupon_redemption",
"dwd_platform_coupon_redemption_ex"
],
"dwd_column_count": 26,
"error": null
},
{
"table": "member_profiles",
"task_code": "ODS_MEMBER",
"description": "会员档案",
"record_count": 200,
"json_field_count": 20,
"ods_column_count": 25,
"dwd_tables": [
"dim_member",
"dim_member_ex"
],
"dwd_column_count": 30,
"error": null
},
{
"table": "member_stored_value_cards",
"task_code": "ODS_MEMBER_CARD",
"description": "会员储值卡",
"record_count": 200,
"json_field_count": 71,
"ods_column_count": 80,
"dwd_tables": [
"dim_member_card_account",
"dim_member_card_account_ex"
],
"dwd_column_count": 84,
"error": null
},
{
"table": "member_balance_changes",
"task_code": "ODS_MEMBER_BALANCE",
"description": "会员余额变动",
"record_count": 200,
"json_field_count": 28,
"ods_column_count": 33,
"dwd_tables": [
"dwd_member_balance_change",
"dwd_member_balance_change_ex"
],
"dwd_column_count": 30,
"error": null
},
{
"table": "recharge_settlements",
"task_code": "ODS_RECHARGE_SETTLE",
"description": "充值结算",
"record_count": 191,
"json_field_count": 92,
"ods_column_count": 71,
"dwd_tables": [
"dwd_recharge_order",
"dwd_recharge_order_ex"
],
"dwd_column_count": 67,
"error": null
},
{
"table": "group_buy_packages",
"task_code": "ODS_GROUP_PACKAGE",
"description": "团购套餐定义",
"record_count": 18,
"json_field_count": 40,
"ods_column_count": 43,
"dwd_tables": [
"dim_groupbuy_package",
"dim_groupbuy_package_ex"
],
"dwd_column_count": 47,
"error": null
},
{
"table": "group_buy_redemption_records",
"task_code": "ODS_GROUP_BUY_REDEMPTION",
"description": "团购套餐核销",
"record_count": 200,
"json_field_count": 52,
"ods_column_count": 57,
"dwd_tables": [
"dwd_groupbuy_redemption",
"dwd_groupbuy_redemption_ex"
],
"dwd_column_count": 53,
"error": null
},
{
"table": "goods_stock_summary",
"task_code": "ODS_INVENTORY_STOCK",
"description": "库存汇总",
"record_count": 173,
"json_field_count": 14,
"ods_column_count": 19,
"dwd_tables": [
"dwd_goods_stock_summary"
],
"dwd_column_count": 17,
"error": null
},
{
"table": "goods_stock_movements",
"task_code": "ODS_INVENTORY_CHANGE",
"description": "库存变化记录",
"record_count": 200,
"json_field_count": 19,
"ods_column_count": 24,
"dwd_tables": [
"dwd_goods_stock_movement"
],
"dwd_column_count": 20,
"error": null
},
{
"table": "site_tables_master",
"task_code": "ODS_TABLES",
"description": "台桌维表",
"record_count": 74,
"json_field_count": 26,
"ods_column_count": 31,
"dwd_tables": [
"dim_table",
"dim_table_ex"
],
"dwd_column_count": 36,
"error": null
},
{
"table": "stock_goods_category_tree",
"task_code": "ODS_GOODS_CATEGORY",
"description": "库存商品分类树",
"record_count": 9,
"json_field_count": 20,
"ods_column_count": 16,
"dwd_tables": [
"dim_goods_category"
],
"dwd_column_count": 16,
"error": null
},
{
"table": "store_goods_master",
"task_code": "ODS_STORE_GOODS",
"description": "门店商品档案",
"record_count": 173,
"json_field_count": 53,
"ods_column_count": 52,
"dwd_tables": [
"dim_store_goods",
"dim_store_goods_ex"
],
"dwd_column_count": 57,
"error": null
},
{
"table": "table_fee_discount_records",
"task_code": "ODS_TABLE_FEE_DISCOUNT",
"description": "台费折扣/调账",
"record_count": 200,
"json_field_count": 55,
"ods_column_count": 33,
"dwd_tables": [
"dwd_table_fee_adjust",
"dwd_table_fee_adjust_ex"
],
"dwd_column_count": 29,
"error": null
},
{
"table": "tenant_goods_master",
"task_code": "ODS_TENANT_GOODS",
"description": "租户商品档案",
"record_count": 174,
"json_field_count": 32,
"ods_column_count": 37,
"dwd_tables": [
"dim_tenant_goods",
"dim_tenant_goods_ex"
],
"dwd_column_count": 41,
"error": null
}
],
"date_from": "2025-11-23",
"date_to": "2026-02-21"
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,159 @@
{
"schema": "dwd",
"table": "dim_assistant",
"ods_source": "assistant_accounts_master",
"columns": [
{
"name": "assistant_id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2947562271297029标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_accounts_master - id。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - id。",
"ordinal_position": 1
},
{
"name": "user_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_accounts_master - staff_id。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - staff_id。",
"ordinal_position": 2
},
{
"name": "assistant_no",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】31维度字段用于补充维度属性。 【ODS来源】assistant_accounts_master - assistant_no。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - assistant_no。",
"ordinal_position": 3
},
{
"name": "real_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】张静然(名称字段,用于展示与辅助识别)。 【ODS来源】assistant_accounts_master - real_name。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - real_name。",
"ordinal_position": 4
},
{
"name": "nickname",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】小然(名称字段,用于展示与辅助识别)。 【ODS来源】assistant_accounts_master - nickname。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - nickname。",
"ordinal_position": 5
},
{
"name": "mobile",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】15119679931维度字段用于补充维度属性。 【ODS来源】assistant_accounts_master - mobile。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - mobile。",
"ordinal_position": 6
},
{
"name": "tenant_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790683160709957标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_accounts_master - tenant_id。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - tenant_id。",
"ordinal_position": 7
},
{
"name": "site_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790685415443269标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_accounts_master - site_id。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - site_id。",
"ordinal_position": 8
},
{
"name": "team_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2792011585884037标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_accounts_master - team_id。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - team_id。",
"ordinal_position": 9
},
{
"name": "team_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】1组名称字段用于展示与辅助识别。 【ODS来源】assistant_accounts_master - team_name。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - team_name。",
"ordinal_position": 10
},
{
"name": "level",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】20维度字段用于补充维度属性。 【ODS来源】assistant_accounts_master - level。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - level。",
"ordinal_position": 11
},
{
"name": "entry_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-02 08:00:00时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】assistant_accounts_master - entry_time。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - entry_time。",
"ordinal_position": 12
},
{
"name": "resign_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-03 08:00:00时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】assistant_accounts_master - resign_time。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - resign_time。",
"ordinal_position": 13
},
{
"name": "leave_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】状态枚举字段,用于标识业务状态。 【示例】1状态枚举字段用于标识业务状态。 【ODS来源】assistant_accounts_master - leave_status。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - leave_status。",
"ordinal_position": 14
},
{
"name": "assistant_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】状态枚举字段,用于标识业务状态。 【示例】1状态枚举字段用于标识业务状态。 【ODS来源】assistant_accounts_master - assistant_status。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - assistant_status。",
"ordinal_position": 15
},
{
"name": "scd2_start_time",
"data_type": "timestamp with time zone",
"is_nullable": false,
"column_default": null,
"comment": "【说明】SCD2 开始时间(版本生效起点),用于维度慢变追踪。 【示例】2025-11-10T00:00:00+08:00SCD2 开始时间(版本生效起点),用于维度慢变追踪)。 【ODS来源】assistant_accounts_master - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 16
},
{
"name": "scd2_end_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪。 【示例】9999-12-31T00:00:00+00:00SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪)。 【ODS来源】assistant_accounts_master - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 17
},
{
"name": "scd2_is_current",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】SCD2 当前版本标记1=当前0=历史),用于筛选最新维度记录。 【示例】1SCD2 当前版本标记1=当前0=历史),用于筛选最新维度记录)。 【ODS来源】assistant_accounts_master - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 18
},
{
"name": "scd2_version",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】SCD2 版本号(自增),用于与时间段一起避免版本重叠。 【示例】1SCD2 版本号(自增),用于与时间段一起避免版本重叠)。 【ODS来源】assistant_accounts_master - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 19
}
]
}

View File

@@ -0,0 +1,423 @@
{
"schema": "dwd",
"table": "dim_assistant_ex",
"ods_source": "assistant_accounts_master",
"columns": [
{
"name": "assistant_id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2947562271297029标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_accounts_master - id。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - id。",
"ordinal_position": 1
},
{
"name": "gender",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】0维度字段用于补充维度属性。 【ODS来源】assistant_accounts_master - gender。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - gender。",
"ordinal_position": 2
},
{
"name": "birth_date",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】0001-01-01 00:00:00时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】assistant_accounts_master - birth_date。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - birth_date。",
"ordinal_position": 3
},
{
"name": "avatar",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】https://oss.ficoo.vip/maUiImages/images/defaultAvatar.png维度字段用于补充维度属性。 【ODS来源】assistant_accounts_master - avatar。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - avatar。",
"ordinal_position": 4
},
{
"name": "introduce",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】NULL维度字段用于补充维度属性。 【ODS来源】assistant_accounts_master - introduce。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - introduce。",
"ordinal_position": 5
},
{
"name": "video_introduction_url",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】https://oss.ficoo.vip/cbb/userVideo/1753096246308/175309624630830.mp4维度字段用于补充维度属性。 【ODS来源】assistant_accounts_master - video_introduction_url。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - video_introduction_url。",
"ordinal_position": 6
},
{
"name": "height",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】0.0(维度字段,用于补充维度属性)。 【ODS来源】assistant_accounts_master - height。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - height。",
"ordinal_position": 7
},
{
"name": "weight",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】0.0(维度字段,用于补充维度属性)。 【ODS来源】assistant_accounts_master - weight。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - weight。",
"ordinal_position": 8
},
{
"name": "shop_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】朗朗桌球(名称字段,用于展示与辅助识别)。 【ODS来源】assistant_accounts_master - shop_name。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - shop_name。",
"ordinal_position": 9
},
{
"name": "group_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_accounts_master - group_id。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - group_id。",
"ordinal_position": 10
},
{
"name": "group_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】NULL名称字段用于展示与辅助识别。 【ODS来源】assistant_accounts_master - group_name。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - group_name。",
"ordinal_position": 11
},
{
"name": "person_org_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2947562271215109标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_accounts_master - person_org_id。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - person_org_id。",
"ordinal_position": 12
},
{
"name": "staff_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_accounts_master - staff_id。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - staff_id。",
"ordinal_position": 13
},
{
"name": "staff_profile_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_accounts_master - staff_profile_id。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - staff_profile_id。",
"ordinal_position": 14
},
{
"name": "assistant_grade",
"data_type": "double precision",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】0.0(维度字段,用于补充维度属性)。 【ODS来源】assistant_accounts_master - assistant_grade。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - assistant_grade。",
"ordinal_position": 15
},
{
"name": "sum_grade",
"data_type": "double precision",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】0.0(维度字段,用于补充维度属性)。 【ODS来源】assistant_accounts_master - sum_grade。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - sum_grade。",
"ordinal_position": 16
},
{
"name": "get_grade_times",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】0维度字段用于补充维度属性。 【ODS来源】assistant_accounts_master - get_grade_times。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - get_grade_times。",
"ordinal_position": 17
},
{
"name": "charge_way",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】2维度字段用于补充维度属性。 【ODS来源】assistant_accounts_master - charge_way。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - charge_way。",
"ordinal_position": 18
},
{
"name": "allow_cx",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】1维度字段用于补充维度属性。 【ODS来源】assistant_accounts_master - allow_cx。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - allow_cx。",
"ordinal_position": 19
},
{
"name": "is_guaranteed",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】1布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】assistant_accounts_master - is_guaranteed。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - is_guaranteed。",
"ordinal_position": 20
},
{
"name": "salary_grant_enabled",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】2维度字段用于补充维度属性。 【ODS来源】assistant_accounts_master - salary_grant_enabled。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - salary_grant_enabled。",
"ordinal_position": 21
},
{
"name": "entry_type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】1维度字段用于补充维度属性。 【ODS来源】assistant_accounts_master - entry_type。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - entry_type。",
"ordinal_position": 22
},
{
"name": "entry_sign_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】状态枚举字段,用于标识业务状态。 【示例】0状态枚举字段用于标识业务状态。 【ODS来源】assistant_accounts_master - entry_sign_status。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - entry_sign_status。",
"ordinal_position": 23
},
{
"name": "resign_sign_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】状态枚举字段,用于标识业务状态。 【示例】0状态枚举字段用于标识业务状态。 【ODS来源】assistant_accounts_master - resign_sign_status。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - resign_sign_status。",
"ordinal_position": 24
},
{
"name": "work_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】状态枚举字段,用于标识业务状态。 【示例】2状态枚举字段用于标识业务状态。 【ODS来源】assistant_accounts_master - work_status。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - work_status。",
"ordinal_position": 25
},
{
"name": "show_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】状态枚举字段,用于标识业务状态。 【示例】1状态枚举字段用于标识业务状态。 【ODS来源】assistant_accounts_master - show_status。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - show_status。",
"ordinal_position": 26
},
{
"name": "show_sort",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】31维度字段用于补充维度属性。 【ODS来源】assistant_accounts_master - show_sort。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - show_sort。",
"ordinal_position": 27
},
{
"name": "online_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】状态枚举字段,用于标识业务状态。 【示例】1状态枚举字段用于标识业务状态。 【ODS来源】assistant_accounts_master - online_status。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - online_status。",
"ordinal_position": 28
},
{
"name": "is_delete",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】0布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】assistant_accounts_master - is_delete。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - is_delete。",
"ordinal_position": 29
},
{
"name": "criticism_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】状态枚举字段,用于标识业务状态。 【示例】1状态枚举字段用于标识业务状态。 【ODS来源】assistant_accounts_master - criticism_status。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - criticism_status。",
"ordinal_position": 30
},
{
"name": "create_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-02 15:55:26时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】assistant_accounts_master - create_time。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - create_time。",
"ordinal_position": 31
},
{
"name": "update_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-03 18:32:07时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】assistant_accounts_master - update_time。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - update_time。",
"ordinal_position": 32
},
{
"name": "start_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-01 08:00:00时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】assistant_accounts_master - start_time。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - start_time。",
"ordinal_position": 33
},
{
"name": "end_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-12-01 08:00:00时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】assistant_accounts_master - end_time。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - end_time。",
"ordinal_position": 34
},
{
"name": "last_table_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_accounts_master - last_table_id。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - last_table_id。",
"ordinal_position": 35
},
{
"name": "last_table_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】TV名称字段用于展示与辅助识别。 【ODS来源】assistant_accounts_master - last_table_name。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - last_table_name。",
"ordinal_position": 36
},
{
"name": "last_update_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】管理员:郑丽珊(名称字段,用于展示与辅助识别)。 【ODS来源】assistant_accounts_master - last_update_name。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - last_update_name。",
"ordinal_position": 37
},
{
"name": "order_trade_no",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】0维度字段用于补充维度属性。 【ODS来源】assistant_accounts_master - order_trade_no。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - order_trade_no。",
"ordinal_position": 38
},
{
"name": "ding_talk_synced",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】1维度字段用于补充维度属性。 【ODS来源】assistant_accounts_master - ding_talk_synced。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - ding_talk_synced。",
"ordinal_position": 39
},
{
"name": "site_light_cfg_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_accounts_master - site_light_cfg_id。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - site_light_cfg_id。",
"ordinal_position": 40
},
{
"name": "light_equipment_id",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】NULL标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_accounts_master - light_equipment_id。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - light_equipment_id。",
"ordinal_position": 41
},
{
"name": "light_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】状态枚举字段,用于标识业务状态。 【示例】2状态枚举字段用于标识业务状态。 【ODS来源】assistant_accounts_master - light_status。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - light_status。",
"ordinal_position": 42
},
{
"name": "is_team_leader",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】0布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】assistant_accounts_master - is_team_leader。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - is_team_leader。",
"ordinal_position": 43
},
{
"name": "serial_number",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】0数量/时长字段,用于统计与计量)。 【ODS来源】assistant_accounts_master - serial_number。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - serial_number。",
"ordinal_position": 44
},
{
"name": "scd2_start_time",
"data_type": "timestamp with time zone",
"is_nullable": false,
"column_default": null,
"comment": "【说明】SCD2 开始时间(版本生效起点),用于维度慢变追踪。 【示例】2025-11-10T00:00:00+08:00SCD2 开始时间(版本生效起点),用于维度慢变追踪)。 【ODS来源】assistant_accounts_master - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 45
},
{
"name": "scd2_end_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪。 【示例】9999-12-31T00:00:00+00:00SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪)。 【ODS来源】assistant_accounts_master - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 46
},
{
"name": "scd2_is_current",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】SCD2 当前版本标记1=当前0=历史),用于筛选最新维度记录。 【示例】1SCD2 当前版本标记1=当前0=历史),用于筛选最新维度记录)。 【ODS来源】assistant_accounts_master - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 47
},
{
"name": "scd2_version",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】SCD2 版本号(自增),用于与时间段一起避免版本重叠。 【示例】1SCD2 版本号(自增),用于与时间段一起避免版本重叠)。 【ODS来源】assistant_accounts_master - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 48
},
{
"name": "system_role_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】系统角色 ID标识助教在系统中的角色类型。 【ODS来源】assistant_accounts_master - system_role_id。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - system_role_id。",
"ordinal_position": 49
},
{
"name": "job_num",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】工号,助教的内部编号标识。 【ODS来源】assistant_accounts_master - job_num。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - job_num。",
"ordinal_position": 50
},
{
"name": "cx_unit_price",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】促销单价(元),助教提供促销服务时的计费单价。 【ODS来源】assistant_accounts_master - cx_unit_price。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - cx_unit_price。",
"ordinal_position": 51
},
{
"name": "pd_unit_price",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】陪打单价(元),助教提供陪打服务时的计费单价。 【ODS来源】assistant_accounts_master - pd_unit_price。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - pd_unit_price。",
"ordinal_position": 52
}
]
}

View File

@@ -0,0 +1,135 @@
{
"schema": "dwd",
"table": "dim_goods_category",
"ods_source": "stock_goods_category_tree",
"columns": [
{
"name": "category_id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790683528350533标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】stock_goods_category_tree - id。 【JSON字段】stock_goods_category_tree.json - data.goodsCategoryList - id。",
"ordinal_position": 1
},
{
"name": "tenant_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790683160709957标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】stock_goods_category_tree - tenant_id。 【JSON字段】stock_goods_category_tree.json - data.goodsCategoryList - tenant_id。",
"ordinal_position": 2
},
{
"name": "category_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】槟榔(名称字段,用于展示与辅助识别)。 【ODS来源】stock_goods_category_tree - category_name。 【JSON字段】stock_goods_category_tree.json - data.goodsCategoryList - category_name。",
"ordinal_position": 3
},
{
"name": "alias_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】NULL名称字段用于展示与辅助识别。 【ODS来源】stock_goods_category_tree - alias_name。 【JSON字段】stock_goods_category_tree.json - data.goodsCategoryList - alias_name。",
"ordinal_position": 4
},
{
"name": "parent_category_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】stock_goods_category_tree - pid。 【JSON字段】stock_goods_category_tree.json - data.goodsCategoryList - pid。",
"ordinal_position": 5
},
{
"name": "business_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】槟榔(名称字段,用于展示与辅助识别)。 【ODS来源】stock_goods_category_tree - business_name。 【JSON字段】stock_goods_category_tree.json - data.goodsCategoryList - business_name。",
"ordinal_position": 6
},
{
"name": "tenant_goods_business_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790683528317766标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】stock_goods_category_tree - tenant_goods_business_id。 【JSON字段】stock_goods_category_tree.json - data.goodsCategoryList - tenant_goods_business_id。",
"ordinal_position": 7
},
{
"name": "category_level",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】NULL维度字段用于补充维度属性。 【ODS来源】stock_goods_category_tree - CASE WHEN pid = 0 THEN 1 ELSE 2 END。 【JSON字段】stock_goods_category_tree.json - data.goodsCategoryList - CASE WHEN pid = 0 THEN 1 ELSE 2 END。",
"ordinal_position": 8
},
{
"name": "is_leaf",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】NULL布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】stock_goods_category_tree - CASE WHEN categoryboxes IS NULL OR jsonb_array_length(categoryboxes)=0 THEN 1 ELSE 0 END。 【JSON字段】stock_goods_category_tree.json - data.goodsCategoryList - CASE WHEN categoryboxes IS NULL OR jsonb_array_length(categoryboxes)=0 THEN 1 ELSE 0 END。",
"ordinal_position": 9
},
{
"name": "open_salesman",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】2维度字段用于补充维度属性。 【ODS来源】stock_goods_category_tree - open_salesman。 【JSON字段】stock_goods_category_tree.json - data.goodsCategoryList - open_salesman。",
"ordinal_position": 10
},
{
"name": "sort_order",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】1维度字段用于补充维度属性。 【ODS来源】stock_goods_category_tree - sort。 【JSON字段】stock_goods_category_tree.json - data.goodsCategoryList - sort。",
"ordinal_position": 11
},
{
"name": "is_warehousing",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】1布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】stock_goods_category_tree - is_warehousing。 【JSON字段】stock_goods_category_tree.json - data.goodsCategoryList - is_warehousing。",
"ordinal_position": 12
},
{
"name": "scd2_start_time",
"data_type": "timestamp with time zone",
"is_nullable": false,
"column_default": null,
"comment": "【说明】SCD2 开始时间(版本生效起点),用于维度慢变追踪。 【示例】2025-11-10T00:00:00+08:00SCD2 开始时间(版本生效起点),用于维度慢变追踪)。 【ODS来源】stock_goods_category_tree - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 13
},
{
"name": "scd2_end_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪。 【示例】9999-12-31T00:00:00+00:00SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪)。 【ODS来源】stock_goods_category_tree - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 14
},
{
"name": "scd2_is_current",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】SCD2 当前版本标记1=当前0=历史),用于筛选最新维度记录。 【示例】1SCD2 当前版本标记1=当前0=历史),用于筛选最新维度记录)。 【ODS来源】stock_goods_category_tree - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 15
},
{
"name": "scd2_version",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】SCD2 版本号(自增),用于与时间段一起避免版本重叠。 【示例】1SCD2 版本号(自增),用于与时间段一起避免版本重叠)。 【ODS来源】stock_goods_category_tree - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 16
}
]
}

View File

@@ -0,0 +1,183 @@
{
"schema": "dwd",
"table": "dim_groupbuy_package",
"ods_source": "group_buy_packages",
"columns": [
{
"name": "groupbuy_package_id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2939215004469573标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】group_buy_packages - id。 【JSON字段】group_buy_packages.json - data.packageCouponList - id。",
"ordinal_position": 1
},
{
"name": "tenant_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790683160709957标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】group_buy_packages - tenant_id。 【JSON字段】group_buy_packages.json - data.packageCouponList - tenant_id。",
"ordinal_position": 2
},
{
"name": "site_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790685415443269标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】group_buy_packages - site_id。 【JSON字段】group_buy_packages.json - data.packageCouponList - site_id。",
"ordinal_position": 3
},
{
"name": "package_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】早场特惠一小时(名称字段,用于展示与辅助识别)。 【ODS来源】group_buy_packages - package_name。 【JSON字段】group_buy_packages.json - data.packageCouponList - package_name。",
"ordinal_position": 4
},
{
"name": "package_template_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】1814707240811572标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】group_buy_packages - package_id。 【JSON字段】group_buy_packages.json - data.packageCouponList - package_id。",
"ordinal_position": 5
},
{
"name": "selling_price",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】group_buy_packages - selling_price。 【JSON字段】group_buy_packages.json - data.packageCouponList - selling_price。",
"ordinal_position": 6
},
{
"name": "coupon_face_value",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】0.0(维度字段,用于补充维度属性)。 【ODS来源】group_buy_packages - coupon_money。 【JSON字段】group_buy_packages.json - data.packageCouponList - coupon_money。",
"ordinal_position": 7
},
{
"name": "duration_seconds",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】3600数量/时长字段,用于统计与计量)。 【ODS来源】group_buy_packages - duration。 【JSON字段】group_buy_packages.json - data.packageCouponList - duration。",
"ordinal_position": 8
},
{
"name": "start_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-10-27 00:00:00时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】group_buy_packages - start_time。 【JSON字段】group_buy_packages.json - data.packageCouponList - start_time。",
"ordinal_position": 9
},
{
"name": "end_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2026-10-28 00:00:00时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】group_buy_packages - end_time。 【JSON字段】group_buy_packages.json - data.packageCouponList - end_time。",
"ordinal_position": 10
},
{
"name": "table_area_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】A区名称字段用于展示与辅助识别。 【ODS来源】group_buy_packages - table_area_name。 【JSON字段】group_buy_packages.json - data.packageCouponList - table_area_name。",
"ordinal_position": 11
},
{
"name": "is_enabled",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】1布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】group_buy_packages - is_enabled。 【JSON字段】group_buy_packages.json - data.packageCouponList - is_enabled。",
"ordinal_position": 12
},
{
"name": "is_delete",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】0布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】group_buy_packages - is_delete。 【JSON字段】group_buy_packages.json - data.packageCouponList - is_delete。",
"ordinal_position": 13
},
{
"name": "create_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-10-27 18:24:09时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】group_buy_packages - create_time。 【JSON字段】group_buy_packages.json - data.packageCouponList - create_time。",
"ordinal_position": 14
},
{
"name": "tenant_table_area_id_list",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】2791960001957765维度字段用于补充维度属性。 【ODS来源】group_buy_packages - tenant_table_area_id_list。 【JSON字段】group_buy_packages.json - data.packageCouponList - tenant_table_area_id_list。",
"ordinal_position": 15
},
{
"name": "card_type_ids",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】0维度字段用于补充维度属性。 【ODS来源】group_buy_packages - card_type_ids。 【JSON字段】group_buy_packages.json - data.packageCouponList - card_type_ids。",
"ordinal_position": 16
},
{
"name": "sort",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 17
},
{
"name": "is_first_limit",
"data_type": "boolean",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 18
},
{
"name": "scd2_start_time",
"data_type": "timestamp with time zone",
"is_nullable": false,
"column_default": null,
"comment": "【说明】SCD2 开始时间(版本生效起点),用于维度慢变追踪。 【示例】2025-11-10T00:00:00+08:00SCD2 开始时间(版本生效起点),用于维度慢变追踪)。 【ODS来源】group_buy_packages - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 19
},
{
"name": "scd2_end_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪。 【示例】9999-12-31T00:00:00+00:00SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪)。 【ODS来源】group_buy_packages - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 20
},
{
"name": "scd2_is_current",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】SCD2 当前版本标记1=当前0=历史),用于筛选最新维度记录。 【示例】1SCD2 当前版本标记1=当前0=历史),用于筛选最新维度记录)。 【ODS来源】group_buy_packages - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 21
},
{
"name": "scd2_version",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】SCD2 版本号(自增),用于与时间段一起避免版本重叠。 【示例】1SCD2 版本号(自增),用于与时间段一起避免版本重叠)。 【ODS来源】group_buy_packages - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 22
}
]
}

View File

@@ -0,0 +1,207 @@
{
"schema": "dwd",
"table": "dim_groupbuy_package_ex",
"ods_source": "group_buy_packages",
"columns": [
{
"name": "groupbuy_package_id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2939215004469573标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】group_buy_packages - id。 【JSON字段】group_buy_packages.json - data.packageCouponList - id。",
"ordinal_position": 1
},
{
"name": "site_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】朗朗桌球(名称字段,用于展示与辅助识别)。 【ODS来源】group_buy_packages - site_name。 【JSON字段】group_buy_packages.json - data.packageCouponList - site_name。",
"ordinal_position": 2
},
{
"name": "usable_count",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】9999999数量/时长字段,用于统计与计量)。 【ODS来源】group_buy_packages - usable_count。 【JSON字段】group_buy_packages.json - data.packageCouponList - usable_count。",
"ordinal_position": 3
},
{
"name": "date_type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】1维度字段用于补充维度属性。 【ODS来源】group_buy_packages - date_type。 【JSON字段】group_buy_packages.json - data.packageCouponList - date_type。",
"ordinal_position": 4
},
{
"name": "usable_range",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】NULL维度字段用于补充维度属性。 【ODS来源】group_buy_packages - usable_range。 【JSON字段】group_buy_packages.json - data.packageCouponList - usable_range。",
"ordinal_position": 5
},
{
"name": "date_info",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】0维度字段用于补充维度属性。 【ODS来源】group_buy_packages - date_info。 【JSON字段】group_buy_packages.json - data.packageCouponList - date_info。",
"ordinal_position": 6
},
{
"name": "start_clock",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】00:00:00维度字段用于补充维度属性。 【ODS来源】group_buy_packages - start_clock。 【JSON字段】group_buy_packages.json - data.packageCouponList - start_clock。",
"ordinal_position": 7
},
{
"name": "end_clock",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】1.00:00:00维度字段用于补充维度属性。 【ODS来源】group_buy_packages - end_clock。 【JSON字段】group_buy_packages.json - data.packageCouponList - end_clock。",
"ordinal_position": 8
},
{
"name": "add_start_clock",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】00:00:00维度字段用于补充维度属性。 【ODS来源】group_buy_packages - add_start_clock。 【JSON字段】group_buy_packages.json - data.packageCouponList - add_start_clock。",
"ordinal_position": 9
},
{
"name": "add_end_clock",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】1.00:00:00维度字段用于补充维度属性。 【ODS来源】group_buy_packages - add_end_clock。 【JSON字段】group_buy_packages.json - data.packageCouponList - add_end_clock。",
"ordinal_position": 10
},
{
"name": "area_tag_type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】1维度字段用于补充维度属性。 【ODS来源】group_buy_packages - area_tag_type。 【JSON字段】group_buy_packages.json - data.packageCouponList - area_tag_type。",
"ordinal_position": 11
},
{
"name": "table_area_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】group_buy_packages - table_area_id。 【JSON字段】group_buy_packages.json - data.packageCouponList - table_area_id。",
"ordinal_position": 12
},
{
"name": "tenant_table_area_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】group_buy_packages - tenant_table_area_id。 【JSON字段】group_buy_packages.json - data.packageCouponList - tenant_table_area_id。",
"ordinal_position": 13
},
{
"name": "table_area_id_list",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】NULL维度字段用于补充维度属性。 【ODS来源】group_buy_packages - table_area_id_list。 【JSON字段】group_buy_packages.json - data.packageCouponList - table_area_id_list。",
"ordinal_position": 14
},
{
"name": "group_type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】1维度字段用于补充维度属性。 【ODS来源】group_buy_packages - group_type。 【JSON字段】group_buy_packages.json - data.packageCouponList - group_type。",
"ordinal_position": 15
},
{
"name": "system_group_type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】1维度字段用于补充维度属性。 【ODS来源】group_buy_packages - system_group_type。 【JSON字段】group_buy_packages.json - data.packageCouponList - system_group_type。",
"ordinal_position": 16
},
{
"name": "package_type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】2维度字段用于补充维度属性。 【ODS来源】group_buy_packages - type。 【JSON字段】group_buy_packages.json - data.packageCouponList - type。",
"ordinal_position": 17
},
{
"name": "effective_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】状态枚举字段,用于标识业务状态。 【示例】1状态枚举字段用于标识业务状态。 【ODS来源】group_buy_packages - effective_status。 【JSON字段】group_buy_packages.json - data.packageCouponList - effective_status。",
"ordinal_position": 18
},
{
"name": "max_selectable_categories",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】0维度字段用于补充维度属性。 【ODS来源】group_buy_packages - max_selectable_categories。 【JSON字段】group_buy_packages.json - data.packageCouponList - max_selectable_categories。",
"ordinal_position": 19
},
{
"name": "creator_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】店长:郑丽珊(名称字段,用于展示与辅助识别)。 【ODS来源】group_buy_packages - creator_name。 【JSON字段】group_buy_packages.json - data.packageCouponList - creator_name。",
"ordinal_position": 20
},
{
"name": "tenant_coupon_sale_order_item_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 21
},
{
"name": "scd2_start_time",
"data_type": "timestamp with time zone",
"is_nullable": false,
"column_default": null,
"comment": "【说明】SCD2 开始时间(版本生效起点),用于维度慢变追踪。 【示例】2025-11-10T00:00:00+08:00SCD2 开始时间(版本生效起点),用于维度慢变追踪)。 【ODS来源】group_buy_packages - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 22
},
{
"name": "scd2_end_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪。 【示例】9999-12-31T00:00:00+00:00SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪)。 【ODS来源】group_buy_packages - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 23
},
{
"name": "scd2_is_current",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】SCD2 当前版本标记1=当前0=历史),用于筛选最新维度记录。 【示例】1SCD2 当前版本标记1=当前0=历史),用于筛选最新维度记录)。 【ODS来源】group_buy_packages - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 24
},
{
"name": "scd2_version",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】SCD2 版本号(自增),用于与时间段一起避免版本重叠。 【示例】1SCD2 版本号(自增),用于与时间段一起避免版本重叠)。 【ODS来源】group_buy_packages - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 25
}
]
}

View File

@@ -0,0 +1,135 @@
{
"schema": "dwd",
"table": "dim_member",
"ods_source": "member_profiles",
"columns": [
{
"name": "member_id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2955204541320325标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】member_profiles - id。 【JSON字段】member_profiles.json - data.tenantMemberInfos - id。",
"ordinal_position": 1
},
{
"name": "system_member_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2955204540009605标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】member_profiles - system_member_id。 【JSON字段】member_profiles.json - data.tenantMemberInfos - system_member_id。",
"ordinal_position": 2
},
{
"name": "tenant_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790683160709957标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】member_profiles - tenant_id。 【JSON字段】member_profiles.json - data.tenantMemberInfos - tenant_id。",
"ordinal_position": 3
},
{
"name": "register_site_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790685415443269标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】member_profiles - register_site_id。 【JSON字段】member_profiles.json - data.tenantMemberInfos - register_site_id。",
"ordinal_position": 4
},
{
"name": "mobile",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】18620043391维度字段用于补充维度属性。 【ODS来源】member_profiles - mobile。 【JSON字段】member_profiles.json - data.tenantMemberInfos - mobile。",
"ordinal_position": 5
},
{
"name": "nickname",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】胡先生(名称字段,用于展示与辅助识别)。 【ODS来源】member_profiles - nickname。 【JSON字段】member_profiles.json - data.tenantMemberInfos - nickname。",
"ordinal_position": 6
},
{
"name": "member_card_grade_code",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】2790683528022853维度字段用于补充维度属性。 【ODS来源】member_profiles - member_card_grade_code。 【JSON字段】member_profiles.json - data.tenantMemberInfos - member_card_grade_code。",
"ordinal_position": 7
},
{
"name": "member_card_grade_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】储值卡(名称字段,用于展示与辅助识别)。 【ODS来源】member_profiles - member_card_grade_name。 【JSON字段】member_profiles.json - data.tenantMemberInfos - member_card_grade_name。",
"ordinal_position": 8
},
{
"name": "create_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-08 01:29:33时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】member_profiles - create_time。 【JSON字段】member_profiles.json - data.tenantMemberInfos - create_time。",
"ordinal_position": 9
},
{
"name": "update_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】NULL时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】member_profiles - update_time。 【JSON字段】member_profiles.json - data.tenantMemberInfos - update_time。",
"ordinal_position": 10
},
{
"name": "pay_money_sum",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 11
},
{
"name": "recharge_money_sum",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 12
},
{
"name": "scd2_start_time",
"data_type": "timestamp with time zone",
"is_nullable": false,
"column_default": null,
"comment": "【说明】SCD2 开始时间(版本生效起点),用于维度慢变追踪。 【示例】2025-11-10T00:00:00+08:00SCD2 开始时间(版本生效起点),用于维度慢变追踪)。 【ODS来源】member_profiles - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 13
},
{
"name": "scd2_end_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪。 【示例】9999-12-31T00:00:00+00:00SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪)。 【ODS来源】member_profiles - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 14
},
{
"name": "scd2_is_current",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】SCD2 当前版本标记1=当前0=历史),用于筛选最新维度记录。 【示例】1SCD2 当前版本标记1=当前0=历史),用于筛选最新维度记录)。 【ODS来源】member_profiles - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 15
},
{
"name": "scd2_version",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】SCD2 版本号(自增),用于与时间段一起避免版本重叠。 【示例】1SCD2 版本号(自增),用于与时间段一起避免版本重叠)。 【ODS来源】member_profiles - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 16
}
]
}

View File

@@ -0,0 +1,191 @@
{
"schema": "dwd",
"table": "dim_member_card_account",
"ods_source": "member_stored_value_cards",
"columns": [
{
"name": "member_card_id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2955206162843781标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】member_stored_value_cards - id。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - id。",
"ordinal_position": 1
},
{
"name": "tenant_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790683160709957标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】member_stored_value_cards - tenant_id。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - tenant_id。",
"ordinal_position": 2
},
{
"name": "register_site_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790685415443269标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】member_stored_value_cards - register_site_id。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - register_site_id。",
"ordinal_position": 3
},
{
"name": "tenant_member_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2955204541320325标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】member_stored_value_cards - tenant_member_id。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - tenant_member_id。",
"ordinal_position": 4
},
{
"name": "system_member_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2955204540009605标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】member_stored_value_cards - system_member_id。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - system_member_id。",
"ordinal_position": 5
},
{
"name": "card_type_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2793266846533445标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】member_stored_value_cards - card_type_id。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - card_type_id。",
"ordinal_position": 6
},
{
"name": "member_card_grade_code",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】2790683528022856维度字段用于补充维度属性。 【ODS来源】member_stored_value_cards - member_card_grade_code。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - member_card_grade_code。",
"ordinal_position": 7
},
{
"name": "member_card_grade_code_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】活动抵用券(名称字段,用于展示与辅助识别)。 【ODS来源】member_stored_value_cards - member_card_grade_code_name。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - member_card_grade_code_name。",
"ordinal_position": 8
},
{
"name": "member_card_type_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】活动抵用券(名称字段,用于展示与辅助识别)。 【ODS来源】member_stored_value_cards - member_card_type_name。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - member_card_type_name。",
"ordinal_position": 9
},
{
"name": "member_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】胡先生(名称字段,用于展示与辅助识别)。 【ODS来源】member_stored_value_cards - member_name。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - member_name。",
"ordinal_position": 10
},
{
"name": "member_mobile",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】18620043391维度字段用于补充维度属性。 【ODS来源】member_stored_value_cards - member_mobile。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - member_mobile。",
"ordinal_position": 11
},
{
"name": "balance",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】member_stored_value_cards - balance。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - balance。",
"ordinal_position": 12
},
{
"name": "start_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-08 01:31:12时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】member_stored_value_cards - start_time。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - start_time。",
"ordinal_position": 13
},
{
"name": "end_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2225-01-01 00:00:00时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】member_stored_value_cards - end_time。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - end_time。",
"ordinal_position": 14
},
{
"name": "last_consume_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-09 07:48:23时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】member_stored_value_cards - last_consume_time。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - last_consume_time。",
"ordinal_position": 15
},
{
"name": "status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】状态枚举字段,用于标识业务状态。 【示例】1状态枚举字段用于标识业务状态。 【ODS来源】member_stored_value_cards - status。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - status。",
"ordinal_position": 16
},
{
"name": "is_delete",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】0布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】member_stored_value_cards - is_delete。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - is_delete。",
"ordinal_position": 17
},
{
"name": "principal_balance",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 18
},
{
"name": "member_grade",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 19
},
{
"name": "scd2_start_time",
"data_type": "timestamp with time zone",
"is_nullable": false,
"column_default": null,
"comment": "【说明】SCD2 开始时间(版本生效起点),用于维度慢变追踪。 【示例】2025-11-10T00:00:00+08:00SCD2 开始时间(版本生效起点),用于维度慢变追踪)。 【ODS来源】member_stored_value_cards - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 20
},
{
"name": "scd2_end_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪。 【示例】9999-12-31T00:00:00+00:00SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪)。 【ODS来源】member_stored_value_cards - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 21
},
{
"name": "scd2_is_current",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】SCD2 当前版本标记1=当前0=历史),用于筛选最新维度记录。 【示例】1SCD2 当前版本标记1=当前0=历史),用于筛选最新维度记录)。 【ODS来源】member_stored_value_cards - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 22
},
{
"name": "scd2_version",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】SCD2 版本号(自增),用于与时间段一起避免版本重叠。 【示例】1SCD2 版本号(自增),用于与时间段一起避免版本重叠)。 【ODS来源】member_stored_value_cards - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 23
}
]
}

View File

@@ -0,0 +1,495 @@
{
"schema": "dwd",
"table": "dim_member_card_account_ex",
"ods_source": "member_stored_value_cards",
"columns": [
{
"name": "member_card_id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2955206162843781标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】member_stored_value_cards - id。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - id。",
"ordinal_position": 1
},
{
"name": "site_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】朗朗桌球(名称字段,用于展示与辅助识别)。 【ODS来源】member_stored_value_cards - site_name。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - site_name。",
"ordinal_position": 2
},
{
"name": "tenant_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】NULL名称字段用于展示与辅助识别。 【ODS来源】member_stored_value_cards - tenantName。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - tenantName。",
"ordinal_position": 3
},
{
"name": "tenantavatar",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】NULL维度字段用于补充维度属性。 【ODS来源】member_stored_value_cards - tenantAvatar。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - tenantAvatar。",
"ordinal_position": 4
},
{
"name": "effect_site_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】member_stored_value_cards - effect_site_id。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - effect_site_id。",
"ordinal_position": 5
},
{
"name": "able_cross_site",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】1维度字段用于补充维度属性。 【ODS来源】member_stored_value_cards - able_cross_site。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - able_cross_site。",
"ordinal_position": 6
},
{
"name": "card_physics_type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】1维度字段用于补充维度属性。 【ODS来源】member_stored_value_cards - card_physics_type。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - card_physics_type。",
"ordinal_position": 7
},
{
"name": "card_no",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】NULL维度字段用于补充维度属性。 【ODS来源】member_stored_value_cards - card_no。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - card_no。",
"ordinal_position": 8
},
{
"name": "bind_password",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】NULL维度字段用于补充维度属性。 【ODS来源】member_stored_value_cards - bind_password。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - bind_password。",
"ordinal_position": 9
},
{
"name": "use_scene",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】NULL维度字段用于补充维度属性。 【ODS来源】member_stored_value_cards - use_scene。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - use_scene。",
"ordinal_position": 10
},
{
"name": "denomination",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】0.0(维度字段,用于补充维度属性)。 【ODS来源】member_stored_value_cards - denomination。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - denomination。",
"ordinal_position": 11
},
{
"name": "create_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-08 01:31:12时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】member_stored_value_cards - create_time。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - create_time。",
"ordinal_position": 12
},
{
"name": "disable_start_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】0001-01-01 00:00:00时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】member_stored_value_cards - disable_start_time。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - disable_start_time。",
"ordinal_position": 13
},
{
"name": "disable_end_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】0001-01-01 00:00:00时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】member_stored_value_cards - disable_end_time。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - disable_end_time。",
"ordinal_position": 14
},
{
"name": "is_allow_give",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】0布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】member_stored_value_cards - is_allow_give。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - is_allow_give。",
"ordinal_position": 15
},
{
"name": "is_allow_order_deduct",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0金额字段用于计费/结算/核算等金额计算)。 【ODS来源】member_stored_value_cards - is_allow_order_deduct。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - is_allow_order_deduct。",
"ordinal_position": 16
},
{
"name": "sort",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】1维度字段用于补充维度属性。 【ODS来源】member_stored_value_cards - sort。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - sort。",
"ordinal_position": 17
},
{
"name": "table_discount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】10.0(数量/时长字段,用于统计与计量)。 【ODS来源】member_stored_value_cards - table_discount。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - table_discount。",
"ordinal_position": 18
},
{
"name": "goods_discount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】10.0(数量/时长字段,用于统计与计量)。 【ODS来源】member_stored_value_cards - goods_discount。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - goods_discount。",
"ordinal_position": 19
},
{
"name": "assistant_discount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】10.0(数量/时长字段,用于统计与计量)。 【ODS来源】member_stored_value_cards - assistant_discount。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - assistant_discount。",
"ordinal_position": 20
},
{
"name": "assistant_reward_discount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】10.0(数量/时长字段,用于统计与计量)。 【ODS来源】member_stored_value_cards - assistant_reward_discount。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - assistant_reward_discount。",
"ordinal_position": 21
},
{
"name": "table_service_discount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】10.0(数量/时长字段,用于统计与计量)。 【ODS来源】member_stored_value_cards - table_service_discount。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - table_service_discount。",
"ordinal_position": 22
},
{
"name": "goods_service_discount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】10.0(数量/时长字段,用于统计与计量)。 【ODS来源】member_stored_value_cards - goods_service_discount。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - goods_service_discount。",
"ordinal_position": 23
},
{
"name": "assistant_service_discount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】10.0(数量/时长字段,用于统计与计量)。 【ODS来源】member_stored_value_cards - assistant_service_discount。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - assistant_service_discount。",
"ordinal_position": 24
},
{
"name": "coupon_discount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】10.0(数量/时长字段,用于统计与计量)。 【ODS来源】member_stored_value_cards - coupon_discount。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - coupon_discount。",
"ordinal_position": 25
},
{
"name": "table_discount_sub_switch",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】2数量/时长字段,用于统计与计量)。 【ODS来源】member_stored_value_cards - table_discount_sub_switch。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - table_discount_sub_switch。",
"ordinal_position": 26
},
{
"name": "goods_discount_sub_switch",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】2数量/时长字段,用于统计与计量)。 【ODS来源】member_stored_value_cards - goods_discount_sub_switch。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - goods_discount_sub_switch。",
"ordinal_position": 27
},
{
"name": "assistant_discount_sub_switch",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】2数量/时长字段,用于统计与计量)。 【ODS来源】member_stored_value_cards - assistant_discount_sub_switch。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - assistant_discount_sub_switch。",
"ordinal_position": 28
},
{
"name": "assistant_reward_discount_sub_switch",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】2数量/时长字段,用于统计与计量)。 【ODS来源】member_stored_value_cards - assistant_reward_discount_sub_switch。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - assistant_reward_discount_sub_switch。",
"ordinal_position": 29
},
{
"name": "goods_discount_range_type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】1数量/时长字段,用于统计与计量)。 【ODS来源】member_stored_value_cards - goods_discount_range_type。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - goods_discount_range_type。",
"ordinal_position": 30
},
{
"name": "table_deduct_radio",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】100.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】member_stored_value_cards - table_deduct_radio。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - table_deduct_radio。",
"ordinal_position": 31
},
{
"name": "goods_deduct_radio",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】100.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】member_stored_value_cards - goods_deduct_radio。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - goods_deduct_radio。",
"ordinal_position": 32
},
{
"name": "assistant_deduct_radio",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】100.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】member_stored_value_cards - assistant_deduct_radio。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - assistant_deduct_radio。",
"ordinal_position": 33
},
{
"name": "table_service_deduct_radio",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】100.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】member_stored_value_cards - table_service_deduct_radio。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - table_service_deduct_radio。",
"ordinal_position": 34
},
{
"name": "goods_service_deduct_radio",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】100.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】member_stored_value_cards - goods_service_deduct_radio。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - goods_service_deduct_radio。",
"ordinal_position": 35
},
{
"name": "assistant_service_deduct_radio",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】100.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】member_stored_value_cards - assistant_service_deduct_radio。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - assistant_service_deduct_radio。",
"ordinal_position": 36
},
{
"name": "assistant_reward_deduct_radio",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】100.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】member_stored_value_cards - assistant_reward_deduct_radio。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - assistant_reward_deduct_radio。",
"ordinal_position": 37
},
{
"name": "coupon_deduct_radio",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】100.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】member_stored_value_cards - coupon_deduct_radio。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - coupon_deduct_radio。",
"ordinal_position": 38
},
{
"name": "cardsettlededuct",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】member_stored_value_cards - cardSettleDeduct。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - cardSettleDeduct。",
"ordinal_position": 39
},
{
"name": "tablecarddeduct",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】member_stored_value_cards - tableCardDeduct。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - tableCardDeduct。",
"ordinal_position": 40
},
{
"name": "tableservicecarddeduct",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】member_stored_value_cards - tableServiceCardDeduct。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - tableServiceCardDeduct。",
"ordinal_position": 41
},
{
"name": "goodscardeduct",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】member_stored_value_cards - goodsCarDeduct。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - goodsCarDeduct。",
"ordinal_position": 42
},
{
"name": "goodsservicecarddeduct",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】member_stored_value_cards - goodsServiceCardDeduct。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - goodsServiceCardDeduct。",
"ordinal_position": 43
},
{
"name": "assistantcarddeduct",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】member_stored_value_cards - assistantCardDeduct。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - assistantCardDeduct。",
"ordinal_position": 44
},
{
"name": "assistantservicecarddeduct",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】member_stored_value_cards - assistantServiceCardDeduct。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - assistantServiceCardDeduct。",
"ordinal_position": 45
},
{
"name": "assistantrewardcarddeduct",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】member_stored_value_cards - assistantRewardCardDeduct。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - assistantRewardCardDeduct。",
"ordinal_position": 46
},
{
"name": "couponcarddeduct",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】member_stored_value_cards - couponCardDeduct。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - couponCardDeduct。",
"ordinal_position": 47
},
{
"name": "deliveryfeededuct",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】member_stored_value_cards - deliveryFeeDeduct。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - deliveryFeeDeduct。",
"ordinal_position": 48
},
{
"name": "tableareaid",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】[](维度字段,用于补充维度属性)。 【ODS来源】member_stored_value_cards - tableAreaId。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - tableAreaId。",
"ordinal_position": 49
},
{
"name": "goodscategoryid",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】[](维度字段,用于补充维度属性)。 【ODS来源】member_stored_value_cards - goodsCategoryId。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - goodsCategoryId。",
"ordinal_position": 50
},
{
"name": "pdassisnatlevel",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】[](维度字段,用于补充维度属性)。 【ODS来源】member_stored_value_cards - pdAssisnatLevel。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - pdAssisnatLevel。",
"ordinal_position": 51
},
{
"name": "cxassisnatlevel",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】[](维度字段,用于补充维度属性)。 【ODS来源】member_stored_value_cards - cxAssisnatLevel。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - cxAssisnatLevel。",
"ordinal_position": 52
},
{
"name": "able_share_member_discount",
"data_type": "boolean",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 53
},
{
"name": "electricity_deduct_radio",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 54
},
{
"name": "electricity_discount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 55
},
{
"name": "electricity_card_deduct",
"data_type": "boolean",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 56
},
{
"name": "recharge_freeze_balance",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 57
},
{
"name": "scd2_start_time",
"data_type": "timestamp with time zone",
"is_nullable": false,
"column_default": null,
"comment": "【说明】SCD2 开始时间(版本生效起点),用于维度慢变追踪。 【示例】2025-11-10T00:00:00+08:00SCD2 开始时间(版本生效起点),用于维度慢变追踪)。 【ODS来源】member_stored_value_cards - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 58
},
{
"name": "scd2_end_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪。 【示例】9999-12-31T00:00:00+00:00SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪)。 【ODS来源】member_stored_value_cards - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 59
},
{
"name": "scd2_is_current",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】SCD2 当前版本标记1=当前0=历史),用于筛选最新维度记录。 【示例】1SCD2 当前版本标记1=当前0=历史),用于筛选最新维度记录)。 【ODS来源】member_stored_value_cards - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 60
},
{
"name": "scd2_version",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】SCD2 版本号(自增),用于与时间段一起避免版本重叠。 【示例】1SCD2 版本号(自增),用于与时间段一起避免版本重叠)。 【ODS来源】member_stored_value_cards - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 61
}
]
}

View File

@@ -0,0 +1,119 @@
{
"schema": "dwd",
"table": "dim_member_ex",
"ods_source": "member_profiles",
"columns": [
{
"name": "member_id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2955204541320325标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】member_profiles - id。 【JSON字段】member_profiles.json - data.tenantMemberInfos - id。",
"ordinal_position": 1
},
{
"name": "referrer_member_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】member_profiles - referrer_member_id。 【JSON字段】member_profiles.json - data.tenantMemberInfos - referrer_member_id。",
"ordinal_position": 2
},
{
"name": "point",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】0.0(维度字段,用于补充维度属性)。 【ODS来源】member_profiles - point。 【JSON字段】member_profiles.json - data.tenantMemberInfos - point。",
"ordinal_position": 3
},
{
"name": "register_site_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】朗朗桌球(名称字段,用于展示与辅助识别)。 【ODS来源】member_profiles - site_name。 【JSON字段】member_profiles.json - data.tenantMemberInfos - site_name。",
"ordinal_position": 4
},
{
"name": "growth_value",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】0.0(维度字段,用于补充维度属性)。 【ODS来源】member_profiles - growth_value。 【JSON字段】member_profiles.json - data.tenantMemberInfos - growth_value。",
"ordinal_position": 5
},
{
"name": "user_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】状态枚举字段,用于标识业务状态。 【示例】1状态枚举字段用于标识业务状态。 【ODS来源】member_profiles - user_status。 【JSON字段】member_profiles.json - data.tenantMemberInfos - user_status。",
"ordinal_position": 6
},
{
"name": "status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】状态枚举字段,用于标识业务状态。 【示例】1状态枚举字段用于标识业务状态。 【ODS来源】member_profiles - status。 【JSON字段】member_profiles.json - data.tenantMemberInfos - status。",
"ordinal_position": 7
},
{
"name": "person_tenant_org_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 8
},
{
"name": "person_tenant_org_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 9
},
{
"name": "register_source",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 10
},
{
"name": "scd2_start_time",
"data_type": "timestamp with time zone",
"is_nullable": false,
"column_default": null,
"comment": "【说明】SCD2 开始时间(版本生效起点),用于维度慢变追踪。 【示例】2025-11-10T00:00:00+08:00SCD2 开始时间(版本生效起点),用于维度慢变追踪)。 【ODS来源】member_profiles - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 11
},
{
"name": "scd2_end_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪。 【示例】9999-12-31T00:00:00+00:00SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪)。 【ODS来源】member_profiles - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 12
},
{
"name": "scd2_is_current",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】SCD2 当前版本标记1=当前0=历史),用于筛选最新维度记录。 【示例】1SCD2 当前版本标记1=当前0=历史),用于筛选最新维度记录)。 【ODS来源】member_profiles - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 13
},
{
"name": "scd2_version",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】SCD2 版本号(自增),用于与时间段一起避免版本重叠。 【示例】1SCD2 版本号(自增),用于与时间段一起避免版本重叠)。 【ODS来源】member_profiles - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 14
}
]
}

View File

@@ -0,0 +1,143 @@
{
"schema": "dwd",
"table": "dim_site",
"ods_source": "table_fee_transactions",
"columns": [
{
"name": "site_id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790685415443269标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】table_fee_transactions - site_id。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList - site_id。",
"ordinal_position": 1
},
{
"name": "org_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】组织/机构 ID用于组织维度归属。 【示例】2790684179467077组织/机构 ID用于组织维度归属。 【ODS来源】table_fee_transactions - siteProfile.org_id。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList.siteProfile - org_id。",
"ordinal_position": 2
},
{
"name": "tenant_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】租户/品牌 ID用于商户维度过滤与关联。 【示例】2790683160709957租户/品牌 ID用于商户维度过滤与关联。 【ODS来源】table_fee_transactions - siteProfile.tenant_id。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList.siteProfile - tenant_id。",
"ordinal_position": 3
},
{
"name": "shop_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】门店名称,用于展示与查询。 【示例】朗朗桌球(门店名称,用于展示与查询)。 【ODS来源】table_fee_transactions - siteProfile.shop_name。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList.siteProfile - shop_name。",
"ordinal_position": 4
},
{
"name": "site_label",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】门店标签(如 A/B 店),用于展示与分组。 【示例】A门店标签如 A/B 店),用于展示与分组)。 【ODS来源】table_fee_transactions - siteProfile.site_label。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList.siteProfile - site_label。",
"ordinal_position": 5
},
{
"name": "full_address",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】门店详细地址,用于展示与地理信息。 【示例】广东省广州市天河区丽阳街12号门店详细地址用于展示与地理信息。 【ODS来源】table_fee_transactions - siteProfile.full_address。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList.siteProfile - full_address。",
"ordinal_position": 6
},
{
"name": "address",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】门店地址简称/快照,用于展示。 【示例】广东省广州市天河区天园街道朗朗桌球(门店地址简称/快照,用于展示)。 【ODS来源】table_fee_transactions - siteProfile.address。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList.siteProfile - address。",
"ordinal_position": 7
},
{
"name": "longitude",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】经度,用于定位与地图展示。 【示例】113.360321(经度,用于定位与地图展示)。 【ODS来源】table_fee_transactions - siteProfile.longitude。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList.siteProfile - longitude派生CAST(longitude AS numeric))。",
"ordinal_position": 8
},
{
"name": "latitude",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】纬度,用于定位与地图展示。 【示例】23.133629(纬度,用于定位与地图展示)。 【ODS来源】table_fee_transactions - siteProfile.latitude。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList.siteProfile - latitude派生CAST(latitude AS numeric))。",
"ordinal_position": 9
},
{
"name": "tenant_site_region_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】租户下门店区域 ID用于区域维度分析。 【示例】156440100租户下门店区域 ID用于区域维度分析。 【ODS来源】table_fee_transactions - siteProfile.tenant_site_region_id。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList.siteProfile - tenant_site_region_id。",
"ordinal_position": 10
},
{
"name": "business_tel",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】门店电话,用于联系信息展示。 【示例】13316068642门店电话用于联系信息展示。 【ODS来源】table_fee_transactions - siteProfile.business_tel。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList.siteProfile - business_tel。",
"ordinal_position": 11
},
{
"name": "site_type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】门店类型枚举,用于门店分类。 【示例】1门店类型枚举用于门店分类。 【ODS来源】table_fee_transactions - siteProfile.site_type。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList.siteProfile - site_type。",
"ordinal_position": 12
},
{
"name": "shop_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】门店状态枚举,用于营业状态标识。 【示例】1门店状态枚举用于营业状态标识。 【ODS来源】table_fee_transactions - siteProfile.shop_status。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList.siteProfile - shop_status。",
"ordinal_position": 13
},
{
"name": "scd2_start_time",
"data_type": "timestamp with time zone",
"is_nullable": false,
"column_default": "now()",
"comment": "【说明】SCD2 开始时间(版本生效起点),用于维度慢变追踪。 【示例】2025-11-10T00:00:00+08:00SCD2 开始时间(版本生效起点),用于维度慢变追踪)。 【ODS来源】table_fee_transactions - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 14
},
{
"name": "scd2_end_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": "'9999-12-31 00:00:00+08'::timestamp with time zone",
"comment": "【说明】SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪。 【示例】9999-12-31T00:00:00+00:00SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪)。 【ODS来源】table_fee_transactions - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 15
},
{
"name": "scd2_is_current",
"data_type": "integer",
"is_nullable": true,
"column_default": "1",
"comment": "【说明】SCD2 当前版本标记1=当前0=历史),用于筛选最新维度记录。 【示例】1SCD2 当前版本标记1=当前0=历史),用于筛选最新维度记录)。 【ODS来源】table_fee_transactions - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 16
},
{
"name": "scd2_version",
"data_type": "integer",
"is_nullable": true,
"column_default": "1",
"comment": "【说明】SCD2 版本号(自增),用于与时间段一起避免版本重叠。 【示例】1SCD2 版本号(自增),用于与时间段一起避免版本重叠)。 【ODS来源】table_fee_transactions - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 17
}
]
}

View File

@@ -0,0 +1,207 @@
{
"schema": "dwd",
"table": "dim_site_ex",
"ods_source": "table_fee_transactions",
"columns": [
{
"name": "site_id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790685415443269标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】table_fee_transactions - site_id。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList - site_id。",
"ordinal_position": 1
},
{
"name": "avatar",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】门店头像/图片 URL用于展示。 【示例】https://oss.ficoo.vip/admin/hXcE4E_1752495052016.jpg门店头像/图片 URL用于展示。 【ODS来源】table_fee_transactions - siteProfile.avatar。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList.siteProfile - avatar。",
"ordinal_position": 2
},
{
"name": "address",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】门店地址简称/快照,用于展示。 【示例】广东省广州市天河区天园街道朗朗桌球(门店地址简称/快照,用于展示)。 【ODS来源】table_fee_transactions - siteProfile.address。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList.siteProfile - address。",
"ordinal_position": 3
},
{
"name": "longitude",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】经度,用于定位与地图展示。 【示例】113.360321(经度,用于定位与地图展示)。 【ODS来源】table_fee_transactions - siteProfile.longitude。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList.siteProfile - longitude派生CAST(longitude AS numeric))。",
"ordinal_position": 4
},
{
"name": "latitude",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】纬度,用于定位与地图展示。 【示例】23.133629(纬度,用于定位与地图展示)。 【ODS来源】table_fee_transactions - siteProfile.latitude。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList.siteProfile - latitude派生CAST(latitude AS numeric))。",
"ordinal_position": 5
},
{
"name": "tenant_site_region_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】租户下门店区域 ID用于区域维度分析。 【示例】156440100租户下门店区域 ID用于区域维度分析。 【ODS来源】table_fee_transactions - siteProfile.tenant_site_region_id。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList.siteProfile - tenant_site_region_id。",
"ordinal_position": 6
},
{
"name": "auto_light",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】是否启用自动灯控配置,用于门店设备策略。 【示例】1是否启用自动灯控配置用于门店设备策略。 【ODS来源】table_fee_transactions - siteProfile.auto_light。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList.siteProfile - auto_light。",
"ordinal_position": 7
},
{
"name": "light_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】灯控状态/开关,用于灯控设备管理。 【示例】1灯控状态/开关,用于灯控设备管理)。 【ODS来源】table_fee_transactions - siteProfile.light_status。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList.siteProfile - light_status。",
"ordinal_position": 8
},
{
"name": "light_type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】灯控类型,用于设备类型区分。 【示例】0灯控类型用于设备类型区分。 【ODS来源】table_fee_transactions - siteProfile.light_type。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList.siteProfile - light_type。",
"ordinal_position": 9
},
{
"name": "light_token",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】灯控控制令牌,用于对接灯控服务。 【示例】NULL灯控控制令牌用于对接灯控服务。 【ODS来源】table_fee_transactions - siteProfile.light_token。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList.siteProfile - light_token。",
"ordinal_position": 10
},
{
"name": "site_type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】门店类型枚举,用于门店分类。 【示例】1门店类型枚举用于门店分类。 【ODS来源】table_fee_transactions - siteProfile.site_type。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList.siteProfile - site_type。",
"ordinal_position": 11
},
{
"name": "site_label",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】门店标签(如 A/B 店),用于展示与分组。 【示例】A门店标签如 A/B 店),用于展示与分组)。 【ODS来源】table_fee_transactions - siteProfile.site_label。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList.siteProfile - site_label。",
"ordinal_position": 12
},
{
"name": "attendance_enabled",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】是否启用考勤功能,用于门店考勤配置。 【示例】1是否启用考勤功能用于门店考勤配置。 【ODS来源】table_fee_transactions - siteProfile.attendance_enabled。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList.siteProfile - attendance_enabled。",
"ordinal_position": 13
},
{
"name": "attendance_distance",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】考勤允许距离(米),用于考勤打卡限制。 【示例】0考勤允许距离用于考勤打卡限制。 【ODS来源】table_fee_transactions - siteProfile.attendance_distance。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList.siteProfile - attendance_distance。",
"ordinal_position": 14
},
{
"name": "customer_service_qrcode",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】客服二维码 URL用于引导联系。 【示例】NULL客服二维码 URL用于引导联系。 【ODS来源】table_fee_transactions - siteProfile.customer_service_qrcode。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList.siteProfile - customer_service_qrcode。",
"ordinal_position": 15
},
{
"name": "customer_service_wechat",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】客服微信号,用于引导联系。 【示例】NULL客服微信号用于引导联系。 【ODS来源】table_fee_transactions - siteProfile.customer_service_wechat。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList.siteProfile - customer_service_wechat。",
"ordinal_position": 16
},
{
"name": "fixed_pay_qrcode",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】固定收款码二维码URL用于收款引导。 【示例】NULL固定收款码二维码URL用于收款引导。 【ODS来源】table_fee_transactions - siteProfile.fixed_pay_qrCode。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList.siteProfile - fixed_pay_qrCode。",
"ordinal_position": 17
},
{
"name": "prod_env",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】环境标识(生产/测试),用于区分配置环境。 【示例】1环境标识生产/测试),用于区分配置环境)。 【ODS来源】table_fee_transactions - siteProfile.prod_env。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList.siteProfile - prod_env。",
"ordinal_position": 18
},
{
"name": "shop_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】门店状态枚举,用于营业状态标识。 【示例】1门店状态枚举用于营业状态标识。 【ODS来源】table_fee_transactions - siteProfile.shop_status。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList.siteProfile - shop_status。",
"ordinal_position": 19
},
{
"name": "create_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】门店创建时间(快照字段)。 【示例】NULL用于门店创建时间快照字段。 【ODS来源】table_fee_transactions - siteProfile.create_time。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList.siteProfile - create_time派生CAST(create_time AS timestamptz))。",
"ordinal_position": 20
},
{
"name": "update_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】门店更新时间(快照字段)。 【示例】NULL用于门店更新时间快照字段。 【ODS来源】table_fee_transactions - siteProfile.update_time。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList.siteProfile - update_time派生CAST(update_time AS timestamptz))。",
"ordinal_position": 21
},
{
"name": "scd2_start_time",
"data_type": "timestamp with time zone",
"is_nullable": false,
"column_default": "now()",
"comment": "【说明】SCD2 开始时间(版本生效起点),用于维度慢变追踪。 【示例】2025-11-10T00:00:00+08:00SCD2 开始时间(版本生效起点),用于维度慢变追踪)。 【ODS来源】table_fee_transactions - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 22
},
{
"name": "scd2_end_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": "'9999-12-31 00:00:00+08'::timestamp with time zone",
"comment": "【说明】SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪。 【示例】9999-12-31T00:00:00+00:00SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪)。 【ODS来源】table_fee_transactions - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 23
},
{
"name": "scd2_is_current",
"data_type": "integer",
"is_nullable": true,
"column_default": "1",
"comment": "【说明】SCD2 当前版本标记1=当前0=历史),用于筛选最新维度记录。 【示例】1SCD2 当前版本标记1=当前0=历史),用于筛选最新维度记录)。 【ODS来源】table_fee_transactions - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 24
},
{
"name": "scd2_version",
"data_type": "integer",
"is_nullable": true,
"column_default": "1",
"comment": "【说明】SCD2 版本号(自增),用于与时间段一起避免版本重叠。 【示例】1SCD2 版本号(自增),用于与时间段一起避免版本重叠)。 【ODS来源】table_fee_transactions - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 25
}
]
}

View File

@@ -0,0 +1,215 @@
{
"schema": "dwd",
"table": "dim_store_goods",
"ods_source": "store_goods_master",
"columns": [
{
"name": "site_goods_id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2793025851560005标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_master - id。 【JSON字段】store_goods_master.json - data.orderGoodsList - id。",
"ordinal_position": 1
},
{
"name": "tenant_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790683160709957标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_master - tenant_id。 【JSON字段】store_goods_master.json - data.orderGoodsList - tenant_id。",
"ordinal_position": 2
},
{
"name": "site_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790685415443269标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_master - site_id。 【JSON字段】store_goods_master.json - data.orderGoodsList - site_id。",
"ordinal_position": 3
},
{
"name": "tenant_goods_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2792178593255301标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_master - tenant_goods_id。 【JSON字段】store_goods_master.json - data.orderGoodsList - tenant_goods_id。",
"ordinal_position": 4
},
{
"name": "goods_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】合味道泡面(名称字段,用于展示与辅助识别)。 【ODS来源】store_goods_master - goods_name。 【JSON字段】store_goods_master.json - data.orderGoodsList - goods_name。",
"ordinal_position": 5
},
{
"name": "goods_category_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2791941988405125标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_master - goods_category_id。 【JSON字段】store_goods_master.json - data.orderGoodsList - goods_category_id。",
"ordinal_position": 6
},
{
"name": "goods_second_category_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2793236829620037标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_master - goods_second_category_id。 【JSON字段】store_goods_master.json - data.orderGoodsList - goods_second_category_id。",
"ordinal_position": 7
},
{
"name": "category_level1_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】零食(名称字段,用于展示与辅助识别)。 【ODS来源】store_goods_master - oneCategoryName。 【JSON字段】store_goods_master.json - data.orderGoodsList - oneCategoryName。",
"ordinal_position": 8
},
{
"name": "category_level2_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】面(名称字段,用于展示与辅助识别)。 【ODS来源】store_goods_master - twoCategoryName。 【JSON字段】store_goods_master.json - data.orderGoodsList - twoCategoryName。",
"ordinal_position": 9
},
{
"name": "batch_stock_qty",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】批次库存数量区别于当前库存stock。 【示例】18。 【ODS来源】store_goods_master - batch_stock_quantity。 【JSON字段】store_goods_master.json - data.orderGoodsList - batchStockQuantity。",
"ordinal_position": 10
},
{
"name": "sale_qty",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】104数量/时长字段,用于统计与计量)。 【ODS来源】store_goods_master - sale_num。 【JSON字段】store_goods_master.json - data.orderGoodsList - sale_num。",
"ordinal_position": 11
},
{
"name": "total_sales_qty",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】104数量/时长字段,用于统计与计量)。 【ODS来源】store_goods_master - total_sales。 【JSON字段】store_goods_master.json - data.orderGoodsList - total_sales。",
"ordinal_position": 12
},
{
"name": "sale_price",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】12.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】store_goods_master - sale_price。 【JSON字段】store_goods_master.json - data.orderGoodsList - sale_price。",
"ordinal_position": 13
},
{
"name": "created_at",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】2025-07-16 11:52:51维度字段用于补充维度属性。 【ODS来源】store_goods_master - create_time。 【JSON字段】store_goods_master.json - data.orderGoodsList - create_time。",
"ordinal_position": 14
},
{
"name": "updated_at",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】2025-11-09 07:23:47维度字段用于补充维度属性。 【ODS来源】store_goods_master - update_time。 【JSON字段】store_goods_master.json - data.orderGoodsList - update_time。",
"ordinal_position": 15
},
{
"name": "avg_monthly_sales",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】1.32(维度字段,用于补充维度属性)。 【ODS来源】store_goods_master - average_monthly_sales。 【JSON字段】store_goods_master.json - data.orderGoodsList - average_monthly_sales。",
"ordinal_position": 16
},
{
"name": "goods_state",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】1维度字段用于补充维度属性。 【ODS来源】store_goods_master - goods_state。 【JSON字段】store_goods_master.json - data.orderGoodsList - goods_state。",
"ordinal_position": 17
},
{
"name": "enable_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】状态枚举字段,用于标识业务状态。 【示例】1状态枚举字段用于标识业务状态。 【ODS来源】store_goods_master - enable_status。 【JSON字段】store_goods_master.json - data.orderGoodsList - enable_status。",
"ordinal_position": 18
},
{
"name": "send_state",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】1维度字段用于补充维度属性。 【ODS来源】store_goods_master - send_state。 【JSON字段】store_goods_master.json - data.orderGoodsList - send_state。",
"ordinal_position": 19
},
{
"name": "is_delete",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】0布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】store_goods_master - is_delete。 【JSON字段】store_goods_master.json - data.orderGoodsList - is_delete。",
"ordinal_position": 20
},
{
"name": "commodity_code",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 21
},
{
"name": "not_sale",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 22
},
{
"name": "scd2_start_time",
"data_type": "timestamp with time zone",
"is_nullable": false,
"column_default": null,
"comment": "【说明】SCD2 开始时间(版本生效起点),用于维度慢变追踪。 【示例】2025-11-10T00:00:00+08:00SCD2 开始时间(版本生效起点),用于维度慢变追踪)。 【ODS来源】store_goods_master - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 23
},
{
"name": "scd2_end_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪。 【示例】9999-12-31T00:00:00+00:00SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪)。 【ODS来源】store_goods_master - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 24
},
{
"name": "scd2_is_current",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】SCD2 当前版本标记1=当前0=历史),用于筛选最新维度记录。 【示例】1SCD2 当前版本标记1=当前0=历史),用于筛选最新维度记录)。 【ODS来源】store_goods_master - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 25
},
{
"name": "scd2_version",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】SCD2 版本号(自增),用于与时间段一起避免版本重叠。 【示例】1SCD2 版本号(自增),用于与时间段一起避免版本重叠)。 【ODS来源】store_goods_master - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 26
}
]
}

View File

@@ -0,0 +1,255 @@
{
"schema": "dwd",
"table": "dim_store_goods_ex",
"ods_source": "store_goods_master",
"columns": [
{
"name": "site_goods_id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2793025851560005标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_master - id。 【JSON字段】store_goods_master.json - data.orderGoodsList - id。",
"ordinal_position": 1
},
{
"name": "site_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】朗朗桌球(名称字段,用于展示与辅助识别)。 【ODS来源】store_goods_master - siteName。 【JSON字段】store_goods_master.json - data.orderGoodsList - siteName。",
"ordinal_position": 2
},
{
"name": "unit",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】桶(维度字段,用于补充维度属性)。 【ODS来源】store_goods_master - unit。 【JSON字段】store_goods_master.json - data.orderGoodsList - unit。",
"ordinal_position": 3
},
{
"name": "goods_barcode",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】NULL维度字段用于补充维度属性。 【ODS来源】store_goods_master - goods_bar_code。 【JSON字段】store_goods_master.json - data.orderGoodsList - goods_bar_code。",
"ordinal_position": 4
},
{
"name": "goods_cover_url",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】https://oss.ficoo.vip/admin/8M1WM7_1753204221337.jpg维度字段用于补充维度属性。 【ODS来源】store_goods_master - goods_cover。 【JSON字段】store_goods_master.json - data.orderGoodsList - goods_cover。",
"ordinal_position": 5
},
{
"name": "pinyin_initial",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】HWDPM,GWDPM维度字段用于补充维度属性。 【ODS来源】store_goods_master - pinyin_initial。 【JSON字段】store_goods_master.json - data.orderGoodsList - pinyin_initial。",
"ordinal_position": 6
},
{
"name": "stock_qty",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】18数量/时长字段,用于统计与计量)。 【ODS来源】store_goods_master - stock。 【JSON字段】store_goods_master.json - data.orderGoodsList - stock。",
"ordinal_position": 7
},
{
"name": "stock_secondary_qty",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】0数量/时长字段,用于统计与计量)。 【ODS来源】store_goods_master - stock_A。 【JSON字段】store_goods_master.json - data.orderGoodsList - stock_A。",
"ordinal_position": 8
},
{
"name": "safety_stock_qty",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】0数量/时长字段,用于统计与计量)。 【ODS来源】store_goods_master - safe_stock。 【JSON字段】store_goods_master.json - data.orderGoodsList - safe_stock。",
"ordinal_position": 9
},
{
"name": "cost_price",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】store_goods_master - cost_price。 【JSON字段】store_goods_master.json - data.orderGoodsList - cost_price。",
"ordinal_position": 10
},
{
"name": "cost_price_type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】1金额字段用于计费/结算/核算等金额计算)。 【ODS来源】store_goods_master - cost_price_type。 【JSON字段】store_goods_master.json - data.orderGoodsList - cost_price_type。",
"ordinal_position": 11
},
{
"name": "provisional_total_cost",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】暂估总成本区别于实际采购成本total_purchase_cost。 【示例】0.0。 【ODS来源】store_goods_master - provisional_total_cost。 【JSON字段】store_goods_master.json - data.orderGoodsList - provisionalTotalCost。",
"ordinal_position": 12
},
{
"name": "total_purchase_cost",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】store_goods_master - total_purchase_cost。 【JSON字段】store_goods_master.json - data.orderGoodsList - total_purchase_cost。",
"ordinal_position": 13
},
{
"name": "min_discount_price",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】7.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】store_goods_master - min_discount_price。 【JSON字段】store_goods_master.json - data.orderGoodsList - min_discount_price。",
"ordinal_position": 14
},
{
"name": "is_discountable",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】1数量/时长字段,用于统计与计量)。 【ODS来源】store_goods_master - able_discount。 【JSON字段】store_goods_master.json - data.orderGoodsList - able_discount。",
"ordinal_position": 15
},
{
"name": "days_on_shelf",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】13维度字段用于补充维度属性。 【ODS来源】store_goods_master - days_available。 【JSON字段】store_goods_master.json - data.orderGoodsList - days_available。",
"ordinal_position": 16
},
{
"name": "audit_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】状态枚举字段,用于标识业务状态。 【示例】2状态枚举字段用于标识业务状态。 【ODS来源】store_goods_master - audit_status。 【JSON字段】store_goods_master.json - data.orderGoodsList - audit_status。",
"ordinal_position": 17
},
{
"name": "sale_channel",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】1维度字段用于补充维度属性。 【ODS来源】store_goods_master - sale_channel。 【JSON字段】store_goods_master.json - data.orderGoodsList - sale_channel。",
"ordinal_position": 18
},
{
"name": "is_warehousing",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】1布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】store_goods_master - is_warehousing。 【JSON字段】store_goods_master.json - data.orderGoodsList - is_warehousing。",
"ordinal_position": 19
},
{
"name": "freeze_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】状态枚举字段,用于标识业务状态。 【示例】0状态枚举字段用于标识业务状态。 【ODS来源】store_goods_master - freeze。 【JSON字段】store_goods_master.json - data.orderGoodsList - freeze。",
"ordinal_position": 20
},
{
"name": "forbid_sell_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】状态枚举字段,用于标识业务状态。 【示例】1状态枚举字段用于标识业务状态。 【ODS来源】store_goods_master - forbid_sell_status。 【JSON字段】store_goods_master.json - data.orderGoodsList - forbid_sell_status。",
"ordinal_position": 21
},
{
"name": "able_site_transfer",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】2维度字段用于补充维度属性。 【ODS来源】store_goods_master - able_site_transfer。 【JSON字段】store_goods_master.json - data.orderGoodsList - able_site_transfer。",
"ordinal_position": 22
},
{
"name": "custom_label_type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】2维度字段用于补充维度属性。 【ODS来源】store_goods_master - custom_label_type。 【JSON字段】store_goods_master.json - data.orderGoodsList - custom_label_type。",
"ordinal_position": 23
},
{
"name": "option_required",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】1维度字段用于补充维度属性。 【ODS来源】store_goods_master - option_required。 【JSON字段】store_goods_master.json - data.orderGoodsList - option_required。",
"ordinal_position": 24
},
{
"name": "remark",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】NULL维度字段用于补充维度属性。 【ODS来源】store_goods_master - remark。 【JSON字段】store_goods_master.json - data.orderGoodsList - remark。",
"ordinal_position": 25
},
{
"name": "sort_order",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】100维度字段用于补充维度属性。 【ODS来源】store_goods_master - sort。 【JSON字段】store_goods_master.json - data.orderGoodsList - sort。",
"ordinal_position": 26
},
{
"name": "scd2_start_time",
"data_type": "timestamp with time zone",
"is_nullable": false,
"column_default": null,
"comment": "【说明】SCD2 开始时间(版本生效起点),用于维度慢变追踪。 【示例】2025-11-10T00:00:00+08:00SCD2 开始时间(版本生效起点),用于维度慢变追踪)。 【ODS来源】store_goods_master - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 27
},
{
"name": "scd2_end_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪。 【示例】9999-12-31T00:00:00+00:00SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪)。 【ODS来源】store_goods_master - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 28
},
{
"name": "scd2_is_current",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】SCD2 当前版本标记1=当前0=历史),用于筛选最新维度记录。 【示例】1SCD2 当前版本标记1=当前0=历史),用于筛选最新维度记录)。 【ODS来源】store_goods_master - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 29
},
{
"name": "scd2_version",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】SCD2 版本号(自增),用于与时间段一起避免版本重叠。 【示例】1SCD2 版本号(自增),用于与时间段一起避免版本重叠)。 【ODS来源】store_goods_master - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 30
},
{
"name": "batch_stock_quantity",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】批次库存数量区别于当前库存stock和主表的 batch_stock_qty。 【ODS来源】store_goods_master - batch_stock_quantity。 【JSON字段】store_goods_master.json - data.orderGoodsList - batchStockQuantity。",
"ordinal_position": 31
}
]
}

View File

@@ -0,0 +1,103 @@
{
"schema": "dwd",
"table": "dim_table",
"ods_source": "site_tables_master",
"columns": [
{
"name": "table_id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2791964216463493标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】site_tables_master - id。 【JSON字段】site_tables_master.json - data.siteTables - id。",
"ordinal_position": 1
},
{
"name": "site_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790685415443269标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】site_tables_master - site_id。 【JSON字段】site_tables_master.json - data.siteTables - site_id。",
"ordinal_position": 2
},
{
"name": "table_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】A1名称字段用于展示与辅助识别。 【ODS来源】site_tables_master - table_name。 【JSON字段】site_tables_master.json - data.siteTables - table_name。",
"ordinal_position": 3
},
{
"name": "site_table_area_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2791963794329671标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】site_tables_master - site_table_area_id。 【JSON字段】site_tables_master.json - data.siteTables - site_table_area_id。",
"ordinal_position": 4
},
{
"name": "site_table_area_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】A区名称字段用于展示与辅助识别。 【ODS来源】site_tables_master - areaName。 【JSON字段】site_tables_master.json - data.siteTables - areaName。",
"ordinal_position": 5
},
{
"name": "tenant_table_area_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2791963794329671标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】site_tables_master - site_table_area_id。 【JSON字段】site_tables_master.json - data.siteTables - site_table_area_id。",
"ordinal_position": 6
},
{
"name": "table_price",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】site_tables_master - table_price。 【JSON字段】site_tables_master.json - data.siteTables - table_price。",
"ordinal_position": 7
},
{
"name": "order_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 8
},
{
"name": "scd2_start_time",
"data_type": "timestamp with time zone",
"is_nullable": false,
"column_default": "now()",
"comment": "【说明】SCD2 开始时间(版本生效起点),用于维度慢变追踪。 【示例】2025-11-10T00:00:00+08:00SCD2 开始时间(版本生效起点),用于维度慢变追踪)。 【ODS来源】site_tables_master - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 9
},
{
"name": "scd2_end_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": "'9999-12-31 00:00:00+08'::timestamp with time zone",
"comment": "【说明】SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪。 【示例】9999-12-31T00:00:00+00:00SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪)。 【ODS来源】site_tables_master - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 10
},
{
"name": "scd2_is_current",
"data_type": "integer",
"is_nullable": true,
"column_default": "1",
"comment": "【说明】SCD2 当前版本标记1=当前0=历史),用于筛选最新维度记录。 【示例】1SCD2 当前版本标记1=当前0=历史),用于筛选最新维度记录)。 【ODS来源】site_tables_master - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 11
},
{
"name": "scd2_version",
"data_type": "integer",
"is_nullable": true,
"column_default": "1",
"comment": "【说明】SCD2 版本号(自增),用于与时间段一起避免版本重叠。 【示例】1SCD2 版本号(自增),用于与时间段一起避免版本重叠)。 【ODS来源】site_tables_master - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 12
}
]
}

View File

@@ -0,0 +1,199 @@
{
"schema": "dwd",
"table": "dim_table_ex",
"ods_source": "site_tables_master",
"columns": [
{
"name": "table_id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2791964216463493标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】site_tables_master - id。 【JSON字段】site_tables_master.json - data.siteTables - id。",
"ordinal_position": 1
},
{
"name": "show_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】状态枚举字段,用于标识业务状态。 【示例】1状态枚举字段用于标识业务状态。 【ODS来源】site_tables_master - show_status。 【JSON字段】site_tables_master.json - data.siteTables - show_status。",
"ordinal_position": 2
},
{
"name": "is_online_reservation",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】2布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】site_tables_master - is_online_reservation。 【JSON字段】site_tables_master.json - data.siteTables - is_online_reservation。",
"ordinal_position": 3
},
{
"name": "table_cloth_use_time",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】1863727时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】site_tables_master - table_cloth_use_time。 【JSON字段】site_tables_master.json - data.siteTables - table_cloth_use_time。",
"ordinal_position": 4
},
{
"name": "table_cloth_use_cycle",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】0维度字段用于补充维度属性。 【ODS来源】site_tables_master - table_cloth_use_Cycle。 【JSON字段】site_tables_master.json - data.siteTables - table_cloth_use_Cycle。",
"ordinal_position": 5
},
{
"name": "table_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】状态枚举字段,用于标识业务状态。 【示例】1状态枚举字段用于标识业务状态。 【ODS来源】site_tables_master - table_status。 【JSON字段】site_tables_master.json - data.siteTables - table_status。",
"ordinal_position": 6
},
{
"name": "scd2_start_time",
"data_type": "timestamp with time zone",
"is_nullable": false,
"column_default": "now()",
"comment": "【说明】SCD2 开始时间(版本生效起点),用于维度慢变追踪。 【示例】2025-11-10T00:00:00+08:00SCD2 开始时间(版本生效起点),用于维度慢变追踪)。 【ODS来源】site_tables_master - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 7
},
{
"name": "scd2_end_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": "'9999-12-31 00:00:00+08'::timestamp with time zone",
"comment": "【说明】SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪。 【示例】9999-12-31T00:00:00+00:00SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪)。 【ODS来源】site_tables_master - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 8
},
{
"name": "scd2_is_current",
"data_type": "integer",
"is_nullable": true,
"column_default": "1",
"comment": "【说明】SCD2 当前版本标记1=当前0=历史),用于筛选最新维度记录。 【示例】1SCD2 当前版本标记1=当前0=历史),用于筛选最新维度记录)。 【ODS来源】site_tables_master - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 9
},
{
"name": "scd2_version",
"data_type": "integer",
"is_nullable": true,
"column_default": "1",
"comment": "【说明】SCD2 版本号(自增),用于与时间段一起避免版本重叠。 【示例】1SCD2 版本号(自增),用于与时间段一起避免版本重叠)。 【ODS来源】site_tables_master - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 10
},
{
"name": "create_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】台桌配置的创建时间或最近一次创建/复制时间。 【示例】2025-07-15 17:52:54。 【ODS来源】site_tables_master - create_time。 【JSON字段】site_tables_master.json - data.siteTables - create_time。",
"ordinal_position": 11
},
{
"name": "light_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】台灯状态枚举(如 2=已开灯),用于标识台桌灯光当前状态。 【示例】2。 【ODS来源】site_tables_master - light_status。 【JSON字段】site_tables_master.json - data.siteTables - light_status。",
"ordinal_position": 12
},
{
"name": "tablestatusname",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】台桌状态中文名称(如\"空闲中\"\"使用中\"),仅展示用途。 【示例】空闲中。 【ODS来源】site_tables_master - tablestatusname。 【JSON字段】site_tables_master.json - data.siteTables - tableStatusName。",
"ordinal_position": 13
},
{
"name": "sitename",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】门店名称快照,冗余字段,配合 site_id 使用。 【示例】朗朗桌球。 【ODS来源】site_tables_master - sitename。 【JSON字段】site_tables_master.json - data.siteTables - siteName。",
"ordinal_position": 14
},
{
"name": "applet_qr_code_url",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】小程序二维码 URL用于扫码开台等场景。 【ODS来源】site_tables_master - appletQrCodeUrl。 【JSON字段】site_tables_master.json - data.siteTables - appletQrCodeUrl。",
"ordinal_position": 15
},
{
"name": "audit_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】审核状态枚举(当前全部为 2含义待确认。 【示例】2。 【ODS来源】site_tables_master - audit_status。 【JSON字段】site_tables_master.json - data.siteTables - audit_status。",
"ordinal_position": 16
},
{
"name": "charge_free",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】是否免费台0=收费1=免费),当前全部为 0。 【示例】0。 【ODS来源】site_tables_master - charge_free。 【JSON字段】site_tables_master.json - data.siteTables - charge_free。",
"ordinal_position": 17
},
{
"name": "delay_lights_time",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】台灯熄灭延迟时间(单位秒或分钟),结账后延时关灯。 【示例】0。 【ODS来源】site_tables_master - delay_lights_time。 【JSON字段】site_tables_master.json - data.siteTables - delay_lights_time。",
"ordinal_position": 18
},
{
"name": "is_rest_area",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】是否休息区台桌0=否1=是),当前全部为 0。 【示例】0。 【ODS来源】site_tables_master - is_rest_area。 【JSON字段】site_tables_master.json - data.siteTables - is_rest_area。",
"ordinal_position": 19
},
{
"name": "only_allow_groupon",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】是否仅允许团购开台0/1/2 枚举)。 【示例】2。 【ODS来源】site_tables_master - only_allow_groupon。 【JSON字段】site_tables_master.json - data.siteTables - only_allow_groupon。",
"ordinal_position": 20
},
{
"name": "order_delay_time",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】订单自动延时时长(到点后自动延长继续计费的时间)。 【示例】0。 【ODS来源】site_tables_master - order_delay_time。 【JSON字段】site_tables_master.json - data.siteTables - order_delay_time。",
"ordinal_position": 21
},
{
"name": "self_table",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】是否自有台桌1=自有),当前全部为 1。 【示例】1。 【ODS来源】site_tables_master - self_table。 【JSON字段】site_tables_master.json - data.siteTables - self_table。",
"ordinal_position": 22
},
{
"name": "temporary_light_second",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】临时开灯秒数,用于短时照明场景。 【示例】0。 【ODS来源】site_tables_master - temporary_light_second。 【JSON字段】site_tables_master.json - data.siteTables - temporary_light_second。",
"ordinal_position": 23
},
{
"name": "virtual_table",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】是否虚拟台桌0=实体台1=虚拟台)。 【示例】0。 【ODS来源】site_tables_master - virtual_table。 【JSON字段】site_tables_master.json - data.siteTables - virtual_table。",
"ordinal_position": 24
}
]
}

View File

@@ -0,0 +1,159 @@
{
"schema": "dwd",
"table": "dim_tenant_goods",
"ods_source": "tenant_goods_master",
"columns": [
{
"name": "tenant_goods_id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2791925230096261标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】tenant_goods_master - id。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - id。",
"ordinal_position": 1
},
{
"name": "tenant_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790683160709957标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】tenant_goods_master - tenant_id。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - tenant_id。",
"ordinal_position": 2
},
{
"name": "supplier_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】tenant_goods_master - supplier_id。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - supplier_id。",
"ordinal_position": 3
},
{
"name": "category_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】饮料(名称字段,用于展示与辅助识别)。 【ODS来源】tenant_goods_master - categoryName。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - categoryName。",
"ordinal_position": 4
},
{
"name": "goods_category_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790683528350539标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】tenant_goods_master - goods_category_id。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - goods_category_id。",
"ordinal_position": 5
},
{
"name": "goods_second_category_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790683528350540标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】tenant_goods_master - goods_second_category_id。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - goods_second_category_id。",
"ordinal_position": 6
},
{
"name": "goods_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】东方树叶(名称字段,用于展示与辅助识别)。 【ODS来源】tenant_goods_master - goods_name。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - goods_name。",
"ordinal_position": 7
},
{
"name": "goods_number",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】1数量/时长字段,用于统计与计量)。 【ODS来源】tenant_goods_master - goods_number。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - goods_number。",
"ordinal_position": 8
},
{
"name": "unit",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】瓶(维度字段,用于补充维度属性)。 【ODS来源】tenant_goods_master - unit。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - unit。",
"ordinal_position": 9
},
{
"name": "market_price",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】8.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】tenant_goods_master - market_price。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - market_price。",
"ordinal_position": 10
},
{
"name": "goods_state",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】1维度字段用于补充维度属性。 【ODS来源】tenant_goods_master - goods_state。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - goods_state。",
"ordinal_position": 11
},
{
"name": "create_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-07-15 17:13:15时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】tenant_goods_master - create_time。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - create_time。",
"ordinal_position": 12
},
{
"name": "update_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-10-29 23:51:38时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】tenant_goods_master - update_time。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - update_time。",
"ordinal_position": 13
},
{
"name": "is_delete",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】0布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】tenant_goods_master - is_delete。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - is_delete。",
"ordinal_position": 14
},
{
"name": "not_sale",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 15
},
{
"name": "scd2_start_time",
"data_type": "timestamp with time zone",
"is_nullable": false,
"column_default": null,
"comment": "【说明】SCD2 开始时间(版本生效起点),用于维度慢变追踪。 【示例】2025-11-10T00:00:00+08:00SCD2 开始时间(版本生效起点),用于维度慢变追踪)。 【ODS来源】tenant_goods_master - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 16
},
{
"name": "scd2_end_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪。 【示例】9999-12-31T00:00:00+00:00SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪)。 【ODS来源】tenant_goods_master - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 17
},
{
"name": "scd2_is_current",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】SCD2 当前版本标记1=当前0=历史),用于筛选最新维度记录。 【示例】1SCD2 当前版本标记1=当前0=历史),用于筛选最新维度记录)。 【ODS来源】tenant_goods_master - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 18
},
{
"name": "scd2_version",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】SCD2 版本号(自增),用于与时间段一起避免版本重叠。 【示例】1SCD2 版本号(自增),用于与时间段一起避免版本重叠)。 【ODS来源】tenant_goods_master - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 19
}
]
}

View File

@@ -0,0 +1,183 @@
{
"schema": "dwd",
"table": "dim_tenant_goods_ex",
"ods_source": "tenant_goods_master",
"columns": [
{
"name": "tenant_goods_id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2791925230096261标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】tenant_goods_master - id。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - id。",
"ordinal_position": 1
},
{
"name": "remark_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】NULL名称字段用于展示与辅助识别。 【ODS来源】tenant_goods_master - remark_name。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - remark_name。",
"ordinal_position": 2
},
{
"name": "pinyin_initial",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】DFSY,DFSX维度字段用于补充维度属性。 【ODS来源】tenant_goods_master - pinyin_initial。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - pinyin_initial。",
"ordinal_position": 3
},
{
"name": "goods_cover",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】https://oss.ficoo.vip/admin/ZwS8fj_1753175129443.jpg维度字段用于补充维度属性。 【ODS来源】tenant_goods_master - goods_cover。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - goods_cover。",
"ordinal_position": 4
},
{
"name": "goods_bar_code",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】NULL维度字段用于补充维度属性。 【ODS来源】tenant_goods_master - goods_bar_code。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - goods_bar_code。",
"ordinal_position": 5
},
{
"name": "commodity_code",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】10000028维度字段用于补充维度属性。 【ODS来源】tenant_goods_master - commodity_code。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - commodity_code。",
"ordinal_position": 6
},
{
"name": "commodity_code_list",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】10000028维度字段用于补充维度属性。 【ODS来源】tenant_goods_master - commodity_code。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - commodity_code。",
"ordinal_position": 7
},
{
"name": "min_discount_price",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】tenant_goods_master - min_discount_price。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - min_discount_price。",
"ordinal_position": 8
},
{
"name": "cost_price",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】tenant_goods_master - cost_price。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - cost_price。",
"ordinal_position": 9
},
{
"name": "cost_price_type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】1金额字段用于计费/结算/核算等金额计算)。 【ODS来源】tenant_goods_master - cost_price_type。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - cost_price_type。",
"ordinal_position": 10
},
{
"name": "able_discount",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】1数量/时长字段,用于统计与计量)。 【ODS来源】tenant_goods_master - able_discount。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - able_discount。",
"ordinal_position": 11
},
{
"name": "sale_channel",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】1维度字段用于补充维度属性。 【ODS来源】tenant_goods_master - sale_channel。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - sale_channel。",
"ordinal_position": 12
},
{
"name": "is_warehousing",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】1布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】tenant_goods_master - is_warehousing。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - is_warehousing。",
"ordinal_position": 13
},
{
"name": "is_in_site",
"data_type": "boolean",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】false布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】tenant_goods_master - isInSite派生BOOLEAN(isInSite))。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - isInSite派生BOOLEAN(isInSite))。",
"ordinal_position": 14
},
{
"name": "able_site_transfer",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】2维度字段用于补充维度属性。 【ODS来源】tenant_goods_master - able_site_transfer。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - able_site_transfer。",
"ordinal_position": 15
},
{
"name": "common_sale_royalty",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】0维度字段用于补充维度属性。 【ODS来源】tenant_goods_master - common_sale_royalty。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - common_sale_royalty。",
"ordinal_position": 16
},
{
"name": "point_sale_royalty",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】维度字段,用于补充维度属性。 【示例】0维度字段用于补充维度属性。 【ODS来源】tenant_goods_master - point_sale_royalty。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - point_sale_royalty。",
"ordinal_position": 17
},
{
"name": "out_goods_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】tenant_goods_master - out_goods_id。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - out_goods_id。",
"ordinal_position": 18
},
{
"name": "scd2_start_time",
"data_type": "timestamp with time zone",
"is_nullable": false,
"column_default": null,
"comment": "【说明】SCD2 开始时间(版本生效起点),用于维度慢变追踪。 【示例】2025-11-10T00:00:00+08:00SCD2 开始时间(版本生效起点),用于维度慢变追踪)。 【ODS来源】tenant_goods_master - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 19
},
{
"name": "scd2_end_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪。 【示例】9999-12-31T00:00:00+00:00SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪)。 【ODS来源】tenant_goods_master - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 20
},
{
"name": "scd2_is_current",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】SCD2 当前版本标记1=当前0=历史),用于筛选最新维度记录。 【示例】1SCD2 当前版本标记1=当前0=历史),用于筛选最新维度记录)。 【ODS来源】tenant_goods_master - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 21
},
{
"name": "scd2_version",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】SCD2 版本号(自增),用于与时间段一起避免版本重叠。 【示例】1SCD2 版本号(自增),用于与时间段一起避免版本重叠)。 【ODS来源】tenant_goods_master - 无DWD慢变元数据。 【JSON字段】无 - DWD慢变元数据 - 无。",
"ordinal_position": 22
}
]
}

View File

@@ -0,0 +1,271 @@
{
"schema": "dwd",
"table": "dwd_assistant_service_log",
"ods_source": "assistant_service_records",
"columns": [
{
"name": "assistant_service_id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957913441292165标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_service_records - id。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - id。",
"ordinal_position": 1
},
{
"name": "order_trade_no",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】2957784612605829明细字段用于记录事实取值。 【ODS来源】assistant_service_records - order_trade_no。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - order_trade_no。",
"ordinal_position": 2
},
{
"name": "order_settle_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957913171693253标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_service_records - order_settle_id。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - order_settle_id。",
"ordinal_position": 3
},
{
"name": "order_pay_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_service_records - order_pay_id。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - order_pay_id。",
"ordinal_position": 4
},
{
"name": "order_assistant_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】订单中助教项目明细的内部 ID订单级与 site_assistant_id档案级不同。 【示例】2957788717240005。 【ODS来源】assistant_service_records - order_assistant_id。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - order_assistant_id。",
"ordinal_position": 5
},
{
"name": "order_assistant_type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】1明细字段用于记录事实取值。 【ODS来源】assistant_service_records - order_assistant_type。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - order_assistant_type。",
"ordinal_position": 6
},
{
"name": "tenant_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790683160709957标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_service_records - tenant_id。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - tenant_id。",
"ordinal_position": 7
},
{
"name": "site_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790685415443269标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_service_records - site_id。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - site_id。",
"ordinal_position": 8
},
{
"name": "site_table_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2793020259897413标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_service_records - site_table_id。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - site_table_id。",
"ordinal_position": 9
},
{
"name": "tenant_member_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_service_records - tenant_member_id。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - tenant_member_id。",
"ordinal_position": 10
},
{
"name": "system_member_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_service_records - system_member_id。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - system_member_id。",
"ordinal_position": 11
},
{
"name": "assistant_no",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】27明细字段用于记录事实取值。 【ODS来源】assistant_service_records - assistantNo。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - assistantNo。",
"ordinal_position": 12
},
{
"name": "nickname",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】泡芙(名称字段,用于展示与辅助识别)。 【ODS来源】assistant_service_records - nickname。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - nickname。",
"ordinal_position": 13
},
{
"name": "site_assistant_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】门店维度的助教档案 ID关联 assistant_accounts_master.id。 【示例】2946266869435205。 【ODS来源】assistant_service_records - site_assistant_id。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - site_assistant_id。",
"ordinal_position": 14
},
{
"name": "user_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2946266868976453标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_service_records - user_id。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - user_id。",
"ordinal_position": 15
},
{
"name": "assistant_team_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2792011585884037标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_service_records - assistant_team_id。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - assistant_team_id。",
"ordinal_position": 16
},
{
"name": "person_org_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2946266869336901标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_service_records - person_org_id。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - person_org_id。",
"ordinal_position": 17
},
{
"name": "assistant_level",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】10明细字段用于记录事实取值。 【ODS来源】assistant_service_records - assistant_level。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - assistant_level。",
"ordinal_position": 18
},
{
"name": "level_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】初级(名称字段,用于展示与辅助识别)。 【ODS来源】assistant_service_records - levelName。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - levelName。",
"ordinal_position": 19
},
{
"name": "skill_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790683529513797标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_service_records - skill_id。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - skill_id。",
"ordinal_position": 20
},
{
"name": "skill_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】基础课(名称字段,用于展示与辅助识别)。 【ODS来源】assistant_service_records - skillName。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - skillName。",
"ordinal_position": 21
},
{
"name": "ledger_unit_price",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】98.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】assistant_service_records - ledger_unit_price。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - ledger_unit_price。",
"ordinal_position": 22
},
{
"name": "ledger_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】206.67(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】assistant_service_records - ledger_amount。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - ledger_amount。",
"ordinal_position": 23
},
{
"name": "projected_income",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】168.0(明细字段,用于记录事实取值)。 【ODS来源】assistant_service_records - projected_income。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - projected_income。",
"ordinal_position": 24
},
{
"name": "coupon_deduct_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】assistant_service_records - coupon_deduct_money。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - coupon_deduct_money。",
"ordinal_position": 25
},
{
"name": "income_seconds",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】7560数量/时长字段,用于统计与计量)。 【ODS来源】assistant_service_records - income_seconds。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - income_seconds。",
"ordinal_position": 26
},
{
"name": "real_use_seconds",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】7592数量/时长字段,用于统计与计量)。 【ODS来源】assistant_service_records - real_use_seconds。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - real_use_seconds。",
"ordinal_position": 27
},
{
"name": "add_clock",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】0明细字段用于记录事实取值。 【ODS来源】assistant_service_records - add_clock。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - add_clock。",
"ordinal_position": 28
},
{
"name": "create_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-09 23:25:11时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】assistant_service_records - create_time。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - create_time。",
"ordinal_position": 29
},
{
"name": "start_use_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-09 21:18:18时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】assistant_service_records - start_use_time。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - start_use_time。",
"ordinal_position": 30
},
{
"name": "last_use_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-09 23:24:50时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】assistant_service_records - last_use_time。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - last_use_time。",
"ordinal_position": 31
},
{
"name": "is_delete",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】0布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】assistant_service_records - is_delete。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - is_delete。",
"ordinal_position": 32
},
{
"name": "real_service_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 33
}
]
}

View File

@@ -0,0 +1,271 @@
{
"schema": "dwd",
"table": "dwd_assistant_service_log_ex",
"ods_source": "assistant_service_records",
"columns": [
{
"name": "assistant_service_id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957913441292165标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_service_records - id。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - id。",
"ordinal_position": 1
},
{
"name": "table_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】S1名称字段用于展示与辅助识别。 【ODS来源】assistant_service_records - tableName。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - tableName。",
"ordinal_position": 2
},
{
"name": "assistant_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】何海婷(名称字段,用于展示与辅助识别)。 【ODS来源】assistant_service_records - assistantName。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - assistantName。",
"ordinal_position": 3
},
{
"name": "ledger_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】27-泡芙(名称字段,用于展示与辅助识别)。 【ODS来源】assistant_service_records - ledger_name。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - ledger_name。",
"ordinal_position": 4
},
{
"name": "ledger_group_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】NULL名称字段用于展示与辅助识别。 【ODS来源】assistant_service_records - ledger_group_name。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - ledger_group_name。",
"ordinal_position": 5
},
{
"name": "ledger_count",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】7592数量/时长字段,用于统计与计量)。 【ODS来源】assistant_service_records - ledger_count。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - ledger_count。",
"ordinal_position": 6
},
{
"name": "member_discount_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】assistant_service_records - member_discount_amount。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - member_discount_amount。",
"ordinal_position": 7
},
{
"name": "manual_discount_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】assistant_service_records - manual_discount_amount。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - manual_discount_amount。",
"ordinal_position": 8
},
{
"name": "service_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】assistant_service_records - service_money。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - service_money。",
"ordinal_position": 9
},
{
"name": "returns_clock",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】0明细字段用于记录事实取值。 【ODS来源】assistant_service_records - returns_clock。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - returns_clock。",
"ordinal_position": 10
},
{
"name": "ledger_start_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-09 21:18:18时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】assistant_service_records - ledger_start_time。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - ledger_start_time。",
"ordinal_position": 11
},
{
"name": "ledger_end_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-09 23:24:50时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】assistant_service_records - ledger_end_time。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - ledger_end_time。",
"ordinal_position": 12
},
{
"name": "ledger_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】状态枚举字段,用于标识业务状态。 【示例】1状态枚举字段用于标识业务状态。 【ODS来源】assistant_service_records - ledger_status。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - ledger_status。",
"ordinal_position": 13
},
{
"name": "is_confirm",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】2布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】assistant_service_records - is_confirm。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - is_confirm。",
"ordinal_position": 14
},
{
"name": "is_single_order",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】1布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】assistant_service_records - is_single_order。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - is_single_order。",
"ordinal_position": 15
},
{
"name": "is_not_responding",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】0布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】assistant_service_records - is_not_responding。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - is_not_responding。",
"ordinal_position": 16
},
{
"name": "is_trash",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】0布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】assistant_service_records - is_trash。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - is_trash。",
"ordinal_position": 17
},
{
"name": "trash_applicant_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_service_records - trash_applicant_id。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - trash_applicant_id。",
"ordinal_position": 18
},
{
"name": "trash_applicant_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】NULL名称字段用于展示与辅助识别。 【ODS来源】assistant_service_records - trash_applicant_name。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - trash_applicant_name。",
"ordinal_position": 19
},
{
"name": "trash_reason",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】NULL明细字段用于记录事实取值。 【ODS来源】assistant_service_records - trash_reason。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - trash_reason。",
"ordinal_position": 20
},
{
"name": "salesman_user_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_service_records - salesman_user_id。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - salesman_user_id。",
"ordinal_position": 21
},
{
"name": "salesman_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】NULL名称字段用于展示与辅助识别。 【ODS来源】assistant_service_records - salesman_name。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - salesman_name。",
"ordinal_position": 22
},
{
"name": "salesman_org_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_service_records - salesman_org_id。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - salesman_org_id。",
"ordinal_position": 23
},
{
"name": "skill_grade",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】0明细字段用于记录事实取值。 【ODS来源】assistant_service_records - skill_grade。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - skill_grade。",
"ordinal_position": 24
},
{
"name": "service_grade",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】0明细字段用于记录事实取值。 【ODS来源】assistant_service_records - service_grade。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - service_grade。",
"ordinal_position": 25
},
{
"name": "composite_grade",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】0.0(明细字段,用于记录事实取值)。 【ODS来源】assistant_service_records - composite_grade。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - composite_grade。",
"ordinal_position": 26
},
{
"name": "sum_grade",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】0.0(明细字段,用于记录事实取值)。 【ODS来源】assistant_service_records - sum_grade。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - sum_grade。",
"ordinal_position": 27
},
{
"name": "get_grade_times",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】0明细字段用于记录事实取值。 【ODS来源】assistant_service_records - get_grade_times。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - get_grade_times。",
"ordinal_position": 28
},
{
"name": "grade_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】状态枚举字段,用于标识业务状态。 【示例】1状态枚举字段用于标识业务状态。 【ODS来源】assistant_service_records - grade_status。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - grade_status。",
"ordinal_position": 29
},
{
"name": "composite_grade_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】0001-01-01 00:00:00时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】assistant_service_records - composite_grade_time。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - composite_grade_time。",
"ordinal_position": 30
},
{
"name": "assistant_team_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 31
},
{
"name": "operator_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】操作员 ID录入/结算这条助教服务的员工。 【ODS来源】assistant_service_records - operator_id。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - operator_id。",
"ordinal_position": 32
},
{
"name": "operator_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】操作员姓名(带职位前缀),与 operator_id 一起使用,便于直接阅读。 【ODS来源】assistant_service_records - operator_name。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - operator_name。",
"ordinal_position": 33
}
]
}

View File

@@ -0,0 +1,95 @@
{
"schema": "dwd",
"table": "dwd_assistant_trash_event",
"ods_source": "assistant_cancellation_records",
"columns": [
{
"name": "assistant_trash_event_id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957675849518789标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_cancellation_records - id。 【JSON字段】assistant_cancellation_records.json - data.abolitionAssistants - id。",
"ordinal_position": 1
},
{
"name": "site_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790685415443269标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_cancellation_records - siteId。 【JSON字段】assistant_cancellation_records.json - data.abolitionAssistants - siteId。",
"ordinal_position": 2
},
{
"name": "table_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2793016660660357标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_cancellation_records - tableId。 【JSON字段】assistant_cancellation_records.json - data.abolitionAssistants - tableId。",
"ordinal_position": 3
},
{
"name": "table_area_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2791963816579205标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_cancellation_records - tableAreaId。 【JSON字段】assistant_cancellation_records.json - data.abolitionAssistants - tableAreaId。",
"ordinal_position": 4
},
{
"name": "assistant_no",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】泡芙(明细字段,用于记录事实取值)。 【ODS来源】assistant_cancellation_records - assistantName。 【JSON字段】assistant_cancellation_records.json - data.abolitionAssistants - assistantName。",
"ordinal_position": 5
},
{
"name": "assistant_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】泡芙(名称字段,用于展示与辅助识别)。 【ODS来源】assistant_cancellation_records - assistantName。 【JSON字段】assistant_cancellation_records.json - data.abolitionAssistants - assistantName。",
"ordinal_position": 6
},
{
"name": "charge_minutes_raw",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】214明细字段用于记录事实取值。 【ODS来源】assistant_cancellation_records - pdChargeMinutes。 【JSON字段】assistant_cancellation_records.json - data.abolitionAssistants - pdChargeMinutes。",
"ordinal_position": 7
},
{
"name": "abolish_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】5.83(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】assistant_cancellation_records - assistantAbolishAmount。 【JSON字段】assistant_cancellation_records.json - data.abolitionAssistants - assistantAbolishAmount。",
"ordinal_position": 8
},
{
"name": "trash_reason",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】NULL明细字段用于记录事实取值。 【ODS来源】assistant_cancellation_records - trashReason。 【JSON字段】assistant_cancellation_records.json - data.abolitionAssistants - trashReason。",
"ordinal_position": 9
},
{
"name": "create_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-09 19:23:29时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】assistant_cancellation_records - createTime。 【JSON字段】assistant_cancellation_records.json - data.abolitionAssistants - createTime。",
"ordinal_position": 10
},
{
"name": "tenant_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 11
}
]
}

View File

@@ -0,0 +1,39 @@
{
"schema": "dwd",
"table": "dwd_assistant_trash_event_ex",
"ods_source": "assistant_cancellation_records",
"columns": [
{
"name": "assistant_trash_event_id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957675849518789标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_cancellation_records - id。 【JSON字段】assistant_cancellation_records.json - data.abolitionAssistants - id。",
"ordinal_position": 1
},
{
"name": "table_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】C1名称字段用于展示与辅助识别。 【ODS来源】assistant_cancellation_records - tableName。 【JSON字段】assistant_cancellation_records.json - data.abolitionAssistants - tableName。",
"ordinal_position": 2
},
{
"name": "table_area_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】C区名称字段用于展示与辅助识别。 【ODS来源】assistant_cancellation_records - tableArea。 【JSON字段】assistant_cancellation_records.json - data.abolitionAssistants - tableArea。",
"ordinal_position": 3
},
{
"name": "assistant_no_int",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】助教编号(整数形式),与主表 assistant_noVARCHAR同源但类型不同便于数值比较和关联。 【示例】6。 【ODS来源】assistant_cancellation_records - assistanton。 【JSON字段】assistant_cancellation_records.json - data.abolitionAssistants - assistantOn。",
"ordinal_position": 4
}
]
}

View File

@@ -0,0 +1,167 @@
{
"schema": "dwd",
"table": "dwd_goods_stock_movement",
"ods_source": "goods_stock_movements",
"columns": [
{
"name": "site_goods_stock_id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": null,
"ordinal_position": 1
},
{
"name": "tenant_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 2
},
{
"name": "site_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 3
},
{
"name": "site_goods_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 4
},
{
"name": "goods_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 5
},
{
"name": "goods_category_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 6
},
{
"name": "goods_second_category_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 7
},
{
"name": "unit",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 8
},
{
"name": "price",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 9
},
{
"name": "stock_type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 10
},
{
"name": "change_num",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 11
},
{
"name": "start_num",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 12
},
{
"name": "end_num",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 13
},
{
"name": "change_num_a",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 14
},
{
"name": "start_num_a",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 15
},
{
"name": "end_num_a",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 16
},
{
"name": "remark",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 17
},
{
"name": "operator_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 18
},
{
"name": "create_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 19
},
{
"name": "fetched_at",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 20
}
]
}

View File

@@ -0,0 +1,143 @@
{
"schema": "dwd",
"table": "dwd_goods_stock_summary",
"ods_source": "goods_stock_summary",
"columns": [
{
"name": "site_goods_id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": null,
"ordinal_position": 1
},
{
"name": "goods_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 2
},
{
"name": "goods_unit",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 3
},
{
"name": "goods_category_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 4
},
{
"name": "goods_category_second_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 5
},
{
"name": "category_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 6
},
{
"name": "range_start_stock",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 7
},
{
"name": "range_end_stock",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 8
},
{
"name": "range_in",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 9
},
{
"name": "range_out",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 10
},
{
"name": "range_sale",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 11
},
{
"name": "range_sale_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 12
},
{
"name": "range_inventory",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 13
},
{
"name": "current_stock",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 14
},
{
"name": "site_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 15
},
{
"name": "tenant_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 16
},
{
"name": "fetched_at",
"data_type": "timestamp with time zone",
"is_nullable": false,
"column_default": null,
"comment": null,
"ordinal_position": 17
}
]
}

View File

@@ -0,0 +1,207 @@
{
"schema": "dwd",
"table": "dwd_groupbuy_redemption",
"ods_source": "group_buy_redemption_records",
"columns": [
{
"name": "redemption_id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957924029615941标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】group_buy_redemption_records - id。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - id。",
"ordinal_position": 1
},
{
"name": "tenant_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790683160709957标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】group_buy_redemption_records - tenant_id。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - tenant_id。",
"ordinal_position": 2
},
{
"name": "site_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790685415443269标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】group_buy_redemption_records - site_id。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - site_id。",
"ordinal_position": 3
},
{
"name": "table_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2793003705192517标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】group_buy_redemption_records - table_id。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - table_id。",
"ordinal_position": 4
},
{
"name": "tenant_table_area_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2791960001957765标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】group_buy_redemption_records - tenant_table_area_id。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - tenant_table_area_id。",
"ordinal_position": 5
},
{
"name": "table_charge_seconds",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】3600数量/时长字段,用于统计与计量)。 【ODS来源】group_buy_redemption_records - table_charge_seconds。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - table_charge_seconds。",
"ordinal_position": 6
},
{
"name": "order_trade_no",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】2957858167230149明细字段用于记录事实取值。 【ODS来源】group_buy_redemption_records - order_trade_no。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - order_trade_no。",
"ordinal_position": 7
},
{
"name": "order_settle_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957922914357125标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】group_buy_redemption_records - order_settle_id。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - order_settle_id。",
"ordinal_position": 8
},
{
"name": "order_coupon_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957858168229573标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】group_buy_redemption_records - order_coupon_id。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - order_coupon_id。",
"ordinal_position": 9
},
{
"name": "coupon_origin_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957858168229573标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】group_buy_redemption_records - coupon_origin_id。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - coupon_origin_id。",
"ordinal_position": 10
},
{
"name": "promotion_activity_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957858166460101标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】group_buy_redemption_records - promotion_activity_id。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - promotion_activity_id。",
"ordinal_position": 11
},
{
"name": "promotion_coupon_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2798727423528005标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】group_buy_redemption_records - promotion_coupon_id。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - promotion_coupon_id。",
"ordinal_position": 12
},
{
"name": "order_coupon_channel",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】1明细字段用于记录事实取值。 【ODS来源】group_buy_redemption_records - order_coupon_channel。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - order_coupon_channel。",
"ordinal_position": 13
},
{
"name": "ledger_unit_price",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】29.9(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】group_buy_redemption_records - ledger_unit_price。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - ledger_unit_price。",
"ordinal_position": 14
},
{
"name": "ledger_count",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】3600数量/时长字段,用于统计与计量)。 【ODS来源】group_buy_redemption_records - ledger_count。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - ledger_count。",
"ordinal_position": 15
},
{
"name": "ledger_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】48.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】group_buy_redemption_records - ledger_amount。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - ledger_amount。",
"ordinal_position": 16
},
{
"name": "coupon_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】48.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】group_buy_redemption_records - coupon_money。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - coupon_money。",
"ordinal_position": 17
},
{
"name": "promotion_seconds",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】3600数量/时长字段,用于统计与计量)。 【ODS来源】group_buy_redemption_records - promotion_seconds。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - promotion_seconds。",
"ordinal_position": 18
},
{
"name": "coupon_code",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】0107892475999明细字段用于记录事实取值。 【ODS来源】group_buy_redemption_records - coupon_code。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - coupon_code。",
"ordinal_position": 19
},
{
"name": "is_single_order",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】1布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】group_buy_redemption_records - is_single_order。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - is_single_order。",
"ordinal_position": 20
},
{
"name": "is_delete",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】0布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】group_buy_redemption_records - is_delete。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - is_delete。",
"ordinal_position": 21
},
{
"name": "ledger_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】全天A区中八一小时名称字段用于展示与辅助识别。 【ODS来源】group_buy_redemption_records - ledger_name。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - ledger_name。",
"ordinal_position": 22
},
{
"name": "create_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-09 23:35:57时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】group_buy_redemption_records - create_time。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - create_time。",
"ordinal_position": 23
},
{
"name": "member_discount_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 24
},
{
"name": "coupon_sale_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 25
}
]
}

View File

@@ -0,0 +1,231 @@
{
"schema": "dwd",
"table": "dwd_groupbuy_redemption_ex",
"ods_source": "group_buy_redemption_records",
"columns": [
{
"name": "redemption_id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957924029615941标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】group_buy_redemption_records - id。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - id。",
"ordinal_position": 1
},
{
"name": "site_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】朗朗桌球(名称字段,用于展示与辅助识别)。 【ODS来源】group_buy_redemption_records - siteName。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - siteName。",
"ordinal_position": 2
},
{
"name": "table_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】A17名称字段用于展示与辅助识别。 【ODS来源】group_buy_redemption_records - tableName。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - tableName。",
"ordinal_position": 3
},
{
"name": "table_area_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】A区名称字段用于展示与辅助识别。 【ODS来源】group_buy_redemption_records - tableAreaName。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - tableAreaName。",
"ordinal_position": 4
},
{
"name": "order_pay_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】group_buy_redemption_records - order_pay_id。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - order_pay_id。",
"ordinal_position": 5
},
{
"name": "goods_option_price",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】group_buy_redemption_records - goodsOptionPrice。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - goodsOptionPrice。",
"ordinal_position": 6
},
{
"name": "goods_promotion_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】group_buy_redemption_records - goods_promotion_money。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - goods_promotion_money。",
"ordinal_position": 7
},
{
"name": "table_service_promotion_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】group_buy_redemption_records - table_service_promotion_money。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - table_service_promotion_money。",
"ordinal_position": 8
},
{
"name": "assistant_promotion_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】group_buy_redemption_records - assistant_promotion_money。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - assistant_promotion_money。",
"ordinal_position": 9
},
{
"name": "assistant_service_promotion_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】group_buy_redemption_records - assistant_service_promotion_money。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - assistant_service_promotion_money。",
"ordinal_position": 10
},
{
"name": "reward_promotion_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】group_buy_redemption_records - reward_promotion_money。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - reward_promotion_money。",
"ordinal_position": 11
},
{
"name": "recharge_promotion_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】group_buy_redemption_records - recharge_promotion_money。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - recharge_promotion_money。",
"ordinal_position": 12
},
{
"name": "offer_type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】1明细字段用于记录事实取值。 【ODS来源】group_buy_redemption_records - offer_type。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - offer_type。",
"ordinal_position": 13
},
{
"name": "ledger_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】状态枚举字段,用于标识业务状态。 【示例】1状态枚举字段用于标识业务状态。 【ODS来源】group_buy_redemption_records - ledger_status。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - ledger_status。",
"ordinal_position": 14
},
{
"name": "operator_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790687322443013标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】group_buy_redemption_records - operator_id。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - operator_id。",
"ordinal_position": 15
},
{
"name": "operator_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】收银员:郑丽珊(名称字段,用于展示与辅助识别)。 【ODS来源】group_buy_redemption_records - operator_name。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - operator_name。",
"ordinal_position": 16
},
{
"name": "salesman_user_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】group_buy_redemption_records - salesman_user_id。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - salesman_user_id。",
"ordinal_position": 17
},
{
"name": "salesman_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】NULL名称字段用于展示与辅助识别。 【ODS来源】group_buy_redemption_records - salesman_name。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - salesman_name。",
"ordinal_position": 18
},
{
"name": "salesman_role_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】group_buy_redemption_records - salesman_role_id。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - salesman_role_id。",
"ordinal_position": 19
},
{
"name": "salesman_org_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】group_buy_redemption_records - sales_man_org_id。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - sales_man_org_id。",
"ordinal_position": 20
},
{
"name": "ledger_group_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】NULL名称字段用于展示与辅助识别。 【ODS来源】group_buy_redemption_records - ledger_group_name。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - ledger_group_name。",
"ordinal_position": 21
},
{
"name": "table_share_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 22
},
{
"name": "table_service_share_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 23
},
{
"name": "goods_share_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 24
},
{
"name": "good_service_share_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 25
},
{
"name": "assistant_share_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 26
},
{
"name": "assistant_service_share_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 27
},
{
"name": "recharge_share_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 28
}
]
}

View File

@@ -0,0 +1,183 @@
{
"schema": "dwd",
"table": "dwd_member_balance_change",
"ods_source": "member_balance_changes",
"columns": [
{
"name": "balance_change_id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957881605869253标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】member_balance_changes - id。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - id。",
"ordinal_position": 1
},
{
"name": "tenant_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790683160709957标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】member_balance_changes - tenant_id。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - tenant_id。",
"ordinal_position": 2
},
{
"name": "site_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790685415443269标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】member_balance_changes - site_id。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - site_id。",
"ordinal_position": 3
},
{
"name": "register_site_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790685415443269标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】member_balance_changes - register_site_id。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - register_site_id。",
"ordinal_position": 4
},
{
"name": "tenant_member_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2799212845565701标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】member_balance_changes - tenant_member_id。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - tenant_member_id。",
"ordinal_position": 5
},
{
"name": "system_member_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2799212844549893标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】member_balance_changes - system_member_id。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - system_member_id。",
"ordinal_position": 6
},
{
"name": "tenant_member_card_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2799219999295237标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】member_balance_changes - tenant_member_card_id。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - tenant_member_card_id。",
"ordinal_position": 7
},
{
"name": "card_type_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2793249295533893标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】member_balance_changes - card_type_id。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - card_type_id。",
"ordinal_position": 8
},
{
"name": "card_type_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】储值卡(名称字段,用于展示与辅助识别)。 【ODS来源】member_balance_changes - memberCardTypeName。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - memberCardTypeName。",
"ordinal_position": 9
},
{
"name": "member_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】曾丹烨(名称字段,用于展示与辅助识别)。 【ODS来源】member_balance_changes - memberName。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - memberName。",
"ordinal_position": 10
},
{
"name": "member_mobile",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】13922213242明细字段用于记录事实取值。 【ODS来源】member_balance_changes - memberMobile。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - memberMobile。",
"ordinal_position": 11
},
{
"name": "balance_before",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】816.3(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】member_balance_changes - before。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - before。",
"ordinal_position": 12
},
{
"name": "change_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】-120.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】member_balance_changes - account_data。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - account_data。",
"ordinal_position": 13
},
{
"name": "balance_after",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】696.3(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】member_balance_changes - after。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - after。",
"ordinal_position": 14
},
{
"name": "from_type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】1明细字段用于记录事实取值。 【ODS来源】member_balance_changes - from_type。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - from_type。",
"ordinal_position": 15
},
{
"name": "payment_method",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】0明细字段用于记录事实取值。 【ODS来源】member_balance_changes - payment_method。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - payment_method。",
"ordinal_position": 16
},
{
"name": "change_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-09 22:52:48时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】member_balance_changes - create_time。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - create_time。",
"ordinal_position": 17
},
{
"name": "is_delete",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】0布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】member_balance_changes - is_delete。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - is_delete。",
"ordinal_position": 18
},
{
"name": "remark",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】充值退款(明细字段,用于记录事实取值)。 【ODS来源】member_balance_changes - remark。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - remark。",
"ordinal_position": 19
},
{
"name": "principal_before",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段:本金变动前余额。 【ODS来源】member_balance_changes - principal_before。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - principal_before。",
"ordinal_position": 20
},
{
"name": "principal_after",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段:本金变动后余额。 【ODS来源】member_balance_changes - principal_after。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - principal_after。",
"ordinal_position": 21
},
{
"name": "principal_change_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段本金变动金额principal_after - principal_beforeETL 计算字段。",
"ordinal_position": 22
}
]
}

View File

@@ -0,0 +1,71 @@
{
"schema": "dwd",
"table": "dwd_member_balance_change_ex",
"ods_source": "member_balance_changes",
"columns": [
{
"name": "balance_change_id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957881605869253标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】member_balance_changes - id。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - id。",
"ordinal_position": 1
},
{
"name": "pay_site_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】朗朗桌球(名称字段,用于展示与辅助识别)。 【ODS来源】member_balance_changes - paySiteName。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - paySiteName。",
"ordinal_position": 2
},
{
"name": "register_site_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】朗朗桌球(名称字段,用于展示与辅助识别)。 【ODS来源】member_balance_changes - registerSiteName。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - registerSiteName。",
"ordinal_position": 3
},
{
"name": "refund_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】member_balance_changes - refund_amount。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - refund_amount。",
"ordinal_position": 4
},
{
"name": "operator_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790687322443013标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】member_balance_changes - operator_id。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - operator_id。",
"ordinal_position": 5
},
{
"name": "operator_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】收银员:郑丽珊(名称字段,用于展示与辅助识别)。 【ODS来源】member_balance_changes - operator_name。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - operator_name。",
"ordinal_position": 6
},
{
"name": "principal_data",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 7
},
{
"name": "relate_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】关联业务单据 ID指向触发本次余额变动的业务记录如充值单、订单、结算单等按 from_type 不同指向不同表。 【示例】2957881518788421。 【ODS来源】member_balance_changes - relate_id。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - relate_id。",
"ordinal_position": 8
}
]
}

View File

@@ -0,0 +1,103 @@
{
"schema": "dwd",
"table": "dwd_payment",
"ods_source": "payment_transactions",
"columns": [
{
"name": "payment_id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957924026486597标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】payment_transactions - id。 【JSON字段】payment_transactions.json - $ - id。",
"ordinal_position": 1
},
{
"name": "site_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790685415443269标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】payment_transactions - site_id。 【JSON字段】payment_transactions.json - $ - site_id。",
"ordinal_position": 2
},
{
"name": "relate_type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】2明细字段用于记录事实取值。 【ODS来源】payment_transactions - relate_type。 【JSON字段】payment_transactions.json - $ - relate_type。",
"ordinal_position": 3
},
{
"name": "relate_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957922914357125标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】payment_transactions - relate_id。 【JSON字段】payment_transactions.json - $ - relate_id。",
"ordinal_position": 4
},
{
"name": "pay_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】10.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】payment_transactions - pay_amount。 【JSON字段】payment_transactions.json - $ - pay_amount。",
"ordinal_position": 5
},
{
"name": "pay_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】状态枚举字段,用于标识业务状态。 【示例】2状态枚举字段用于标识业务状态。 【ODS来源】payment_transactions - pay_status。 【JSON字段】payment_transactions.json - $ - pay_status。",
"ordinal_position": 6
},
{
"name": "payment_method",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】4明细字段用于记录事实取值。 【ODS来源】payment_transactions - payment_method。 【JSON字段】payment_transactions.json - $ - payment_method。",
"ordinal_position": 7
},
{
"name": "online_pay_channel",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】0明细字段用于记录事实取值。 【ODS来源】payment_transactions - online_pay_channel。 【JSON字段】payment_transactions.json - $ - online_pay_channel。",
"ordinal_position": 8
},
{
"name": "create_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-09 23:35:57时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】payment_transactions - create_time。 【JSON字段】payment_transactions.json - $ - create_time。",
"ordinal_position": 9
},
{
"name": "pay_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-09 23:35:57时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】payment_transactions - pay_time。 【JSON字段】payment_transactions.json - $ - pay_time。",
"ordinal_position": 10
},
{
"name": "pay_date",
"data_type": "date",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-09 23:35:57时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】payment_transactions - pay_time派生DATE(pay_time))。 【JSON字段】payment_transactions.json - $ - pay_time派生DATE(pay_time))。",
"ordinal_position": 11
},
{
"name": "tenant_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 12
}
]
}

View File

@@ -0,0 +1,167 @@
{
"schema": "dwd",
"table": "dwd_platform_coupon_redemption",
"ods_source": "platform_coupon_redemption_records",
"columns": [
{
"name": "platform_coupon_redemption_id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957929042218501标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】platform_coupon_redemption_records - id。 【JSON字段】platform_coupon_redemption_records.json - $ - id。",
"ordinal_position": 1
},
{
"name": "tenant_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790683160709957标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】platform_coupon_redemption_records - tenant_id。 【JSON字段】platform_coupon_redemption_records.json - $ - tenant_id。",
"ordinal_position": 2
},
{
"name": "site_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790685415443269标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】platform_coupon_redemption_records - site_id。 【JSON字段】platform_coupon_redemption_records.json - $ - site_id。",
"ordinal_position": 3
},
{
"name": "coupon_code",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】0102701209726明细字段用于记录事实取值。 【ODS来源】platform_coupon_redemption_records - coupon_code。 【JSON字段】platform_coupon_redemption_records.json - $ - coupon_code。",
"ordinal_position": 4
},
{
"name": "coupon_channel",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】1明细字段用于记录事实取值。 【ODS来源】platform_coupon_redemption_records - coupon_channel。 【JSON字段】platform_coupon_redemption_records.json - $ - coupon_channel。",
"ordinal_position": 5
},
{
"name": "coupon_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】【全天可用】中八桌球一小时A区名称字段用于展示与辅助识别。 【ODS来源】platform_coupon_redemption_records - coupon_name。 【JSON字段】platform_coupon_redemption_records.json - $ - coupon_name。",
"ordinal_position": 6
},
{
"name": "sale_price",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】29.9(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】platform_coupon_redemption_records - sale_price。 【JSON字段】platform_coupon_redemption_records.json - $ - sale_price。",
"ordinal_position": 7
},
{
"name": "coupon_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】48.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】platform_coupon_redemption_records - coupon_money。 【JSON字段】platform_coupon_redemption_records.json - $ - coupon_money。",
"ordinal_position": 8
},
{
"name": "coupon_free_time",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】0时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】platform_coupon_redemption_records - coupon_free_time。 【JSON字段】platform_coupon_redemption_records.json - $ - coupon_free_time。",
"ordinal_position": 9
},
{
"name": "channel_deal_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】1128411555标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】platform_coupon_redemption_records - channel_deal_id。 【JSON字段】platform_coupon_redemption_records.json - $ - channel_deal_id。",
"ordinal_position": 10
},
{
"name": "deal_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】1345108507标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】platform_coupon_redemption_records - deal_id。 【JSON字段】platform_coupon_redemption_records.json - $ - deal_id。",
"ordinal_position": 11
},
{
"name": "group_package_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】platform_coupon_redemption_records - group_package_id。 【JSON字段】platform_coupon_redemption_records.json - $ - group_package_id。",
"ordinal_position": 12
},
{
"name": "site_order_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957929043037702标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】platform_coupon_redemption_records - site_order_id。 【JSON字段】platform_coupon_redemption_records.json - $ - site_order_id。",
"ordinal_position": 13
},
{
"name": "table_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2793001904918661标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】platform_coupon_redemption_records - table_id。 【JSON字段】platform_coupon_redemption_records.json - $ - table_id。",
"ordinal_position": 14
},
{
"name": "certificate_id",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】5008024789379597447标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】platform_coupon_redemption_records - certificate_id。 【JSON字段】platform_coupon_redemption_records.json - $ - certificate_id。",
"ordinal_position": 15
},
{
"name": "verify_id",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】7570689090418149418标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】platform_coupon_redemption_records - verify_id。 【JSON字段】platform_coupon_redemption_records.json - $ - verify_id。",
"ordinal_position": 16
},
{
"name": "use_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】状态枚举字段,用于标识业务状态。 【示例】1状态枚举字段用于标识业务状态。 【ODS来源】platform_coupon_redemption_records - use_status。 【JSON字段】platform_coupon_redemption_records.json - $ - use_status。",
"ordinal_position": 17
},
{
"name": "is_delete",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】0布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】platform_coupon_redemption_records - is_delete。 【JSON字段】platform_coupon_redemption_records.json - $ - is_delete。",
"ordinal_position": 18
},
{
"name": "create_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-09 23:41:03时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】platform_coupon_redemption_records - create_time。 【JSON字段】platform_coupon_redemption_records.json - $ - create_time。",
"ordinal_position": 19
},
{
"name": "consume_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-09 23:41:04时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】platform_coupon_redemption_records - consume_time。 【JSON字段】platform_coupon_redemption_records.json - $ - consume_time。",
"ordinal_position": 20
}
]
}

View File

@@ -0,0 +1,55 @@
{
"schema": "dwd",
"table": "dwd_platform_coupon_redemption_ex",
"ods_source": "platform_coupon_redemption_records",
"columns": [
{
"name": "platform_coupon_redemption_id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957929042218501标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】platform_coupon_redemption_records - id。 【JSON字段】platform_coupon_redemption_records.json - $ - id。",
"ordinal_position": 1
},
{
"name": "coupon_cover",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】NULL明细字段用于记录事实取值。 【ODS来源】platform_coupon_redemption_records - coupon_cover。 【JSON字段】platform_coupon_redemption_records.json - $ - coupon_cover。",
"ordinal_position": 2
},
{
"name": "coupon_remark",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】617547ec-9697-4f58-a700-b30a49e88904||CgYIASAHKAESLgos9ZhHDryhHb0z3RpdBZ0dVoaQbkldBcx/XTXPV8Te+9SEqYOa7aDp8nbKOpsaAA==(明细字段,用于记录事实取值)。 【ODS来源】platform_coupon_redemption_records - coupon_remark。 【JSON字段】platform_coupon_redemption_records.json - $ - coupon_remark。",
"ordinal_position": 3
},
{
"name": "groupon_type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】1明细字段用于记录事实取值。 【ODS来源】platform_coupon_redemption_records - groupon_type。 【JSON字段】platform_coupon_redemption_records.json - $ - groupon_type。",
"ordinal_position": 4
},
{
"name": "operator_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790687322443013标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】platform_coupon_redemption_records - operator_id。 【JSON字段】platform_coupon_redemption_records.json - $ - operator_id。",
"ordinal_position": 5
},
{
"name": "operator_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】收银员:郑丽珊(名称字段,用于展示与辅助识别)。 【ODS来源】platform_coupon_redemption_records - operator_name。 【JSON字段】platform_coupon_redemption_records.json - $ - operator_name。",
"ordinal_position": 6
}
]
}

View File

@@ -0,0 +1,199 @@
{
"schema": "dwd",
"table": "dwd_recharge_order",
"ods_source": "recharge_settlements",
"columns": [
{
"name": "recharge_order_id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】NULL标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】recharge_settlements - id。 【JSON字段】recharge_settlements.json - $ - id。",
"ordinal_position": 1
},
{
"name": "tenant_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】NULL标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】recharge_settlements - tenantid。 【JSON字段】recharge_settlements.json - $ - tenantid。",
"ordinal_position": 2
},
{
"name": "site_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】NULL标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】recharge_settlements - siteid。 【JSON字段】recharge_settlements.json - $ - siteid。",
"ordinal_position": 3
},
{
"name": "member_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】NULL标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】recharge_settlements - memberid。 【JSON字段】recharge_settlements.json - $ - memberid。",
"ordinal_position": 4
},
{
"name": "member_name_snapshot",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】NULL明细字段用于记录事实取值。 【ODS来源】recharge_settlements - membername。 【JSON字段】recharge_settlements.json - $ - membername。",
"ordinal_position": 5
},
{
"name": "member_phone_snapshot",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】NULL明细字段用于记录事实取值。 【ODS来源】recharge_settlements - memberphone。 【JSON字段】recharge_settlements.json - $ - memberphone。",
"ordinal_position": 6
},
{
"name": "tenant_member_card_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】NULL标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】recharge_settlements - tenantmembercardid。 【JSON字段】recharge_settlements.json - $ - tenantmembercardid。",
"ordinal_position": 7
},
{
"name": "member_card_type_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】NULL名称字段用于展示与辅助识别。 【ODS来源】recharge_settlements - membercardtypename。 【JSON字段】recharge_settlements.json - $ - membercardtypename。",
"ordinal_position": 8
},
{
"name": "settle_relate_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】NULL标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】recharge_settlements - settlerelateid。 【JSON字段】recharge_settlements.json - $ - settlerelateid。",
"ordinal_position": 9
},
{
"name": "settle_type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】NULL明细字段用于记录事实取值。 【ODS来源】recharge_settlements - settletype。 【JSON字段】recharge_settlements.json - $ - settletype。",
"ordinal_position": 10
},
{
"name": "settle_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】NULL名称字段用于展示与辅助识别。 【ODS来源】recharge_settlements - settlename。 【JSON字段】recharge_settlements.json - $ - settlename。",
"ordinal_position": 11
},
{
"name": "is_first",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】NULL布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】recharge_settlements - isfirst。 【JSON字段】recharge_settlements.json - $ - isfirst。",
"ordinal_position": 12
},
{
"name": "pay_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】recharge_settlements - payamount。 【JSON字段】recharge_settlements.json - $ - payamount。",
"ordinal_position": 13
},
{
"name": "refund_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】recharge_settlements - refundamount。 【JSON字段】recharge_settlements.json - $ - refundamount。",
"ordinal_position": 14
},
{
"name": "point_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】recharge_settlements - pointamount。 【JSON字段】recharge_settlements.json - $ - pointamount。",
"ordinal_position": 15
},
{
"name": "cash_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】recharge_settlements - cashamount。 【JSON字段】recharge_settlements.json - $ - cashamount。",
"ordinal_position": 16
},
{
"name": "payment_method",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】NULL明细字段用于记录事实取值。 【ODS来源】recharge_settlements - paymentmethod。 【JSON字段】recharge_settlements.json - $ - paymentmethod。",
"ordinal_position": 17
},
{
"name": "create_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】NULL时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】recharge_settlements - createtime。 【JSON字段】recharge_settlements.json - $ - createtime。",
"ordinal_position": 18
},
{
"name": "pay_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】NULL时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】recharge_settlements - paytime。 【JSON字段】recharge_settlements.json - $ - paytime。",
"ordinal_position": 19
},
{
"name": "pl_coupon_sale_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【ODS来源】recharge_settlements - plcouponsaleamount。 【JSON字段】recharge_settlements.json - $ - plcouponsaleamount。",
"ordinal_position": 20
},
{
"name": "mervou_sales_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【ODS来源】recharge_settlements - mervousalesamount。 【JSON字段】recharge_settlements.json - $ - mervousalesamount。",
"ordinal_position": 21
},
{
"name": "electricity_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【ODS来源】recharge_settlements - electricitymoney。 【JSON字段】recharge_settlements.json - $ - electricitymoney。",
"ordinal_position": 22
},
{
"name": "real_electricity_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【ODS来源】recharge_settlements - realelectricitymoney。 【JSON字段】recharge_settlements.json - $ - realelectricitymoney。",
"ordinal_position": 23
},
{
"name": "electricity_adjust_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【ODS来源】recharge_settlements - electricityadjustmoney。 【JSON字段】recharge_settlements.json - $ - electricityadjustmoney。",
"ordinal_position": 24
}
]
}

View File

@@ -0,0 +1,351 @@
{
"schema": "dwd",
"table": "dwd_recharge_order_ex",
"ods_source": "recharge_settlements",
"columns": [
{
"name": "recharge_order_id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】NULL标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】recharge_settlements - id。 【JSON字段】recharge_settlements.json - $ - id。",
"ordinal_position": 1
},
{
"name": "site_name_snapshot",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】NULL明细字段用于记录事实取值。 【ODS来源】recharge_settlements - sitename。 【JSON字段】recharge_settlements.json - $ - sitename。",
"ordinal_position": 2
},
{
"name": "settle_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】状态枚举字段,用于标识业务状态。 【示例】NULL状态枚举字段用于标识业务状态。 【ODS来源】recharge_settlements - settlestatus。 【JSON字段】recharge_settlements.json - $ - settlestatus。",
"ordinal_position": 3
},
{
"name": "is_bind_member",
"data_type": "boolean",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】NULL布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】recharge_settlements - isbindmember派生BOOLEAN(isbindmember))。 【JSON字段】recharge_settlements.json - $ - isbindmember派生BOOLEAN(isbindmember))。",
"ordinal_position": 4
},
{
"name": "is_activity",
"data_type": "boolean",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】NULL布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】recharge_settlements - isactivity派生BOOLEAN(isactivity))。 【JSON字段】recharge_settlements.json - $ - isactivity派生BOOLEAN(isactivity))。",
"ordinal_position": 5
},
{
"name": "is_use_coupon",
"data_type": "boolean",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】NULL布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】recharge_settlements - isusecoupon派生BOOLEAN(isusecoupon))。 【JSON字段】recharge_settlements.json - $ - isusecoupon派生BOOLEAN(isusecoupon))。",
"ordinal_position": 6
},
{
"name": "is_use_discount",
"data_type": "boolean",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】NULL数量/时长字段,用于统计与计量)。 【ODS来源】recharge_settlements - isusediscount派生BOOLEAN(isusediscount))。 【JSON字段】recharge_settlements.json - $ - isusediscount派生BOOLEAN(isusediscount))。",
"ordinal_position": 7
},
{
"name": "can_be_revoked",
"data_type": "boolean",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】NULL布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】recharge_settlements - canberevoked派生BOOLEAN(canberevoked))。 【JSON字段】recharge_settlements.json - $ - canberevoked派生BOOLEAN(canberevoked))。",
"ordinal_position": 8
},
{
"name": "online_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】recharge_settlements - onlineamount。 【JSON字段】recharge_settlements.json - $ - onlineamount。",
"ordinal_position": 9
},
{
"name": "balance_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】recharge_settlements - balanceamount。 【JSON字段】recharge_settlements.json - $ - balanceamount。",
"ordinal_position": 10
},
{
"name": "card_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】recharge_settlements - cardamount。 【JSON字段】recharge_settlements.json - $ - cardamount。",
"ordinal_position": 11
},
{
"name": "coupon_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】recharge_settlements - couponamount。 【JSON字段】recharge_settlements.json - $ - couponamount。",
"ordinal_position": 12
},
{
"name": "recharge_card_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】recharge_settlements - rechargecardamount。 【JSON字段】recharge_settlements.json - $ - rechargecardamount。",
"ordinal_position": 13
},
{
"name": "gift_card_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】recharge_settlements - giftcardamount。 【JSON字段】recharge_settlements.json - $ - giftcardamount。",
"ordinal_position": 14
},
{
"name": "prepay_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】recharge_settlements - prepaymoney。 【JSON字段】recharge_settlements.json - $ - prepaymoney。",
"ordinal_position": 15
},
{
"name": "consume_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】recharge_settlements - consumemoney。 【JSON字段】recharge_settlements.json - $ - consumemoney。",
"ordinal_position": 16
},
{
"name": "goods_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】recharge_settlements - goodsmoney。 【JSON字段】recharge_settlements.json - $ - goodsmoney。",
"ordinal_position": 17
},
{
"name": "real_goods_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】recharge_settlements - realgoodsmoney。 【JSON字段】recharge_settlements.json - $ - realgoodsmoney。",
"ordinal_position": 18
},
{
"name": "table_charge_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】recharge_settlements - tablechargemoney。 【JSON字段】recharge_settlements.json - $ - tablechargemoney。",
"ordinal_position": 19
},
{
"name": "service_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】recharge_settlements - servicemoney。 【JSON字段】recharge_settlements.json - $ - servicemoney。",
"ordinal_position": 20
},
{
"name": "activity_discount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】NULL数量/时长字段,用于统计与计量)。 【ODS来源】recharge_settlements - activitydiscount。 【JSON字段】recharge_settlements.json - $ - activitydiscount。",
"ordinal_position": 21
},
{
"name": "all_coupon_discount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】NULL数量/时长字段,用于统计与计量)。 【ODS来源】recharge_settlements - allcoupondiscount。 【JSON字段】recharge_settlements.json - $ - allcoupondiscount。",
"ordinal_position": 22
},
{
"name": "goods_promotion_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】recharge_settlements - goodspromotionmoney。 【JSON字段】recharge_settlements.json - $ - goodspromotionmoney。",
"ordinal_position": 23
},
{
"name": "assistant_promotion_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】recharge_settlements - assistantpromotionmoney。 【JSON字段】recharge_settlements.json - $ - assistantpromotionmoney。",
"ordinal_position": 24
},
{
"name": "assistant_pd_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】recharge_settlements - assistantpdmoney。 【JSON字段】recharge_settlements.json - $ - assistantpdmoney。",
"ordinal_position": 25
},
{
"name": "assistant_cx_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】recharge_settlements - assistantcxmoney。 【JSON字段】recharge_settlements.json - $ - assistantcxmoney。",
"ordinal_position": 26
},
{
"name": "assistant_manual_discount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】NULL数量/时长字段,用于统计与计量)。 【ODS来源】recharge_settlements - assistantmanualdiscount。 【JSON字段】recharge_settlements.json - $ - assistantmanualdiscount。",
"ordinal_position": 27
},
{
"name": "coupon_sale_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】recharge_settlements - couponsaleamount。 【JSON字段】recharge_settlements.json - $ - couponsaleamount。",
"ordinal_position": 28
},
{
"name": "member_discount_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】recharge_settlements - memberdiscountamount。 【JSON字段】recharge_settlements.json - $ - memberdiscountamount。",
"ordinal_position": 29
},
{
"name": "point_discount_price",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】recharge_settlements - pointdiscountprice。 【JSON字段】recharge_settlements.json - $ - pointdiscountprice。",
"ordinal_position": 30
},
{
"name": "point_discount_cost",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】recharge_settlements - pointdiscountcost。 【JSON字段】recharge_settlements.json - $ - pointdiscountcost。",
"ordinal_position": 31
},
{
"name": "adjust_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】recharge_settlements - adjustamount。 【JSON字段】recharge_settlements.json - $ - adjustamount。",
"ordinal_position": 32
},
{
"name": "rounding_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】recharge_settlements - roundingamount。 【JSON字段】recharge_settlements.json - $ - roundingamount。",
"ordinal_position": 33
},
{
"name": "operator_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】NULL标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】recharge_settlements - operatorid。 【JSON字段】recharge_settlements.json - $ - operatorid。",
"ordinal_position": 34
},
{
"name": "operator_name_snapshot",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】NULL明细字段用于记录事实取值。 【ODS来源】recharge_settlements - operatorname。 【JSON字段】recharge_settlements.json - $ - operatorname。",
"ordinal_position": 35
},
{
"name": "salesman_user_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】NULL标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】recharge_settlements - salesmanuserid。 【JSON字段】recharge_settlements.json - $ - salesmanuserid。",
"ordinal_position": 36
},
{
"name": "salesman_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】NULL名称字段用于展示与辅助识别。 【ODS来源】recharge_settlements - salesmanname。 【JSON字段】recharge_settlements.json - $ - salesmanname。",
"ordinal_position": 37
},
{
"name": "order_remark",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】NULL明细字段用于记录事实取值。 【ODS来源】recharge_settlements - orderremark。 【JSON字段】recharge_settlements.json - $ - orderremark。",
"ordinal_position": 38
},
{
"name": "table_id",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】NULL标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】recharge_settlements - tableid。 【JSON字段】recharge_settlements.json - $ - tableid。",
"ordinal_position": 39
},
{
"name": "serial_number",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】NULL数量/时长字段,用于统计与计量)。 【ODS来源】recharge_settlements - serialnumber。 【JSON字段】recharge_settlements.json - $ - serialnumber。",
"ordinal_position": 40
},
{
"name": "revoke_order_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】NULL标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】recharge_settlements - revokeorderid。 【JSON字段】recharge_settlements.json - $ - revokeorderid。",
"ordinal_position": 41
},
{
"name": "revoke_order_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】NULL名称字段用于展示与辅助识别。 【ODS来源】recharge_settlements - revokeordername。 【JSON字段】recharge_settlements.json - $ - revokeordername。",
"ordinal_position": 42
},
{
"name": "revoke_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】NULL时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】recharge_settlements - revoketime。 【JSON字段】recharge_settlements.json - $ - revoketime。",
"ordinal_position": 43
}
]
}

View File

@@ -0,0 +1,103 @@
{
"schema": "dwd",
"table": "dwd_refund",
"ods_source": "refund_transactions",
"columns": [
{
"name": "refund_id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2955202296416389标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】refund_transactions - id。 【JSON字段】refund_transactions.json - $ - id。",
"ordinal_position": 1
},
{
"name": "tenant_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790683160709957标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】refund_transactions - tenant_id。 【JSON字段】refund_transactions.json - $ - tenant_id。",
"ordinal_position": 2
},
{
"name": "site_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790685415443269标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】refund_transactions - site_id。 【JSON字段】refund_transactions.json - $ - site_id。",
"ordinal_position": 3
},
{
"name": "relate_type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】5明细字段用于记录事实取值。 【ODS来源】refund_transactions - relate_type。 【JSON字段】refund_transactions.json - $ - relate_type。",
"ordinal_position": 4
},
{
"name": "relate_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2955078219057349标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】refund_transactions - relate_id。 【JSON字段】refund_transactions.json - $ - relate_id。",
"ordinal_position": 5
},
{
"name": "pay_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】-5000.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】refund_transactions - pay_amount。 【JSON字段】refund_transactions.json - $ - pay_amount。",
"ordinal_position": 6
},
{
"name": "channel_fee",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】refund_transactions - channel_fee。 【JSON字段】refund_transactions.json - $ - channel_fee。",
"ordinal_position": 7
},
{
"name": "pay_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-08 01:27:16时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】refund_transactions - pay_time。 【JSON字段】refund_transactions.json - $ - pay_time。",
"ordinal_position": 8
},
{
"name": "create_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-08 01:27:16时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】refund_transactions - create_time。 【JSON字段】refund_transactions.json - $ - create_time。",
"ordinal_position": 9
},
{
"name": "payment_method",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】4明细字段用于记录事实取值。 【ODS来源】refund_transactions - payment_method。 【JSON字段】refund_transactions.json - $ - payment_method。",
"ordinal_position": 10
},
{
"name": "member_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】refund_transactions - member_id。 【JSON字段】refund_transactions.json - $ - member_id。",
"ordinal_position": 11
},
{
"name": "member_card_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】refund_transactions - member_card_id。 【JSON字段】refund_transactions.json - $ - member_card_id。",
"ordinal_position": 12
}
]
}

View File

@@ -0,0 +1,167 @@
{
"schema": "dwd",
"table": "dwd_refund_ex",
"ods_source": "refund_transactions",
"columns": [
{
"name": "refund_id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2955202296416389标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】refund_transactions - id。 【JSON字段】refund_transactions.json - $ - id。",
"ordinal_position": 1
},
{
"name": "tenant_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】朗朗桌球(名称字段,用于展示与辅助识别)。 【ODS来源】refund_transactions - tenantName。 【JSON字段】refund_transactions.json - $ - tenantName。",
"ordinal_position": 2
},
{
"name": "pay_sn",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】0明细字段用于记录事实取值。 【ODS来源】refund_transactions - pay_sn。 【JSON字段】refund_transactions.json - $ - pay_sn。",
"ordinal_position": 3
},
{
"name": "refund_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】refund_transactions - refund_amount。 【JSON字段】refund_transactions.json - $ - refund_amount。",
"ordinal_position": 4
},
{
"name": "round_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】refund_transactions - round_amount。 【JSON字段】refund_transactions.json - $ - round_amount。",
"ordinal_position": 5
},
{
"name": "balance_frozen_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】refund_transactions - balance_frozen_amount。 【JSON字段】refund_transactions.json - $ - balance_frozen_amount。",
"ordinal_position": 6
},
{
"name": "card_frozen_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】refund_transactions - card_frozen_amount。 【JSON字段】refund_transactions.json - $ - card_frozen_amount。",
"ordinal_position": 7
},
{
"name": "pay_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】状态枚举字段,用于标识业务状态。 【示例】2状态枚举字段用于标识业务状态。 【ODS来源】refund_transactions - pay_status。 【JSON字段】refund_transactions.json - $ - pay_status。",
"ordinal_position": 8
},
{
"name": "action_type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】2明细字段用于记录事实取值。 【ODS来源】refund_transactions - action_type。 【JSON字段】refund_transactions.json - $ - action_type。",
"ordinal_position": 9
},
{
"name": "is_revoke",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】0布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】refund_transactions - is_revoke。 【JSON字段】refund_transactions.json - $ - is_revoke。",
"ordinal_position": 10
},
{
"name": "is_delete",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】0布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】refund_transactions - is_delete。 【JSON字段】refund_transactions.json - $ - is_delete。",
"ordinal_position": 11
},
{
"name": "check_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】状态枚举字段,用于标识业务状态。 【示例】1状态枚举字段用于标识业务状态。 【ODS来源】refund_transactions - check_status。 【JSON字段】refund_transactions.json - $ - check_status。",
"ordinal_position": 12
},
{
"name": "online_pay_channel",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】0明细字段用于记录事实取值。 【ODS来源】refund_transactions - online_pay_channel。 【JSON字段】refund_transactions.json - $ - online_pay_channel。",
"ordinal_position": 13
},
{
"name": "online_pay_type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】0明细字段用于记录事实取值。 【ODS来源】refund_transactions - online_pay_type。 【JSON字段】refund_transactions.json - $ - online_pay_type。",
"ordinal_position": 14
},
{
"name": "pay_terminal",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】1明细字段用于记录事实取值。 【ODS来源】refund_transactions - pay_terminal。 【JSON字段】refund_transactions.json - $ - pay_terminal。",
"ordinal_position": 15
},
{
"name": "pay_config_id",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】refund_transactions - pay_config_id。 【JSON字段】refund_transactions.json - $ - pay_config_id。",
"ordinal_position": 16
},
{
"name": "cashier_point_id",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】refund_transactions - cashier_point_id。 【JSON字段】refund_transactions.json - $ - cashier_point_id。",
"ordinal_position": 17
},
{
"name": "operator_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】refund_transactions - operator_id。 【JSON字段】refund_transactions.json - $ - operator_id。",
"ordinal_position": 18
},
{
"name": "channel_payer_id",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】NULL标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】refund_transactions - channel_payer_id。 【JSON字段】refund_transactions.json - $ - channel_payer_id。",
"ordinal_position": 19
},
{
"name": "channel_pay_no",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】NULL明细字段用于记录事实取值。 【ODS来源】refund_transactions - channel_pay_no。 【JSON字段】refund_transactions.json - $ - channel_pay_no。",
"ordinal_position": 20
}
]
}

View File

@@ -0,0 +1,303 @@
{
"schema": "dwd",
"table": "dwd_settlement_head",
"ods_source": "settlement_records",
"columns": [
{
"name": "order_settle_id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】NULL标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】settlement_records - id。 【JSON字段】settlement_records.json - $ - id。",
"ordinal_position": 1
},
{
"name": "tenant_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】NULL标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】settlement_records - tenantid。 【JSON字段】settlement_records.json - $ - tenantid。",
"ordinal_position": 2
},
{
"name": "site_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】NULL标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】settlement_records - siteid。 【JSON字段】settlement_records.json - $ - siteid。",
"ordinal_position": 3
},
{
"name": "site_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】NULL名称字段用于展示与辅助识别。 【ODS来源】settlement_records - sitename。 【JSON字段】settlement_records.json - $ - sitename。",
"ordinal_position": 4
},
{
"name": "table_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】NULL标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】settlement_records - tableid。 【JSON字段】settlement_records.json - $ - tableid。",
"ordinal_position": 5
},
{
"name": "settle_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】NULL名称字段用于展示与辅助识别。 【ODS来源】settlement_records - settlename。 【JSON字段】settlement_records.json - $ - settlename。",
"ordinal_position": 6
},
{
"name": "order_trade_no",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】NULL明细字段用于记录事实取值。 【ODS来源】settlement_records - settlerelateid。 【JSON字段】settlement_records.json - $ - settlerelateid。",
"ordinal_position": 7
},
{
"name": "create_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】NULL时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】settlement_records - createtime。 【JSON字段】settlement_records.json - $ - createtime。",
"ordinal_position": 8
},
{
"name": "pay_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】NULL时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】settlement_records - paytime。 【JSON字段】settlement_records.json - $ - paytime。",
"ordinal_position": 9
},
{
"name": "settle_type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】NULL明细字段用于记录事实取值。 【ODS来源】settlement_records - settletype。 【JSON字段】settlement_records.json - $ - settletype。",
"ordinal_position": 10
},
{
"name": "revoke_order_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】NULL标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】settlement_records - revokeorderid。 【JSON字段】settlement_records.json - $ - revokeorderid。",
"ordinal_position": 11
},
{
"name": "member_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】NULL标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】settlement_records - memberid。 【JSON字段】settlement_records.json - $ - memberid。",
"ordinal_position": 12
},
{
"name": "member_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】NULL名称字段用于展示与辅助识别。 【ODS来源】settlement_records - membername。 【JSON字段】settlement_records.json - $ - membername。",
"ordinal_position": 13
},
{
"name": "member_phone",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】NULL明细字段用于记录事实取值。 【ODS来源】settlement_records - memberphone。 【JSON字段】settlement_records.json - $ - memberphone。",
"ordinal_position": 14
},
{
"name": "member_card_account_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】NULL标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】settlement_records - tenantmembercardid。 【JSON字段】settlement_records.json - $ - tenantmembercardid。",
"ordinal_position": 15
},
{
"name": "member_card_type_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】NULL名称字段用于展示与辅助识别。 【ODS来源】settlement_records - membercardtypename。 【JSON字段】settlement_records.json - $ - membercardtypename。",
"ordinal_position": 16
},
{
"name": "is_bind_member",
"data_type": "boolean",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】NULL布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】settlement_records - isbindmember。 【JSON字段】settlement_records.json - $ - isbindmember。",
"ordinal_position": 17
},
{
"name": "member_discount_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】settlement_records - memberdiscountamount。 【JSON字段】settlement_records.json - $ - memberdiscountamount。",
"ordinal_position": 18
},
{
"name": "consume_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】settlement_records - consumemoney。 【JSON字段】settlement_records.json - $ - consumemoney。",
"ordinal_position": 19
},
{
"name": "table_charge_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】settlement_records - tablechargemoney。 【JSON字段】settlement_records.json - $ - tablechargemoney。",
"ordinal_position": 20
},
{
"name": "goods_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】settlement_records - goodsmoney。 【JSON字段】settlement_records.json - $ - goodsmoney。",
"ordinal_position": 21
},
{
"name": "real_goods_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】settlement_records - realgoodsmoney。 【JSON字段】settlement_records.json - $ - realgoodsmoney。",
"ordinal_position": 22
},
{
"name": "assistant_pd_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】settlement_records - assistantpdmoney。 【JSON字段】settlement_records.json - $ - assistantpdmoney。",
"ordinal_position": 23
},
{
"name": "assistant_cx_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】settlement_records - assistantcxmoney。 【JSON字段】settlement_records.json - $ - assistantcxmoney。",
"ordinal_position": 24
},
{
"name": "adjust_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】settlement_records - adjustamount。 【JSON字段】settlement_records.json - $ - adjustamount。",
"ordinal_position": 25
},
{
"name": "pay_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】settlement_records - payamount。 【JSON字段】settlement_records.json - $ - payamount。",
"ordinal_position": 26
},
{
"name": "balance_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】settlement_records - balanceamount。 【JSON字段】settlement_records.json - $ - balanceamount。",
"ordinal_position": 27
},
{
"name": "recharge_card_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】settlement_records - rechargecardamount。 【JSON字段】settlement_records.json - $ - rechargecardamount。",
"ordinal_position": 28
},
{
"name": "gift_card_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】settlement_records - giftcardamount。 【JSON字段】settlement_records.json - $ - giftcardamount。",
"ordinal_position": 29
},
{
"name": "coupon_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】settlement_records - couponamount。 【JSON字段】settlement_records.json - $ - couponamount。",
"ordinal_position": 30
},
{
"name": "rounding_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】settlement_records - roundingamount。 【JSON字段】settlement_records.json - $ - roundingamount。",
"ordinal_position": 31
},
{
"name": "point_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】settlement_records - pointamount。 【JSON字段】settlement_records.json - $ - pointamount。",
"ordinal_position": 32
},
{
"name": "electricity_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 33
},
{
"name": "real_electricity_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 34
},
{
"name": "electricity_adjust_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 35
},
{
"name": "pl_coupon_sale_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 36
},
{
"name": "mervou_sales_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 37
}
]
}

View File

@@ -0,0 +1,247 @@
{
"schema": "dwd",
"table": "dwd_settlement_head_ex",
"ods_source": "settlement_records",
"columns": [
{
"name": "order_settle_id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】NULL标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】settlement_records - id。 【JSON字段】settlement_records.json - $ - id。",
"ordinal_position": 1
},
{
"name": "serial_number",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】NULL数量/时长字段,用于统计与计量)。 【ODS来源】settlement_records - serialnumber。 【JSON字段】settlement_records.json - $ - serialnumber。",
"ordinal_position": 2
},
{
"name": "settle_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】状态枚举字段,用于标识业务状态。 【示例】NULL状态枚举字段用于标识业务状态。 【ODS来源】settlement_records - settlestatus。 【JSON字段】settlement_records.json - $ - settlestatus。",
"ordinal_position": 3
},
{
"name": "can_be_revoked",
"data_type": "boolean",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】NULL布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】settlement_records - canberevoked派生BOOLEAN(canberevoked))。 【JSON字段】settlement_records.json - $ - canberevoked派生BOOLEAN(canberevoked))。",
"ordinal_position": 4
},
{
"name": "revoke_order_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】NULL名称字段用于展示与辅助识别。 【ODS来源】settlement_records - revokeordername。 【JSON字段】settlement_records.json - $ - revokeordername。",
"ordinal_position": 5
},
{
"name": "revoke_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】NULL时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】settlement_records - revoketime。 【JSON字段】settlement_records.json - $ - revoketime。",
"ordinal_position": 6
},
{
"name": "is_first_order",
"data_type": "boolean",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】NULL布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】settlement_records - isfirst派生BOOLEAN(isfirst))。 【JSON字段】settlement_records.json - $ - isfirst派生BOOLEAN(isfirst))。",
"ordinal_position": 7
},
{
"name": "service_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】settlement_records - servicemoney。 【JSON字段】settlement_records.json - $ - servicemoney。",
"ordinal_position": 8
},
{
"name": "cash_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】settlement_records - cashamount。 【JSON字段】settlement_records.json - $ - cashamount。",
"ordinal_position": 9
},
{
"name": "card_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】settlement_records - cardamount。 【JSON字段】settlement_records.json - $ - cardamount。",
"ordinal_position": 10
},
{
"name": "online_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】settlement_records - onlineamount。 【JSON字段】settlement_records.json - $ - onlineamount。",
"ordinal_position": 11
},
{
"name": "refund_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】settlement_records - refundamount。 【JSON字段】settlement_records.json - $ - refundamount。",
"ordinal_position": 12
},
{
"name": "prepay_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】settlement_records - prepaymoney。 【JSON字段】settlement_records.json - $ - prepaymoney。",
"ordinal_position": 13
},
{
"name": "payment_method",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】NULL明细字段用于记录事实取值。 【ODS来源】settlement_records - paymentmethod。 【JSON字段】settlement_records.json - $ - paymentmethod。",
"ordinal_position": 14
},
{
"name": "coupon_sale_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】settlement_records - couponsaleamount。 【JSON字段】settlement_records.json - $ - couponsaleamount。",
"ordinal_position": 15
},
{
"name": "all_coupon_discount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】NULL数量/时长字段,用于统计与计量)。 【ODS来源】settlement_records - allcoupondiscount。 【JSON字段】settlement_records.json - $ - allcoupondiscount。",
"ordinal_position": 16
},
{
"name": "goods_promotion_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】settlement_records - goodspromotionmoney。 【JSON字段】settlement_records.json - $ - goodspromotionmoney。",
"ordinal_position": 17
},
{
"name": "assistant_promotion_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】settlement_records - assistantpromotionmoney。 【JSON字段】settlement_records.json - $ - assistantpromotionmoney。",
"ordinal_position": 18
},
{
"name": "activity_discount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】NULL数量/时长字段,用于统计与计量)。 【ODS来源】settlement_records - activitydiscount。 【JSON字段】settlement_records.json - $ - activitydiscount。",
"ordinal_position": 19
},
{
"name": "assistant_manual_discount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】NULL数量/时长字段,用于统计与计量)。 【ODS来源】settlement_records - assistantmanualdiscount。 【JSON字段】settlement_records.json - $ - assistantmanualdiscount。",
"ordinal_position": 20
},
{
"name": "point_discount_price",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】settlement_records - pointdiscountprice。 【JSON字段】settlement_records.json - $ - pointdiscountprice。",
"ordinal_position": 21
},
{
"name": "point_discount_cost",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL金额字段用于计费/结算/核算等金额计算)。 【ODS来源】settlement_records - pointdiscountcost。 【JSON字段】settlement_records.json - $ - pointdiscountcost。",
"ordinal_position": 22
},
{
"name": "is_use_coupon",
"data_type": "boolean",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】NULL布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】settlement_records - isusecoupon派生BOOLEAN(isusecoupon))。 【JSON字段】settlement_records.json - $ - isusecoupon派生BOOLEAN(isusecoupon))。",
"ordinal_position": 23
},
{
"name": "is_use_discount",
"data_type": "boolean",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】NULL数量/时长字段,用于统计与计量)。 【ODS来源】settlement_records - isusediscount派生BOOLEAN(isusediscount))。 【JSON字段】settlement_records.json - $ - isusediscount派生BOOLEAN(isusediscount))。",
"ordinal_position": 24
},
{
"name": "is_activity",
"data_type": "boolean",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】NULL布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】settlement_records - isactivity派生BOOLEAN(isactivity))。 【JSON字段】settlement_records.json - $ - isactivity派生BOOLEAN(isactivity))。",
"ordinal_position": 25
},
{
"name": "operator_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】NULL名称字段用于展示与辅助识别。 【ODS来源】settlement_records - operatorname。 【JSON字段】settlement_records.json - $ - operatorname。",
"ordinal_position": 26
},
{
"name": "salesman_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】NULL名称字段用于展示与辅助识别。 【ODS来源】settlement_records - salesmanname。 【JSON字段】settlement_records.json - $ - salesmanname。",
"ordinal_position": 27
},
{
"name": "order_remark",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】NULL明细字段用于记录事实取值。 【ODS来源】settlement_records - orderremark。 【JSON字段】settlement_records.json - $ - orderremark。",
"ordinal_position": 28
},
{
"name": "operator_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】NULL标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】settlement_records - operatorid。 【JSON字段】settlement_records.json - $ - operatorid。",
"ordinal_position": 29
},
{
"name": "salesman_user_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】NULL标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】settlement_records - salesmanuserid。 【JSON字段】settlement_records.json - $ - salesmanuserid。",
"ordinal_position": 30
}
]
}

View File

@@ -0,0 +1,207 @@
{
"schema": "dwd",
"table": "dwd_store_goods_sale",
"ods_source": "store_goods_sales_records",
"columns": [
{
"name": "store_goods_sale_id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957924029550406标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_sales_records - id。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - id。",
"ordinal_position": 1
},
{
"name": "order_trade_no",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】2957858167230149明细字段用于记录事实取值。 【ODS来源】store_goods_sales_records - order_trade_no。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - order_trade_no。",
"ordinal_position": 2
},
{
"name": "order_settle_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957922914357125标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_sales_records - order_settle_id。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - order_settle_id。",
"ordinal_position": 3
},
{
"name": "order_pay_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_sales_records - order_pay_id。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - order_pay_id。",
"ordinal_position": 4
},
{
"name": "order_goods_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957858456391557标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_sales_records - order_goods_id。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - order_goods_id。",
"ordinal_position": 5
},
{
"name": "site_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790685415443269标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_sales_records - site_id。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - site_id。",
"ordinal_position": 6
},
{
"name": "tenant_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790683160709957标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_sales_records - tenant_id。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - tenant_id。",
"ordinal_position": 7
},
{
"name": "site_goods_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2793026176012357标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_sales_records - site_goods_id。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - site_goods_id。",
"ordinal_position": 8
},
{
"name": "tenant_goods_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2792115932417925标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_sales_records - tenant_goods_id。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - tenant_goods_id。",
"ordinal_position": 9
},
{
"name": "tenant_goods_category_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790683528350540标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_sales_records - tenant_goods_category_id。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - tenant_goods_category_id。",
"ordinal_position": 10
},
{
"name": "tenant_goods_business_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790683528317768标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_sales_records - tenant_goods_business_id。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - tenant_goods_business_id。",
"ordinal_position": 11
},
{
"name": "site_table_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2793003705192517标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_sales_records - site_table_id。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - site_table_id。",
"ordinal_position": 12
},
{
"name": "ledger_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】哇哈哈矿泉水(名称字段,用于展示与辅助识别)。 【ODS来源】store_goods_sales_records - ledger_name。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - ledger_name。",
"ordinal_position": 13
},
{
"name": "ledger_group_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】酒水(名称字段,用于展示与辅助识别)。 【ODS来源】store_goods_sales_records - ledger_group_name。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - ledger_group_name。",
"ordinal_position": 14
},
{
"name": "ledger_unit_price",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】5.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】store_goods_sales_records - ledger_unit_price。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - ledger_unit_price。",
"ordinal_position": 15
},
{
"name": "ledger_count",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】1数量/时长字段,用于统计与计量)。 【ODS来源】store_goods_sales_records - ledger_count。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - ledger_count。",
"ordinal_position": 16
},
{
"name": "ledger_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】5.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】store_goods_sales_records - ledger_amount。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - ledger_amount。",
"ordinal_position": 17
},
{
"name": "discount_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】折扣金额,即原价被减免的金额部分。 【示例】0.0。 【ODS来源】store_goods_sales_records - discount_money。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - discount_money。",
"ordinal_position": 18
},
{
"name": "real_goods_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】5.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】store_goods_sales_records - real_goods_money。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - real_goods_money。",
"ordinal_position": 19
},
{
"name": "cost_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.01(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】store_goods_sales_records - cost_money。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - cost_money。",
"ordinal_position": 20
},
{
"name": "ledger_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】状态枚举字段,用于标识业务状态。 【示例】1状态枚举字段用于标识业务状态。 【ODS来源】store_goods_sales_records - ledger_status。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - ledger_status。",
"ordinal_position": 21
},
{
"name": "is_delete",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】0布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】store_goods_sales_records - is_delete。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - is_delete。",
"ordinal_position": 22
},
{
"name": "create_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-09 23:35:57时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】store_goods_sales_records - create_time。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - create_time。",
"ordinal_position": 23
},
{
"name": "coupon_share_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 24
},
{
"name": "discount_price",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】折后单价(元/单位),即应用折扣后的商品单价。 【示例】5.00。 【ODS来源】store_goods_sales_records - discount_price。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - discount_price。",
"ordinal_position": 25
}
]
}

View File

@@ -0,0 +1,231 @@
{
"schema": "dwd",
"table": "dwd_store_goods_sale_ex",
"ods_source": "store_goods_sales_records",
"columns": [
{
"name": "store_goods_sale_id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957924029550406标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_sales_records - id。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - id。",
"ordinal_position": 1
},
{
"name": "legacy_order_goods_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957858456391557标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_sales_records - order_goods_id。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - order_goods_id。",
"ordinal_position": 2
},
{
"name": "site_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】朗朗桌球(名称字段,用于展示与辅助识别)。 【ODS来源】store_goods_sales_records - siteName。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - siteName。",
"ordinal_position": 3
},
{
"name": "legacy_site_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790685415443269标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_sales_records - site_id。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - site_id。",
"ordinal_position": 4
},
{
"name": "goods_remark",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】哇哈哈矿泉水(明细字段,用于记录事实取值)。 【ODS来源】store_goods_sales_records - goods_remark。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - goods_remark。",
"ordinal_position": 5
},
{
"name": "option_value_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】NULL名称字段用于展示与辅助识别。 【ODS来源】store_goods_sales_records - option_value_name。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - option_value_name。",
"ordinal_position": 6
},
{
"name": "operator_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】收银员:郑丽珊(名称字段,用于展示与辅助识别)。 【ODS来源】store_goods_sales_records - operator_name。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - operator_name。",
"ordinal_position": 7
},
{
"name": "open_salesman_flag",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】2明细字段用于记录事实取值。 【ODS来源】store_goods_sales_records - openSalesman。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - openSalesman。",
"ordinal_position": 8
},
{
"name": "salesman_user_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_sales_records - salesman_user_id。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - salesman_user_id。",
"ordinal_position": 9
},
{
"name": "salesman_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】NULL名称字段用于展示与辅助识别。 【ODS来源】store_goods_sales_records - salesman_name。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - salesman_name。",
"ordinal_position": 10
},
{
"name": "salesman_role_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_sales_records - salesman_role_id。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - salesman_role_id。",
"ordinal_position": 11
},
{
"name": "salesman_org_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_sales_records - sales_man_org_id。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - sales_man_org_id。",
"ordinal_position": 12
},
{
"name": "discount_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】store_goods_sales_records - discount_money。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - discount_money。",
"ordinal_position": 13
},
{
"name": "returns_number",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】0数量/时长字段,用于统计与计量)。 【ODS来源】store_goods_sales_records - returns_number。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - returns_number。",
"ordinal_position": 14
},
{
"name": "coupon_deduct_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】store_goods_sales_records - coupon_deduct_money。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - coupon_deduct_money。",
"ordinal_position": 15
},
{
"name": "member_discount_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】store_goods_sales_records - member_discount_amount。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - member_discount_amount。",
"ordinal_position": 16
},
{
"name": "point_discount_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】store_goods_sales_records - point_discount_money。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - point_discount_money。",
"ordinal_position": 17
},
{
"name": "point_discount_money_cost",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】store_goods_sales_records - point_discount_money_cost。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - point_discount_money_cost。",
"ordinal_position": 18
},
{
"name": "package_coupon_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_sales_records - package_coupon_id。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - package_coupon_id。",
"ordinal_position": 19
},
{
"name": "order_coupon_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_sales_records - order_coupon_id。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - order_coupon_id。",
"ordinal_position": 20
},
{
"name": "member_coupon_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_sales_records - member_coupon_id。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - member_coupon_id。",
"ordinal_position": 21
},
{
"name": "option_price",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】store_goods_sales_records - option_price。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - option_price。",
"ordinal_position": 22
},
{
"name": "option_member_discount_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】store_goods_sales_records - option_member_discount_money。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - option_member_discount_money。",
"ordinal_position": 23
},
{
"name": "option_coupon_deduct_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】store_goods_sales_records - option_coupon_deduct_money。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - option_coupon_deduct_money。",
"ordinal_position": 24
},
{
"name": "push_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】store_goods_sales_records - push_money。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - push_money。",
"ordinal_position": 25
},
{
"name": "is_single_order",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】1布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】store_goods_sales_records - is_single_order。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - is_single_order。",
"ordinal_position": 26
},
{
"name": "sales_type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】1明细字段用于记录事实取值。 【ODS来源】store_goods_sales_records - sales_type。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - sales_type。",
"ordinal_position": 27
},
{
"name": "operator_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790687322443013标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_sales_records - operator_id。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - operator_id。",
"ordinal_position": 28
}
]
}

View File

@@ -0,0 +1,135 @@
{
"schema": "dwd",
"table": "dwd_table_fee_adjust",
"ods_source": "table_fee_discount_records",
"columns": [
{
"name": "table_fee_adjust_id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957913441881989标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】table_fee_discount_records - id。 【JSON字段】table_fee_discount_records.json - data.taiFeeAdjustInfos - id。",
"ordinal_position": 1
},
{
"name": "order_trade_no",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】2957784612605829明细字段用于记录事实取值。 【ODS来源】table_fee_discount_records - order_trade_no。 【JSON字段】table_fee_discount_records.json - data.taiFeeAdjustInfos - order_trade_no。",
"ordinal_position": 2
},
{
"name": "order_settle_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957913171693253标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】table_fee_discount_records - order_settle_id。 【JSON字段】table_fee_discount_records.json - data.taiFeeAdjustInfos - order_settle_id。",
"ordinal_position": 3
},
{
"name": "tenant_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790683160709957标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】table_fee_discount_records - tenant_id。 【JSON字段】table_fee_discount_records.json - data.taiFeeAdjustInfos - tenant_id。",
"ordinal_position": 4
},
{
"name": "site_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790685415443269标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】table_fee_discount_records - site_id。 【JSON字段】table_fee_discount_records.json - data.taiFeeAdjustInfos - site_id。",
"ordinal_position": 5
},
{
"name": "table_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2793020259897413标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】table_fee_discount_records - site_table_id。 【JSON字段】table_fee_discount_records.json - data.taiFeeAdjustInfos - site_table_id。",
"ordinal_position": 6
},
{
"name": "table_area_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2791961347968901标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】table_fee_discount_records - tenant_table_area_id。 【JSON字段】table_fee_discount_records.json - data.taiFeeAdjustInfos - tenant_table_area_id。",
"ordinal_position": 7
},
{
"name": "table_area_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】NULL名称字段用于展示与辅助识别。 【ODS来源】table_fee_discount_records - tableprofile.table_area_name。 【JSON字段】table_fee_discount_records.json - data.taiFeeAdjustInfos - tableprofile.table_area_name。",
"ordinal_position": 8
},
{
"name": "tenant_table_area_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2791961347968901标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】table_fee_discount_records - tenant_table_area_id。 【JSON字段】table_fee_discount_records.json - data.taiFeeAdjustInfos - tenant_table_area_id。",
"ordinal_position": 9
},
{
"name": "ledger_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】148.15(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】table_fee_discount_records - ledger_amount。 【JSON字段】table_fee_discount_records.json - data.taiFeeAdjustInfos - ledger_amount。",
"ordinal_position": 10
},
{
"name": "ledger_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】状态枚举字段,用于标识业务状态。 【示例】1状态枚举字段用于标识业务状态。 【ODS来源】table_fee_discount_records - ledger_status。 【JSON字段】table_fee_discount_records.json - data.taiFeeAdjustInfos - ledger_status。",
"ordinal_position": 11
},
{
"name": "is_delete",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】0布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】table_fee_discount_records - is_delete。 【JSON字段】table_fee_discount_records.json - data.taiFeeAdjustInfos - is_delete。",
"ordinal_position": 12
},
{
"name": "adjust_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-09 23:25:11时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】table_fee_discount_records - create_time。 【JSON字段】table_fee_discount_records.json - data.taiFeeAdjustInfos - create_time。",
"ordinal_position": 13
},
{
"name": "table_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 14
},
{
"name": "table_price",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 15
},
{
"name": "charge_free",
"data_type": "boolean",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 16
}
]
}

View File

@@ -0,0 +1,111 @@
{
"schema": "dwd",
"table": "dwd_table_fee_adjust_ex",
"ods_source": "table_fee_discount_records",
"columns": [
{
"name": "table_fee_adjust_id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957913441881989标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】table_fee_discount_records - id。 【JSON字段】table_fee_discount_records.json - data.taiFeeAdjustInfos - id。",
"ordinal_position": 1
},
{
"name": "adjust_type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】1明细字段用于记录事实取值。 【ODS来源】table_fee_discount_records - adjust_type。 【JSON字段】table_fee_discount_records.json - data.taiFeeAdjustInfos - adjust_type。",
"ordinal_position": 2
},
{
"name": "ledger_count",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】1数量/时长字段,用于统计与计量)。 【ODS来源】table_fee_discount_records - ledger_count。 【JSON字段】table_fee_discount_records.json - data.taiFeeAdjustInfos - ledger_count。",
"ordinal_position": 3
},
{
"name": "ledger_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】NULL名称字段用于展示与辅助识别。 【ODS来源】table_fee_discount_records - ledger_name。 【JSON字段】table_fee_discount_records.json - data.taiFeeAdjustInfos - ledger_name。",
"ordinal_position": 4
},
{
"name": "applicant_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】收银员:郑丽珊(名称字段,用于展示与辅助识别)。 【ODS来源】table_fee_discount_records - applicant_name。 【JSON字段】table_fee_discount_records.json - data.taiFeeAdjustInfos - applicant_name。",
"ordinal_position": 5
},
{
"name": "operator_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】收银员:郑丽珊(名称字段,用于展示与辅助识别)。 【ODS来源】table_fee_discount_records - operator_name。 【JSON字段】table_fee_discount_records.json - data.taiFeeAdjustInfos - operator_name。",
"ordinal_position": 6
},
{
"name": "applicant_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790687322443013标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】table_fee_discount_records - applicant_id。 【JSON字段】table_fee_discount_records.json - data.taiFeeAdjustInfos - applicant_id。",
"ordinal_position": 7
},
{
"name": "operator_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790687322443013标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】table_fee_discount_records - operator_id。 【JSON字段】table_fee_discount_records.json - data.taiFeeAdjustInfos - operator_id。",
"ordinal_position": 8
},
{
"name": "area_type_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 9
},
{
"name": "site_table_area_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 10
},
{
"name": "site_table_area_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 11
},
{
"name": "site_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 12
},
{
"name": "tenant_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 13
}
]
}

View File

@@ -0,0 +1,239 @@
{
"schema": "dwd",
"table": "dwd_table_fee_log",
"ods_source": "table_fee_transactions",
"columns": [
{
"name": "table_fee_log_id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957924029058885标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】table_fee_transactions - id。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList - id。",
"ordinal_position": 1
},
{
"name": "order_trade_no",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】明细字段,用于记录事实取值。 【示例】2957858167230149明细字段用于记录事实取值。 【ODS来源】table_fee_transactions - order_trade_no。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList - order_trade_no。",
"ordinal_position": 2
},
{
"name": "order_settle_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957922914357125标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】table_fee_transactions - order_settle_id。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList - order_settle_id。",
"ordinal_position": 3
},
{
"name": "order_pay_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】table_fee_transactions - order_pay_id。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList - order_pay_id。",
"ordinal_position": 4
},
{
"name": "tenant_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790683160709957标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】table_fee_transactions - tenant_id。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList - tenant_id。",
"ordinal_position": 5
},
{
"name": "site_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790685415443269标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】table_fee_transactions - site_id。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList - site_id。",
"ordinal_position": 6
},
{
"name": "site_table_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2793003705192517标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】table_fee_transactions - site_table_id。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList - site_table_id。",
"ordinal_position": 7
},
{
"name": "site_table_area_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2791963794329671标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】table_fee_transactions - site_table_area_id。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList - site_table_area_id。",
"ordinal_position": 8
},
{
"name": "site_table_area_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】A区名称字段用于展示与辅助识别。 【ODS来源】table_fee_transactions - site_table_area_name。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList - site_table_area_name。",
"ordinal_position": 9
},
{
"name": "tenant_table_area_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2791960001957765标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】table_fee_transactions - tenant_table_area_id。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList - tenant_table_area_id。",
"ordinal_position": 10
},
{
"name": "member_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】table_fee_transactions - member_id。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList - member_id。",
"ordinal_position": 11
},
{
"name": "ledger_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】A17名称字段用于展示与辅助识别。 【ODS来源】table_fee_transactions - ledger_name。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList - ledger_name。",
"ordinal_position": 12
},
{
"name": "ledger_unit_price",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】48.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】table_fee_transactions - ledger_unit_price。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList - ledger_unit_price。",
"ordinal_position": 13
},
{
"name": "ledger_count",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】3600数量/时长字段,用于统计与计量)。 【ODS来源】table_fee_transactions - ledger_count。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList - ledger_count。",
"ordinal_position": 14
},
{
"name": "ledger_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】48.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】table_fee_transactions - ledger_amount。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList - ledger_amount。",
"ordinal_position": 15
},
{
"name": "real_table_charge_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】table_fee_transactions - real_table_charge_money。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList - real_table_charge_money。",
"ordinal_position": 16
},
{
"name": "coupon_promotion_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】48.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】table_fee_transactions - coupon_promotion_amount。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList - coupon_promotion_amount。",
"ordinal_position": 17
},
{
"name": "member_discount_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】table_fee_transactions - member_discount_amount。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList - member_discount_amount。",
"ordinal_position": 18
},
{
"name": "adjust_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】table_fee_transactions - adjust_amount。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList - adjust_amount。",
"ordinal_position": 19
},
{
"name": "real_table_use_seconds",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】3600数量/时长字段,用于统计与计量)。 【ODS来源】table_fee_transactions - real_table_use_seconds。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList - real_table_use_seconds。",
"ordinal_position": 20
},
{
"name": "add_clock_seconds",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】0数量/时长字段,用于统计与计量)。 【ODS来源】table_fee_transactions - add_clock_seconds。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList - add_clock_seconds。",
"ordinal_position": 21
},
{
"name": "start_use_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-09 22:28:57时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】table_fee_transactions - start_use_time。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList - start_use_time。",
"ordinal_position": 22
},
{
"name": "ledger_end_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-09 23:28:57时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】table_fee_transactions - ledger_end_time。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList - ledger_end_time。",
"ordinal_position": 23
},
{
"name": "create_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-09 23:35:57时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】table_fee_transactions - create_time。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList - create_time。",
"ordinal_position": 24
},
{
"name": "ledger_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】状态枚举字段,用于标识业务状态。 【示例】1状态枚举字段用于标识业务状态。 【ODS来源】table_fee_transactions - ledger_status。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList - ledger_status。",
"ordinal_position": 25
},
{
"name": "is_single_order",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】1布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】table_fee_transactions - is_single_order。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList - is_single_order。",
"ordinal_position": 26
},
{
"name": "is_delete",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】0布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】table_fee_transactions - is_delete。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList - is_delete。",
"ordinal_position": 27
},
{
"name": "activity_discount_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 28
},
{
"name": "real_service_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 29
}
]
}

View File

@@ -0,0 +1,111 @@
{
"schema": "dwd",
"table": "dwd_table_fee_log_ex",
"ods_source": "table_fee_transactions",
"columns": [
{
"name": "table_fee_log_id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957924029058885标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】table_fee_transactions - id。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList - id。",
"ordinal_position": 1
},
{
"name": "operator_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】收银员:郑丽珊(名称字段,用于展示与辅助识别)。 【ODS来源】table_fee_transactions - operator_name。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList - operator_name。",
"ordinal_position": 2
},
{
"name": "salesman_name",
"data_type": "character varying",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】NULL名称字段用于展示与辅助识别。 【ODS来源】table_fee_transactions - salesman_name。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList - salesman_name。",
"ordinal_position": 3
},
{
"name": "used_card_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】table_fee_transactions - used_card_amount。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList - used_card_amount。",
"ordinal_position": 4
},
{
"name": "service_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】table_fee_transactions - service_money。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList - service_money。",
"ordinal_position": 5
},
{
"name": "mgmt_fee",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】table_fee_transactions - mgmt_fee。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList - mgmt_fee。",
"ordinal_position": 6
},
{
"name": "fee_total",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】table_fee_transactions - fee_total。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList - fee_total。",
"ordinal_position": 7
},
{
"name": "ledger_start_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-09 22:28:57时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】table_fee_transactions - ledger_start_time。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList - ledger_start_time。",
"ordinal_position": 8
},
{
"name": "last_use_time",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-09 23:28:57时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】table_fee_transactions - last_use_time。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList - last_use_time。",
"ordinal_position": 9
},
{
"name": "operator_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790687322443013标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】table_fee_transactions - operator_id。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList - operator_id。",
"ordinal_position": 10
},
{
"name": "salesman_user_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】table_fee_transactions - salesman_user_id。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList - salesman_user_id。",
"ordinal_position": 11
},
{
"name": "salesman_org_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】table_fee_transactions - salesman_org_id。 【JSON字段】table_fee_transactions.json - data.siteTableUseDetailsList - salesman_org_id。",
"ordinal_position": 12
},
{
"name": "order_consumption_type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 13
}
]
}

View File

@@ -0,0 +1,542 @@
{
"schema": "ods",
"table": "assistant_accounts_master",
"columns": [
{
"name": "id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】助教账号主键 ID在“助教流水.json”中对应 site_assistant_id。 【示例】2947562271297029用于助教账号主键 ID在“助教流水.json”中对应 site_assistant_id。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - id。",
"ordinal_position": 1
},
{
"name": "tenant_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】品牌/租户 ID对应“非球科技”系统中该商户的唯一标识。 【示例】2790683160709957用于品牌/租户 ID对应“非球科技”系统中该商户的唯一标识。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - tenant_id。",
"ordinal_position": 2
},
{
"name": "site_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】门店 ID对应本次数据的这家球房朗朗桌球。 【示例】2790685415443269用于门店 ID对应本次数据的这家球房朗朗桌球。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - site_id。",
"ordinal_position": 3
},
{
"name": "assistant_no",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】助教工号 / 编号,便于业务侧识别。 【示例】31用于助教工号 / 编号,便于业务侧识别)。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - assistant_no。",
"ordinal_position": 4
},
{
"name": "nickname",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】助教在前台展示的昵称,如“佳怡”“周周”“球球”等。 【示例】小然(用于助教在前台展示的昵称,如“佳怡”“周周”“球球”等)。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - nickname。",
"ordinal_position": 5
},
{
"name": "real_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】助教真实姓名,如“何海婷”“梁婷婷”等。 【示例】张静然(用于助教真实姓名,如“何海婷”“梁婷婷”等)。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - real_name。",
"ordinal_position": 6
},
{
"name": "mobile",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】助教手机号,用于登录绑定、通知、钉钉同步等。 【示例】15119679931助教手机号用于登录绑定、通知、钉钉同步等。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - mobile。",
"ordinal_position": 7
},
{
"name": "team_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】助教所属团队 ID。 【示例】2792011585884037用于助教所属团队 ID。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - team_id。",
"ordinal_position": 8
},
{
"name": "team_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】团队名称,展示用,和 team_id 一一对应。 【示例】1组用于团队名称展示用和 team_id 一一对应)。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - team_name。",
"ordinal_position": 9
},
{
"name": "user_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】系统级“用户账号 ID”通常对应登录账号。 【示例】2947562270838277用于系统级“用户账号 ID”通常对应登录账号。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - user_id。",
"ordinal_position": 10
},
{
"name": "level",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】10 × 24。 【示例】20用于10 × 24。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - level。",
"ordinal_position": 11
},
{
"name": "assistant_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】1 × 48。 【示例】1用于1 × 48。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - assistant_status。",
"ordinal_position": 12
},
{
"name": "work_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】当 leave_status = 0 时work_status = 1。 【示例】2用于当 leave_status = 0 时work_status = 1。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - work_status。",
"ordinal_position": 13
},
{
"name": "leave_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】0 × 21。 【示例】1用于0 × 21。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - leave_status。",
"ordinal_position": 14
},
{
"name": "entry_time",
"data_type": "timestamp without time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】入职时间。 【示例】2025-11-02 08:00:00用于入职时间。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - entry_time。",
"ordinal_position": 15
},
{
"name": "resign_time",
"data_type": "timestamp without time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】离职日期。 【示例】2025-11-03 08:00:00用于离职日期。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - resign_time。",
"ordinal_position": 16
},
{
"name": "start_time",
"data_type": "timestamp without time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】当前配置生效的开始日期。 【示例】2025-11-01 08:00:00用于当前配置生效的开始日期。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - start_time。",
"ordinal_position": 17
},
{
"name": "end_time",
"data_type": "timestamp without time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】当前配置生效的结束日期(例如一个周期性的排班/合同周期)。 【示例】2025-12-01 08:00:00用于当前配置生效的结束日期例如一个周期性的排班/合同周期))。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - end_time。",
"ordinal_position": 18
},
{
"name": "create_time",
"data_type": "timestamp without time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】账号创建时间。 【示例】2025-11-02 15:55:26用于账号创建时间。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - create_time。",
"ordinal_position": 19
},
{
"name": "update_time",
"data_type": "timestamp without time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】账号最近一次被修改的时间(例如修改等级、昵称等)。 【示例】2025-11-03 18:32:07用于账号最近一次被修改的时间例如修改等级、昵称等。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - update_time。",
"ordinal_position": 20
},
{
"name": "order_trade_no",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】该助教最近一次关联的订单号,用于快速跳转或回溯最近服务行为。 【示例】0该助教最近一次关联的订单号用于快速跳转或回溯最近服务行为。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - order_trade_no。",
"ordinal_position": 21
},
{
"name": "staff_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】预留给“人事系统员工 ID”的字段目前未接入或未启用。 【示例】0用于预留给“人事系统员工 ID”的字段目前未接入或未启用。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - staff_id。",
"ordinal_position": 22
},
{
"name": "staff_profile_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】人事档案 ID与第三方 HR 系统或内部员工档案集成使用,当前未启用。 【示例】0用于人事档案 ID与第三方 HR 系统或内部员工档案集成使用,当前未启用)。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - staff_profile_id。",
"ordinal_position": 23
},
{
"name": "system_role_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】10标识类 ID 字段,用于关联/定位相关实体)。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - system_role_id。",
"ordinal_position": 24
},
{
"name": "avatar",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】助教头像地址。 【示例】https://oss.ficoo.vip/maUiImages/images/defaultAvatar.png用于助教头像地址。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - avatar。",
"ordinal_position": 25
},
{
"name": "birth_date",
"data_type": "timestamp without time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】助教出生日期。 【示例】0001-01-01 00:00:00用于助教出生日期。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - birth_date。",
"ordinal_position": 26
},
{
"name": "gender",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】0 × 40。 【示例】0用于0 × 40。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - gender。",
"ordinal_position": 27
},
{
"name": "height",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】身高(单位:厘米)。 【示例】0.0(用于身高(单位:厘米))。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - height。",
"ordinal_position": 28
},
{
"name": "weight",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】体重(单位:公斤)。 【示例】0.0(用于体重(单位:公斤))。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - weight。",
"ordinal_position": 29
},
{
"name": "job_num",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】备用工号字段,目前未在该门店启用。 【示例】NULL用于备用工号字段目前未在该门店启用。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - job_num。",
"ordinal_position": 30
},
{
"name": "show_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】1来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - show_status。",
"ordinal_position": 31
},
{
"name": "show_sort",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】前台展示排序权重,值越小/越大对应不同的排序策略(当前看起来与 assistant_no 有一定对应关系)。 【示例】31用于前台展示排序权重值越小/越大对应不同的排序策略(当前看起来与 assistant_no 有一定对应关系))。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - show_sort。",
"ordinal_position": 32
},
{
"name": "sum_grade",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】评分总和用于计算平均分assistant_grade = sum_grade / get_grade_times当前为 0。 【示例】0.0评分总和用于计算平均分assistant_grade = sum_grade / get_grade_times当前为 0。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - sum_grade。",
"ordinal_position": 33
},
{
"name": "assistant_grade",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】助教综合评分(员工维度的平均分 snapshot当前尚未启用评分。 【示例】0.0(用于助教综合评分(员工维度的平均分 snapshot当前尚未启用评分。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - assistant_grade。",
"ordinal_position": 34
},
{
"name": "get_grade_times",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】累计被评分次数。 【示例】0用于累计被评分次数。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - get_grade_times。",
"ordinal_position": 35
},
{
"name": "introduce",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】个人简介文案,预留给助教自我介绍使用。 【示例】NULL用于个人简介文案预留给助教自我介绍使用。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - introduce。",
"ordinal_position": 36
},
{
"name": "video_introduction_url",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】助教个人视频介绍地址。 【示例】https://oss.ficoo.vip/cbb/userVideo/1753096246308/175309624630830.mp4用于助教个人视频介绍地址。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - video_introduction_url。",
"ordinal_position": 37
},
{
"name": "group_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】上层“分组 ID”预留字段例如集团/事业部),本门店未使用。 【示例】0用于上层“分组 ID”预留字段例如集团/事业部),本门店未使用)。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - group_id。",
"ordinal_position": 38
},
{
"name": "group_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】group_id 对应的名称,目前为空。 【示例】NULL用于group_id 对应的名称,目前为空)。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - group_name。",
"ordinal_position": 39
},
{
"name": "shop_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】门店名称,冗余字段,用于展示。 【示例】朗朗桌球(门店名称,冗余字段,用于展示)。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - shop_name。",
"ordinal_position": 40
},
{
"name": "charge_way",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】2 代表当前门店为“计时收费”其他值1、3 等)可能对应按局、按课时等,当前未出现。 【示例】2用于2 代表当前门店为“计时收费”其他值1、3 等)可能对应按局、按课时等,当前未出现)。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - charge_way。",
"ordinal_position": 41
},
{
"name": "entry_type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】1来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - entry_type。",
"ordinal_position": 42
},
{
"name": "allow_cx",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】1来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - allow_cx。",
"ordinal_position": 43
},
{
"name": "is_guaranteed",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示权限、可用性或状态开关。 【示例】1布尔/开关字段,用于表示权限、可用性或状态开关。)。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - is_guaranteed。",
"ordinal_position": 44
},
{
"name": "salary_grant_enabled",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】2来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - salary_grant_enabled。",
"ordinal_position": 45
},
{
"name": "light_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】灯光控制状态,如 1=启用控制、2=不启用 或相反。 【示例】2用于灯光控制状态如 1=启用控制、2=不启用 或相反)。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - light_status。",
"ordinal_position": 46
},
{
"name": "online_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】在线状态。 【示例】1用于在线状态。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - online_status。",
"ordinal_position": 47
},
{
"name": "is_delete",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】逻辑删除标记0=否1=是)。 【示例】0用于逻辑删除标记0=否1=是))。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - is_delete。",
"ordinal_position": 48
},
{
"name": "cx_unit_price",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】促销时段的单价,本门店未在账号表层面设置。 【示例】0.0(用于促销时段的单价,本门店未在账号表层面设置)。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - cx_unit_price。",
"ordinal_position": 49
},
{
"name": "pd_unit_price",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】某种标准单价(例如“普通时段单价”),这里未在账号上配置(实际单价在助教商品或套餐配置中)。 【示例】0.0(用于某种标准单价(例如“普通时段单价”),这里未在账号上配置(实际单价在助教商品或套餐配置中))。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - pd_unit_price。",
"ordinal_position": 50
},
{
"name": "last_table_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】该助教最近一次服务的球台 ID。 【示例】0用于该助教最近一次服务的球台 ID。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - last_table_id。",
"ordinal_position": 51
},
{
"name": "last_table_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】最近服务球台名称(展示用)。 【示例】TV用于最近服务球台名称展示用。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - last_table_name。",
"ordinal_position": 52
},
{
"name": "person_org_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】人事组织 ID通常表示“某某门店-助教部-某小组”等层级组织。 【示例】2947562271215109用于人事组织 ID通常表示“某某门店-助教部-某小组”等层级组织)。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - person_org_id。",
"ordinal_position": 53
},
{
"name": "serial_number",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】系统内部生成的序列号或排序标识,用于全局排序或迁移。 【示例】0系统内部生成的序列号或排序标识用于全局排序或迁移。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - serial_number。",
"ordinal_position": 54
},
{
"name": "is_team_leader",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示权限、可用性或状态开关。 【示例】0布尔/开关字段,用于表示权限、可用性或状态开关。)。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - is_team_leader。",
"ordinal_position": 55
},
{
"name": "criticism_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】1 × 49。 【示例】1用于1 × 49。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - criticism_status。",
"ordinal_position": 56
},
{
"name": "last_update_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】最近修改该账号配置的管理员名称。 【示例】管理员:郑丽珊(用于最近修改该账号配置的管理员名称)。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - last_update_name。",
"ordinal_position": 57
},
{
"name": "ding_talk_synced",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】1来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - ding_talk_synced。",
"ordinal_position": 58
},
{
"name": "site_light_cfg_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】门店灯控配置 ID本门店未在助教账号维度启用。 【示例】0用于门店灯控配置 ID本门店未在助教账号维度启用。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - site_light_cfg_id。",
"ordinal_position": 59
},
{
"name": "light_equipment_id",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】灯控设备 ID如果开启“助教开台自动控制灯”会通过该字段关联到灯控硬件。 【示例】NULL用于灯控设备 ID如果开启“助教开台自动控制灯”会通过该字段关联到灯控硬件。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - light_equipment_id。",
"ordinal_position": 60
},
{
"name": "entry_sign_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】0来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - entry_sign_status。",
"ordinal_position": 61
},
{
"name": "resign_sign_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】离职协议签署状态,类似上面。 【示例】0用于离职协议签署状态类似上面。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - resign_sign_status。",
"ordinal_position": 62
},
{
"name": "content_hash",
"data_type": "text",
"is_nullable": false,
"column_default": null,
"comment": null,
"ordinal_position": 63
},
{
"name": "source_file",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】ETL 元数据:原始导出文件名,用于数据追溯。 【示例】assistant_accounts_master.jsonETL 元数据:原始导出文件名,用于数据追溯)。 【JSON字段】assistant_accounts_master.json - ETL元数据 - 无。",
"ordinal_position": 64
},
{
"name": "source_endpoint",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】ETL 元数据:采集来源(接口/文件路径),用于数据追溯。 【示例】export/test-json-doc/assistant_accounts_master.jsonETL 元数据:采集来源(接口/文件路径),用于数据追溯)。 【JSON字段】assistant_accounts_master.json - ETL元数据 - 无。",
"ordinal_position": 65
},
{
"name": "fetched_at",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": "now()",
"comment": "【说明】ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理。 【示例】2025-11-10T00:00:00+08:00ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理)。 【JSON字段】assistant_accounts_master.json - ETL元数据 - 无。",
"ordinal_position": 66
},
{
"name": "payload",
"data_type": "jsonb",
"is_nullable": false,
"column_default": null,
"comment": "【说明】完整原始 JSON 记录快照,用于回溯与二次解析。 【示例】{...}(完整原始 JSON 记录快照,用于回溯与二次解析)。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - $。",
"ordinal_position": 67
}
]
}

View File

@@ -0,0 +1,158 @@
{
"schema": "ods",
"table": "assistant_cancellation_records",
"columns": [
{
"name": "id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】本表主键 ID用于唯一标识一条记录。 【示例】2957675849518789本表主键 ID用于唯一标识一条记录。 【JSON字段】assistant_cancellation_records.json - data.abolitionAssistants - id。",
"ordinal_position": 1
},
{
"name": "siteid",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】门店 ID即该废除记录所在门店。 【示例】2790685415443269用于门店 ID即该废除记录所在门店。 【JSON字段】assistant_cancellation_records.json - data.abolitionAssistants - siteId。",
"ordinal_position": 2
},
{
"name": "siteprofile",
"data_type": "jsonb",
"is_nullable": true,
"column_default": null,
"comment": "【说明】门店信息快照。 【示例】{\"id\": 2790685415443269, \"org_id\": 2790684179467077, \"shop_name\": \"朗朗桌球\", \"avatar\": \"https://oss.ficoo.vip/admin/hXcE4E…用于门店信息快照。 【JSON字段】assistant_cancellation_records.json - data.abolitionAssistants - siteProfile。",
"ordinal_position": 3
},
{
"name": "assistantname",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】助教姓名/对外展示名称。 【示例】泡芙(用于助教姓名/对外展示名称)。 【JSON字段】assistant_cancellation_records.json - data.abolitionAssistants - assistantName。",
"ordinal_position": 4
},
{
"name": "assistantabolishamount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】与“助教废除”关联的金额字段。 【示例】5.83(用于与“助教废除”关联的金额字段)。 【JSON字段】assistant_cancellation_records.json - data.abolitionAssistants - assistantAbolishAmount。",
"ordinal_position": 5
},
{
"name": "assistanton",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】助教编号(工号/序号)。 【示例】27用于助教编号工号/序号))。 【JSON字段】assistant_cancellation_records.json - data.abolitionAssistants - assistantOn。",
"ordinal_position": 6
},
{
"name": "pdchargeminutes",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】“已发生的计费时长(分钟)”,即这次助教服务在被废除前已经累计了多少分钟。 【示例】214用于“已发生的计费时长分钟即这次助教服务在被废除前已经累计了多少分钟。 【JSON字段】assistant_cancellation_records.json - data.abolitionAssistants - pdChargeMinutes。",
"ordinal_position": 7
},
{
"name": "tableareaid",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】台桌所在区域 ID。 【示例】2791963816579205用于台桌所在区域 ID。 【JSON字段】assistant_cancellation_records.json - data.abolitionAssistants - tableAreaId。",
"ordinal_position": 8
},
{
"name": "tablearea",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】台桌所属区域名称。 【示例】C区用于台桌所属区域名称。 【JSON字段】assistant_cancellation_records.json - data.abolitionAssistants - tableArea。",
"ordinal_position": 9
},
{
"name": "tableid",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】球台/桌子的 ID。 【示例】2793016660660357用于球台/桌子的 ID。 【JSON字段】assistant_cancellation_records.json - data.abolitionAssistants - tableId。",
"ordinal_position": 10
},
{
"name": "tablename",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】台桌名称/编号,供人阅读。 【示例】C1用于台桌名称/编号,供人阅读)。 【JSON字段】assistant_cancellation_records.json - data.abolitionAssistants - tableName。",
"ordinal_position": 11
},
{
"name": "trashreason",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】用于记录“废除原因”的文本描述,例如“顾客临时有事取消”“录入错误”“更换助教”等。 【示例】NULL用于记录“废除原因”的文本描述例如“顾客临时有事取消”“录入错误”“更换助教”等。 【JSON字段】assistant_cancellation_records.json - data.abolitionAssistants - trashReason。",
"ordinal_position": 12
},
{
"name": "createtime",
"data_type": "timestamp without time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】这条“助教废除记录”被创建的时间,即系统正式记录“废除”操作的时刻。 【示例】2025-11-09 19:23:29用于这条“助教废除记录”被创建的时间即系统正式记录“废除”操作的时刻。 【JSON字段】assistant_cancellation_records.json - data.abolitionAssistants - createTime。",
"ordinal_position": 13
},
{
"name": "tenant_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 14
},
{
"name": "content_hash",
"data_type": "text",
"is_nullable": false,
"column_default": null,
"comment": null,
"ordinal_position": 15
},
{
"name": "source_file",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】ETL 元数据:原始导出文件名,用于数据追溯。 【示例】assistant_cancellation_records.jsonETL 元数据:原始导出文件名,用于数据追溯)。 【JSON字段】assistant_cancellation_records.json - ETL元数据 - 无。",
"ordinal_position": 16
},
{
"name": "source_endpoint",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】ETL 元数据:采集来源(接口/文件路径),用于数据追溯。 【示例】export/test-json-doc/assistant_cancellation_records.jsonETL 元数据:采集来源(接口/文件路径),用于数据追溯)。 【JSON字段】assistant_cancellation_records.json - ETL元数据 - 无。",
"ordinal_position": 17
},
{
"name": "fetched_at",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": "now()",
"comment": "【说明】ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理。 【示例】2025-11-10T00:00:00+08:00ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理)。 【JSON字段】assistant_cancellation_records.json - ETL元数据 - 无。",
"ordinal_position": 18
},
{
"name": "payload",
"data_type": "jsonb",
"is_nullable": false,
"column_default": null,
"comment": "【说明】完整原始 JSON 记录快照,用于回溯与二次解析。 【示例】{...}(完整原始 JSON 记录快照,用于回溯与二次解析)。 【JSON字段】assistant_cancellation_records.json - data.abolitionAssistants - $。",
"ordinal_position": 19
}
]
}

View File

@@ -0,0 +1,574 @@
{
"schema": "ods",
"table": "assistant_service_records",
"columns": [
{
"name": "id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】本条助教流水记录的主键 ID流水唯一标识。 【示例】2957913441292165用于本条助教流水记录的主键 ID流水唯一标识。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - id。",
"ordinal_position": 1
},
{
"name": "tenant_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】租户/品牌 ID。 【示例】2790683160709957用于租户/品牌 ID。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - tenant_id。",
"ordinal_position": 2
},
{
"name": "site_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】门店 ID本数据中指“朗朗桌球”这一家门店。 【示例】2790685415443269用于门店 ID本数据中指“朗朗桌球”这一家门店。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - site_id。",
"ordinal_position": 3
},
{
"name": "siteprofile",
"data_type": "jsonb",
"is_nullable": true,
"column_default": null,
"comment": "【说明】门店信息快照,包括 id、shop_name、address 等,和其他 JSON 里的 siteProfile 一致。 【示例】{\"id\": 2790685415443269, \"org_id\": 2790684179467077, \"shop_name\": \"朗朗桌球\", \"avatar\": \"https://oss.ficoo.vip/admin/hXcE4E…用于门店信息快照包括 id、shop_name、address 等,和其他 JSON 里的 siteProfile 一致)。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - siteProfile。",
"ordinal_position": 4
},
{
"name": "site_table_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】球台 ID。 【示例】2793020259897413用于球台 ID。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - site_table_id。",
"ordinal_position": 5
},
{
"name": "order_settle_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】订单结算 ID相当于“结账单号”的内部主键。 【示例】2957913171693253用于订单结算 ID相当于“结账单号”的内部主键。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - order_settle_id。",
"ordinal_position": 6
},
{
"name": "order_trade_no",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】订单交易号,整个订单层面的编号。 【示例】2957784612605829用于订单交易号整个订单层面的编号。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - order_trade_no。",
"ordinal_position": 7
},
{
"name": "order_pay_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】关联到“支付记录”的主键 ID。 【示例】0用于关联到“支付记录”的主键 ID。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - order_pay_id。",
"ordinal_position": 8
},
{
"name": "order_assistant_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】订单中“助教项目明细”的内部 ID。 【示例】2957788717240005用于订单中“助教项目明细”的内部 ID。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - order_assistant_id。",
"ordinal_position": 9
},
{
"name": "order_assistant_type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】1来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - order_assistant_type。",
"ordinal_position": 10
},
{
"name": "assistantname",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】助教姓名,如“何海婷”“胡敏”等。 【示例】何海婷(用于助教姓名,如“何海婷”“胡敏”等)。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - assistantName。",
"ordinal_position": 11
},
{
"name": "assistantno",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】助教编号,例如 \"27\"。 【示例】27用于助教编号例如 \"27\")。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - assistantNo。",
"ordinal_position": 12
},
{
"name": "assistant_level",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】助教等级名称,与 assistant_level 一一对应(初级/中级/高级/助教管理)。 【示例】10用于助教等级名称与 assistant_level 一一对应(初级/中级/高级/助教管理))。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - assistant_level。",
"ordinal_position": 13
},
{
"name": "levelname",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】NULL名称字段用于展示与辅助识别。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - levelName。",
"ordinal_position": 14
},
{
"name": "site_assistant_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】门店维度的助教 ID。 【示例】2946266869435205用于门店维度的助教 ID。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - site_assistant_id。",
"ordinal_position": 15
},
{
"name": "skill_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】助教服务“课程/技能”ID。 【示例】2790683529513797用于助教服务“课程/技能”ID。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - skill_id。",
"ordinal_position": 16
},
{
"name": "skillname",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】NULL名称字段用于展示与辅助识别。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - skillName。",
"ordinal_position": 17
},
{
"name": "system_member_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】系统级会员 ID全集团统一 ID。 【示例】0用于系统级会员 ID全集团统一 ID。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - system_member_id。",
"ordinal_position": 18
},
{
"name": "tablename",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】NULL名称字段用于展示与辅助识别。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - tableName。",
"ordinal_position": 19
},
{
"name": "tenant_member_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】商户维度会员 ID门店/品牌内的会员主键)。 【示例】0用于商户维度会员 ID门店/品牌内的会员主键))。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - tenant_member_id。",
"ordinal_position": 20
},
{
"name": "user_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】助教对应的“用户账号 ID”系统级用户。 【示例】2946266868976453用于助教对应的“用户账号 ID”系统级用户。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - user_id。",
"ordinal_position": 21
},
{
"name": "assistant_team_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】助教所属团队 ID。 【示例】2792011585884037用于助教所属团队 ID。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - assistant_team_id。",
"ordinal_position": 22
},
{
"name": "nickname",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】助教对外昵称,如“佳怡”“周周”“球球”等。 【示例】泡芙(用于助教对外昵称,如“佳怡”“周周”“球球”等)。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - nickname。",
"ordinal_position": 23
},
{
"name": "ledger_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】27-泡芙(名称字段,用于展示与辅助识别)。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - ledger_name。",
"ordinal_position": 24
},
{
"name": "ledger_group_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】助教项目所属的“计费分组/套餐分组名称”,例如某种助教套餐或业务组名称。 【示例】NULL用于助教项目所属的“计费分组/套餐分组名称”,例如某种助教套餐或业务组名称)。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - ledger_group_name。",
"ordinal_position": 25
},
{
"name": "ledger_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】按标准单价计算出来的应收金额(近似 = ledger_unit_price × income_seconds / 3600。 【示例】206.67(用于按标准单价计算出来的应收金额(近似 = ledger_unit_price × income_seconds / 3600。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - ledger_amount。",
"ordinal_position": 26
},
{
"name": "ledger_count",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】台账记录的计时总秒数。 【示例】7592用于台账记录的计时总秒数。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - ledger_count。",
"ordinal_position": 27
},
{
"name": "ledger_unit_price",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】助教服务 标准单价(通常是标价:每小时、每节课的单价)。 【示例】98.0(用于助教服务 标准单价(通常是标价:每小时、每节课的单价))。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - ledger_unit_price。",
"ordinal_position": 28
},
{
"name": "ledger_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】1来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - ledger_status。",
"ordinal_position": 29
},
{
"name": "ledger_start_time",
"data_type": "timestamp without time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】台账层面记录的开始时间。 【示例】2025-11-09 21:18:18用于台账层面记录的开始时间。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - ledger_start_time。",
"ordinal_position": 30
},
{
"name": "ledger_end_time",
"data_type": "timestamp without time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】台账层面的结束时间。 【示例】2025-11-09 23:24:50用于台账层面的结束时间。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - ledger_end_time。",
"ordinal_position": 31
},
{
"name": "manual_discount_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】收银员手动给予的减免金额(人工改价)。 【示例】0.0(用于收银员手动给予的减免金额(人工改价))。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - manual_discount_amount。",
"ordinal_position": 32
},
{
"name": "member_discount_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】由会员卡折扣产生的优惠金额。 【示例】0.0(用于由会员卡折扣产生的优惠金额)。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - member_discount_amount。",
"ordinal_position": 33
},
{
"name": "coupon_deduct_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】由“优惠券/代金券/团购券”等 直接抵扣到这条助教服务上的金额。 【示例】0.0(用于由“优惠券/代金券/团购券”等 直接抵扣到这条助教服务上的金额)。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - coupon_deduct_money。",
"ordinal_position": 34
},
{
"name": "service_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】用于记录与助教结算的金额(平台预留的“成本/分成”字段)。 【示例】0.0(用于记录与助教结算的金额(平台预留的“成本/分成”字段))。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - service_money。",
"ordinal_position": 35
},
{
"name": "projected_income",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】实际结算计入门店的金额(已经考虑折扣、卡权益、券等后的结果)。 【示例】168.0(用于实际结算计入门店的金额(已经考虑折扣、卡权益、券等后的结果))。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - projected_income。",
"ordinal_position": 36
},
{
"name": "real_use_seconds",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】实际使用时长(秒)。 【示例】7592用于实际使用时长。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - real_use_seconds。",
"ordinal_position": 37
},
{
"name": "income_seconds",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】计费秒数 / 应计收入对应的时间。 【示例】7560用于计费秒数 / 应计收入对应的时间)。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - income_seconds。",
"ordinal_position": 38
},
{
"name": "start_use_time",
"data_type": "timestamp without time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】助教实际开始服务时间。 【示例】2025-11-09 21:18:18用于助教实际开始服务时间。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - start_use_time。",
"ordinal_position": 39
},
{
"name": "last_use_time",
"data_type": "timestamp without time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】最后一次使用(实际服务)时间。 【示例】2025-11-09 23:24:50用于最后一次使用实际服务时间。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - last_use_time。",
"ordinal_position": 40
},
{
"name": "create_time",
"data_type": "timestamp without time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】这条助教流水记录创建时间(一般接近结算/下单时间)。 【示例】2025-11-09 23:25:11用于这条助教流水记录创建时间一般接近结算/下单时间))。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - create_time。",
"ordinal_position": 41
},
{
"name": "is_single_order",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示权限、可用性或状态开关。 【示例】1布尔/开关字段,用于表示权限、可用性或状态开关。)。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - is_single_order。",
"ordinal_position": 42
},
{
"name": "is_delete",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】逻辑删除标志。 【示例】0用于逻辑删除标志。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - is_delete。",
"ordinal_position": 43
},
{
"name": "is_trash",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示权限、可用性或状态开关。 【示例】0布尔/开关字段,用于表示权限、可用性或状态开关。)。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - is_trash。",
"ordinal_position": 44
},
{
"name": "trash_reason",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】废除原因(文本说明),例如“顾客取消”“录入错误”等。 【示例】NULL用于废除原因文本说明例如“顾客取消”“录入错误”等。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - trash_reason。",
"ordinal_position": 45
},
{
"name": "trash_applicant_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】提出废除申请的员工 ID通常是操作员/管理员)。 【示例】0用于提出废除申请的员工 ID通常是操作员/管理员))。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - trash_applicant_id。",
"ordinal_position": 46
},
{
"name": "trash_applicant_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】废除申请人姓名。 【示例】NULL用于废除申请人姓名。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - trash_applicant_name。",
"ordinal_position": 47
},
{
"name": "operator_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】操作员 ID录入/结算这条助教服务的员工)。 【示例】2790687322443013用于操作员 ID录入/结算这条助教服务的员工))。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - operator_id。",
"ordinal_position": 48
},
{
"name": "operator_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】操作员姓名,与 operator_id 一起使用,便于直接阅读。 【示例】收银员:郑丽珊(用于操作员姓名,与 operator_id 一起使用,便于直接阅读)。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - operator_name。",
"ordinal_position": 49
},
{
"name": "salesman_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】关联的“营业员/销售员姓名”,用于提成归属。 【示例】NULL关联的“营业员/销售员姓名”,用于提成归属)。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - salesman_name。",
"ordinal_position": 50
},
{
"name": "salesman_org_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】营业员所属组织/部门 ID。 【示例】0用于营业员所属组织/部门 ID。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - salesman_org_id。",
"ordinal_position": 51
},
{
"name": "salesman_user_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】营业员用户 ID。 【示例】0用于营业员用户 ID。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - salesman_user_id。",
"ordinal_position": 52
},
{
"name": "person_org_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】助教所属“人事组织/部门 ID”。 【示例】2946266869336901用于助教所属“人事组织/部门 ID”。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - person_org_id。",
"ordinal_position": 53
},
{
"name": "add_clock",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】加钟秒数,即在原有预约/服务基础上临时追加的时长。 【示例】0用于加钟秒数即在原有预约/服务基础上临时追加的时长)。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - add_clock。",
"ordinal_position": 54
},
{
"name": "returns_clock",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】退钟秒数(取消加钟或提前结束退回的时间)。 【示例】0用于退钟秒数取消加钟或提前结束退回的时间。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - returns_clock。",
"ordinal_position": 55
},
{
"name": "composite_grade",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】综合评分(例如技能+服务加权后的平均分),当前数据没有实际评分。 【示例】0.0(用于综合评分(例如技能+服务加权后的平均分),当前数据没有实际评分)。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - composite_grade。",
"ordinal_position": 56
},
{
"name": "composite_grade_time",
"data_type": "timestamp without time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】助教服务所在的球台名称(如 \"A17\"、\"S1\")。 【示例】0001-01-01 00:00:00用于助教服务所在的球台名称如 \"A17\"、\"S1\"))。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - composite_grade_time。",
"ordinal_position": 57
},
{
"name": "skill_grade",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】顾客对“技能表现”的评分(整数或打分等级)。 【示例】0用于顾客对“技能表现”的评分整数或打分等级。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - skill_grade。",
"ordinal_position": 58
},
{
"name": "service_grade",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】顾客对“服务态度”的评分。 【示例】0用于顾客对“服务态度”的评分。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - service_grade。",
"ordinal_position": 59
},
{
"name": "sum_grade",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】累计评分总和(可能用于计算平均分),当前为 0。 【示例】0.0(累计评分总和(可能用于计算平均分),当前为 0。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - sum_grade。",
"ordinal_position": 60
},
{
"name": "grade_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】1 = 未评价/正常。 【示例】1用于1 = 未评价/正常)。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - grade_status。",
"ordinal_position": 61
},
{
"name": "get_grade_times",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】该条记录对应的评价次数(或该助教被评价次数快照)。 【示例】0用于该条记录对应的评价次数或该助教被评价次数快照。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - get_grade_times。",
"ordinal_position": 62
},
{
"name": "is_not_responding",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示权限、可用性或状态开关。 【示例】0布尔/开关字段,用于表示权限、可用性或状态开关。)。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - is_not_responding。",
"ordinal_position": 63
},
{
"name": "is_confirm",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示权限、可用性或状态开关。 【示例】2布尔/开关字段,用于表示权限、可用性或状态开关。)。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - is_confirm。",
"ordinal_position": 64
},
{
"name": "assistantteamname",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 65
},
{
"name": "real_service_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 66
},
{
"name": "payload",
"data_type": "jsonb",
"is_nullable": false,
"column_default": null,
"comment": "【说明】完整原始 JSON 记录快照,用于回溯与二次解析。 【示例】{...}(完整原始 JSON 记录快照,用于回溯与二次解析)。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - $。",
"ordinal_position": 67
},
{
"name": "content_hash",
"data_type": "text",
"is_nullable": false,
"column_default": null,
"comment": null,
"ordinal_position": 68
},
{
"name": "source_file",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】ETL 元数据:原始导出文件名,用于数据追溯。 【示例】assistant_service_records.jsonETL 元数据:原始导出文件名,用于数据追溯)。 【JSON字段】assistant_service_records.json - ETL元数据 - 无。",
"ordinal_position": 69
},
{
"name": "source_endpoint",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】ETL 元数据:采集来源(接口/文件路径),用于数据追溯。 【示例】export/test-json-doc/assistant_service_records.jsonETL 元数据:采集来源(接口/文件路径),用于数据追溯)。 【JSON字段】assistant_service_records.json - ETL元数据 - 无。",
"ordinal_position": 70
},
{
"name": "fetched_at",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": "now()",
"comment": "【说明】ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理。 【示例】2025-11-10T00:00:00+08:00ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理)。 【JSON字段】assistant_service_records.json - ETL元数据 - 无。",
"ordinal_position": 71
}
]
}

View File

@@ -0,0 +1,198 @@
{
"schema": "ods",
"table": "goods_stock_movements",
"columns": [
{
"name": "sitegoodsstockid",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】门店某个“商品库存记录”的主键 ID。 【示例】2957911857581957用于门店某个“商品库存记录”的主键 ID。 【JSON字段】goods_stock_movements.json - data.queryDeliveryRecordsList - siteGoodsStockId。",
"ordinal_position": 1
},
{
"name": "tenantid",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】租户/品牌 ID。 【示例】2790683160709957用于租户/品牌 ID。 【JSON字段】goods_stock_movements.json - data.queryDeliveryRecordsList - tenantId。",
"ordinal_position": 2
},
{
"name": "siteid",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】门店 ID。 【示例】2790685415443269用于门店 ID。 【JSON字段】goods_stock_movements.json - data.queryDeliveryRecordsList - siteId。",
"ordinal_position": 3
},
{
"name": "sitegoodsid",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】门店维度的商品 ID。 【示例】2793026183532613用于门店维度的商品 ID。 【JSON字段】goods_stock_movements.json - data.queryDeliveryRecordsList - siteGoodsId。",
"ordinal_position": 4
},
{
"name": "goodsname",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】商品名称。 【示例】阿萨姆(用于商品名称)。 【JSON字段】goods_stock_movements.json - data.queryDeliveryRecordsList - goodsName。",
"ordinal_position": 5
},
{
"name": "goodscategoryid",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】商品一级分类 ID。 【示例】2790683528350539用于商品一级分类 ID。 【JSON字段】goods_stock_movements.json - data.queryDeliveryRecordsList - goodsCategoryId。",
"ordinal_position": 6
},
{
"name": "goodssecondcategoryid",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】商品二级分类 ID。 【示例】2790683528350540用于商品二级分类 ID。 【JSON字段】goods_stock_movements.json - data.queryDeliveryRecordsList - goodsSecondCategoryId。",
"ordinal_position": 7
},
{
"name": "unit",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】库存计量单位。 【示例】瓶(用于库存计量单位)。 【JSON字段】goods_stock_movements.json - data.queryDeliveryRecordsList - unit。",
"ordinal_position": 8
},
{
"name": "price",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】商品单价(单位金额)。 【示例】8.0(用于商品单价(单位金额))。 【JSON字段】goods_stock_movements.json - data.queryDeliveryRecordsList - price。",
"ordinal_position": 9
},
{
"name": "stocktype",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】189 条。 【示例】1用于189 条)。 【JSON字段】goods_stock_movements.json - data.queryDeliveryRecordsList - stockType。",
"ordinal_position": 10
},
{
"name": "changenum",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】本次库存数量变化值。 【示例】-1用于本次库存数量变化值。 【JSON字段】goods_stock_movements.json - data.queryDeliveryRecordsList - changeNum。",
"ordinal_position": 11
},
{
"name": "startnum",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】变动前(这次出入库之前)的库存数量。 【示例】28用于变动前这次出入库之前的库存数量。 【JSON字段】goods_stock_movements.json - data.queryDeliveryRecordsList - startNum。",
"ordinal_position": 12
},
{
"name": "endnum",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】变动后(出入库之后)的库存数量。 【示例】27用于变动后出入库之后的库存数量。 【JSON字段】goods_stock_movements.json - data.queryDeliveryRecordsList - endNum。",
"ordinal_position": 13
},
{
"name": "changenuma",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】辅助单位的变化量(与 changeNum 对应的第二计量单位变化),当前未使用。 【示例】0用于辅助单位的变化量与 changeNum 对应的第二计量单位变化),当前未使用)。 【JSON字段】goods_stock_movements.json - data.queryDeliveryRecordsList - changeNumA。",
"ordinal_position": 14
},
{
"name": "startnuma",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】辅助计量单位的起始库存(例如件/箱等第二单位)。 【示例】0用于辅助计量单位的起始库存例如件/箱等第二单位))。 【JSON字段】goods_stock_movements.json - data.queryDeliveryRecordsList - startNumA。",
"ordinal_position": 15
},
{
"name": "endnuma",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】辅助单位的变动后库存,同样未启用。 【示例】0用于辅助单位的变动后库存同样未启用。 【JSON字段】goods_stock_movements.json - data.queryDeliveryRecordsList - endNumA。",
"ordinal_position": 16
},
{
"name": "remark",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】备注信息,用于手工记录本次变更的特殊原因说明(例如“盘点差异调整”“报损”)。 【示例】NULL备注信息用于手工记录本次变更的特殊原因说明例如“盘点差异调整”“报损”。 【JSON字段】goods_stock_movements.json - data.queryDeliveryRecordsList - remark。",
"ordinal_position": 17
},
{
"name": "operatorname",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】执行此次库存变动的操作人。 【示例】收银员:郑丽珊(用于执行此次库存变动的操作人)。 【JSON字段】goods_stock_movements.json - data.queryDeliveryRecordsList - operatorName。",
"ordinal_position": 18
},
{
"name": "createtime",
"data_type": "timestamp without time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】这条库存变动记录的创建时间,即发生库存变更的时间点。 【示例】2025-11-09 23:23:34用于这条库存变动记录的创建时间即发生库存变更的时间点。 【JSON字段】goods_stock_movements.json - data.queryDeliveryRecordsList - createTime。",
"ordinal_position": 19
},
{
"name": "content_hash",
"data_type": "text",
"is_nullable": false,
"column_default": null,
"comment": null,
"ordinal_position": 20
},
{
"name": "source_file",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】ETL 元数据:原始导出文件名,用于数据追溯。 【示例】goods_stock_movements.jsonETL 元数据:原始导出文件名,用于数据追溯)。 【JSON字段】goods_stock_movements.json - ETL元数据 - 无。",
"ordinal_position": 21
},
{
"name": "source_endpoint",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】ETL 元数据:采集来源(接口/文件路径),用于数据追溯。 【示例】export/test-json-doc/goods_stock_movements.jsonETL 元数据:采集来源(接口/文件路径),用于数据追溯)。 【JSON字段】goods_stock_movements.json - ETL元数据 - 无。",
"ordinal_position": 22
},
{
"name": "fetched_at",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": "now()",
"comment": "【说明】ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理。 【示例】2025-11-10T00:00:00+08:00ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理)。 【JSON字段】goods_stock_movements.json - ETL元数据 - 无。",
"ordinal_position": 23
},
{
"name": "payload",
"data_type": "jsonb",
"is_nullable": false,
"column_default": null,
"comment": "【说明】完整原始 JSON 记录快照,用于回溯与二次解析。 【示例】{...}(完整原始 JSON 记录快照,用于回溯与二次解析)。 【JSON字段】goods_stock_movements.json - data.queryDeliveryRecordsList - $。",
"ordinal_position": 24
}
]
}

View File

@@ -0,0 +1,158 @@
{
"schema": "ods",
"table": "goods_stock_summary",
"columns": [
{
"name": "sitegoodsid",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】门店商品 ID本库存汇总表的主键对应某个具体商品在本店的唯一标识。 【示例】2791953867886725用于门店商品 ID本库存汇总表的主键对应某个具体商品在本店的唯一标识。 【JSON字段】goods_stock_summary.json - $ - siteGoodsId。",
"ordinal_position": 1
},
{
"name": "goodsname",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】商品名称,冗余于门店商品档案的 goods_name。 【示例】东方树叶(用于商品名称,冗余于门店商品档案的 goods_name。 【JSON字段】goods_stock_summary.json - $ - goodsName。",
"ordinal_position": 2
},
{
"name": "goodsunit",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】商品的计量单位(售卖单位)。 【示例】瓶(用于商品的计量单位(售卖单位))。 【JSON字段】goods_stock_summary.json - $ - goodsUnit。",
"ordinal_position": 3
},
{
"name": "goodscategoryid",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】一级商品分类 ID。 【示例】2790683528350539用于一级商品分类 ID。 【JSON字段】goods_stock_summary.json - $ - goodsCategoryId。",
"ordinal_position": 4
},
{
"name": "goodscategorysecondid",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】二级(次级)商品分类 ID是 goodsCategoryId 的下级分类。 【示例】2790683528350540用于二级次级商品分类 ID是 goodsCategoryId 的下级分类)。 【JSON字段】goods_stock_summary.json - $ - goodsCategorySecondId。",
"ordinal_position": 5
},
{
"name": "categoryname",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】一级分类名称,属于冗余字段,用于直接展示。 【示例】酒水(一级分类名称,属于冗余字段,用于直接展示)。 【JSON字段】goods_stock_summary.json - $ - categoryName。",
"ordinal_position": 6
},
{
"name": "rangestartstock",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】查询区间 起始时刻 的库存数量(期初库存)。 【示例】165用于查询区间 起始时刻 的库存数量(期初库存))。 【JSON字段】goods_stock_summary.json - $ - rangeStartStock。",
"ordinal_position": 7
},
{
"name": "rangeendstock",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】查询区间 结束时刻 的库存数量(期末库存)。 【示例】118用于查询区间 结束时刻 的库存数量(期末库存))。 【JSON字段】goods_stock_summary.json - $ - rangeEndStock。",
"ordinal_position": 8
},
{
"name": "rangein",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】查询区间内的 入库数量汇总(正值),包括采购入库、调拨入库等。 【示例】450用于查询区间内的 入库数量汇总(正值),包括采购入库、调拨入库等)。 【JSON字段】goods_stock_summary.json - $ - rangeIn。",
"ordinal_position": 9
},
{
"name": "rangeout",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】查询区间内的 出库数量汇总,以 负数 表示从库存扣减(出库/销售)。 【示例】-497用于查询区间内的 出库数量汇总,以 负数 表示从库存扣减(出库/销售))。 【JSON字段】goods_stock_summary.json - $ - rangeOut。",
"ordinal_position": 10
},
{
"name": "rangesale",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】查询区间内,该商品的 销售数量汇总(售出多少“包/瓶/份”等)。 【示例】488用于查询区间内该商品的 销售数量汇总(售出多少“包/瓶/份”等))。 【JSON字段】goods_stock_summary.json - $ - rangeSale。",
"ordinal_position": 11
},
{
"name": "rangesalemoney",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】查询区间内,该商品销售的 金额小计(按商品维度汇总)。 【示例】3904.0(用于查询区间内,该商品销售的 金额小计(按商品维度汇总))。 【JSON字段】goods_stock_summary.json - $ - rangeSaleMoney。",
"ordinal_position": 12
},
{
"name": "rangeinventory",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】查询区间内的 盘点调整净变动量(盘盈–盘亏)。 【示例】0用于查询区间内的 盘点调整净变动量(盘盈–盘亏))。 【JSON字段】goods_stock_summary.json - $ - rangeInventory。",
"ordinal_position": 13
},
{
"name": "currentstock",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】导出时刻的实时库存数量。 【示例】118用于导出时刻的实时库存数量。 【JSON字段】goods_stock_summary.json - $ - currentStock。",
"ordinal_position": 14
},
{
"name": "content_hash",
"data_type": "text",
"is_nullable": false,
"column_default": null,
"comment": null,
"ordinal_position": 15
},
{
"name": "source_file",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】ETL 元数据:原始导出文件名,用于数据追溯。 【示例】goods_stock_summary.jsonETL 元数据:原始导出文件名,用于数据追溯)。 【JSON字段】goods_stock_summary.json - ETL元数据 - 无。",
"ordinal_position": 16
},
{
"name": "source_endpoint",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】ETL 元数据:采集来源(接口/文件路径),用于数据追溯。 【示例】export/test-json-doc/goods_stock_summary.jsonETL 元数据:采集来源(接口/文件路径),用于数据追溯)。 【JSON字段】goods_stock_summary.json - ETL元数据 - 无。",
"ordinal_position": 17
},
{
"name": "fetched_at",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": "now()",
"comment": "【说明】ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理。 【示例】2025-11-10T00:00:00+08:00ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理)。 【JSON字段】goods_stock_summary.json - ETL元数据 - 无。",
"ordinal_position": 18
},
{
"name": "payload",
"data_type": "jsonb",
"is_nullable": false,
"column_default": null,
"comment": "【说明】完整原始 JSON 记录快照,用于回溯与二次解析。 【示例】{...}(完整原始 JSON 记录快照,用于回溯与二次解析)。 【JSON字段】goods_stock_summary.json - $ - $。",
"ordinal_position": 19
}
]
}

View File

@@ -0,0 +1,350 @@
{
"schema": "ods",
"table": "group_buy_packages",
"columns": [
{
"name": "id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】门店侧套餐 ID本文件内部的主键。 【示例】2939215004469573用于门店侧套餐 ID本文件内部的主键。 【JSON字段】group_buy_packages.json - data.packageCouponList - id。",
"ordinal_position": 1
},
{
"name": "package_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】“上层套餐 ID” 或“总部/系统级套餐 ID”。 【示例】1814707240811572用于“上层套餐 ID” 或“总部/系统级套餐 ID”。 【JSON字段】group_buy_packages.json - data.packageCouponList - package_id。",
"ordinal_position": 2
},
{
"name": "package_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】团购套餐名称,用于前台展示和核销界面。 【示例】早场特惠一小时(团购套餐名称,用于前台展示和核销界面)。 【JSON字段】group_buy_packages.json - data.packageCouponList - package_name。",
"ordinal_position": 3
},
{
"name": "selling_price",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】语义上应该是“团购售卖价”(顾客在平台购买券时的成交价格)。 【示例】0.0(用于语义上应该是“团购售卖价”(顾客在平台购买券时的成交价格))。 【JSON字段】group_buy_packages.json - data.packageCouponList - selling_price。",
"ordinal_position": 4
},
{
"name": "coupon_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】券面值或内部结算面值,表示该套餐在门店侧对应的金额额度。 【示例】0.0(用于券面值或内部结算面值,表示该套餐在门店侧对应的金额额度)。 【JSON字段】group_buy_packages.json - data.packageCouponList - coupon_money。",
"ordinal_position": 5
},
{
"name": "date_type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】1来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】group_buy_packages.json - data.packageCouponList - date_type。",
"ordinal_position": 6
},
{
"name": "date_info",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】预留字段,通常用来存储更细粒度的日期信息,如具体日期列表、节假日特殊规则(可能是 JSON 字符串或编码)。 【示例】0用于预留字段通常用来存储更细粒度的日期信息如具体日期列表、节假日特殊规则可能是 JSON 字符串或编码))。 【JSON字段】group_buy_packages.json - data.packageCouponList - date_info。",
"ordinal_position": 7
},
{
"name": "start_time",
"data_type": "timestamp without time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】套餐开始生效的日期时间。 【示例】2025-10-27 00:00:00用于套餐开始生效的日期时间。 【JSON字段】group_buy_packages.json - data.packageCouponList - start_time。",
"ordinal_position": 8
},
{
"name": "end_time",
"data_type": "timestamp without time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】套餐失效的日期时间(到这个时间点后不可使用)。 【示例】2026-10-28 00:00:00用于套餐失效的日期时间到这个时间点后不可使用。 【JSON字段】group_buy_packages.json - data.packageCouponList - end_time。",
"ordinal_position": 9
},
{
"name": "start_clock",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】每日可用起始时间点(第一段)。 【示例】00:00:00用于每日可用起始时间点第一段。 【JSON字段】group_buy_packages.json - data.packageCouponList - start_clock。",
"ordinal_position": 10
},
{
"name": "end_clock",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】每日可用的结束时间点(第一段)。 【示例】1.00:00:00用于每日可用的结束时间点第一段。 【JSON字段】group_buy_packages.json - data.packageCouponList - end_clock。",
"ordinal_position": 11
},
{
"name": "add_start_clock",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】附加可用时间段的起始时间(第二段)。 【示例】00:00:00用于附加可用时间段的起始时间第二段。 【JSON字段】group_buy_packages.json - data.packageCouponList - add_start_clock。",
"ordinal_position": 12
},
{
"name": "add_end_clock",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】附加时段结束时间,多数情况配合 \"00:00:00\" 或 \"10:00:00\" 使用。 【示例】1.00:00:00用于附加时段结束时间多数情况配合 \"00:00:00\" 或 \"10:00:00\" 使用)。 【JSON字段】group_buy_packages.json - data.packageCouponList - add_end_clock。",
"ordinal_position": 13
},
{
"name": "duration",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】套餐内包含的时长(秒)。 【示例】3600用于套餐内包含的时长。 【JSON字段】group_buy_packages.json - data.packageCouponList - duration。",
"ordinal_position": 14
},
{
"name": "usable_count",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】可使用次数上限。 【示例】9999999用于可使用次数上限。 【JSON字段】group_buy_packages.json - data.packageCouponList - usable_count。",
"ordinal_position": 15
},
{
"name": "usable_range",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】一般用于文字描述可用日期范围(例如“周一至周五”)。 【示例】NULL一般用于文字描述可用日期范围例如“周一至周五”。 【JSON字段】group_buy_packages.json - data.packageCouponList - usable_range。",
"ordinal_position": 16
},
{
"name": "table_area_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】原始设计应为“单一台区 ID”当套餐只限一个区域可以用这个字段存储。 【示例】0用于原始设计应为“单一台区 ID”当套餐只限一个区域可以用这个字段存储。 【JSON字段】group_buy_packages.json - data.packageCouponList - table_area_id。",
"ordinal_position": 17
},
{
"name": "table_area_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】套餐适用的“门店台区名称”,用于显示和筛选。 【示例】A区套餐适用的“门店台区名称”用于显示和筛选。 【JSON字段】group_buy_packages.json - data.packageCouponList - table_area_name。",
"ordinal_position": 18
},
{
"name": "table_area_id_list",
"data_type": "jsonb",
"is_nullable": true,
"column_default": null,
"comment": "【说明】用来存放具体台区 ID 列表(例如 \"1,2,3\"),实现更细粒度的台桌限制。 【示例】NULL用于用来存放具体台区 ID 列表(例如 \"1,2,3\"),实现更细粒度的台桌限制)。 【JSON字段】group_buy_packages.json - data.packageCouponList - table_area_id_list。",
"ordinal_position": 19
},
{
"name": "tenant_table_area_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】与 table_area_id 类似,是租户层级的台区 ID原本用于单区选择。 【示例】0与 table_area_id 类似,是租户层级的台区 ID原本用于单区选择。 【JSON字段】group_buy_packages.json - data.packageCouponList - tenant_table_area_id。",
"ordinal_position": 20
},
{
"name": "tenant_table_area_id_list",
"data_type": "jsonb",
"is_nullable": true,
"column_default": null,
"comment": "【说明】实际代表“台区集合 ID”或“租户台区配置 ID”用来限制套餐可用的台区范围。 【示例】2791960001957765用于实际代表“台区集合 ID”或“租户台区配置 ID”用来限制套餐可用的台区范围。 【JSON字段】group_buy_packages.json - data.packageCouponList - tenant_table_area_id_list。",
"ordinal_position": 21
},
{
"name": "site_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】门店 ID。 【示例】2790685415443269用于门店 ID。 【JSON字段】group_buy_packages.json - data.packageCouponList - site_id。",
"ordinal_position": 22
},
{
"name": "site_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】门店名称。 【示例】朗朗桌球(用于门店名称)。 【JSON字段】group_buy_packages.json - data.packageCouponList - site_name。",
"ordinal_position": 23
},
{
"name": "tenant_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】租户 ID品牌/商户 ID。 【示例】2790683160709957用于租户 ID品牌/商户 ID。 【JSON字段】group_buy_packages.json - data.packageCouponList - tenant_id。",
"ordinal_position": 24
},
{
"name": "card_type_ids",
"data_type": "jsonb",
"is_nullable": true,
"column_default": null,
"comment": "【说明】原意是“适用会员卡类型 ID 列表”,例如某套餐只允许某几种会员卡使用,可以在此配置。 【示例】0用于原意是“适用会员卡类型 ID 列表”,例如某套餐只允许某几种会员卡使用,可以在此配置)。 【JSON字段】group_buy_packages.json - data.packageCouponList - card_type_ids。",
"ordinal_position": 25
},
{
"name": "group_type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】1来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】group_buy_packages.json - data.packageCouponList - group_type。",
"ordinal_position": 26
},
{
"name": "system_group_type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】1来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】group_buy_packages.json - data.packageCouponList - system_group_type。",
"ordinal_position": 27
},
{
"name": "type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】内部业务子类型,具体含义需要结合系统文档。 【示例】2用于内部业务子类型具体含义需要结合系统文档。 【JSON字段】group_buy_packages.json - data.packageCouponList - type。",
"ordinal_position": 28
},
{
"name": "effective_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】113 条。 【示例】1用于113 条)。 【JSON字段】group_buy_packages.json - data.packageCouponList - effective_status。",
"ordinal_position": 29
},
{
"name": "is_enabled",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】启用状态。 【示例】1用于启用状态。 【JSON字段】group_buy_packages.json - data.packageCouponList - is_enabled。",
"ordinal_position": 30
},
{
"name": "is_delete",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】逻辑删除标志。 【示例】0用于逻辑删除标志。 【JSON字段】group_buy_packages.json - data.packageCouponList - is_delete。",
"ordinal_position": 31
},
{
"name": "max_selectable_categories",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】0来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】group_buy_packages.json - data.packageCouponList - max_selectable_categories。",
"ordinal_position": 32
},
{
"name": "area_tag_type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】1 很可能代表“按台区标签限制”,例如 A区、中八区、包厢、KTV 等。 【示例】1用于1 很可能代表“按台区标签限制”,例如 A区、中八区、包厢、KTV 等)。 【JSON字段】group_buy_packages.json - data.packageCouponList - area_tag_type。",
"ordinal_position": 33
},
{
"name": "creator_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】创建人信息,一般包含“角色:姓名”。 【示例】店长:郑丽珊(用于创建人信息,一般包含“角色:姓名”)。 【JSON字段】group_buy_packages.json - data.packageCouponList - creator_name。",
"ordinal_position": 34
},
{
"name": "create_time",
"data_type": "timestamp without time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】该套餐在系统中创建的时间。 【示例】2025-10-27 18:24:09用于该套餐在系统中创建的时间。 【JSON字段】group_buy_packages.json - data.packageCouponList - create_time。",
"ordinal_position": 35
},
{
"name": "is_first_limit",
"data_type": "boolean",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 36
},
{
"name": "sort",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 37
},
{
"name": "tenantcouponsaleorderitemid",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 38
},
{
"name": "content_hash",
"data_type": "text",
"is_nullable": false,
"column_default": null,
"comment": null,
"ordinal_position": 39
},
{
"name": "source_file",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】ETL 元数据:原始导出文件名,用于数据追溯。 【示例】group_buy_packages.jsonETL 元数据:原始导出文件名,用于数据追溯)。 【JSON字段】group_buy_packages.json - ETL元数据 - 无。",
"ordinal_position": 40
},
{
"name": "source_endpoint",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】ETL 元数据:采集来源(接口/文件路径),用于数据追溯。 【示例】export/test-json-doc/group_buy_packages.jsonETL 元数据:采集来源(接口/文件路径),用于数据追溯)。 【JSON字段】group_buy_packages.json - ETL元数据 - 无。",
"ordinal_position": 41
},
{
"name": "fetched_at",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": "now()",
"comment": "【说明】ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理。 【示例】2025-11-10T00:00:00+08:00ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理)。 【JSON字段】group_buy_packages.json - ETL元数据 - 无。",
"ordinal_position": 42
},
{
"name": "payload",
"data_type": "jsonb",
"is_nullable": false,
"column_default": null,
"comment": "【说明】完整原始 JSON 记录快照,用于回溯与二次解析。 【示例】{...}(完整原始 JSON 记录快照,用于回溯与二次解析)。 【JSON字段】group_buy_packages.json - data.packageCouponList - $。",
"ordinal_position": 43
}
]
}

View File

@@ -0,0 +1,462 @@
{
"schema": "ods",
"table": "group_buy_redemption_records",
"columns": [
{
"name": "id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】本条“团购套餐流水”记录的 主键 ID。 【示例】2957924029615941用于本条“团购套餐流水”记录的 主键 ID。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - id。",
"ordinal_position": 1
},
{
"name": "tenant_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】租户/品牌 ID。 【示例】2790683160709957用于租户/品牌 ID。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - tenant_id。",
"ordinal_position": 2
},
{
"name": "site_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】门店 ID与其它 JSON 中一致。 【示例】2790685415443269用于门店 ID与其它 JSON 中一致)。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - site_id。",
"ordinal_position": 3
},
{
"name": "sitename",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】门店名称,冗余展示用。 【示例】朗朗桌球(用于门店名称,冗余展示用)。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - siteName。",
"ordinal_position": 4
},
{
"name": "table_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】球台 ID。 【示例】2793003705192517用于球台 ID。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - table_id。",
"ordinal_position": 5
},
{
"name": "tablename",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】本次使用券所关联的 球台名称/台号。 【示例】A17用于本次使用券所关联的 球台名称/台号)。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - tableName。",
"ordinal_position": 6
},
{
"name": "tableareaname",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】该球台所属的 台区名称。 【示例】A区用于该球台所属的 台区名称)。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - tableAreaName。",
"ordinal_position": 7
},
{
"name": "tenant_table_area_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】租户级台区分组 ID表示当前使用券的台桌所属的区域组合。 【示例】2791960001957765用于租户级台区分组 ID表示当前使用券的台桌所属的区域组合。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - tenant_table_area_id。",
"ordinal_position": 8
},
{
"name": "order_trade_no",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】订单交易号,和其它消费明细(台费、商品、助教、团购)共用的订单主键。 【示例】2957858167230149用于订单交易号和其它消费明细台费、商品、助教、团购共用的订单主键。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - order_trade_no。",
"ordinal_position": 9
},
{
"name": "order_settle_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】结算单 ID小票结账主键。 【示例】2957922914357125用于结算单 ID小票结账主键。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - order_settle_id。",
"ordinal_position": 10
},
{
"name": "order_pay_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】指向支付记录表中的支付流水 ID。 【示例】0用于指向支付记录表中的支付流水 ID。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - order_pay_id。",
"ordinal_position": 11
},
{
"name": "order_coupon_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】订单中“券使用记录”的 ID。 【示例】2957858168229573用于订单中“券使用记录”的 ID。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - order_coupon_id。",
"ordinal_position": 12
},
{
"name": "order_coupon_channel",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】1来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - order_coupon_channel。",
"ordinal_position": 13
},
{
"name": "coupon_code",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】团购券券码,核销时扫描/录入的字符串。 【示例】0107892475999用于团购券券码核销时扫描/录入的字符串)。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - coupon_code。",
"ordinal_position": 14
},
{
"name": "coupon_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】本次核销时,这张券在门店侧对应的金额额度(“可抵扣金额”)。 【示例】48.0(用于本次核销时,这张券在门店侧对应的金额额度(“可抵扣金额”))。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - coupon_money。",
"ordinal_position": 15
},
{
"name": "coupon_origin_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】平台/上游系统中的券记录主键 ID“券来源 ID”。 【示例】2957858168229573用于平台/上游系统中的券记录主键 ID“券来源 ID”。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - coupon_origin_id。",
"ordinal_position": 16
},
{
"name": "ledger_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】台费侧关联的“团购项目名称”(记账名)。 【示例】全天A区中八一小时用于台费侧关联的“团购项目名称”记账名。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - ledger_name。",
"ordinal_position": 17
},
{
"name": "ledger_group_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】团购项目所属的“记账分组名称”(例如“团购台费”“团购包厢”等)。 【示例】NULL用于团购项目所属的“记账分组名称”例如“团购台费”“团购包厢”等。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - ledger_group_name。",
"ordinal_position": 18
},
{
"name": "ledger_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】本次券实际冲抵台费的金额。 【示例】48.0(用于本次券实际冲抵台费的金额)。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - ledger_amount。",
"ordinal_position": 19
},
{
"name": "ledger_count",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】按此次优惠实际计算的“核销秒数”。 【示例】3600用于按此次优惠实际计算的“核销秒数”。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - ledger_count。",
"ordinal_position": 20
},
{
"name": "ledger_unit_price",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】对应台费的标准单价,单位元/小时从数值来看是类似29.9/小时这种定价)。 【示例】29.9(用于对应台费的标准单价,单位元/小时从数值来看是类似29.9/小时这种定价))。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - ledger_unit_price。",
"ordinal_position": 21
},
{
"name": "ledger_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】流水状态。 【示例】1用于流水状态。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - ledger_status。",
"ordinal_position": 22
},
{
"name": "table_charge_seconds",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】本次结算中该球台总计计费的秒数(整台的台费计费时间)。 【示例】3600用于本次结算中该球台总计计费的秒数整台的台费计费时间。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - table_charge_seconds。",
"ordinal_position": 23
},
{
"name": "promotion_activity_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】团购/促销活动 ID。 【示例】2957858166460101用于团购/促销活动 ID。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - promotion_activity_id。",
"ordinal_position": 24
},
{
"name": "promotion_coupon_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】团购套餐定义 ID。 【示例】2798727423528005用于团购套餐定义 ID。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - promotion_coupon_id。",
"ordinal_position": 25
},
{
"name": "promotion_seconds",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】团购套餐定义的“标准时长”(券本身标称的可用时长)。 【示例】3600用于团购套餐定义的“标准时长”券本身标称的可用时长。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - promotion_seconds。",
"ordinal_position": 26
},
{
"name": "offer_type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】优惠类型。 【示例】1用于优惠类型。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - offer_type。",
"ordinal_position": 27
},
{
"name": "assistant_promotion_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】分摊到“助教服务”的促销金额。 【示例】0.0(用于分摊到“助教服务”的促销金额)。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - assistant_promotion_money。",
"ordinal_position": 28
},
{
"name": "assistant_service_promotion_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】进一步细分助教服务的促销金额。 【示例】0.0(用于进一步细分助教服务的促销金额)。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - assistant_service_promotion_money。",
"ordinal_position": 29
},
{
"name": "table_service_promotion_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】本次券使用中,分摊到“台费服务费”部分的促销金额。 【示例】0.0(用于本次券使用中,分摊到“台费服务费”部分的促销金额)。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - table_service_promotion_money。",
"ordinal_position": 30
},
{
"name": "goods_promotion_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】本次券使用中,分摊到“商品”部分的促销金额。 【示例】0.0(用于本次券使用中,分摊到“商品”部分的促销金额)。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - goods_promotion_money。",
"ordinal_position": 31
},
{
"name": "recharge_promotion_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】来自“充值类优惠”的分摊金额(例如储值赠送部分)。 【示例】0.0(用于来自“充值类优惠”的分摊金额(例如储值赠送部分))。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - recharge_promotion_money。",
"ordinal_position": 32
},
{
"name": "reward_promotion_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】本次促销中,属于“奖励金/积分抵扣”的金额。 【示例】0.0(用于本次促销中,属于“奖励金/积分抵扣”的金额)。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - reward_promotion_money。",
"ordinal_position": 33
},
{
"name": "goodsoptionprice",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】商品规格价格,用于商品类促销分摊时使用。 【示例】0.0(商品规格价格,用于商品类促销分摊时使用)。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - goodsOptionPrice。",
"ordinal_position": 34
},
{
"name": "salesman_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】营业员姓名。 【示例】NULL用于营业员姓名。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - salesman_name。",
"ordinal_position": 35
},
{
"name": "sales_man_org_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】营业员所属组织 ID。 【示例】0用于营业员所属组织 ID。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - sales_man_org_id。",
"ordinal_position": 36
},
{
"name": "salesman_role_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】营业员角色 ID。 【示例】0用于营业员角色 ID。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - salesman_role_id。",
"ordinal_position": 37
},
{
"name": "salesman_user_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】营业员/业务员用户 ID。 【示例】0用于营业员/业务员用户 ID。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - salesman_user_id。",
"ordinal_position": 38
},
{
"name": "operator_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】执行本次核销/结算操作的 操作员 ID。 【示例】2790687322443013用于执行本次核销/结算操作的 操作员 ID。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - operator_id。",
"ordinal_position": 39
},
{
"name": "operator_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】操作员名称(包含角色说明),与 operator_id 对应的冗余展示字段。 【示例】收银员:郑丽珊(用于操作员名称(包含角色说明),与 operator_id 对应的冗余展示字段)。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - operator_name。",
"ordinal_position": 40
},
{
"name": "is_single_order",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】是否单独作为一条订单行。 【示例】1用于是否单独作为一条订单行。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - is_single_order。",
"ordinal_position": 41
},
{
"name": "is_delete",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】逻辑删除标记0=否1=是)。 【示例】0用于逻辑删除标记0=否1=是))。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - is_delete。",
"ordinal_position": 42
},
{
"name": "create_time",
"data_type": "timestamp without time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】本条团购套餐使用流水创建时间(即券核销时间,或与结账时间接近)。 【示例】2025-11-09 23:35:57用于本条团购套餐使用流水创建时间即券核销时间或与结账时间接近。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - create_time。",
"ordinal_position": 43
},
{
"name": "assistant_service_share_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 44
},
{
"name": "assistant_share_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 45
},
{
"name": "coupon_sale_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 46
},
{
"name": "good_service_share_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 47
},
{
"name": "goods_share_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 48
},
{
"name": "member_discount_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 49
},
{
"name": "recharge_share_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 50
},
{
"name": "table_service_share_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 51
},
{
"name": "table_share_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 52
},
{
"name": "payload",
"data_type": "jsonb",
"is_nullable": false,
"column_default": null,
"comment": "【说明】完整原始 JSON 记录快照,用于回溯与二次解析。 【示例】{...}(完整原始 JSON 记录快照,用于回溯与二次解析)。 【JSON字段】group_buy_redemption_records.json - data.siteTableUseDetailsList - $。",
"ordinal_position": 53
},
{
"name": "content_hash",
"data_type": "text",
"is_nullable": false,
"column_default": null,
"comment": null,
"ordinal_position": 54
},
{
"name": "source_file",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】ETL 元数据:原始导出文件名,用于数据追溯。 【示例】group_buy_redemption_records.jsonETL 元数据:原始导出文件名,用于数据追溯)。 【JSON字段】group_buy_redemption_records.json - ETL元数据 - 无。",
"ordinal_position": 55
},
{
"name": "source_endpoint",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】ETL 元数据:采集来源(接口/文件路径),用于数据追溯。 【示例】export/test-json-doc/group_buy_redemption_records.jsonETL 元数据:采集来源(接口/文件路径),用于数据追溯)。 【JSON字段】group_buy_redemption_records.json - ETL元数据 - 无。",
"ordinal_position": 56
},
{
"name": "fetched_at",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": "now()",
"comment": "【说明】ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理。 【示例】2025-11-10T00:00:00+08:00ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理)。 【JSON字段】group_buy_redemption_records.json - ETL元数据 - 无。",
"ordinal_position": 57
}
]
}

View File

@@ -0,0 +1,270 @@
{
"schema": "ods",
"table": "member_balance_changes",
"columns": [
{
"name": "tenant_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】租户/商户 ID本数据中是固定值同一品牌/商户)。 【示例】2790683160709957用于租户/商户 ID本数据中是固定值同一品牌/商户))。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - tenant_id。",
"ordinal_position": 1
},
{
"name": "site_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】非 0记录所属的具体门店 ID与其他 JSON 内的 site_id 一致)。 【示例】2790685415443269用于非 0记录所属的具体门店 ID与其他 JSON 内的 site_id 一致))。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - site_id。",
"ordinal_position": 2
},
{
"name": "register_site_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】会员卡的“注册门店 ID”即办卡所在门店。 【示例】2790685415443269用于会员卡的“注册门店 ID”即办卡所在门店。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - register_site_id。",
"ordinal_position": 3
},
{
"name": "registersitename",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】卡片的注册门店名称(办卡地点),和 register_site_id 配套。 【示例】朗朗桌球(用于卡片的注册门店名称(办卡地点),和 register_site_id 配套)。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - registerSiteName。",
"ordinal_position": 4
},
{
"name": "paysitename",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】发生本次余额变更的门店名称(即本次消费/充值所在门店)。 【示例】朗朗桌球(用于发生本次余额变更的门店名称(即本次消费/充值所在门店))。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - paySiteName。",
"ordinal_position": 5
},
{
"name": "id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】余额变更记录的主键 ID唯一标识这一条“账户余额变化事件”。 【示例】2957881605869253用于余额变更记录的主键 ID唯一标识这一条“账户余额变化事件”。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - id。",
"ordinal_position": 6
},
{
"name": "tenant_member_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】商户维度的会员 ID租户内会员主键。 【示例】2799212845565701用于商户维度的会员 ID租户内会员主键。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - tenant_member_id。",
"ordinal_position": 7
},
{
"name": "tenant_member_card_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】会员卡账户 ID在租户内唯一标识某张卡。 【示例】2799219999295237用于会员卡账户 ID在租户内唯一标识某张卡。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - tenant_member_card_id。",
"ordinal_position": 8
},
{
"name": "system_member_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】系统级(全局)会员 ID。 【示例】2799212844549893用于系统级全局会员 ID。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - system_member_id。",
"ordinal_position": 9
},
{
"name": "membername",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】会员姓名或称呼(非昵称字段)。 【示例】曾丹烨(用于会员姓名或称呼(非昵称字段))。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - memberName。",
"ordinal_position": 10
},
{
"name": "membermobile",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】会员手机号。 【示例】13922213242用于会员手机号。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - memberMobile。",
"ordinal_position": 11
},
{
"name": "card_type_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】卡种类型 ID用于区分不同卡种。 【示例】2793249295533893卡种类型 ID用于区分不同卡种。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - card_type_id。",
"ordinal_position": 12
},
{
"name": "membercardtypename",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】卡种名称,与 card_type_id 一一对应,是一个 卡种枚举名称。 【示例】储值卡(用于卡种名称,与 card_type_id 一一对应,是一个 卡种枚举名称)。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - memberCardTypeName。",
"ordinal_position": 13
},
{
"name": "account_data",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】本次变动的金额(元),正数表示增加,负数表示减少。 【示例】-120.0(用于本次变动的金额(元),正数表示增加,负数表示减少)。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - account_data。",
"ordinal_position": 14
},
{
"name": "before",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】本次变动前,该卡账户的余额(元)。 【示例】816.3(用于本次变动前,该卡账户的余额(元))。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - before。",
"ordinal_position": 15
},
{
"name": "after",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】本次变动后,该卡账户的余额(元)。 【示例】696.3(用于本次变动后,该卡账户的余额(元))。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - after。",
"ordinal_position": 16
},
{
"name": "refund_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】可能用于标记“其中有多少金额是以‘退款’形式回流的”,或区分“退回余额”和“原路退回”两种模式。 【示例】0.0(可能用于标记“其中有多少金额是以‘退款’形式回流的”,或区分“退回余额”和“原路退回”两种模式)。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - refund_amount。",
"ordinal_position": 17
},
{
"name": "from_type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】1来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - from_type。",
"ordinal_position": 18
},
{
"name": "payment_method",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】0来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - payment_method。",
"ordinal_position": 19
},
{
"name": "relate_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】例如某次充值记录的 ID、某张订单/结算单 ID、某次活动抵用券核销记录 ID 等。 【示例】2957881518788421用于例如某次充值记录的 ID、某张订单/结算单 ID、某次活动抵用券核销记录 ID 等)。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - relate_id。",
"ordinal_position": 20
},
{
"name": "remark",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】当为空时,说明这条变动没有额外备注说明。 【示例】充值退款(用于当为空时,说明这条变动没有额外备注说明)。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - remark。",
"ordinal_position": 21
},
{
"name": "operator_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】执行此次余额变更操作的员工 ID。 【示例】2790687322443013用于执行此次余额变更操作的员工 ID。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - operator_id。",
"ordinal_position": 22
},
{
"name": "operator_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】操作员姓名(带职位前缀),是对 operator_id 的可读冗余字段。 【示例】收银员:郑丽珊(用于操作员姓名(带职位前缀),是对 operator_id 的可读冗余字段)。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - operator_name。",
"ordinal_position": 23
},
{
"name": "is_delete",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】逻辑删除标记0=否1=是)。 【示例】0用于逻辑删除标记0=否1=是))。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - is_delete。",
"ordinal_position": 24
},
{
"name": "create_time",
"data_type": "timestamp without time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】本条余额变更记录的创建时间,通常接近交易发生时间。 【示例】2025-11-09 22:52:48用于本条余额变更记录的创建时间通常接近交易发生时间。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - create_time。",
"ordinal_position": 25
},
{
"name": "principal_after",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 26
},
{
"name": "principal_before",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 27
},
{
"name": "principal_data",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 28
},
{
"name": "content_hash",
"data_type": "text",
"is_nullable": false,
"column_default": null,
"comment": null,
"ordinal_position": 29
},
{
"name": "source_file",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】ETL 元数据:原始导出文件名,用于数据追溯。 【示例】member_balance_changes.jsonETL 元数据:原始导出文件名,用于数据追溯)。 【JSON字段】member_balance_changes.json - ETL元数据 - 无。",
"ordinal_position": 30
},
{
"name": "source_endpoint",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】ETL 元数据:采集来源(接口/文件路径),用于数据追溯。 【示例】export/test-json-doc/member_balance_changes.jsonETL 元数据:采集来源(接口/文件路径),用于数据追溯)。 【JSON字段】member_balance_changes.json - ETL元数据 - 无。",
"ordinal_position": 31
},
{
"name": "fetched_at",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": "now()",
"comment": "【说明】ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理。 【示例】2025-11-10T00:00:00+08:00ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理)。 【JSON字段】member_balance_changes.json - ETL元数据 - 无。",
"ordinal_position": 32
},
{
"name": "payload",
"data_type": "jsonb",
"is_nullable": false,
"column_default": null,
"comment": "【说明】完整原始 JSON 记录快照,用于回溯与二次解析。 【示例】{...}(完整原始 JSON 记录快照,用于回溯与二次解析)。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - $。",
"ordinal_position": 33
}
]
}

View File

@@ -0,0 +1,206 @@
{
"schema": "ods",
"table": "member_profiles",
"columns": [
{
"name": "tenant_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】租户/品牌 ID。 【示例】2790683160709957用于租户/品牌 ID。 【JSON字段】member_profiles.json - data.tenantMemberInfos - tenant_id。",
"ordinal_position": 1
},
{
"name": "register_site_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】会员的注册门店 ID。 【示例】2790685415443269用于会员的注册门店 ID。 【JSON字段】member_profiles.json - data.tenantMemberInfos - register_site_id。",
"ordinal_position": 2
},
{
"name": "site_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】注册门店名称,属于冗余字段,用于直接展示。 【示例】朗朗桌球(注册门店名称,属于冗余字段,用于直接展示)。 【JSON字段】member_profiles.json - data.tenantMemberInfos - site_name。",
"ordinal_position": 3
},
{
"name": "id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】这是“租户内会员账户”的主键 ID。 【示例】2955204541320325用于这是“租户内会员账户”的主键 ID。 【JSON字段】member_profiles.json - data.tenantMemberInfos - id。",
"ordinal_position": 4
},
{
"name": "system_member_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】这是“系统级会员 ID”在全平台唯一用来把一个会员在不同门店/不同卡类型下的账户统一到一个“人”的维度上。 【示例】2955204540009605用于这是“系统级会员 ID”在全平台唯一用来把一个会员在不同门店/不同卡类型下的账户统一到一个“人”的维度上)。 【JSON字段】member_profiles.json - data.tenantMemberInfos - system_member_id。",
"ordinal_position": 5
},
{
"name": "member_card_grade_code",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】这两个字段是成对出现的:一个数值码,一个中文名称。 【示例】2790683528022853用于这两个字段是成对出现的一个数值码一个中文名称。 【JSON字段】member_profiles.json - data.tenantMemberInfos - member_card_grade_code。",
"ordinal_position": 6
},
{
"name": "member_card_grade_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】这是“会员卡种类/等级”的定义字段。 【示例】储值卡(用于这是“会员卡种类/等级”的定义字段)。 【JSON字段】member_profiles.json - data.tenantMemberInfos - member_card_grade_name。",
"ordinal_position": 7
},
{
"name": "mobile",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】会员绑定的手机号码。 【示例】18620043391用于会员绑定的手机号码。 【JSON字段】member_profiles.json - data.tenantMemberInfos - mobile。",
"ordinal_position": 8
},
{
"name": "nickname",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】会员在当前租户下的显示名称(可以是姓名,也可以是昵称)。 【示例】胡先生(用于会员在当前租户下的显示名称(可以是姓名,也可以是昵称))。 【JSON字段】member_profiles.json - data.tenantMemberInfos - nickname。",
"ordinal_position": 9
},
{
"name": "point",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】当前积分余额(这条会员账户的积分值)。 【示例】0.0(用于当前积分余额(这条会员账户的积分值))。 【JSON字段】member_profiles.json - data.tenantMemberInfos - point。",
"ordinal_position": 10
},
{
"name": "growth_value",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】成长值 / 经验值,用于会员等级晋升的累计指标。 【示例】0.0(成长值 / 经验值,用于会员等级晋升的累计指标)。 【JSON字段】member_profiles.json - data.tenantMemberInfos - growth_value。",
"ordinal_position": 11
},
{
"name": "referrer_member_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】推荐人会员 ID用于记录该会员是由哪位老会员推荐。 【示例】0推荐人会员 ID用于记录该会员是由哪位老会员推荐。 【JSON字段】member_profiles.json - data.tenantMemberInfos - referrer_member_id。",
"ordinal_position": 12
},
{
"name": "status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】帐户状态(偏“卡状态/档案状态”)。 【示例】1用于帐户状态偏“卡状态/档案状态”))。 【JSON字段】member_profiles.json - data.tenantMemberInfos - status。",
"ordinal_position": 13
},
{
"name": "user_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】用户账号状态(偏“用户逻辑”层面的状态)。 【示例】1用于用户账号状态偏“用户逻辑”层面的状态。 【JSON字段】member_profiles.json - data.tenantMemberInfos - user_status。",
"ordinal_position": 14
},
{
"name": "create_time",
"data_type": "timestamp without time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】会员账户的创建时间(即这条档案/这张卡在系统中被创建的时间)。 【示例】2025-11-08 01:29:33用于会员账户的创建时间即这条档案/这张卡在系统中被创建的时间))。 【JSON字段】member_profiles.json - data.tenantMemberInfos - create_time。",
"ordinal_position": 15
},
{
"name": "pay_money_sum",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 16
},
{
"name": "person_tenant_org_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 17
},
{
"name": "person_tenant_org_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 18
},
{
"name": "recharge_money_sum",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 19
},
{
"name": "register_source",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 20
},
{
"name": "content_hash",
"data_type": "text",
"is_nullable": false,
"column_default": null,
"comment": null,
"ordinal_position": 21
},
{
"name": "source_file",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】ETL 元数据:原始导出文件名,用于数据追溯。 【示例】member_profiles.jsonETL 元数据:原始导出文件名,用于数据追溯)。 【JSON字段】member_profiles.json - ETL元数据 - 无。",
"ordinal_position": 22
},
{
"name": "source_endpoint",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】ETL 元数据:采集来源(接口/文件路径),用于数据追溯。 【示例】export/test-json-doc/member_profiles.jsonETL 元数据:采集来源(接口/文件路径),用于数据追溯)。 【JSON字段】member_profiles.json - ETL元数据 - 无。",
"ordinal_position": 23
},
{
"name": "fetched_at",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": "now()",
"comment": "【说明】ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理。 【示例】2025-11-10T00:00:00+08:00ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理)。 【JSON字段】member_profiles.json - ETL元数据 - 无。",
"ordinal_position": 24
},
{
"name": "payload",
"data_type": "jsonb",
"is_nullable": false,
"column_default": null,
"comment": "【说明】完整原始 JSON 记录快照,用于回溯与二次解析。 【示例】{...}(完整原始 JSON 记录快照,用于回溯与二次解析)。 【JSON字段】member_profiles.json - data.tenantMemberInfos - $。",
"ordinal_position": 25
}
]
}

View File

@@ -0,0 +1,646 @@
{
"schema": "ods",
"table": "member_stored_value_cards",
"columns": [
{
"name": "tenant_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】租户/品牌 ID与其他 JSON 中 tenant_id 一致。 【示例】2790683160709957用于租户/品牌 ID与其他 JSON 中 tenant_id 一致)。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - tenant_id。",
"ordinal_position": 1
},
{
"name": "tenant_member_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】当前商户(品牌/租户)中会员的主键 ID。 【示例】2955204541320325用于当前商户品牌/租户)中会员的主键 ID。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - tenant_member_id。",
"ordinal_position": 2
},
{
"name": "system_member_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】系统级会员 ID跨门店统一主键。 【示例】2955204540009605用于系统级会员 ID跨门店统一主键。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - system_member_id。",
"ordinal_position": 3
},
{
"name": "register_site_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】卡首次办理的门店 ID。 【示例】2790685415443269用于卡首次办理的门店 ID。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - register_site_id。",
"ordinal_position": 4
},
{
"name": "site_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】卡归属门店名称(视图中的展示字段)。 【示例】朗朗桌球(用于卡归属门店名称(视图中的展示字段))。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - site_name。",
"ordinal_position": 5
},
{
"name": "id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】本表主键 ID用于唯一标识一条记录。 【示例】2955206162843781本表主键 ID用于唯一标识一条记录。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - id。",
"ordinal_position": 6
},
{
"name": "member_card_grade_code",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】卡等级/卡类代码,和下面两个名称字段一一对应。 【示例】2790683528022856用于卡等级/卡类代码,和下面两个名称字段一一对应)。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - member_card_grade_code。",
"ordinal_position": 7
},
{
"name": "member_card_grade_code_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】卡等级/卡类名称。 【示例】活动抵用券(用于卡等级/卡类名称)。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - member_card_grade_code_name。",
"ordinal_position": 8
},
{
"name": "member_card_type_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】卡类型名称,实际与 member_card_grade_code_name 一致。 【示例】活动抵用券(用于卡类型名称,实际与 member_card_grade_code_name 一致)。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - member_card_type_name。",
"ordinal_position": 9
},
{
"name": "member_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】持卡会员姓名快照。 【示例】胡先生(用于持卡会员姓名快照)。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - member_name。",
"ordinal_position": 10
},
{
"name": "member_mobile",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】持卡会员手机号快照。 【示例】18620043391用于持卡会员手机号快照。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - member_mobile。",
"ordinal_position": 11
},
{
"name": "card_type_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】卡种 ID定义“这是哪一种卡”。 【示例】2793266846533445用于卡种 ID定义“这是哪一种卡”。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - card_type_id。",
"ordinal_position": 12
},
{
"name": "card_no",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】实体卡物理卡号/条码号。 【示例】NULL用于实体卡物理卡号条码号。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - card_no。",
"ordinal_position": 13
},
{
"name": "card_physics_type",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】物理卡类型。 【示例】1用于物理卡类型。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - card_physics_type。",
"ordinal_position": 14
},
{
"name": "balance",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】当前卡内余额(主要针对储值卡、部分券卡)。 【示例】0.0(用于当前卡内余额(主要针对储值卡、部分券卡))。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - balance。",
"ordinal_position": 15
},
{
"name": "denomination",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】采用“几折”的记法10=不打折9=九折8=八折。 【示例】0.0用于采用“几折”的记法10=不打折9=九折8=八折)。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - denomination。",
"ordinal_position": 16
},
{
"name": "table_discount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】10.0(数量/时长字段,用于统计与计量)。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - table_discount。",
"ordinal_position": 17
},
{
"name": "goods_discount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】10.0(数量/时长字段,用于统计与计量)。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - goods_discount。",
"ordinal_position": 18
},
{
"name": "assistant_discount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】10.0(数量/时长字段,用于统计与计量)。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - assistant_discount。",
"ordinal_position": 19
},
{
"name": "assistant_reward_discount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】10.0(数量/时长字段,用于统计与计量)。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - assistant_reward_discount。",
"ordinal_position": 20
},
{
"name": "table_service_discount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】10.0(数量/时长字段,用于统计与计量)。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - table_service_discount。",
"ordinal_position": 21
},
{
"name": "assistant_service_discount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】10.0(数量/时长字段,用于统计与计量)。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - assistant_service_discount。",
"ordinal_position": 22
},
{
"name": "coupon_discount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】10.0(数量/时长字段,用于统计与计量)。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - coupon_discount。",
"ordinal_position": 23
},
{
"name": "goods_service_discount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】10.0(数量/时长字段,用于统计与计量)。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - goods_service_discount。",
"ordinal_position": 24
},
{
"name": "assistant_discount_sub_switch",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】2数量/时长字段,用于统计与计量)。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - assistant_discount_sub_switch。",
"ordinal_position": 25
},
{
"name": "table_discount_sub_switch",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】2数量/时长字段,用于统计与计量)。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - table_discount_sub_switch。",
"ordinal_position": 26
},
{
"name": "goods_discount_sub_switch",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】2数量/时长字段,用于统计与计量)。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - goods_discount_sub_switch。",
"ordinal_position": 27
},
{
"name": "assistant_reward_discount_sub_switch",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】2数量/时长字段,用于统计与计量)。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - assistant_reward_discount_sub_switch。",
"ordinal_position": 28
},
{
"name": "table_service_deduct_radio",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】100.0(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - table_service_deduct_radio。",
"ordinal_position": 29
},
{
"name": "assistant_service_deduct_radio",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】100.0(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - assistant_service_deduct_radio。",
"ordinal_position": 30
},
{
"name": "goods_service_deduct_radio",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】100.0(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - goods_service_deduct_radio。",
"ordinal_position": 31
},
{
"name": "assistant_deduct_radio",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】100.0(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - assistant_deduct_radio。",
"ordinal_position": 32
},
{
"name": "table_deduct_radio",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】100.0(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - table_deduct_radio。",
"ordinal_position": 33
},
{
"name": "goods_deduct_radio",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】100.0(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - goods_deduct_radio。",
"ordinal_position": 34
},
{
"name": "coupon_deduct_radio",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】100.0(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - coupon_deduct_radio。",
"ordinal_position": 35
},
{
"name": "assistant_reward_deduct_radio",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】100.0(金额字段,用于计费/结算/分摊等金额计算)。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - assistant_reward_deduct_radio。",
"ordinal_position": 36
},
{
"name": "tablecarddeduct",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】针对台费/商品/助教三类消费的扣卡金额配置(类似“每小时从卡里扣 xx 元”或“每次抵扣 xx 元”的规则)。 【示例】0.0(用于针对台费/商品/助教三类消费的扣卡金额配置(类似“每小时从卡里扣 xx 元”或“每次抵扣 xx 元”的规则))。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - tableCardDeduct。",
"ordinal_position": 37
},
{
"name": "tableservicecarddeduct",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】如果系统中区分“储值金、服务金、奖励金”等子账户,这三个字段对应“服务金”子账户的扣款配置。 【示例】0.0(用于如果系统中区分“储值金、服务金、奖励金”等子账户,这三个字段对应“服务金”子账户的扣款配置)。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - tableServiceCardDeduct。",
"ordinal_position": 38
},
{
"name": "goodscardeduct",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】针对台费/商品/助教三类消费的扣卡金额配置(类似“每小时从卡里扣 xx 元”或“每次抵扣 xx 元”的规则)。 【示例】0.0(用于针对台费/商品/助教三类消费的扣卡金额配置(类似“每小时从卡里扣 xx 元”或“每次抵扣 xx 元”的规则))。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - goodsCarDeduct。",
"ordinal_position": 39
},
{
"name": "goodsservicecarddeduct",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】如果系统中区分“储值金、服务金、奖励金”等子账户,这三个字段对应“服务金”子账户的扣款配置。 【示例】0.0(用于如果系统中区分“储值金、服务金、奖励金”等子账户,这三个字段对应“服务金”子账户的扣款配置)。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - goodsServiceCardDeduct。",
"ordinal_position": 40
},
{
"name": "assistantcarddeduct",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】针对台费/商品/助教三类消费的扣卡金额配置(类似“每小时从卡里扣 xx 元”或“每次抵扣 xx 元”的规则)。 【示例】0.0(用于针对台费/商品/助教三类消费的扣卡金额配置(类似“每小时从卡里扣 xx 元”或“每次抵扣 xx 元”的规则))。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - assistantCardDeduct。",
"ordinal_position": 41
},
{
"name": "assistantservicecarddeduct",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】如果系统中区分“储值金、服务金、奖励金”等子账户,这三个字段对应“服务金”子账户的扣款配置。 【示例】0.0(用于如果系统中区分“储值金、服务金、奖励金”等子账户,这三个字段对应“服务金”子账户的扣款配置)。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - assistantServiceCardDeduct。",
"ordinal_position": 42
},
{
"name": "assistantrewardcarddeduct",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】助教奖励金方向扣款的配置。 【示例】0.0(用于助教奖励金方向扣款的配置)。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - assistantRewardCardDeduct。",
"ordinal_position": 43
},
{
"name": "cardsettlededuct",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】结算时从卡中扣除的金额上限/规则配置(视图级。 【示例】0.0(用于结算时从卡中扣除的金额上限/规则配置(视图级)。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - cardSettleDeduct。",
"ordinal_position": 44
},
{
"name": "couponcarddeduct",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】与卡绑定的“券额度扣除配置”。 【示例】0.0(用于与卡绑定的“券额度扣除配置”)。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - couponCardDeduct。",
"ordinal_position": 45
},
{
"name": "deliveryfeededuct",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】配送费可否/多少从卡中抵扣,目前无业务发生。 【示例】0.0(用于配送费可否/多少从卡中抵扣,目前无业务发生)。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - deliveryFeeDeduct。",
"ordinal_position": 46
},
{
"name": "use_scene",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】卡使用场景说明(比如“仅店内使用”“仅团建”等),本门店尚未使用此字段。 【示例】NULL用于卡使用场景说明比如“仅店内使用”“仅团建”等本门店尚未使用此字段。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - use_scene。",
"ordinal_position": 47
},
{
"name": "able_cross_site",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】是否允许跨店使用。 【示例】1用于是否允许跨店使用。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - able_cross_site。",
"ordinal_position": 48
},
{
"name": "is_allow_give",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】是否允许转赠/转让给其他会员。 【示例】0用于是否允许转赠/转让给其他会员)。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - is_allow_give。",
"ordinal_position": 49
},
{
"name": "is_allow_order_deduct",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】是否允许在“订单层面统一扣款”。 【示例】0用于是否允许在“订单层面统一扣款”。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - is_allow_order_deduct。",
"ordinal_position": 50
},
{
"name": "is_delete",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】逻辑删除标志。 【示例】0用于逻辑删除标志。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - is_delete。",
"ordinal_position": 51
},
{
"name": "bind_password",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】卡绑定密码,用于消费或查询验证(目前未启用)。 【示例】NULL卡绑定密码用于消费或查询验证目前未启用。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - bind_password。",
"ordinal_position": 52
},
{
"name": "goods_discount_range_type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】1数量/时长字段,用于统计与计量)。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - goods_discount_range_type。",
"ordinal_position": 53
},
{
"name": "goodscategoryid",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】可用的商品分类 ID 列表。 【示例】[](用于可用的商品分类 ID 列表)。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - goodsCategoryId。",
"ordinal_position": 54
},
{
"name": "tableareaid",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】限定可使用的台区 ID 列表。 【示例】[](用于限定可使用的台区 ID 列表)。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - tableAreaId。",
"ordinal_position": 55
},
{
"name": "effect_site_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】卡片限定生效门店 ID。 【示例】0用于卡片限定生效门店 ID。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - effect_site_id。",
"ordinal_position": 56
},
{
"name": "start_time",
"data_type": "timestamp without time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】卡片生效开始时间(有效期起始)。 【示例】2025-11-08 01:31:12用于卡片生效开始时间有效期起始。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - start_time。",
"ordinal_position": 57
},
{
"name": "end_time",
"data_type": "timestamp without time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】卡片有效期结束时间。 【示例】2225-01-01 00:00:00用于卡片有效期结束时间。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - end_time。",
"ordinal_position": 58
},
{
"name": "disable_start_time",
"data_type": "timestamp without time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】停用时间段(比如临时冻结卡的起止时间)。 【示例】0001-01-01 00:00:00用于停用时间段比如临时冻结卡的起止时间。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - disable_start_time。",
"ordinal_position": 59
},
{
"name": "disable_end_time",
"data_type": "timestamp without time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】停用时间段(比如临时冻结卡的起止时间)。 【示例】0001-01-01 00:00:00用于停用时间段比如临时冻结卡的起止时间。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - disable_end_time。",
"ordinal_position": 60
},
{
"name": "last_consume_time",
"data_type": "timestamp without time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】最近一次消费时间。 【示例】2025-11-09 07:48:23用于最近一次消费时间。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - last_consume_time。",
"ordinal_position": 61
},
{
"name": "create_time",
"data_type": "timestamp without time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】卡片创建时间(开卡时间)。 【示例】2025-11-08 01:31:12用于卡片创建时间开卡时间。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - create_time。",
"ordinal_position": 62
},
{
"name": "status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】状态枚举,用于标识记录当前业务状态。 【示例】1状态枚举用于标识记录当前业务状态。。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - status。",
"ordinal_position": 63
},
{
"name": "sort",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】在前端展示或某些列表中的排序权重。 【示例】1用于在前端展示或某些列表中的排序权重。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - sort。",
"ordinal_position": 64
},
{
"name": "tenantavatar",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】品牌头像 URL未配置。 【示例】NULL用于品牌头像 URL未配置。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - tenantAvatar。",
"ordinal_position": 65
},
{
"name": "tenantname",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】租户/品牌名称(当前导出为空)。 【示例】NULL用于租户/品牌名称(当前导出为空))。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - tenantName。",
"ordinal_position": 66
},
{
"name": "pdassisnatlevel",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】允许使用的“陪打/助教等级”列表。 【示例】[](用于允许使用的“陪打/助教等级”列表)。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - pdAssisnatLevel。",
"ordinal_position": 67
},
{
"name": "cxassisnatlevel",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】可能是“促销活动中的助教等级限制”(命名中 cx 多为“促销”缩写)。 【示例】[](用于可能是“促销活动中的助教等级限制”(命名中 cx 多为“促销”缩写))。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - cxAssisnatLevel。",
"ordinal_position": 68
},
{
"name": "able_share_member_discount",
"data_type": "boolean",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 69
},
{
"name": "electricity_deduct_radio",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 70
},
{
"name": "electricity_discount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 71
},
{
"name": "electricitycarddeduct",
"data_type": "boolean",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 72
},
{
"name": "member_grade",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 73
},
{
"name": "principal_balance",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 74
},
{
"name": "rechargefreezebalance",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 75
},
{
"name": "content_hash",
"data_type": "text",
"is_nullable": false,
"column_default": null,
"comment": null,
"ordinal_position": 76
},
{
"name": "source_file",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】ETL 元数据:原始导出文件名,用于数据追溯。 【示例】member_stored_value_cards.jsonETL 元数据:原始导出文件名,用于数据追溯)。 【JSON字段】member_stored_value_cards.json - ETL元数据 - 无。",
"ordinal_position": 77
},
{
"name": "source_endpoint",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】ETL 元数据:采集来源(接口/文件路径),用于数据追溯。 【示例】export/test-json-doc/member_stored_value_cards.jsonETL 元数据:采集来源(接口/文件路径),用于数据追溯)。 【JSON字段】member_stored_value_cards.json - ETL元数据 - 无。",
"ordinal_position": 78
},
{
"name": "fetched_at",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": "now()",
"comment": "【说明】ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理。 【示例】2025-11-10T00:00:00+08:00ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理)。 【JSON字段】member_stored_value_cards.json - ETL元数据 - 无。",
"ordinal_position": 79
},
{
"name": "payload",
"data_type": "jsonb",
"is_nullable": false,
"column_default": null,
"comment": "【说明】完整原始 JSON 记录快照,用于回溯与二次解析。 【示例】{...}(完整原始 JSON 记录快照,用于回溯与二次解析)。 【JSON字段】member_stored_value_cards.json - data.tenantMemberCards - $。",
"ordinal_position": 80
}
]
}

View File

@@ -0,0 +1,142 @@
{
"schema": "ods",
"table": "payment_transactions",
"columns": [
{
"name": "id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】支付流水记录的主键 ID。 【示例】2957924026486597用于支付流水记录的主键 ID。 【JSON字段】payment_transactions.json - $ - id。",
"ordinal_position": 1
},
{
"name": "site_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】支付记录所属的门店 ID。 【示例】2790685415443269用于支付记录所属的门店 ID。 【JSON字段】payment_transactions.json - $ - site_id。",
"ordinal_position": 2
},
{
"name": "siteprofile",
"data_type": "jsonb",
"is_nullable": true,
"column_default": null,
"comment": "【说明】门店信息快照,与其他 JSON 中的 siteProfile 结构一致。 【示例】{\"id\": 2790685415443269, \"org_id\": 2790684179467077, \"shop_name\": \"朗朗桌球\", \"avatar\": \"https://oss.ficoo.vip/admin/hXcE4E…用于门店信息快照与其他 JSON 中的 siteProfile 结构一致)。 【JSON字段】payment_transactions.json - $ - siteProfile。",
"ordinal_position": 3
},
{
"name": "relate_type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】表示“这条支付记录关联的业务类型”。 【示例】2用于表示“这条支付记录关联的业务类型”。 【JSON字段】payment_transactions.json - $ - relate_type。",
"ordinal_position": 4
},
{
"name": "relate_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】关联业务记录的主键 ID按 relate_type 不同指向不同表)。 【示例】2957922914357125用于关联业务记录的主键 ID按 relate_type 不同指向不同表))。 【JSON字段】payment_transactions.json - $ - relate_id。",
"ordinal_position": 5
},
{
"name": "pay_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】本条支付流水的“支付金额”,单位为元。 【示例】10.0(用于本条支付流水的“支付金额”,单位为元)。 【JSON字段】payment_transactions.json - $ - pay_amount。",
"ordinal_position": 6
},
{
"name": "pay_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】支付状态枚举字段。 【示例】2用于支付状态枚举字段。 【JSON字段】payment_transactions.json - $ - pay_status。",
"ordinal_position": 7
},
{
"name": "pay_time",
"data_type": "timestamp without time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】实际支付完成时间(支付状态变为成功的时间戳)。 【示例】2025-11-09 23:35:57用于实际支付完成时间支付状态变为成功的时间戳。 【JSON字段】payment_transactions.json - $ - pay_time。",
"ordinal_position": 8
},
{
"name": "create_time",
"data_type": "timestamp without time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】支付记录创建时间,通常与发起支付请求的时间一致(创建支付流水的时间戳)。 【示例】2025-11-09 23:35:57用于支付记录创建时间通常与发起支付请求的时间一致创建支付流水的时间戳。 【JSON字段】payment_transactions.json - $ - create_time。",
"ordinal_position": 9
},
{
"name": "payment_method",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】支付方式枚举,例如微信、支付宝、现金、银行卡、储值卡等某一种。 【示例】4用于支付方式枚举例如微信、支付宝、现金、银行卡、储值卡等某一种。 【JSON字段】payment_transactions.json - $ - payment_method。",
"ordinal_position": 10
},
{
"name": "online_pay_channel",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】每一笔结账单settleList.id对应一条支付记录当前样本中是一条记录relate_id 唯一)。 【示例】0用于每一笔结账单settleList.id对应一条支付记录当前样本中是一条记录relate_id 唯一))。 【JSON字段】payment_transactions.json - $ - online_pay_channel。",
"ordinal_position": 11
},
{
"name": "tenant_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 12
},
{
"name": "content_hash",
"data_type": "text",
"is_nullable": false,
"column_default": null,
"comment": null,
"ordinal_position": 13
},
{
"name": "source_file",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】ETL 元数据:原始导出文件名,用于数据追溯。 【示例】payment_transactions.jsonETL 元数据:原始导出文件名,用于数据追溯)。 【JSON字段】payment_transactions.json - ETL元数据 - 无。",
"ordinal_position": 14
},
{
"name": "source_endpoint",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】ETL 元数据:采集来源(接口/文件路径),用于数据追溯。 【示例】export/test-json-doc/payment_transactions.jsonETL 元数据:采集来源(接口/文件路径),用于数据追溯)。 【JSON字段】payment_transactions.json - ETL元数据 - 无。",
"ordinal_position": 15
},
{
"name": "fetched_at",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": "now()",
"comment": "【说明】ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理。 【示例】2025-11-10T00:00:00+08:00ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理)。 【JSON字段】payment_transactions.json - ETL元数据 - 无。",
"ordinal_position": 16
},
{
"name": "payload",
"data_type": "jsonb",
"is_nullable": false,
"column_default": null,
"comment": "【说明】完整原始 JSON 记录快照,用于回溯与二次解析。 【示例】{...}(完整原始 JSON 记录快照,用于回溯与二次解析)。 【JSON字段】payment_transactions.json - $ - $。",
"ordinal_position": 17
}
]
}

View File

@@ -0,0 +1,254 @@
{
"schema": "ods",
"table": "platform_coupon_redemption_records",
"columns": [
{
"name": "id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】本条平台验券记录在本系统内的主键 ID。 【示例】2957929042218501用于本条平台验券记录在本系统内的主键 ID。 【JSON字段】platform_coupon_redemption_records.json - $ - id。",
"ordinal_position": 1
},
{
"name": "verify_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】平台核销记录 ID某些平台会为每一次核销生成一个唯一 ID。 【示例】7570689090418149418用于平台核销记录 ID某些平台会为每一次核销生成一个唯一 ID。 【JSON字段】platform_coupon_redemption_records.json - $ - verify_id。",
"ordinal_position": 2
},
{
"name": "certificate_id",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】平台侧的凭证 ID通常由第三方团购平台生成的券实例 ID。 【示例】5008024789379597447用于平台侧的凭证 ID通常由第三方团购平台生成的券实例 ID。 【JSON字段】platform_coupon_redemption_records.json - $ - certificate_id。",
"ordinal_position": 3
},
{
"name": "coupon_code",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】券码,顾客出示的团购券密码/编号。 【示例】0102701209726用于券码顾客出示的团购券密码/编号)。 【JSON字段】platform_coupon_redemption_records.json - $ - coupon_code。",
"ordinal_position": 4
},
{
"name": "coupon_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】团购券产品名称(即第三方平台上向顾客展示的名称)。 【示例】【全天可用】中八桌球一小时A区用于团购券产品名称即第三方平台上向顾客展示的名称。 【JSON字段】platform_coupon_redemption_records.json - $ - coupon_name。",
"ordinal_position": 5
},
{
"name": "coupon_channel",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】券来源渠道(第三方平台渠道编号)。 【示例】1用于券来源渠道第三方平台渠道编号。 【JSON字段】platform_coupon_redemption_records.json - $ - coupon_channel。",
"ordinal_position": 6
},
{
"name": "groupon_type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】团购券类型。 【示例】1用于团购券类型。 【JSON字段】platform_coupon_redemption_records.json - $ - groupon_type。",
"ordinal_position": 7
},
{
"name": "group_package_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0标识类 ID 字段,用于关联/定位相关实体。)。 【JSON字段】platform_coupon_redemption_records.json - $ - group_package_id。",
"ordinal_position": 8
},
{
"name": "sale_price",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】顾客在第三方平台上实际支付的价格(团购售价)。 【示例】29.9(用于顾客在第三方平台上实际支付的价格(团购售价))。 【JSON字段】platform_coupon_redemption_records.json - $ - sale_price。",
"ordinal_position": 9
},
{
"name": "coupon_money",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】券面值 / 套餐价值(系统层面的“可抵扣金额或对应套餐价值”)。 【示例】48.0(用于券面值 / 套餐价值(系统层面的“可抵扣金额或对应套餐价值”))。 【JSON字段】platform_coupon_redemption_records.json - $ - coupon_money。",
"ordinal_position": 10
},
{
"name": "coupon_free_time",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】券附带的“免费时长”字段(例如送多少分钟台费)。 【示例】0用于券附带的“免费时长”字段例如送多少分钟台费。 【JSON字段】platform_coupon_redemption_records.json - $ - coupon_free_time。",
"ordinal_position": 11
},
{
"name": "coupon_cover",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】platform_coupon_redemption_records.json - $ - coupon_cover。",
"ordinal_position": 12
},
{
"name": "coupon_remark",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】617547ec-9697-4f58-a700-b30a49e88904||CgYIASAHKAESLgos9ZhHDryhHb0z3RpdBZ0dVoaQbkldBcx/XTXPV8Te+9SEqYOa7aDp8nbKOpsaAA==(来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】platform_coupon_redemption_records.json - $ - coupon_remark。",
"ordinal_position": 13
},
{
"name": "use_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】值 1198 条。 【示例】1用于值 1198 条)。 【JSON字段】platform_coupon_redemption_records.json - $ - use_status。",
"ordinal_position": 14
},
{
"name": "consume_time",
"data_type": "timestamp without time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】券被核销/使用的业务时间。 【示例】2025-11-09 23:41:04用于券被核销/使用的业务时间)。 【JSON字段】platform_coupon_redemption_records.json - $ - consume_time。",
"ordinal_position": 15
},
{
"name": "create_time",
"data_type": "timestamp without time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】验券记录在本系统中创建的时间(记录入库时间)。 【示例】2025-11-09 23:41:03用于验券记录在本系统中创建的时间记录入库时间。 【JSON字段】platform_coupon_redemption_records.json - $ - create_time。",
"ordinal_position": 16
},
{
"name": "deal_id",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】另一个层次的团购产品 ID。 【示例】1345108507用于另一个层次的团购产品 ID。 【JSON字段】platform_coupon_redemption_records.json - $ - deal_id。",
"ordinal_position": 17
},
{
"name": "channel_deal_id",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】渠道侧 dealId / 产品 ID一般是第三方平台给该团购商品定义的主键。 【示例】1128411555用于渠道侧 dealId / 产品 ID一般是第三方平台给该团购商品定义的主键。 【JSON字段】platform_coupon_redemption_records.json - $ - channel_deal_id。",
"ordinal_position": 18
},
{
"name": "site_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】门店 ID。 【示例】2790685415443269用于门店 ID。 【JSON字段】platform_coupon_redemption_records.json - $ - site_id。",
"ordinal_position": 19
},
{
"name": "site_order_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】门店内部的订单 ID平台券核销时对应的店内订单。 【示例】2957929043037702用于门店内部的订单 ID平台券核销时对应的店内订单。 【JSON字段】platform_coupon_redemption_records.json - $ - site_order_id。",
"ordinal_position": 20
},
{
"name": "table_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】使用券的球台 ID。 【示例】2793001904918661用于使用券的球台 ID。 【JSON字段】platform_coupon_redemption_records.json - $ - table_id。",
"ordinal_position": 21
},
{
"name": "tenant_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】商户/租户 ID品牌级别。 【示例】2790683160709957用于商户/租户 ID品牌级别。 【JSON字段】platform_coupon_redemption_records.json - $ - tenant_id。",
"ordinal_position": 22
},
{
"name": "operator_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】操作员 ID执行验券操作的收银员/员工)。 【示例】2790687322443013用于操作员 ID执行验券操作的收银员/员工))。 【JSON字段】platform_coupon_redemption_records.json - $ - operator_id。",
"ordinal_position": 23
},
{
"name": "operator_name",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】操作员姓名,例如 \"收银员:郑丽珊\"。 【示例】收银员:郑丽珊(用于操作员姓名,例如 \"收银员:郑丽珊\")。 【JSON字段】platform_coupon_redemption_records.json - $ - operator_name。",
"ordinal_position": 24
},
{
"name": "is_delete",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】把平台验券记录挂到本门店的一条订单上。 【示例】0用于把平台验券记录挂到本门店的一条订单上。 【JSON字段】platform_coupon_redemption_records.json - $ - is_delete。",
"ordinal_position": 25
},
{
"name": "siteprofile",
"data_type": "jsonb",
"is_nullable": true,
"column_default": null,
"comment": "【说明】门店信息快照。 【示例】{\"id\": 2790685415443269, \"org_id\": 2790684179467077, \"shop_name\": \"朗朗桌球\", \"avatar\": \"https://oss.ficoo.vip/admin/hXcE4E…用于门店信息快照。 【JSON字段】platform_coupon_redemption_records.json - $ - siteProfile。",
"ordinal_position": 26
},
{
"name": "content_hash",
"data_type": "text",
"is_nullable": false,
"column_default": null,
"comment": null,
"ordinal_position": 27
},
{
"name": "source_file",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】ETL 元数据:原始导出文件名,用于数据追溯。 【示例】platform_coupon_redemption_records.jsonETL 元数据:原始导出文件名,用于数据追溯)。 【JSON字段】platform_coupon_redemption_records.json - ETL元数据 - 无。",
"ordinal_position": 28
},
{
"name": "source_endpoint",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】ETL 元数据:采集来源(接口/文件路径),用于数据追溯。 【示例】export/test-json-doc/platform_coupon_redemption_records.jsonETL 元数据:采集来源(接口/文件路径),用于数据追溯)。 【JSON字段】platform_coupon_redemption_records.json - ETL元数据 - 无。",
"ordinal_position": 29
},
{
"name": "fetched_at",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": "now()",
"comment": "【说明】ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理。 【示例】2025-11-10T00:00:00+08:00ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理)。 【JSON字段】platform_coupon_redemption_records.json - ETL元数据 - 无。",
"ordinal_position": 30
},
{
"name": "payload",
"data_type": "jsonb",
"is_nullable": false,
"column_default": null,
"comment": "【说明】完整原始 JSON 记录快照,用于回溯与二次解析。 【示例】{...}(完整原始 JSON 记录快照,用于回溯与二次解析)。 【JSON字段】platform_coupon_redemption_records.json - $ - $。",
"ordinal_position": 31
}
]
}

View File

@@ -0,0 +1,574 @@
{
"schema": "ods",
"table": "recharge_settlements",
"columns": [
{
"name": "id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】门店 ID。 【示例】NULL用于门店 ID。 【JSON字段】recharge_settlements.json - $ - id。",
"ordinal_position": 1
},
{
"name": "tenantid",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】recharge_settlements.json - $ - tenantid。",
"ordinal_position": 2
},
{
"name": "siteid",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】recharge_settlements.json - $ - siteid。",
"ordinal_position": 3
},
{
"name": "sitename",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】NULL名称字段用于展示与辅助识别。 【JSON字段】recharge_settlements.json - $ - sitename。",
"ordinal_position": 4
},
{
"name": "balanceamount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL金额字段用于计费/结算/分摊等金额计算)。 【JSON字段】recharge_settlements.json - $ - balanceamount。",
"ordinal_position": 5
},
{
"name": "cardamount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL金额字段用于计费/结算/分摊等金额计算)。 【JSON字段】recharge_settlements.json - $ - cardamount。",
"ordinal_position": 6
},
{
"name": "cashamount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL金额字段用于计费/结算/分摊等金额计算)。 【JSON字段】recharge_settlements.json - $ - cashamount。",
"ordinal_position": 7
},
{
"name": "couponamount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL金额字段用于计费/结算/分摊等金额计算)。 【JSON字段】recharge_settlements.json - $ - couponamount。",
"ordinal_position": 8
},
{
"name": "createtime",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间字段,用于记录业务时间点/发生时间。 【示例】NULL时间字段用于记录业务时间点/发生时间)。 【JSON字段】recharge_settlements.json - $ - createtime。",
"ordinal_position": 9
},
{
"name": "memberid",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】recharge_settlements.json - $ - memberid。",
"ordinal_position": 10
},
{
"name": "membername",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】NULL名称字段用于展示与辅助识别。 【JSON字段】recharge_settlements.json - $ - membername。",
"ordinal_position": 11
},
{
"name": "tenantmembercardid",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】recharge_settlements.json - $ - tenantmembercardid。",
"ordinal_position": 12
},
{
"name": "membercardtypename",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】NULL名称字段用于展示与辅助识别。 【JSON字段】recharge_settlements.json - $ - membercardtypename。",
"ordinal_position": 13
},
{
"name": "memberphone",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】recharge_settlements.json - $ - memberphone。",
"ordinal_position": 14
},
{
"name": "tableid",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】recharge_settlements.json - $ - tableid。",
"ordinal_position": 15
},
{
"name": "consumemoney",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL金额字段用于计费/结算/分摊等金额计算)。 【JSON字段】recharge_settlements.json - $ - consumemoney。",
"ordinal_position": 16
},
{
"name": "onlineamount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL金额字段用于计费/结算/分摊等金额计算)。 【JSON字段】recharge_settlements.json - $ - onlineamount。",
"ordinal_position": 17
},
{
"name": "operatorid",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】recharge_settlements.json - $ - operatorid。",
"ordinal_position": 18
},
{
"name": "operatorname",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】NULL名称字段用于展示与辅助识别。 【JSON字段】recharge_settlements.json - $ - operatorname。",
"ordinal_position": 19
},
{
"name": "revokeorderid",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】recharge_settlements.json - $ - revokeorderid。",
"ordinal_position": 20
},
{
"name": "revokeordername",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】NULL名称字段用于展示与辅助识别。 【JSON字段】recharge_settlements.json - $ - revokeordername。",
"ordinal_position": 21
},
{
"name": "revoketime",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间字段,用于记录业务时间点/发生时间。 【示例】NULL时间字段用于记录业务时间点/发生时间)。 【JSON字段】recharge_settlements.json - $ - revoketime。",
"ordinal_position": 22
},
{
"name": "payamount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL金额字段用于计费/结算/分摊等金额计算)。 【JSON字段】recharge_settlements.json - $ - payamount。",
"ordinal_position": 23
},
{
"name": "pointamount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL金额字段用于计费/结算/分摊等金额计算)。 【JSON字段】recharge_settlements.json - $ - pointamount。",
"ordinal_position": 24
},
{
"name": "refundamount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL金额字段用于计费/结算/分摊等金额计算)。 【JSON字段】recharge_settlements.json - $ - refundamount。",
"ordinal_position": 25
},
{
"name": "settlename",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】NULL名称字段用于展示与辅助识别。 【JSON字段】recharge_settlements.json - $ - settlename。",
"ordinal_position": 26
},
{
"name": "settlerelateid",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】recharge_settlements.json - $ - settlerelateid。",
"ordinal_position": 27
},
{
"name": "settlestatus",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】recharge_settlements.json - $ - settlestatus。",
"ordinal_position": 28
},
{
"name": "settletype",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】recharge_settlements.json - $ - settletype。",
"ordinal_position": 29
},
{
"name": "paytime",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】时间字段,用于记录业务时间点/发生时间。 【示例】NULL时间字段用于记录业务时间点/发生时间)。 【JSON字段】recharge_settlements.json - $ - paytime。",
"ordinal_position": 30
},
{
"name": "roundingamount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL金额字段用于计费/结算/分摊等金额计算)。 【JSON字段】recharge_settlements.json - $ - roundingamount。",
"ordinal_position": 31
},
{
"name": "paymentmethod",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】recharge_settlements.json - $ - paymentmethod。",
"ordinal_position": 32
},
{
"name": "adjustamount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL金额字段用于计费/结算/分摊等金额计算)。 【JSON字段】recharge_settlements.json - $ - adjustamount。",
"ordinal_position": 33
},
{
"name": "assistantcxmoney",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL金额字段用于计费/结算/分摊等金额计算)。 【JSON字段】recharge_settlements.json - $ - assistantcxmoney。",
"ordinal_position": 34
},
{
"name": "assistantpdmoney",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL金额字段用于计费/结算/分摊等金额计算)。 【JSON字段】recharge_settlements.json - $ - assistantpdmoney。",
"ordinal_position": 35
},
{
"name": "couponsaleamount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL金额字段用于计费/结算/分摊等金额计算)。 【JSON字段】recharge_settlements.json - $ - couponsaleamount。",
"ordinal_position": 36
},
{
"name": "memberdiscountamount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL金额字段用于计费/结算/分摊等金额计算)。 【JSON字段】recharge_settlements.json - $ - memberdiscountamount。",
"ordinal_position": 37
},
{
"name": "tablechargemoney",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL金额字段用于计费/结算/分摊等金额计算)。 【JSON字段】recharge_settlements.json - $ - tablechargemoney。",
"ordinal_position": 38
},
{
"name": "goodsmoney",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL金额字段用于计费/结算/分摊等金额计算)。 【JSON字段】recharge_settlements.json - $ - goodsmoney。",
"ordinal_position": 39
},
{
"name": "realgoodsmoney",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL金额字段用于计费/结算/分摊等金额计算)。 【JSON字段】recharge_settlements.json - $ - realgoodsmoney。",
"ordinal_position": 40
},
{
"name": "servicemoney",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL金额字段用于计费/结算/分摊等金额计算)。 【JSON字段】recharge_settlements.json - $ - servicemoney。",
"ordinal_position": 41
},
{
"name": "prepaymoney",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL金额字段用于计费/结算/分摊等金额计算)。 【JSON字段】recharge_settlements.json - $ - prepaymoney。",
"ordinal_position": 42
},
{
"name": "salesmanname",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】名称字段,用于展示与辅助识别。 【示例】NULL名称字段用于展示与辅助识别。 【JSON字段】recharge_settlements.json - $ - salesmanname。",
"ordinal_position": 43
},
{
"name": "orderremark",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】recharge_settlements.json - $ - orderremark。",
"ordinal_position": 44
},
{
"name": "salesmanuserid",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】recharge_settlements.json - $ - salesmanuserid。",
"ordinal_position": 45
},
{
"name": "canberevoked",
"data_type": "boolean",
"is_nullable": true,
"column_default": null,
"comment": "【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】recharge_settlements.json - $ - canberevoked。",
"ordinal_position": 46
},
{
"name": "pointdiscountprice",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL金额字段用于计费/结算/分摊等金额计算)。 【JSON字段】recharge_settlements.json - $ - pointdiscountprice。",
"ordinal_position": 47
},
{
"name": "pointdiscountcost",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL金额字段用于计费/结算/分摊等金额计算)。 【JSON字段】recharge_settlements.json - $ - pointdiscountcost。",
"ordinal_position": 48
},
{
"name": "activitydiscount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】NULL数量/时长字段,用于统计与计量)。 【JSON字段】recharge_settlements.json - $ - activitydiscount。",
"ordinal_position": 49
},
{
"name": "serialnumber",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】NULL数量/时长字段,用于统计与计量)。 【JSON字段】recharge_settlements.json - $ - serialnumber。",
"ordinal_position": 50
},
{
"name": "assistantmanualdiscount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】NULL数量/时长字段,用于统计与计量)。 【JSON字段】recharge_settlements.json - $ - assistantmanualdiscount。",
"ordinal_position": 51
},
{
"name": "allcoupondiscount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】NULL数量/时长字段,用于统计与计量)。 【JSON字段】recharge_settlements.json - $ - allcoupondiscount。",
"ordinal_position": 52
},
{
"name": "goodspromotionmoney",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL金额字段用于计费/结算/分摊等金额计算)。 【JSON字段】recharge_settlements.json - $ - goodspromotionmoney。",
"ordinal_position": 53
},
{
"name": "assistantpromotionmoney",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL金额字段用于计费/结算/分摊等金额计算)。 【JSON字段】recharge_settlements.json - $ - assistantpromotionmoney。",
"ordinal_position": 54
},
{
"name": "isusecoupon",
"data_type": "boolean",
"is_nullable": true,
"column_default": null,
"comment": "【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】recharge_settlements.json - $ - isusecoupon。",
"ordinal_position": 55
},
{
"name": "isusediscount",
"data_type": "boolean",
"is_nullable": true,
"column_default": null,
"comment": "【说明】数量/时长字段,用于统计与计量。 【示例】NULL数量/时长字段,用于统计与计量)。 【JSON字段】recharge_settlements.json - $ - isusediscount。",
"ordinal_position": 56
},
{
"name": "isactivity",
"data_type": "boolean",
"is_nullable": true,
"column_default": null,
"comment": "【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】recharge_settlements.json - $ - isactivity。",
"ordinal_position": 57
},
{
"name": "isbindmember",
"data_type": "boolean",
"is_nullable": true,
"column_default": null,
"comment": "【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】recharge_settlements.json - $ - isbindmember。",
"ordinal_position": 58
},
{
"name": "isfirst",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】NULL来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】recharge_settlements.json - $ - isfirst。",
"ordinal_position": 59
},
{
"name": "rechargecardamount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL金额字段用于计费/结算/分摊等金额计算)。 【JSON字段】recharge_settlements.json - $ - rechargecardamount。",
"ordinal_position": 60
},
{
"name": "giftcardamount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】金额字段,用于计费/结算/分摊等金额计算。 【示例】NULL金额字段用于计费/结算/分摊等金额计算)。 【JSON字段】recharge_settlements.json - $ - giftcardamount。",
"ordinal_position": 61
},
{
"name": "electricityadjustmoney",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 62
},
{
"name": "electricitymoney",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 63
},
{
"name": "mervousalesamount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 64
},
{
"name": "plcouponsaleamount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 65
},
{
"name": "realelectricitymoney",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": null,
"ordinal_position": 66
},
{
"name": "content_hash",
"data_type": "text",
"is_nullable": false,
"column_default": null,
"comment": null,
"ordinal_position": 67
},
{
"name": "source_file",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】ETL 元数据:原始导出文件名,用于数据追溯。 【示例】recharge_settlements.jsonETL 元数据:原始导出文件名,用于数据追溯)。 【JSON字段】recharge_settlements.json - ETL元数据 - 无。",
"ordinal_position": 68
},
{
"name": "source_endpoint",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】ETL 元数据:采集来源(接口/文件路径),用于数据追溯。 【示例】export/test-json-doc/recharge_settlements.jsonETL 元数据:采集来源(接口/文件路径),用于数据追溯)。 【JSON字段】recharge_settlements.json - ETL元数据 - 无。",
"ordinal_position": 69
},
{
"name": "fetched_at",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": "now()",
"comment": "【说明】ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理。 【示例】2025-11-10T00:00:00+08:00ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理)。 【JSON字段】recharge_settlements.json - ETL元数据 - 无。",
"ordinal_position": 70
},
{
"name": "payload",
"data_type": "jsonb",
"is_nullable": false,
"column_default": null,
"comment": "【说明】完整原始 JSON 记录快照,用于回溯与二次解析。 【示例】{...}(完整原始 JSON 记录快照,用于回溯与二次解析)。 【JSON字段】recharge_settlements.json - $ - $。",
"ordinal_position": 71
}
]
}

View File

@@ -0,0 +1,302 @@
{
"schema": "ods",
"table": "refund_transactions",
"columns": [
{
"name": "id",
"data_type": "bigint",
"is_nullable": false,
"column_default": null,
"comment": "【说明】本条 退款流水 的唯一 ID。 【示例】2955202296416389用于本条 退款流水 的唯一 ID。 【JSON字段】refund_transactions.json - $ - id。",
"ordinal_position": 1
},
{
"name": "tenant_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】租户/品牌 ID全系统维度标识该商户。 【示例】2790683160709957用于租户/品牌 ID全系统维度标识该商户。 【JSON字段】refund_transactions.json - $ - tenant_id。",
"ordinal_position": 2
},
{
"name": "tenantname",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】租户(商户)名称。 【示例】朗朗桌球(用于租户(商户)名称)。 【JSON字段】refund_transactions.json - $ - tenantName。",
"ordinal_position": 3
},
{
"name": "site_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】门店 ID。 【示例】2790685415443269用于门店 ID。 【JSON字段】refund_transactions.json - $ - site_id。",
"ordinal_position": 4
},
{
"name": "siteprofile",
"data_type": "jsonb",
"is_nullable": true,
"column_default": null,
"comment": "【说明】门店信息快照,结构与其他 JSON 中的 siteProfile 完全一致。 【示例】{\"id\": 2790685415443269, \"org_id\": 2790684179467077, \"shop_name\": \"朗朗桌球\", \"avatar\": \"https://oss.ficoo.vip/admin/hXcE4E…用于门店信息快照结构与其他 JSON 中的 siteProfile 完全一致)。 【JSON字段】refund_transactions.json - $ - siteProfile。",
"ordinal_position": 5
},
{
"name": "relate_type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】本退款对应的“业务类型”。 【示例】5用于本退款对应的“业务类型”。 【JSON字段】refund_transactions.json - $ - relate_type。",
"ordinal_position": 6
},
{
"name": "relate_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】本次退款关联的业务 ID。 【示例】2955078219057349用于本次退款关联的业务 ID。 【JSON字段】refund_transactions.json - $ - relate_id。",
"ordinal_position": 7
},
{
"name": "pay_sn",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】0来自 JSON 导出的原始字段,用于保留业务取值)。 【JSON字段】refund_transactions.json - $ - pay_sn。",
"ordinal_position": 8
},
{
"name": "pay_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】本次退款的 资金变动金额。 【示例】-5000.0(用于本次退款的 资金变动金额)。 【JSON字段】refund_transactions.json - $ - pay_amount。",
"ordinal_position": 9
},
{
"name": "refund_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】设计上本应显示“实际退款金额”(正数),与 pay_amount 配合使用。 【示例】0.0(用于设计上本应显示“实际退款金额”(正数),与 pay_amount 配合使用)。 【JSON字段】refund_transactions.json - $ - refund_amount。",
"ordinal_position": 10
},
{
"name": "round_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】舍入金额/抹零金额。 【示例】0.0(用于舍入金额/抹零金额)。 【JSON字段】refund_transactions.json - $ - round_amount。",
"ordinal_position": 11
},
{
"name": "pay_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】2来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】refund_transactions.json - $ - pay_status。",
"ordinal_position": 12
},
{
"name": "pay_time",
"data_type": "timestamp without time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】退款在支付渠道层面实际发生的时间。 【示例】2025-11-08 01:27:16用于退款在支付渠道层面实际发生的时间。 【JSON字段】refund_transactions.json - $ - pay_time。",
"ordinal_position": 13
},
{
"name": "create_time",
"data_type": "timestamp without time zone",
"is_nullable": true,
"column_default": null,
"comment": "【说明】本条退款流水在系统内创建时间。 【示例】2025-11-08 01:27:16用于本条退款流水在系统内创建时间。 【JSON字段】refund_transactions.json - $ - create_time。",
"ordinal_position": 14
},
{
"name": "payment_method",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】4来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】refund_transactions.json - $ - payment_method。",
"ordinal_position": 15
},
{
"name": "pay_terminal",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】1来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】refund_transactions.json - $ - pay_terminal。",
"ordinal_position": 16
},
{
"name": "pay_config_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】支付配置 ID例如商户在“非球科技”内配置的某一条支付通道某个微信商户号、银联通道的主键。 【示例】0用于支付配置 ID例如商户在“非球科技”内配置的某一条支付通道某个微信商户号、银联通道的主键。 【JSON字段】refund_transactions.json - $ - pay_config_id。",
"ordinal_position": 17
},
{
"name": "online_pay_channel",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】来自 JSON 导出的原始字段,用于保留业务取值。 【示例】0来自 JSON 导出的原始字段,用于保留业务取值。)。 【JSON字段】refund_transactions.json - $ - online_pay_channel。",
"ordinal_position": 18
},
{
"name": "online_pay_type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】当前:全部 0。 【示例】0用于当前全部 0。 【JSON字段】refund_transactions.json - $ - online_pay_type。",
"ordinal_position": 19
},
{
"name": "channel_fee",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】第三方支付渠道对本次退款收取的手续费。 【示例】0.0(用于第三方支付渠道对本次退款收取的手续费)。 【JSON字段】refund_transactions.json - $ - channel_fee。",
"ordinal_position": 20
},
{
"name": "channel_payer_id",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】支付渠道侧的 payer ID例如微信 openid、银行卡号掩码等。 【示例】NULL用于支付渠道侧的 payer ID例如微信 openid、银行卡号掩码等。 【JSON字段】refund_transactions.json - $ - channel_payer_id。",
"ordinal_position": 21
},
{
"name": "channel_pay_no",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】第三方支付平台的交易号(如微信支付单号、支付宝交易号等)。 【示例】NULL用于第三方支付平台的交易号如微信支付单号、支付宝交易号等。 【JSON字段】refund_transactions.json - $ - channel_pay_no。",
"ordinal_position": 22
},
{
"name": "member_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】租户内部的会员 ID对应会员档案中的某个主键。 【示例】0用于租户内部的会员 ID对应会员档案中的某个主键。 【JSON字段】refund_transactions.json - $ - member_id。",
"ordinal_position": 23
},
{
"name": "member_card_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】关联的会员卡账户 ID对应“储值卡列表”或“会员档案”中的某一张卡。 【示例】0用于关联的会员卡账户 ID对应“储值卡列表”或“会员档案”中的某一张卡。 【JSON字段】refund_transactions.json - $ - member_card_id。",
"ordinal_position": 24
},
{
"name": "cashier_point_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】收银点 ID例如前台 1、前台 2、自助机等。 【示例】0用于收银点 ID例如前台 1、前台 2、自助机等。 【JSON字段】refund_transactions.json - $ - cashier_point_id。",
"ordinal_position": 25
},
{
"name": "operator_id",
"data_type": "bigint",
"is_nullable": true,
"column_default": null,
"comment": "【说明】执行该退款操作的操作员 ID。 【示例】0用于执行该退款操作的操作员 ID。 【JSON字段】refund_transactions.json - $ - operator_id。",
"ordinal_position": 26
},
{
"name": "action_type",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】当前:全部 2。 【示例】2用于当前全部 2。 【JSON字段】refund_transactions.json - $ - action_type。",
"ordinal_position": 27
},
{
"name": "check_status",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】当前:全部 1。 【示例】1用于当前全部 1。 【JSON字段】refund_transactions.json - $ - check_status。",
"ordinal_position": 28
},
{
"name": "is_revoke",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】布尔/开关字段,用于表示权限、可用性或状态开关。 【示例】0布尔/开关字段,用于表示权限、可用性或状态开关。)。 【JSON字段】refund_transactions.json - $ - is_revoke。",
"ordinal_position": 29
},
{
"name": "is_delete",
"data_type": "integer",
"is_nullable": true,
"column_default": null,
"comment": "【说明】逻辑删除标志。 【示例】0用于逻辑删除标志。 【JSON字段】refund_transactions.json - $ - is_delete。",
"ordinal_position": 30
},
{
"name": "balance_frozen_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】涉及会员储值卡退款时,暂时冻结的余额金额。 【示例】0.0(用于涉及会员储值卡退款时,暂时冻结的余额金额)。 【JSON字段】refund_transactions.json - $ - balance_frozen_amount。",
"ordinal_position": 31
},
{
"name": "card_frozen_amount",
"data_type": "numeric",
"is_nullable": true,
"column_default": null,
"comment": "【说明】与上一个类似,偏向“某张卡的被冻结金额”,也与会员卡/储值账户相关。 【示例】0.0(用于与上一个类似,偏向“某张卡的被冻结金额”,也与会员卡/储值账户相关)。 【JSON字段】refund_transactions.json - $ - card_frozen_amount。",
"ordinal_position": 32
},
{
"name": "content_hash",
"data_type": "text",
"is_nullable": false,
"column_default": null,
"comment": null,
"ordinal_position": 33
},
{
"name": "source_file",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】ETL 元数据:原始导出文件名,用于数据追溯。 【示例】refund_transactions.jsonETL 元数据:原始导出文件名,用于数据追溯)。 【JSON字段】refund_transactions.json - ETL元数据 - 无。",
"ordinal_position": 34
},
{
"name": "source_endpoint",
"data_type": "text",
"is_nullable": true,
"column_default": null,
"comment": "【说明】ETL 元数据:采集来源(接口/文件路径),用于数据追溯。 【示例】export/test-json-doc/refund_transactions.jsonETL 元数据:采集来源(接口/文件路径),用于数据追溯)。 【JSON字段】refund_transactions.json - ETL元数据 - 无。",
"ordinal_position": 35
},
{
"name": "fetched_at",
"data_type": "timestamp with time zone",
"is_nullable": true,
"column_default": "now()",
"comment": "【说明】ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理。 【示例】2025-11-10T00:00:00+08:00ETL 元数据:采集/入库时间戳,用于口径对齐与增量处理)。 【JSON字段】refund_transactions.json - ETL元数据 - 无。",
"ordinal_position": 36
},
{
"name": "payload",
"data_type": "jsonb",
"is_nullable": false,
"column_default": null,
"comment": "【说明】完整原始 JSON 记录快照,用于回溯与二次解析。 【示例】{...}(完整原始 JSON 记录快照,用于回溯与二次解析)。 【JSON字段】refund_transactions.json - $ - $。",
"ordinal_position": 37
}
]
}

Some files were not shown because too many files have changed in this diff Show More