2674 lines
178 KiB
Markdown
2674 lines
178 KiB
Markdown
# 飞球连接器 — 数据流结构分析报告
|
||
|
||
> 生成时间:2026-02-16 20:39:35 CST
|
||
> 分析范围:飞球(feiqiu)连接器,共 23 张 ODS 表
|
||
> 数据来源:API JSON 采样 + PostgreSQL ODS/DWD 表结构 + DDL COMMENT 注释
|
||
|
||
## 1. 总览
|
||
|
||
| # | ODS 表名 | 业务描述 | 采样记录数 | ODS 列数 | DWD 目标表 | DWD 总列数 |
|
||
|---|---------|---------|-----------|---------|-----------|-----------|
|
||
| 1 | `assistant_accounts_master` | 助教账号档案 | 69 | 67 | dim_assistant, dim_assistant_ex | 67 |
|
||
| 2 | `settlement_records` | 结账记录 | 200 | 71 | dwd_settlement_head, dwd_settlement_head_ex | 67 |
|
||
| 3 | `table_fee_transactions` | 台费计费流水 | 200 | 47 | dim_site, dim_site_ex, dwd_table_fee_log, dwd_table_fee_log_ex | 84 |
|
||
| 4 | `assistant_service_records` | 助教服务流水 | 200 | 71 | dwd_assistant_service_log, dwd_assistant_service_log_ex | 64 |
|
||
| 5 | `assistant_cancellation_records` | 助教废除记录 | 79 | 19 | dwd_assistant_trash_event, dwd_assistant_trash_event_ex | 14 |
|
||
| 6 | `store_goods_sales_records` | 门店商品销售流水 | 200 | 56 | dwd_store_goods_sale, dwd_store_goods_sale_ex | 52 |
|
||
| 7 | `payment_transactions` | 支付流水 | 200 | 17 | dwd_payment | 12 |
|
||
| 8 | `refund_transactions` | 退款流水 | 36 | 37 | dwd_refund | 12 |
|
||
| 9 | `platform_coupon_redemption_records` | 平台/团购券核销 | 200 | 31 | dwd_platform_coupon_redemption, dwd_platform_coupon_redemption_ex | 26 |
|
||
| 10 | `member_profiles` | 会员档案 | 200 | 25 | dim_member, dim_member_ex | 30 |
|
||
| 11 | `member_stored_value_cards` | 会员储值卡 | 200 | 80 | dim_member_card_account, dim_member_card_account_ex | 84 |
|
||
| 12 | `member_balance_changes` | 会员余额变动 | 200 | 33 | dwd_member_balance_change, dwd_member_balance_change_ex | 29 |
|
||
| 13 | `recharge_settlements` | 充值结算 | 200 | 71 | dwd_recharge_order, dwd_recharge_order_ex | 67 |
|
||
| 14 | `group_buy_packages` | 团购套餐定义 | 18 | 43 | dim_groupbuy_package, dim_groupbuy_package_ex | 47 |
|
||
| 15 | `group_buy_redemption_records` | 团购套餐核销 | 200 | 57 | dwd_groupbuy_redemption, dwd_groupbuy_redemption_ex | 53 |
|
||
| 16 | `goods_stock_summary` | 库存汇总 | 173 | 19 | — | 0 |
|
||
| 17 | `goods_stock_movements` | 库存变化记录 | 200 | 24 | — | 0 |
|
||
| 18 | `site_tables_master` | 台桌维表 | 74 | 31 | dim_table, dim_table_ex | 22 |
|
||
| 19 | `stock_goods_category_tree` | 库存商品分类树 | 9 | 16 | dim_goods_category | 16 |
|
||
| 20 | `store_goods_master` | 门店商品档案 | 173 | 52 | dim_store_goods, dim_store_goods_ex | 56 |
|
||
| 21 | `table_fee_discount_records` | 台费折扣/调账 | 200 | 33 | dwd_table_fee_adjust, dwd_table_fee_adjust_ex | 29 |
|
||
| 22 | `tenant_goods_master` | 租户商品档案 | 174 | 37 | dim_tenant_goods, dim_tenant_goods_ex | 41 |
|
||
| 23 | `settlement_ticket_details` | 结账小票详情 | 0 | 43 | — | 0 |
|
||
| | **合计** | | **3405** | **980** | | **872** |
|
||
|
||
## 2. 全局统计
|
||
|
||
### 2.1 JSON→ODS 映射覆盖
|
||
|
||
- JSON 字段总数:1067
|
||
- 已映射到 ODS 列:844(79.1%)
|
||
- 仅存于 payload:223(20.9%)
|
||
|
||
### 2.2 ODS→DWD 映射覆盖
|
||
|
||
- DWD 直接映射列:745
|
||
- DWD 派生/计算列:59
|
||
- DWD SCD2 版本控制列:68
|
||
- DWD 列总数:872
|
||
|
||
### 2.3 各表 JSON→ODS 映射覆盖率
|
||
|
||
| ODS 表名 | JSON 字段数 | 已映射 | 仅 payload | 覆盖率 |
|
||
|---------|-----------|-------|-----------|-------|
|
||
| `assistant_accounts_master` | 62 | 62 | 0 | 100.0% |
|
||
| `store_goods_sales_records` | 51 | 51 | 0 | 100.0% |
|
||
| `member_profiles` | 20 | 20 | 0 | 100.0% |
|
||
| `member_stored_value_cards` | 71 | 71 | 0 | 100.0% |
|
||
| `member_balance_changes` | 28 | 28 | 0 | 100.0% |
|
||
| `group_buy_redemption_records` | 52 | 52 | 0 | 100.0% |
|
||
| `goods_stock_summary` | 14 | 14 | 0 | 100.0% |
|
||
| `goods_stock_movements` | 19 | 19 | 0 | 100.0% |
|
||
| `site_tables_master` | 26 | 26 | 0 | 100.0% |
|
||
| `stock_goods_category_tree` | 20 | 20 | 0 | 100.0% |
|
||
| `tenant_goods_master` | 32 | 32 | 0 | 100.0% |
|
||
| `group_buy_packages` | 40 | 39 | 1 | 97.5% |
|
||
| `store_goods_master` | 53 | 48 | 5 | 90.6% |
|
||
| `settlement_records` | 92 | 68 | 24 | 73.9% |
|
||
| `recharge_settlements` | 92 | 68 | 24 | 73.9% |
|
||
| `assistant_service_records` | 91 | 67 | 24 | 73.6% |
|
||
| `table_fee_transactions` | 67 | 43 | 24 | 64.2% |
|
||
| `refund_transactions` | 57 | 33 | 24 | 57.9% |
|
||
| `table_fee_discount_records` | 55 | 30 | 25 | 54.5% |
|
||
| `platform_coupon_redemption_records` | 51 | 27 | 24 | 52.9% |
|
||
| `assistant_cancellation_records` | 38 | 14 | 24 | 36.8% |
|
||
| `payment_transactions` | 36 | 12 | 24 | 33.3% |
|
||
| `settlement_ticket_details` | 0 | 0 | 0 | — |
|
||
|
||
## 3. 逐表详情
|
||
|
||
### 3.1 assistant_accounts_master(助教账号档案)
|
||
|
||
- 任务代码:`ODS_ASSISTANT_ACCOUNT`
|
||
- 采样记录数:69
|
||
- ODS 列数:67
|
||
- DWD 目标表:dim_assistant, dim_assistant_ex
|
||
|
||
#### JSON→ODS 映射(已映射 62/62,覆盖率 100.0%)
|
||
|
||
| JSON 路径 | ODS 列名 | JSON 类型 | 出现率 |
|
||
|----------|---------|----------|-------|
|
||
| `job_num` | `job_num` | string | 100.0% |
|
||
| `shop_name` | `shop_name` | string | 100.0% |
|
||
| `group_id` | `group_id` | integer | 100.0% |
|
||
| `group_name` | `group_name` | string | 100.0% |
|
||
| `staff_profile_id` | `staff_profile_id` | integer | 100.0% |
|
||
| `ding_talk_synced` | `ding_talk_synced` | integer | 100.0% |
|
||
| `entry_type` | `entry_type` | integer | 100.0% |
|
||
| `team_name` | `team_name` | string | 100.0% |
|
||
| `entry_sign_status` | `entry_sign_status` | integer | 100.0% |
|
||
| `resign_sign_status` | `resign_sign_status` | integer | 100.0% |
|
||
| `system_role_id` | `system_role_id` | integer | 100.0% |
|
||
| `criticism_status` | `criticism_status` | integer | 100.0% |
|
||
| `salary_grant_enabled` | `salary_grant_enabled` | integer | 100.0% |
|
||
| `leave_status` | `leave_status` | integer | 100.0% |
|
||
| `id` | `id` | integer | 100.0% |
|
||
| `allow_cx` | `allow_cx` | integer | 100.0% |
|
||
| `assistant_no` | `assistant_no` | string | 100.0% |
|
||
| `assistant_status` | `assistant_status` | integer | 100.0% |
|
||
| `avatar` | `avatar` | string | 100.0% |
|
||
| `birth_date` | `birth_date` | string | 100.0% |
|
||
| `charge_way` | `charge_way` | integer | 100.0% |
|
||
| `create_time` | `create_time` | string | 100.0% |
|
||
| `cx_unit_price` | `cx_unit_price` | number | 100.0% |
|
||
| `end_time` | `end_time` | string | 95.7% |
|
||
| `entry_time` | `entry_time` | string | 100.0% |
|
||
| `gender` | `gender` | integer | 100.0% |
|
||
| `height` | `height` | number | 100.0% |
|
||
| `introduce` | `introduce` | string | 100.0% |
|
||
| `is_delete` | `is_delete` | integer | 100.0% |
|
||
| `is_guaranteed` | `is_guaranteed` | integer | 100.0% |
|
||
| `is_team_leader` | `is_team_leader` | integer | 100.0% |
|
||
| `last_table_id` | `last_table_id` | integer | 100.0% |
|
||
| `last_table_name` | `last_table_name` | string | 100.0% |
|
||
| `last_update_name` | `last_update_name` | string | 62.3% |
|
||
| `level` | `level` | integer | 100.0% |
|
||
| `light_equipment_id` | `light_equipment_id` | string | 100.0% |
|
||
| `light_status` | `light_status` | integer | 100.0% |
|
||
| `mobile` | `mobile` | string | 100.0% |
|
||
| `nickname` | `nickname` | string | 100.0% |
|
||
| `online_status` | `online_status` | integer | 100.0% |
|
||
| `order_trade_no` | `order_trade_no` | integer | 100.0% |
|
||
| `pd_unit_price` | `pd_unit_price` | number | 100.0% |
|
||
| `person_org_id` | `person_org_id` | integer | 100.0% |
|
||
| `real_name` | `real_name` | string | 100.0% |
|
||
| `resign_time` | `resign_time` | string | 100.0% |
|
||
| `serial_number` | `serial_number` | integer | 100.0% |
|
||
| `show_sort` | `show_sort` | integer | 100.0% |
|
||
| `show_status` | `show_status` | integer | 100.0% |
|
||
| `site_id` | `site_id` | integer | 100.0% |
|
||
| `site_light_cfg_id` | `site_light_cfg_id` | integer | 100.0% |
|
||
| `staff_id` | `staff_id` | integer | 100.0% |
|
||
| `start_time` | `start_time` | string | 95.7% |
|
||
| `team_id` | `team_id` | integer | 100.0% |
|
||
| `tenant_id` | `tenant_id` | integer | 100.0% |
|
||
| `update_time` | `update_time` | string | 100.0% |
|
||
| `user_id` | `user_id` | integer | 100.0% |
|
||
| `video_introduction_url` | `video_introduction_url` | string | 100.0% |
|
||
| `weight` | `weight` | number | 100.0% |
|
||
| `work_status` | `work_status` | integer | 100.0% |
|
||
| `assistant_grade` | `assistant_grade` | number | 100.0% |
|
||
| `sum_grade` | `sum_grade` | number | 100.0% |
|
||
| `get_grade_times` | `get_grade_times` | integer | 100.0% |
|
||
|
||
#### ODS→DWD:`dim_assistant`(直接 15 / 派生 0 / SCD2 4)
|
||
|
||
| DWD 列名 | 类型 | 映射类型 | ODS 来源 | 说明 |
|
||
|---------|------|---------|---------|------|
|
||
| `assistant_id` | BIGINT | 直接 | `id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `user_id` | BIGINT | 直接 | `staff_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `assistant_no` | TEXT | 直接 | `assistant_no` | 维度字段,用于补充维度属性 |
|
||
| `real_name` | TEXT | 直接 | `real_name` | 名称字段,用于展示与辅助识别 |
|
||
| `nickname` | TEXT | 直接 | `nickname` | 名称字段,用于展示与辅助识别 |
|
||
| `mobile` | TEXT | 直接 | `mobile` | 维度字段,用于补充维度属性 |
|
||
| `tenant_id` | BIGINT | 直接 | `tenant_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `site_id` | BIGINT | 直接 | `site_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `team_id` | BIGINT | 直接 | `team_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `team_name` | TEXT | 直接 | `team_name` | 名称字段,用于展示与辅助识别 |
|
||
| `level` | INTEGER | 直接 | `level` | 维度字段,用于补充维度属性 |
|
||
| `entry_time` | TIMESTAMPTZ | 直接 | `entry_time` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `resign_time` | TIMESTAMPTZ | 直接 | `resign_time` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `leave_status` | INTEGER | 直接 | `leave_status` | 状态枚举字段,用于标识业务状态 |
|
||
| `assistant_status` | INTEGER | 直接 | `assistant_status` | 状态枚举字段,用于标识业务状态 |
|
||
| `scd2_start_time` | TIMESTAMPTZ | SCD2 | `—` | SCD2 开始时间(版本生效起点),用于维度慢变追踪 |
|
||
| `scd2_end_time` | TIMESTAMPTZ | SCD2 | `—` | SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪 |
|
||
| `scd2_is_current` | INT | SCD2 | `—` | SCD2 当前版本标记(1=当前,0=历史),用于筛选最新维度记录 |
|
||
| `scd2_version` | INT | SCD2 | `—` | SCD2 版本号(自增),用于与时间段一起避免版本重叠 |
|
||
|
||
#### ODS→DWD:`dim_assistant_ex`(直接 44 / 派生 0 / SCD2 4)
|
||
|
||
| DWD 列名 | 类型 | 映射类型 | ODS 来源 | 说明 |
|
||
|---------|------|---------|---------|------|
|
||
| `assistant_id` | BIGINT | 直接 | `id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `gender` | INTEGER | 直接 | `gender` | 维度字段,用于补充维度属性 |
|
||
| `birth_date` | TIMESTAMPTZ | 直接 | `birth_date` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `avatar` | TEXT | 直接 | `avatar` | 维度字段,用于补充维度属性 |
|
||
| `introduce` | TEXT | 直接 | `introduce` | 维度字段,用于补充维度属性 |
|
||
| `video_introduction_url` | TEXT | 直接 | `video_introduction_url` | 维度字段,用于补充维度属性 |
|
||
| `height` | NUMERIC(5,2) | 直接 | `height` | 维度字段,用于补充维度属性 |
|
||
| `weight` | NUMERIC(5,2) | 直接 | `weight` | 维度字段,用于补充维度属性 |
|
||
| `shop_name` | TEXT | 直接 | `shop_name` | 名称字段,用于展示与辅助识别 |
|
||
| `group_id` | BIGINT | 直接 | `group_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `group_name` | TEXT | 直接 | `group_name` | 名称字段,用于展示与辅助识别 |
|
||
| `person_org_id` | BIGINT | 直接 | `person_org_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `staff_id` | BIGINT | 直接 | `staff_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `staff_profile_id` | BIGINT | 直接 | `staff_profile_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `assistant_grade` | DOUBLE | 直接 | `assistant_grade` | 维度字段,用于补充维度属性 |
|
||
| `sum_grade` | DOUBLE | 直接 | `sum_grade` | 维度字段,用于补充维度属性 |
|
||
| `get_grade_times` | INTEGER | 直接 | `get_grade_times` | 维度字段,用于补充维度属性 |
|
||
| `charge_way` | INTEGER | 直接 | `charge_way` | 维度字段,用于补充维度属性 |
|
||
| `allow_cx` | INTEGER | 直接 | `allow_cx` | 维度字段,用于补充维度属性 |
|
||
| `is_guaranteed` | INTEGER | 直接 | `is_guaranteed` | 布尔/开关字段,用于表示是否/可用性等业务开关 |
|
||
| `salary_grant_enabled` | INTEGER | 直接 | `salary_grant_enabled` | 维度字段,用于补充维度属性 |
|
||
| `entry_type` | INTEGER | 直接 | `entry_type` | 维度字段,用于补充维度属性 |
|
||
| `entry_sign_status` | INTEGER | 直接 | `entry_sign_status` | 状态枚举字段,用于标识业务状态 |
|
||
| `resign_sign_status` | INTEGER | 直接 | `resign_sign_status` | 状态枚举字段,用于标识业务状态 |
|
||
| `work_status` | INTEGER | 直接 | `work_status` | 状态枚举字段,用于标识业务状态 |
|
||
| `show_status` | INTEGER | 直接 | `show_status` | 状态枚举字段,用于标识业务状态 |
|
||
| `show_sort` | INTEGER | 直接 | `show_sort` | 维度字段,用于补充维度属性 |
|
||
| `online_status` | INTEGER | 直接 | `online_status` | 状态枚举字段,用于标识业务状态 |
|
||
| `is_delete` | INTEGER | 直接 | `is_delete` | 布尔/开关字段,用于表示是否/可用性等业务开关 |
|
||
| `criticism_status` | INTEGER | 直接 | `criticism_status` | 状态枚举字段,用于标识业务状态 |
|
||
| `create_time` | TIMESTAMPTZ | 直接 | `create_time` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `update_time` | TIMESTAMPTZ | 直接 | `update_time` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `start_time` | TIMESTAMPTZ | 直接 | `start_time` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `end_time` | TIMESTAMPTZ | 直接 | `end_time` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `last_table_id` | BIGINT | 直接 | `last_table_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `last_table_name` | TEXT | 直接 | `last_table_name` | 名称字段,用于展示与辅助识别 |
|
||
| `last_update_name` | TEXT | 直接 | `last_update_name` | 名称字段,用于展示与辅助识别 |
|
||
| `order_trade_no` | BIGINT | 直接 | `order_trade_no` | 维度字段,用于补充维度属性 |
|
||
| `ding_talk_synced` | INTEGER | 直接 | `ding_talk_synced` | 维度字段,用于补充维度属性 |
|
||
| `site_light_cfg_id` | BIGINT | 直接 | `site_light_cfg_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `light_equipment_id` | TEXT | 直接 | `light_equipment_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `light_status` | INTEGER | 直接 | `light_status` | 状态枚举字段,用于标识业务状态 |
|
||
| `is_team_leader` | INTEGER | 直接 | `is_team_leader` | 布尔/开关字段,用于表示是否/可用性等业务开关 |
|
||
| `serial_number` | BIGINT | 直接 | `serial_number` | 数量/时长字段,用于统计与计量 |
|
||
| `scd2_start_time` | TIMESTAMPTZ | SCD2 | `—` | SCD2 开始时间(版本生效起点),用于维度慢变追踪 |
|
||
| `scd2_end_time` | TIMESTAMPTZ | SCD2 | `—` | SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪 |
|
||
| `scd2_is_current` | INT | SCD2 | `—` | SCD2 当前版本标记(1=当前,0=历史),用于筛选最新维度记录 |
|
||
| `scd2_version` | INT | SCD2 | `—` | SCD2 版本号(自增),用于与时间段一起避免版本重叠 |
|
||
|
||
---
|
||
|
||
### 3.2 settlement_records(结账记录)
|
||
|
||
- 任务代码:`ODS_SETTLEMENT_RECORDS`
|
||
- 采样记录数:200
|
||
- ODS 列数:71
|
||
- DWD 目标表:dwd_settlement_head, dwd_settlement_head_ex
|
||
|
||
#### JSON→ODS 映射(已映射 68/92,覆盖率 73.9%)
|
||
|
||
| JSON 路径 | ODS 列名 | JSON 类型 | 出现率 |
|
||
|----------|---------|----------|-------|
|
||
| `siteProfile.id` | `id` | integer | 100.0% |
|
||
| `siteProfile.tenant_id` | `tenantid` | integer | 100.0% |
|
||
| `settleList.id` | `id` | integer | 100.0% |
|
||
| `settleList.tenantId` | `tenantid` | integer | 100.0% |
|
||
| `settleList.siteId` | `siteid` | integer | 100.0% |
|
||
| `settleList.siteName` | `sitename` | string | 100.0% |
|
||
| `settleList.balanceAmount` | `balanceamount` | number | 100.0% |
|
||
| `settleList.cardAmount` | `cardamount` | number | 100.0% |
|
||
| `settleList.cashAmount` | `cashamount` | number | 100.0% |
|
||
| `settleList.couponAmount` | `couponamount` | number | 100.0% |
|
||
| `settleList.createTime` | `createtime` | string | 100.0% |
|
||
| `settleList.memberId` | `memberid` | integer | 100.0% |
|
||
| `settleList.memberName` | `membername` | string | 100.0% |
|
||
| `settleList.tenantMemberCardId` | `tenantmembercardid` | integer | 100.0% |
|
||
| `settleList.memberCardTypeName` | `membercardtypename` | string | 100.0% |
|
||
| `settleList.memberPhone` | `memberphone` | string | 100.0% |
|
||
| `settleList.tableId` | `tableid` | integer | 100.0% |
|
||
| `settleList.consumeMoney` | `consumemoney` | number | 100.0% |
|
||
| `settleList.onlineAmount` | `onlineamount` | number | 100.0% |
|
||
| `settleList.operatorId` | `operatorid` | integer | 100.0% |
|
||
| `settleList.operatorName` | `operatorname` | string | 100.0% |
|
||
| `settleList.revokeOrderId` | `revokeorderid` | integer | 100.0% |
|
||
| `settleList.revokeOrderName` | `revokeordername` | string | 100.0% |
|
||
| `settleList.revokeTime` | `revoketime` | string | 100.0% |
|
||
| `settleList.payAmount` | `payamount` | number | 100.0% |
|
||
| `settleList.pointAmount` | `pointamount` | number | 100.0% |
|
||
| `settleList.refundAmount` | `refundamount` | number | 100.0% |
|
||
| `settleList.settleName` | `settlename` | string | 100.0% |
|
||
| `settleList.settleRelateId` | `settlerelateid` | integer | 100.0% |
|
||
| `settleList.settleStatus` | `settlestatus` | integer | 100.0% |
|
||
| `settleList.settleType` | `settletype` | integer | 100.0% |
|
||
| `settleList.payTime` | `paytime` | string | 100.0% |
|
||
| `settleList.roundingAmount` | `roundingamount` | number | 100.0% |
|
||
| `settleList.paymentMethod` | `paymentmethod` | integer | 100.0% |
|
||
| `settleList.adjustAmount` | `adjustamount` | number | 100.0% |
|
||
| `settleList.assistantCxMoney` | `assistantcxmoney` | number | 100.0% |
|
||
| `settleList.assistantPdMoney` | `assistantpdmoney` | number | 100.0% |
|
||
| `settleList.couponSaleAmount` | `couponsaleamount` | number | 100.0% |
|
||
| `settleList.plCouponSaleAmount` | `plcouponsaleamount` | number | 100.0% |
|
||
| `settleList.merVouSalesAmount` | `mervousalesamount` | number | 100.0% |
|
||
| `settleList.memberDiscountAmount` | `memberdiscountamount` | number | 100.0% |
|
||
| `settleList.tableChargeMoney` | `tablechargemoney` | number | 100.0% |
|
||
| `settleList.goodsMoney` | `goodsmoney` | number | 100.0% |
|
||
| `settleList.realGoodsMoney` | `realgoodsmoney` | number | 100.0% |
|
||
| `settleList.serviceMoney` | `servicemoney` | number | 100.0% |
|
||
| `settleList.prepayMoney` | `prepaymoney` | number | 100.0% |
|
||
| `settleList.salesManName` | `salesmanname` | string | 100.0% |
|
||
| `settleList.orderRemark` | `orderremark` | string | 100.0% |
|
||
| `settleList.salesManUserId` | `salesmanuserid` | integer | 100.0% |
|
||
| `settleList.canBeRevoked` | `canberevoked` | boolean | 100.0% |
|
||
| `settleList.pointDiscountPrice` | `pointdiscountprice` | number | 100.0% |
|
||
| `settleList.pointDiscountCost` | `pointdiscountcost` | number | 100.0% |
|
||
| `settleList.activityDiscount` | `activitydiscount` | number | 100.0% |
|
||
| `settleList.serialNumber` | `serialnumber` | integer | 100.0% |
|
||
| `settleList.assistantManualDiscount` | `assistantmanualdiscount` | number | 100.0% |
|
||
| `settleList.allCouponDiscount` | `allcoupondiscount` | number | 100.0% |
|
||
| `settleList.goodsPromotionMoney` | `goodspromotionmoney` | number | 100.0% |
|
||
| `settleList.assistantPromotionMoney` | `assistantpromotionmoney` | number | 100.0% |
|
||
| `settleList.isUseCoupon` | `isusecoupon` | boolean | 100.0% |
|
||
| `settleList.isUseDiscount` | `isusediscount` | boolean | 100.0% |
|
||
| `settleList.isActivity` | `isactivity` | boolean | 100.0% |
|
||
| `settleList.isBindMember` | `isbindmember` | boolean | 100.0% |
|
||
| `settleList.isFirst` | `isfirst` | integer | 100.0% |
|
||
| `settleList.rechargeCardAmount` | `rechargecardamount` | integer | 100.0% |
|
||
| `settleList.giftCardAmount` | `giftcardamount` | integer | 100.0% |
|
||
| `settleList.electricityMoney` | `electricitymoney` | number | 100.0% |
|
||
| `settleList.realElectricityMoney` | `realelectricitymoney` | number | 100.0% |
|
||
| `settleList.electricityAdjustMoney` | `electricityadjustmoney` | number | 100.0% |
|
||
|
||
<details><summary>仅存于 payload 的字段(24 个)</summary>
|
||
|
||
| JSON 路径 | JSON 类型 | 出现率 |
|
||
|----------|----------|-------|
|
||
| `siteProfile.org_id` | integer | 100.0% |
|
||
| `siteProfile.shop_name` | string | 100.0% |
|
||
| `siteProfile.avatar` | string | 100.0% |
|
||
| `siteProfile.business_tel` | string | 100.0% |
|
||
| `siteProfile.full_address` | string | 100.0% |
|
||
| `siteProfile.address` | string | 100.0% |
|
||
| `siteProfile.longitude` | number | 100.0% |
|
||
| `siteProfile.latitude` | number | 100.0% |
|
||
| `siteProfile.tenant_site_region_id` | integer | 100.0% |
|
||
| `siteProfile.auto_light` | integer | 100.0% |
|
||
| `siteProfile.attendance_distance` | integer | 100.0% |
|
||
| `siteProfile.wifi_name` | string | 100.0% |
|
||
| `siteProfile.wifi_password` | string | 100.0% |
|
||
| `siteProfile.customer_service_qrcode` | string | 100.0% |
|
||
| `siteProfile.customer_service_wechat` | string | 100.0% |
|
||
| `siteProfile.fixed_pay_qrCode` | string | 100.0% |
|
||
| `siteProfile.prod_env` | integer | 100.0% |
|
||
| `siteProfile.light_status` | integer | 100.0% |
|
||
| `siteProfile.light_type` | integer | 100.0% |
|
||
| `siteProfile.site_type` | integer | 100.0% |
|
||
| `siteProfile.light_token` | string | 100.0% |
|
||
| `siteProfile.site_label` | string | 100.0% |
|
||
| `siteProfile.attendance_enabled` | integer | 100.0% |
|
||
| `siteProfile.shop_status` | integer | 100.0% |
|
||
|
||
</details>
|
||
|
||
#### ODS→DWD:`dwd_settlement_head`(直接 32 / 派生 5 / SCD2 0)
|
||
|
||
| DWD 列名 | 类型 | 映射类型 | ODS 来源 | 说明 |
|
||
|---------|------|---------|---------|------|
|
||
| `order_settle_id` | BIGINT | 直接 | `id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `tenant_id` | BIGINT | 直接 | `tenantid` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `site_id` | BIGINT | 直接 | `siteid` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `site_name` | VARCHAR(100) | 直接 | `sitename` | 名称字段,用于展示与辅助识别 |
|
||
| `table_id` | BIGINT | 直接 | `tableid` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `settle_name` | VARCHAR(100) | 直接 | `settlename` | 名称字段,用于展示与辅助识别 |
|
||
| `order_trade_no` | BIGINT | 直接 | `settlerelateid` | 明细字段,用于记录事实取值 |
|
||
| `create_time` | TIMESTAMPTZ | 直接 | `createtime` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `pay_time` | TIMESTAMPTZ | 直接 | `paytime` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `settle_type` | INTEGER | 直接 | `settletype` | 明细字段,用于记录事实取值 |
|
||
| `revoke_order_id` | BIGINT | 直接 | `revokeorderid` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `member_id` | BIGINT | 直接 | `memberid` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `member_name` | VARCHAR(100) | 直接 | `membername` | 名称字段,用于展示与辅助识别 |
|
||
| `member_phone` | VARCHAR(50) | 直接 | `memberphone` | 明细字段,用于记录事实取值 |
|
||
| `member_card_account_id` | BIGINT | 直接 | `tenantmembercardid` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `member_card_type_name` | VARCHAR(100) | 直接 | `membercardtypename` | 名称字段,用于展示与辅助识别 |
|
||
| `is_bind_member` | BOOLEAN | 直接 | `isbindmember` | 布尔/开关字段,用于表示是否/可用性等业务开关 |
|
||
| `member_discount_amount` | NUMERIC(18,2) | 直接 | `memberdiscountamount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `consume_money` | NUMERIC(18,2) | 直接 | `consumemoney` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `table_charge_money` | NUMERIC(18,2) | 直接 | `tablechargemoney` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `goods_money` | NUMERIC(18,2) | 直接 | `goodsmoney` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `real_goods_money` | NUMERIC(18,2) | 直接 | `realgoodsmoney` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `assistant_pd_money` | NUMERIC(18,2) | 直接 | `assistantpdmoney` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `assistant_cx_money` | NUMERIC(18,2) | 直接 | `assistantcxmoney` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `adjust_amount` | NUMERIC(18,2) | 直接 | `adjustamount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `pay_amount` | NUMERIC(18,2) | 直接 | `payamount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `balance_amount` | NUMERIC(18,2) | 直接 | `balanceamount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `recharge_card_amount` | NUMERIC(18,2) | 直接 | `rechargecardamount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `gift_card_amount` | NUMERIC(18,2) | 直接 | `giftcardamount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `coupon_amount` | NUMERIC(18,2) | 直接 | `couponamount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `rounding_amount` | NUMERIC(18,2) | 直接 | `roundingamount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `point_amount` | NUMERIC(18,2) | 直接 | `pointamount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `electricity_money` | NUMERIC(18,2) | 派生 | `—` | |
|
||
| `real_electricity_money` | NUMERIC(18,2) | 派生 | `—` | |
|
||
| `electricity_adjust_money` | NUMERIC(18,2) | 派生 | `—` | |
|
||
| `pl_coupon_sale_amount` | NUMERIC(18,2) | 派生 | `—` | |
|
||
| `mervou_sales_amount` | NUMERIC(18,2) | 派生 | `—` | |
|
||
|
||
#### ODS→DWD:`dwd_settlement_head_ex`(直接 25 / 派生 5 / SCD2 0)
|
||
|
||
| DWD 列名 | 类型 | 映射类型 | ODS 来源 | 说明 |
|
||
|---------|------|---------|---------|------|
|
||
| `order_settle_id` | BIGINT | 直接 | `id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `serial_number` | INTEGER | 直接 | `serialnumber` | 数量/时长字段,用于统计与计量 |
|
||
| `settle_status` | INTEGER | 直接 | `settlestatus` | 状态枚举字段,用于标识业务状态 |
|
||
| `can_be_revoked` | BOOLEAN | 派生 | `canberevoked(派生:BOOLEAN(canberevoked))` | 布尔/开关字段,用于表示是否/可用性等业务开关 |
|
||
| `revoke_order_name` | VARCHAR(100) | 直接 | `revokeordername` | 名称字段,用于展示与辅助识别 |
|
||
| `revoke_time` | TIMESTAMPTZ | 直接 | `revoketime` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `is_first_order` | BOOLEAN | 派生 | `isfirst(派生:BOOLEAN(isfirst))` | 布尔/开关字段,用于表示是否/可用性等业务开关 |
|
||
| `service_money` | NUMERIC(18,2) | 直接 | `servicemoney` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `cash_amount` | NUMERIC(18,2) | 直接 | `cashamount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `card_amount` | NUMERIC(18,2) | 直接 | `cardamount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `online_amount` | NUMERIC(18,2) | 直接 | `onlineamount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `refund_amount` | NUMERIC(18,2) | 直接 | `refundamount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `prepay_money` | NUMERIC(18,2) | 直接 | `prepaymoney` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `payment_method` | INTEGER | 直接 | `paymentmethod` | 明细字段,用于记录事实取值 |
|
||
| `coupon_sale_amount` | NUMERIC(18,2) | 直接 | `couponsaleamount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `all_coupon_discount` | NUMERIC(18,2) | 直接 | `allcoupondiscount` | 数量/时长字段,用于统计与计量 |
|
||
| `goods_promotion_money` | NUMERIC(18,2) | 直接 | `goodspromotionmoney` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `assistant_promotion_money` | NUMERIC(18,2) | 直接 | `assistantpromotionmoney` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `activity_discount` | NUMERIC(18,2) | 直接 | `activitydiscount` | 数量/时长字段,用于统计与计量 |
|
||
| `assistant_manual_discount` | NUMERIC(18,2) | 直接 | `assistantmanualdiscount` | 数量/时长字段,用于统计与计量 |
|
||
| `point_discount_price` | NUMERIC(18,2) | 直接 | `pointdiscountprice` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `point_discount_cost` | NUMERIC(18,2) | 直接 | `pointdiscountcost` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `is_use_coupon` | BOOLEAN | 派生 | `isusecoupon(派生:BOOLEAN(isusecoupon))` | 布尔/开关字段,用于表示是否/可用性等业务开关 |
|
||
| `is_use_discount` | BOOLEAN | 派生 | `isusediscount(派生:BOOLEAN(isusediscount))` | 数量/时长字段,用于统计与计量 |
|
||
| `is_activity` | BOOLEAN | 派生 | `isactivity(派生:BOOLEAN(isactivity))` | 布尔/开关字段,用于表示是否/可用性等业务开关 |
|
||
| `operator_name` | VARCHAR(100) | 直接 | `operatorname` | 名称字段,用于展示与辅助识别 |
|
||
| `salesman_name` | VARCHAR(100) | 直接 | `salesmanname` | 名称字段,用于展示与辅助识别 |
|
||
| `order_remark` | VARCHAR(255) | 直接 | `orderremark` | 明细字段,用于记录事实取值 |
|
||
| `operator_id` | BIGINT | 直接 | `operatorid` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `salesman_user_id` | BIGINT | 直接 | `salesmanuserid` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
|
||
---
|
||
|
||
### 3.3 table_fee_transactions(台费计费流水)
|
||
|
||
- 任务代码:`ODS_TABLE_USE`
|
||
- 采样记录数:200
|
||
- ODS 列数:47
|
||
- DWD 目标表:dim_site, dim_site_ex, dwd_table_fee_log, dwd_table_fee_log_ex
|
||
|
||
#### JSON→ODS 映射(已映射 43/67,覆盖率 64.2%)
|
||
|
||
| JSON 路径 | ODS 列名 | JSON 类型 | 出现率 |
|
||
|----------|---------|----------|-------|
|
||
| `siteProfile.id` | `id` | integer | 100.0% |
|
||
| `siteProfile.tenant_id` | `tenant_id` | integer | 100.0% |
|
||
| `id` | `id` | integer | 100.0% |
|
||
| `add_clock_seconds` | `add_clock_seconds` | integer | 100.0% |
|
||
| `activity_discount_amount` | `activity_discount_amount` | number | 100.0% |
|
||
| `adjust_amount` | `adjust_amount` | number | 100.0% |
|
||
| `coupon_promotion_amount` | `coupon_promotion_amount` | number | 100.0% |
|
||
| `create_time` | `create_time` | string | 100.0% |
|
||
| `fee_total` | `fee_total` | number | 100.0% |
|
||
| `is_delete` | `is_delete` | integer | 100.0% |
|
||
| `is_single_order` | `is_single_order` | integer | 100.0% |
|
||
| `last_use_time` | `last_use_time` | string | 100.0% |
|
||
| `ledger_amount` | `ledger_amount` | number | 100.0% |
|
||
| `ledger_count` | `ledger_count` | integer | 100.0% |
|
||
| `ledger_end_time` | `ledger_end_time` | string | 100.0% |
|
||
| `ledger_name` | `ledger_name` | string | 100.0% |
|
||
| `ledger_start_time` | `ledger_start_time` | string | 100.0% |
|
||
| `ledger_status` | `ledger_status` | integer | 100.0% |
|
||
| `ledger_unit_price` | `ledger_unit_price` | number | 100.0% |
|
||
| `member_discount_amount` | `member_discount_amount` | number | 100.0% |
|
||
| `member_id` | `member_id` | integer | 100.0% |
|
||
| `mgmt_fee` | `mgmt_fee` | number | 100.0% |
|
||
| `operator_id` | `operator_id` | integer | 100.0% |
|
||
| `operator_name` | `operator_name` | string | 100.0% |
|
||
| `order_consumption_type` | `order_consumption_type` | integer | 100.0% |
|
||
| `order_pay_id` | `order_pay_id` | integer | 100.0% |
|
||
| `order_settle_id` | `order_settle_id` | integer | 100.0% |
|
||
| `order_trade_no` | `order_trade_no` | integer | 100.0% |
|
||
| `real_table_charge_money` | `real_table_charge_money` | number | 100.0% |
|
||
| `real_table_use_seconds` | `real_table_use_seconds` | integer | 100.0% |
|
||
| `real_service_money` | `real_service_money` | number | 100.0% |
|
||
| `salesman_name` | `salesman_name` | string | 100.0% |
|
||
| `salesman_org_id` | `salesman_org_id` | integer | 100.0% |
|
||
| `salesman_user_id` | `salesman_user_id` | integer | 100.0% |
|
||
| `service_money` | `service_money` | number | 100.0% |
|
||
| `site_id` | `site_id` | integer | 100.0% |
|
||
| `site_table_area_id` | `site_table_area_id` | integer | 100.0% |
|
||
| `site_table_area_name` | `site_table_area_name` | string | 100.0% |
|
||
| `site_table_id` | `site_table_id` | integer | 100.0% |
|
||
| `start_use_time` | `start_use_time` | string | 100.0% |
|
||
| `tenant_id` | `tenant_id` | integer | 100.0% |
|
||
| `tenant_table_area_id` | `tenant_table_area_id` | integer | 100.0% |
|
||
| `used_card_amount` | `used_card_amount` | number | 100.0% |
|
||
|
||
<details><summary>仅存于 payload 的字段(24 个)</summary>
|
||
|
||
| JSON 路径 | JSON 类型 | 出现率 |
|
||
|----------|----------|-------|
|
||
| `siteProfile.org_id` | integer | 100.0% |
|
||
| `siteProfile.shop_name` | string | 100.0% |
|
||
| `siteProfile.avatar` | string | 100.0% |
|
||
| `siteProfile.business_tel` | string | 100.0% |
|
||
| `siteProfile.full_address` | string | 100.0% |
|
||
| `siteProfile.address` | string | 100.0% |
|
||
| `siteProfile.longitude` | number | 100.0% |
|
||
| `siteProfile.latitude` | number | 100.0% |
|
||
| `siteProfile.tenant_site_region_id` | integer | 100.0% |
|
||
| `siteProfile.auto_light` | integer | 100.0% |
|
||
| `siteProfile.attendance_distance` | integer | 100.0% |
|
||
| `siteProfile.wifi_name` | string | 100.0% |
|
||
| `siteProfile.wifi_password` | string | 100.0% |
|
||
| `siteProfile.customer_service_qrcode` | string | 100.0% |
|
||
| `siteProfile.customer_service_wechat` | string | 100.0% |
|
||
| `siteProfile.fixed_pay_qrCode` | string | 100.0% |
|
||
| `siteProfile.prod_env` | integer | 100.0% |
|
||
| `siteProfile.light_status` | integer | 100.0% |
|
||
| `siteProfile.light_type` | integer | 100.0% |
|
||
| `siteProfile.site_type` | integer | 100.0% |
|
||
| `siteProfile.light_token` | string | 100.0% |
|
||
| `siteProfile.site_label` | string | 100.0% |
|
||
| `siteProfile.attendance_enabled` | integer | 100.0% |
|
||
| `siteProfile.shop_status` | integer | 100.0% |
|
||
|
||
</details>
|
||
|
||
#### ODS→DWD:`dim_site`(直接 1 / 派生 12 / SCD2 4)
|
||
|
||
| DWD 列名 | 类型 | 映射类型 | ODS 来源 | 说明 |
|
||
|---------|------|---------|---------|------|
|
||
| `site_id` | BIGINT | 直接 | `site_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `org_id` | BIGINT | 派生 | `siteProfile.org_id` | 组织/机构 ID,用于组织维度归属 |
|
||
| `tenant_id` | BIGINT | 派生 | `siteProfile.tenant_id` | 租户/品牌 ID,用于商户维度过滤与关联 |
|
||
| `shop_name` | TEXT | 派生 | `siteProfile.shop_name` | 门店名称,用于展示与查询 |
|
||
| `site_label` | TEXT | 派生 | `siteProfile.site_label` | 门店标签(如 A/B 店),用于展示与分组 |
|
||
| `full_address` | TEXT | 派生 | `siteProfile.full_address` | 门店详细地址,用于展示与地理信息 |
|
||
| `address` | TEXT | 派生 | `siteProfile.address` | 门店地址简称/快照,用于展示 |
|
||
| `longitude` | NUMERIC(10,6) | 派生 | `siteProfile.longitude` | 经度,用于定位与地图展示 |
|
||
| `latitude` | NUMERIC(10,6) | 派生 | `siteProfile.latitude` | 纬度,用于定位与地图展示 |
|
||
| `tenant_site_region_id` | BIGINT | 派生 | `siteProfile.tenant_site_region_id` | 租户下门店区域 ID,用于区域维度分析 |
|
||
| `business_tel` | TEXT | 派生 | `siteProfile.business_tel` | 门店电话,用于联系信息展示 |
|
||
| `site_type` | INTEGER | 派生 | `siteProfile.site_type` | 门店类型枚举,用于门店分类 |
|
||
| `shop_status` | INTEGER | 派生 | `siteProfile.shop_status` | 门店状态枚举,用于营业状态标识 |
|
||
| `scd2_start_time` | TIMESTAMPTZ | SCD2 | `—` | SCD2 开始时间(版本生效起点),用于维度慢变追踪 |
|
||
| `scd2_end_time` | TIMESTAMPTZ | SCD2 | `—` | SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪 |
|
||
| `scd2_is_current` | INT | SCD2 | `—` | SCD2 当前版本标记(1=当前,0=历史),用于筛选最新维度记录 |
|
||
| `scd2_version` | INT | SCD2 | `—` | SCD2 版本号(自增),用于与时间段一起避免版本重叠 |
|
||
|
||
#### ODS→DWD:`dim_site_ex`(直接 1 / 派生 20 / SCD2 4)
|
||
|
||
| DWD 列名 | 类型 | 映射类型 | ODS 来源 | 说明 |
|
||
|---------|------|---------|---------|------|
|
||
| `site_id` | BIGINT | 直接 | `site_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `avatar` | TEXT | 派生 | `siteProfile.avatar` | 门店头像/图片 URL,用于展示 |
|
||
| `address` | TEXT | 派生 | `siteProfile.address` | 门店地址简称/快照,用于展示 |
|
||
| `longitude` | NUMERIC(9,6) | 派生 | `siteProfile.longitude` | 经度,用于定位与地图展示 |
|
||
| `latitude` | NUMERIC(9,6) | 派生 | `siteProfile.latitude` | 纬度,用于定位与地图展示 |
|
||
| `tenant_site_region_id` | BIGINT | 派生 | `siteProfile.tenant_site_region_id` | 租户下门店区域 ID,用于区域维度分析 |
|
||
| `auto_light` | INTEGER | 派生 | `siteProfile.auto_light` | 是否启用自动灯控配置,用于门店设备策略 |
|
||
| `light_status` | INTEGER | 派生 | `siteProfile.light_status` | 灯控状态/开关,用于灯控设备管理 |
|
||
| `light_type` | INTEGER | 派生 | `siteProfile.light_type` | 灯控类型,用于设备类型区分 |
|
||
| `light_token` | TEXT | 派生 | `siteProfile.light_token` | 灯控控制令牌,用于对接灯控服务 |
|
||
| `site_type` | INTEGER | 派生 | `siteProfile.site_type` | 门店类型枚举,用于门店分类 |
|
||
| `site_label` | TEXT | 派生 | `siteProfile.site_label` | 门店标签(如 A/B 店),用于展示与分组 |
|
||
| `attendance_enabled` | INTEGER | 派生 | `siteProfile.attendance_enabled` | 是否启用考勤功能,用于门店考勤配置 |
|
||
| `attendance_distance` | INTEGER | 派生 | `siteProfile.attendance_distance` | 考勤允许距离(米),用于考勤打卡限制 |
|
||
| `customer_service_qrcode` | TEXT | 派生 | `siteProfile.customer_service_qrcode` | 客服二维码 URL,用于引导联系 |
|
||
| `customer_service_wechat` | TEXT | 派生 | `siteProfile.customer_service_wechat` | 客服微信号,用于引导联系 |
|
||
| `fixed_pay_qrcode` | TEXT | 派生 | `siteProfile.fixed_pay_qrCode` | 固定收款码(二维码)URL,用于收款引导 |
|
||
| `prod_env` | TEXT | 派生 | `siteProfile.prod_env` | 环境标识(生产/测试),用于区分配置环境 |
|
||
| `shop_status` | INTEGER | 派生 | `siteProfile.shop_status` | 门店状态枚举,用于营业状态标识 |
|
||
| `create_time` | TIMESTAMPTZ | 派生 | `siteProfile.create_time` | 门店创建时间(快照字段) |
|
||
| `update_time` | TIMESTAMPTZ | 派生 | `siteProfile.update_time` | 门店更新时间(快照字段) |
|
||
| `scd2_start_time` | TIMESTAMPTZ | SCD2 | `—` | SCD2 开始时间(版本生效起点),用于维度慢变追踪 |
|
||
| `scd2_end_time` | TIMESTAMPTZ | SCD2 | `—` | SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪 |
|
||
| `scd2_is_current` | INT | SCD2 | `—` | SCD2 当前版本标记(1=当前,0=历史),用于筛选最新维度记录 |
|
||
| `scd2_version` | INT | SCD2 | `—` | SCD2 版本号(自增),用于与时间段一起避免版本重叠 |
|
||
|
||
#### ODS→DWD:`dwd_table_fee_log`(直接 29 / 派生 0 / SCD2 0)
|
||
|
||
| DWD 列名 | 类型 | 映射类型 | ODS 来源 | 说明 |
|
||
|---------|------|---------|---------|------|
|
||
| `table_fee_log_id` | BIGINT | 直接 | `id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `order_trade_no` | BIGINT | 直接 | `order_trade_no` | 明细字段,用于记录事实取值 |
|
||
| `order_settle_id` | BIGINT | 直接 | `order_settle_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `order_pay_id` | BIGINT | 直接 | `order_pay_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `tenant_id` | BIGINT | 直接 | `tenant_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `site_id` | BIGINT | 直接 | `site_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `site_table_id` | BIGINT | 直接 | `site_table_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `site_table_area_id` | BIGINT | 直接 | `site_table_area_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `site_table_area_name` | VARCHAR(64) | 直接 | `site_table_area_name` | 名称字段,用于展示与辅助识别 |
|
||
| `tenant_table_area_id` | BIGINT | 直接 | `tenant_table_area_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `member_id` | BIGINT | 直接 | `member_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `ledger_name` | VARCHAR(64) | 直接 | `ledger_name` | 名称字段,用于展示与辅助识别 |
|
||
| `ledger_unit_price` | NUMERIC(18,2) | 直接 | `ledger_unit_price` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `ledger_count` | INTEGER | 直接 | `ledger_count` | 数量/时长字段,用于统计与计量 |
|
||
| `ledger_amount` | NUMERIC(18,2) | 直接 | `ledger_amount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `real_table_charge_money` | NUMERIC(18,2) | 直接 | `real_table_charge_money` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `coupon_promotion_amount` | NUMERIC(18,2) | 直接 | `coupon_promotion_amount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `member_discount_amount` | NUMERIC(18,2) | 直接 | `member_discount_amount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `adjust_amount` | NUMERIC(18,2) | 直接 | `adjust_amount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `real_table_use_seconds` | INTEGER | 直接 | `real_table_use_seconds` | 数量/时长字段,用于统计与计量 |
|
||
| `add_clock_seconds` | INTEGER | 直接 | `add_clock_seconds` | 数量/时长字段,用于统计与计量 |
|
||
| `start_use_time` | TIMESTAMPTZ | 直接 | `start_use_time` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `ledger_end_time` | TIMESTAMPTZ | 直接 | `ledger_end_time` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `create_time` | TIMESTAMPTZ | 直接 | `create_time` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `ledger_status` | INTEGER | 直接 | `ledger_status` | 状态枚举字段,用于标识业务状态 |
|
||
| `is_single_order` | INTEGER | 直接 | `is_single_order` | 布尔/开关字段,用于表示是否/可用性等业务开关 |
|
||
| `is_delete` | INTEGER | 直接 | `is_delete` | 布尔/开关字段,用于表示是否/可用性等业务开关 |
|
||
| `activity_discount_amount` | NUMERIC(18,2) | 直接 | `activity_discount_amount` | |
|
||
| `real_service_money` | NUMERIC(18,2) | 直接 | `real_service_money` | |
|
||
|
||
#### ODS→DWD:`dwd_table_fee_log_ex`(直接 13 / 派生 0 / SCD2 0)
|
||
|
||
| DWD 列名 | 类型 | 映射类型 | ODS 来源 | 说明 |
|
||
|---------|------|---------|---------|------|
|
||
| `table_fee_log_id` | BIGINT | 直接 | `id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `operator_name` | VARCHAR(64) | 直接 | `operator_name` | 名称字段,用于展示与辅助识别 |
|
||
| `salesman_name` | VARCHAR(64) | 直接 | `salesman_name` | 名称字段,用于展示与辅助识别 |
|
||
| `used_card_amount` | NUMERIC(18,2) | 直接 | `used_card_amount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `service_money` | NUMERIC(18,2) | 直接 | `service_money` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `mgmt_fee` | NUMERIC(18,2) | 直接 | `mgmt_fee` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `fee_total` | NUMERIC(18,2) | 直接 | `fee_total` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `ledger_start_time` | TIMESTAMPTZ | 直接 | `ledger_start_time` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `last_use_time` | TIMESTAMPTZ | 直接 | `last_use_time` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `operator_id` | BIGINT | 直接 | `operator_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `salesman_user_id` | BIGINT | 直接 | `salesman_user_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `salesman_org_id` | BIGINT | 直接 | `salesman_org_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `order_consumption_type` | INTEGER | 直接 | `order_consumption_type` | |
|
||
|
||
---
|
||
|
||
### 3.4 assistant_service_records(助教服务流水)
|
||
|
||
- 任务代码:`ODS_ASSISTANT_LEDGER`
|
||
- 采样记录数:200
|
||
- ODS 列数:71
|
||
- DWD 目标表:dwd_assistant_service_log, dwd_assistant_service_log_ex
|
||
|
||
#### JSON→ODS 映射(已映射 67/91,覆盖率 73.6%)
|
||
|
||
| JSON 路径 | ODS 列名 | JSON 类型 | 出现率 |
|
||
|----------|---------|----------|-------|
|
||
| `assistantNo` | `assistantno` | string | 100.0% |
|
||
| `nickname` | `nickname` | string | 100.0% |
|
||
| `levelName` | `levelname` | string | 100.0% |
|
||
| `assistantTeamName` | `assistantteamname` | string | 100.0% |
|
||
| `assistantName` | `assistantname` | string | 100.0% |
|
||
| `tableName` | `tablename` | string | 100.0% |
|
||
| `siteProfile.id` | `id` | integer | 100.0% |
|
||
| `siteProfile.tenant_id` | `tenant_id` | integer | 100.0% |
|
||
| `skillName` | `skillname` | string | 100.0% |
|
||
| `id` | `id` | integer | 100.0% |
|
||
| `order_trade_no` | `order_trade_no` | integer | 100.0% |
|
||
| `site_id` | `site_id` | integer | 100.0% |
|
||
| `tenant_id` | `tenant_id` | integer | 100.0% |
|
||
| `operator_id` | `operator_id` | integer | 100.0% |
|
||
| `operator_name` | `operator_name` | string | 100.0% |
|
||
| `order_settle_id` | `order_settle_id` | integer | 100.0% |
|
||
| `ledger_name` | `ledger_name` | string | 100.0% |
|
||
| `ledger_group_name` | `ledger_group_name` | string | 100.0% |
|
||
| `ledger_unit_price` | `ledger_unit_price` | number | 100.0% |
|
||
| `ledger_count` | `ledger_count` | integer | 100.0% |
|
||
| `ledger_amount` | `ledger_amount` | number | 100.0% |
|
||
| `order_pay_id` | `order_pay_id` | integer | 100.0% |
|
||
| `create_time` | `create_time` | string | 100.0% |
|
||
| `is_delete` | `is_delete` | integer | 100.0% |
|
||
| `assistant_team_id` | `assistant_team_id` | integer | 100.0% |
|
||
| `assistant_level` | `assistant_level` | integer | 100.0% |
|
||
| `ledger_start_time` | `ledger_start_time` | string | 100.0% |
|
||
| `ledger_end_time` | `ledger_end_time` | string | 100.0% |
|
||
| `is_single_order` | `is_single_order` | integer | 100.0% |
|
||
| `order_assistant_id` | `order_assistant_id` | integer | 100.0% |
|
||
| `site_assistant_id` | `site_assistant_id` | integer | 100.0% |
|
||
| `order_assistant_type` | `order_assistant_type` | integer | 100.0% |
|
||
| `ledger_status` | `ledger_status` | integer | 100.0% |
|
||
| `site_table_id` | `site_table_id` | integer | 100.0% |
|
||
| `projected_income` | `projected_income` | number | 100.0% |
|
||
| `is_not_responding` | `is_not_responding` | integer | 100.0% |
|
||
| `income_seconds` | `income_seconds` | integer | 100.0% |
|
||
| `user_id` | `user_id` | integer | 100.0% |
|
||
| `trash_applicant_id` | `trash_applicant_id` | integer | 100.0% |
|
||
| `trash_applicant_name` | `trash_applicant_name` | string | 100.0% |
|
||
| `is_trash` | `is_trash` | integer | 100.0% |
|
||
| `trash_reason` | `trash_reason` | string | 100.0% |
|
||
| `real_use_seconds` | `real_use_seconds` | integer | 100.0% |
|
||
| `real_service_money` | `real_service_money` | number | 100.0% |
|
||
| `add_clock` | `add_clock` | integer | 100.0% |
|
||
| `returns_clock` | `returns_clock` | integer | 100.0% |
|
||
| `is_confirm` | `is_confirm` | integer | 100.0% |
|
||
| `member_discount_amount` | `member_discount_amount` | number | 100.0% |
|
||
| `manual_discount_amount` | `manual_discount_amount` | number | 100.0% |
|
||
| `service_money` | `service_money` | number | 100.0% |
|
||
| `person_org_id` | `person_org_id` | integer | 100.0% |
|
||
| `last_use_time` | `last_use_time` | string | 100.0% |
|
||
| `salesman_name` | `salesman_name` | string | 100.0% |
|
||
| `salesman_user_id` | `salesman_user_id` | integer | 100.0% |
|
||
| `salesman_org_id` | `salesman_org_id` | integer | 100.0% |
|
||
| `coupon_deduct_money` | `coupon_deduct_money` | number | 100.0% |
|
||
| `skill_id` | `skill_id` | integer | 100.0% |
|
||
| `start_use_time` | `start_use_time` | string | 100.0% |
|
||
| `tenant_member_id` | `tenant_member_id` | integer | 100.0% |
|
||
| `system_member_id` | `system_member_id` | integer | 100.0% |
|
||
| `skill_grade` | `skill_grade` | integer | 100.0% |
|
||
| `service_grade` | `service_grade` | integer | 100.0% |
|
||
| `composite_grade` | `composite_grade` | number | 100.0% |
|
||
| `sum_grade` | `sum_grade` | number | 100.0% |
|
||
| `get_grade_times` | `get_grade_times` | integer | 100.0% |
|
||
| `grade_status` | `grade_status` | integer | 100.0% |
|
||
| `composite_grade_time` | `composite_grade_time` | string | 100.0% |
|
||
|
||
<details><summary>仅存于 payload 的字段(24 个)</summary>
|
||
|
||
| JSON 路径 | JSON 类型 | 出现率 |
|
||
|----------|----------|-------|
|
||
| `siteProfile.org_id` | integer | 100.0% |
|
||
| `siteProfile.shop_name` | string | 100.0% |
|
||
| `siteProfile.avatar` | string | 100.0% |
|
||
| `siteProfile.business_tel` | string | 100.0% |
|
||
| `siteProfile.full_address` | string | 100.0% |
|
||
| `siteProfile.address` | string | 100.0% |
|
||
| `siteProfile.longitude` | number | 100.0% |
|
||
| `siteProfile.latitude` | number | 100.0% |
|
||
| `siteProfile.tenant_site_region_id` | integer | 100.0% |
|
||
| `siteProfile.auto_light` | integer | 100.0% |
|
||
| `siteProfile.attendance_distance` | integer | 100.0% |
|
||
| `siteProfile.wifi_name` | string | 100.0% |
|
||
| `siteProfile.wifi_password` | string | 100.0% |
|
||
| `siteProfile.customer_service_qrcode` | string | 100.0% |
|
||
| `siteProfile.customer_service_wechat` | string | 100.0% |
|
||
| `siteProfile.fixed_pay_qrCode` | string | 100.0% |
|
||
| `siteProfile.prod_env` | integer | 100.0% |
|
||
| `siteProfile.light_status` | integer | 100.0% |
|
||
| `siteProfile.light_type` | integer | 100.0% |
|
||
| `siteProfile.site_type` | integer | 100.0% |
|
||
| `siteProfile.light_token` | string | 100.0% |
|
||
| `siteProfile.site_label` | string | 100.0% |
|
||
| `siteProfile.attendance_enabled` | integer | 100.0% |
|
||
| `siteProfile.shop_status` | integer | 100.0% |
|
||
|
||
</details>
|
||
|
||
#### ODS→DWD:`dwd_assistant_service_log`(直接 33 / 派生 0 / SCD2 0)
|
||
|
||
| DWD 列名 | 类型 | 映射类型 | ODS 来源 | 说明 |
|
||
|---------|------|---------|---------|------|
|
||
| `assistant_service_id` | BIGINT | 直接 | `id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `order_trade_no` | BIGINT | 直接 | `order_trade_no` | 明细字段,用于记录事实取值 |
|
||
| `order_settle_id` | BIGINT | 直接 | `order_settle_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `order_pay_id` | BIGINT | 直接 | `order_pay_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `order_assistant_id` | BIGINT | 直接 | `order_assistant_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `order_assistant_type` | INTEGER | 直接 | `order_assistant_type` | 明细字段,用于记录事实取值 |
|
||
| `tenant_id` | BIGINT | 直接 | `tenant_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `site_id` | BIGINT | 直接 | `site_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `site_table_id` | BIGINT | 直接 | `site_table_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `tenant_member_id` | BIGINT | 直接 | `tenant_member_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `system_member_id` | BIGINT | 直接 | `system_member_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `assistant_no` | VARCHAR(64) | 直接 | `assistantno` | 明细字段,用于记录事实取值 |
|
||
| `nickname` | VARCHAR(64) | 直接 | `nickname` | 名称字段,用于展示与辅助识别 |
|
||
| `site_assistant_id` | BIGINT | 直接 | `order_assistant_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `user_id` | BIGINT | 直接 | `user_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `assistant_team_id` | BIGINT | 直接 | `assistant_team_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `person_org_id` | BIGINT | 直接 | `person_org_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `assistant_level` | INTEGER | 直接 | `assistant_level` | 明细字段,用于记录事实取值 |
|
||
| `level_name` | VARCHAR(64) | 直接 | `levelname` | 名称字段,用于展示与辅助识别 |
|
||
| `skill_id` | BIGINT | 直接 | `skill_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `skill_name` | VARCHAR(64) | 直接 | `skillname` | 名称字段,用于展示与辅助识别 |
|
||
| `ledger_unit_price` | NUMERIC(10,2) | 直接 | `ledger_unit_price` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `ledger_amount` | NUMERIC(10,2) | 直接 | `ledger_amount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `projected_income` | NUMERIC(10,2) | 直接 | `projected_income` | 明细字段,用于记录事实取值 |
|
||
| `coupon_deduct_money` | NUMERIC(10,2) | 直接 | `coupon_deduct_money` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `income_seconds` | INTEGER | 直接 | `income_seconds` | 数量/时长字段,用于统计与计量 |
|
||
| `real_use_seconds` | INTEGER | 直接 | `real_use_seconds` | 数量/时长字段,用于统计与计量 |
|
||
| `add_clock` | INTEGER | 直接 | `add_clock` | 明细字段,用于记录事实取值 |
|
||
| `create_time` | TIMESTAMPTZ | 直接 | `create_time` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `start_use_time` | TIMESTAMPTZ | 直接 | `start_use_time` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `last_use_time` | TIMESTAMPTZ | 直接 | `last_use_time` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `is_delete` | INTEGER | 直接 | `is_delete` | 布尔/开关字段,用于表示是否/可用性等业务开关 |
|
||
| `real_service_money` | NUMERIC(18,2) | 直接 | `real_service_money` | |
|
||
|
||
#### ODS→DWD:`dwd_assistant_service_log_ex`(直接 30 / 派生 1 / SCD2 0)
|
||
|
||
| DWD 列名 | 类型 | 映射类型 | ODS 来源 | 说明 |
|
||
|---------|------|---------|---------|------|
|
||
| `assistant_service_id` | BIGINT | 直接 | `id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `table_name` | VARCHAR(64) | 直接 | `tablename` | 名称字段,用于展示与辅助识别 |
|
||
| `assistant_name` | VARCHAR(64) | 直接 | `assistantname` | 名称字段,用于展示与辅助识别 |
|
||
| `ledger_name` | VARCHAR(128) | 直接 | `ledger_name` | 名称字段,用于展示与辅助识别 |
|
||
| `ledger_group_name` | VARCHAR(128) | 直接 | `ledger_group_name` | 名称字段,用于展示与辅助识别 |
|
||
| `ledger_count` | INTEGER | 直接 | `ledger_count` | 数量/时长字段,用于统计与计量 |
|
||
| `member_discount_amount` | NUMERIC(10,2) | 直接 | `member_discount_amount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `manual_discount_amount` | NUMERIC(10,2) | 直接 | `manual_discount_amount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `service_money` | NUMERIC(10,2) | 直接 | `service_money` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `returns_clock` | INTEGER | 直接 | `returns_clock` | 明细字段,用于记录事实取值 |
|
||
| `ledger_start_time` | TIMESTAMPTZ | 直接 | `ledger_start_time` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `ledger_end_time` | TIMESTAMPTZ | 直接 | `ledger_end_time` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `ledger_status` | INTEGER | 直接 | `ledger_status` | 状态枚举字段,用于标识业务状态 |
|
||
| `is_confirm` | INTEGER | 直接 | `is_confirm` | 布尔/开关字段,用于表示是否/可用性等业务开关 |
|
||
| `is_single_order` | INTEGER | 直接 | `is_single_order` | 布尔/开关字段,用于表示是否/可用性等业务开关 |
|
||
| `is_not_responding` | INTEGER | 直接 | `is_not_responding` | 布尔/开关字段,用于表示是否/可用性等业务开关 |
|
||
| `is_trash` | INTEGER | 直接 | `is_trash` | 布尔/开关字段,用于表示是否/可用性等业务开关 |
|
||
| `trash_applicant_id` | BIGINT | 直接 | `trash_applicant_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `trash_applicant_name` | VARCHAR(64) | 直接 | `trash_applicant_name` | 名称字段,用于展示与辅助识别 |
|
||
| `trash_reason` | VARCHAR(255) | 直接 | `trash_reason` | 明细字段,用于记录事实取值 |
|
||
| `salesman_user_id` | BIGINT | 直接 | `salesman_user_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `salesman_name` | VARCHAR(64) | 直接 | `salesman_name` | 名称字段,用于展示与辅助识别 |
|
||
| `salesman_org_id` | BIGINT | 直接 | `salesman_org_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `skill_grade` | INTEGER | 直接 | `skill_grade` | 明细字段,用于记录事实取值 |
|
||
| `service_grade` | INTEGER | 直接 | `service_grade` | 明细字段,用于记录事实取值 |
|
||
| `composite_grade` | NUMERIC(5,2) | 直接 | `composite_grade` | 明细字段,用于记录事实取值 |
|
||
| `sum_grade` | NUMERIC(10,2) | 直接 | `sum_grade` | 明细字段,用于记录事实取值 |
|
||
| `get_grade_times` | INTEGER | 直接 | `get_grade_times` | 明细字段,用于记录事实取值 |
|
||
| `grade_status` | INTEGER | 直接 | `grade_status` | 状态枚举字段,用于标识业务状态 |
|
||
| `composite_grade_time` | TIMESTAMPTZ | 直接 | `composite_grade_time` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `assistant_team_name` | TEXT | 派生 | `—` | |
|
||
|
||
---
|
||
|
||
### 3.5 assistant_cancellation_records(助教废除记录)
|
||
|
||
- 任务代码:`ODS_ASSISTANT_ABOLISH`
|
||
- 采样记录数:79
|
||
- ODS 列数:19
|
||
- DWD 目标表:dwd_assistant_trash_event, dwd_assistant_trash_event_ex
|
||
|
||
#### JSON→ODS 映射(已映射 14/38,覆盖率 36.8%)
|
||
|
||
| JSON 路径 | ODS 列名 | JSON 类型 | 出现率 |
|
||
|----------|---------|----------|-------|
|
||
| `siteProfile.id` | `id` | integer | 100.0% |
|
||
| `siteProfile.tenant_id` | `tenant_id` | integer | 100.0% |
|
||
| `createTime` | `createtime` | string | 100.0% |
|
||
| `id` | `id` | integer | 100.0% |
|
||
| `siteId` | `siteid` | integer | 100.0% |
|
||
| `tableAreaId` | `tableareaid` | integer | 100.0% |
|
||
| `tableId` | `tableid` | integer | 100.0% |
|
||
| `tableArea` | `tablearea` | string | 100.0% |
|
||
| `tableName` | `tablename` | string | 100.0% |
|
||
| `assistantOn` | `assistanton` | string | 100.0% |
|
||
| `assistantName` | `assistantname` | string | 100.0% |
|
||
| `pdChargeMinutes` | `pdchargeminutes` | integer | 100.0% |
|
||
| `assistantAbolishAmount` | `assistantabolishamount` | number | 100.0% |
|
||
| `trashReason` | `trashreason` | string | 100.0% |
|
||
|
||
<details><summary>仅存于 payload 的字段(24 个)</summary>
|
||
|
||
| JSON 路径 | JSON 类型 | 出现率 |
|
||
|----------|----------|-------|
|
||
| `siteProfile.org_id` | integer | 100.0% |
|
||
| `siteProfile.shop_name` | string | 100.0% |
|
||
| `siteProfile.avatar` | string | 100.0% |
|
||
| `siteProfile.business_tel` | string | 100.0% |
|
||
| `siteProfile.full_address` | string | 100.0% |
|
||
| `siteProfile.address` | string | 100.0% |
|
||
| `siteProfile.longitude` | number | 100.0% |
|
||
| `siteProfile.latitude` | number | 100.0% |
|
||
| `siteProfile.tenant_site_region_id` | integer | 100.0% |
|
||
| `siteProfile.auto_light` | integer | 100.0% |
|
||
| `siteProfile.attendance_distance` | integer | 100.0% |
|
||
| `siteProfile.wifi_name` | string | 100.0% |
|
||
| `siteProfile.wifi_password` | string | 100.0% |
|
||
| `siteProfile.customer_service_qrcode` | string | 100.0% |
|
||
| `siteProfile.customer_service_wechat` | string | 100.0% |
|
||
| `siteProfile.fixed_pay_qrCode` | string | 100.0% |
|
||
| `siteProfile.prod_env` | integer | 100.0% |
|
||
| `siteProfile.light_status` | integer | 100.0% |
|
||
| `siteProfile.light_type` | integer | 100.0% |
|
||
| `siteProfile.site_type` | integer | 100.0% |
|
||
| `siteProfile.light_token` | string | 100.0% |
|
||
| `siteProfile.site_label` | string | 100.0% |
|
||
| `siteProfile.attendance_enabled` | integer | 100.0% |
|
||
| `siteProfile.shop_status` | integer | 100.0% |
|
||
|
||
</details>
|
||
|
||
#### ODS→DWD:`dwd_assistant_trash_event`(直接 11 / 派生 0 / SCD2 0)
|
||
|
||
| DWD 列名 | 类型 | 映射类型 | ODS 来源 | 说明 |
|
||
|---------|------|---------|---------|------|
|
||
| `assistant_trash_event_id` | BIGINT | 直接 | `id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `site_id` | BIGINT | 直接 | `siteid` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `table_id` | BIGINT | 直接 | `tableid` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `table_area_id` | BIGINT | 直接 | `tableareaid` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `assistant_no` | VARCHAR(32) | 直接 | `assistantname` | 明细字段,用于记录事实取值 |
|
||
| `assistant_name` | VARCHAR(64) | 直接 | `assistantname` | 名称字段,用于展示与辅助识别 |
|
||
| `charge_minutes_raw` | INTEGER | 直接 | `pdchargeminutes` | 明细字段,用于记录事实取值 |
|
||
| `abolish_amount` | NUMERIC(18,2) | 直接 | `assistantabolishamount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `trash_reason` | VARCHAR(255) | 直接 | `trashreason` | 明细字段,用于记录事实取值 |
|
||
| `create_time` | TIMESTAMPTZ | 直接 | `createtime` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `tenant_id` | BIGINT | 直接 | `tenant_id` | |
|
||
|
||
#### ODS→DWD:`dwd_assistant_trash_event_ex`(直接 3 / 派生 0 / SCD2 0)
|
||
|
||
| DWD 列名 | 类型 | 映射类型 | ODS 来源 | 说明 |
|
||
|---------|------|---------|---------|------|
|
||
| `assistant_trash_event_id` | BIGINT | 直接 | `id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `table_name` | VARCHAR(64) | 直接 | `tablename` | 名称字段,用于展示与辅助识别 |
|
||
| `table_area_name` | VARCHAR(64) | 直接 | `tablearea` | 名称字段,用于展示与辅助识别 |
|
||
|
||
---
|
||
|
||
### 3.6 store_goods_sales_records(门店商品销售流水)
|
||
|
||
- 任务代码:`ODS_STORE_GOODS_SALES`
|
||
- 采样记录数:200
|
||
- ODS 列数:56
|
||
- DWD 目标表:dwd_store_goods_sale, dwd_store_goods_sale_ex
|
||
|
||
#### JSON→ODS 映射(已映射 51/51,覆盖率 100.0%)
|
||
|
||
| JSON 路径 | ODS 列名 | JSON 类型 | 出现率 |
|
||
|----------|---------|----------|-------|
|
||
| `siteId` | `siteid` | integer | 100.0% |
|
||
| `siteName` | `sitename` | string | 100.0% |
|
||
| `orderGoodsId` | `ordergoodsid` | integer | 100.0% |
|
||
| `openSalesman` | `opensalesman` | integer | 100.0% |
|
||
| `id` | `id` | integer | 100.0% |
|
||
| `cost_money` | `cost_money` | number | 100.0% |
|
||
| `coupon_deduct_money` | `coupon_deduct_money` | number | 100.0% |
|
||
| `coupon_share_money` | `coupon_share_money` | number | 100.0% |
|
||
| `create_time` | `create_time` | string | 100.0% |
|
||
| `discount_money` | `discount_money` | number | 100.0% |
|
||
| `discount_price` | `discount_price` | number | 100.0% |
|
||
| `goods_remark` | `goods_remark` | string | 100.0% |
|
||
| `is_delete` | `is_delete` | integer | 100.0% |
|
||
| `is_single_order` | `is_single_order` | integer | 100.0% |
|
||
| `ledger_amount` | `ledger_amount` | number | 100.0% |
|
||
| `ledger_count` | `ledger_count` | integer | 100.0% |
|
||
| `ledger_group_name` | `ledger_group_name` | string | 100.0% |
|
||
| `ledger_name` | `ledger_name` | string | 100.0% |
|
||
| `ledger_status` | `ledger_status` | integer | 100.0% |
|
||
| `ledger_unit_price` | `ledger_unit_price` | number | 100.0% |
|
||
| `member_coupon_id` | `member_coupon_id` | integer | 100.0% |
|
||
| `member_discount_amount` | `member_discount_amount` | number | 100.0% |
|
||
| `operator_id` | `operator_id` | integer | 100.0% |
|
||
| `operator_name` | `operator_name` | string | 100.0% |
|
||
| `option_coupon_deduct_money` | `option_coupon_deduct_money` | number | 100.0% |
|
||
| `option_member_discount_money` | `option_member_discount_money` | number | 100.0% |
|
||
| `option_price` | `option_price` | number | 100.0% |
|
||
| `option_value_name` | `option_value_name` | string | 100.0% |
|
||
| `order_coupon_id` | `order_coupon_id` | integer | 100.0% |
|
||
| `order_goods_id` | `order_goods_id` | integer | 100.0% |
|
||
| `order_pay_id` | `order_pay_id` | integer | 100.0% |
|
||
| `order_settle_id` | `order_settle_id` | integer | 100.0% |
|
||
| `order_trade_no` | `order_trade_no` | integer | 100.0% |
|
||
| `package_coupon_id` | `package_coupon_id` | integer | 100.0% |
|
||
| `point_discount_money` | `point_discount_money` | number | 100.0% |
|
||
| `point_discount_money_cost` | `point_discount_money_cost` | number | 100.0% |
|
||
| `push_money` | `push_money` | number | 100.0% |
|
||
| `real_goods_money` | `real_goods_money` | number | 100.0% |
|
||
| `returns_number` | `returns_number` | integer | 100.0% |
|
||
| `sales_man_org_id` | `sales_man_org_id` | integer | 100.0% |
|
||
| `sales_type` | `sales_type` | integer | 100.0% |
|
||
| `salesman_name` | `salesman_name` | string | 100.0% |
|
||
| `salesman_role_id` | `salesman_role_id` | integer | 100.0% |
|
||
| `salesman_user_id` | `salesman_user_id` | integer | 100.0% |
|
||
| `site_goods_id` | `site_goods_id` | integer | 100.0% |
|
||
| `site_id` | `site_id` | integer | 100.0% |
|
||
| `site_table_id` | `site_table_id` | integer | 100.0% |
|
||
| `tenant_goods_business_id` | `tenant_goods_business_id` | integer | 100.0% |
|
||
| `tenant_goods_category_id` | `tenant_goods_category_id` | integer | 100.0% |
|
||
| `tenant_goods_id` | `tenant_goods_id` | integer | 100.0% |
|
||
| `tenant_id` | `tenant_id` | integer | 100.0% |
|
||
|
||
#### ODS→DWD:`dwd_store_goods_sale`(直接 24 / 派生 0 / SCD2 0)
|
||
|
||
| DWD 列名 | 类型 | 映射类型 | ODS 来源 | 说明 |
|
||
|---------|------|---------|---------|------|
|
||
| `store_goods_sale_id` | BIGINT | 直接 | `id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `order_trade_no` | BIGINT | 直接 | `order_trade_no` | 明细字段,用于记录事实取值 |
|
||
| `order_settle_id` | BIGINT | 直接 | `order_settle_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `order_pay_id` | BIGINT | 直接 | `order_pay_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `order_goods_id` | BIGINT | 直接 | `order_goods_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `site_id` | BIGINT | 直接 | `site_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `tenant_id` | BIGINT | 直接 | `tenant_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `site_goods_id` | BIGINT | 直接 | `site_goods_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `tenant_goods_id` | BIGINT | 直接 | `tenant_goods_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `tenant_goods_category_id` | BIGINT | 直接 | `tenant_goods_category_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `tenant_goods_business_id` | BIGINT | 直接 | `tenant_goods_business_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `site_table_id` | BIGINT | 直接 | `site_table_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `ledger_name` | VARCHAR(200) | 直接 | `ledger_name` | 名称字段,用于展示与辅助识别 |
|
||
| `ledger_group_name` | VARCHAR(100) | 直接 | `ledger_group_name` | 名称字段,用于展示与辅助识别 |
|
||
| `ledger_unit_price` | NUMERIC(18,2) | 直接 | `ledger_unit_price` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `ledger_count` | INTEGER | 直接 | `ledger_count` | 数量/时长字段,用于统计与计量 |
|
||
| `ledger_amount` | NUMERIC(18,2) | 直接 | `ledger_amount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `discount_price` | NUMERIC(18,2) | 直接 | `discount_money` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `real_goods_money` | NUMERIC(18,2) | 直接 | `real_goods_money` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `cost_money` | NUMERIC(18,2) | 直接 | `cost_money` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `ledger_status` | INTEGER | 直接 | `ledger_status` | 状态枚举字段,用于标识业务状态 |
|
||
| `is_delete` | INTEGER | 直接 | `is_delete` | 布尔/开关字段,用于表示是否/可用性等业务开关 |
|
||
| `create_time` | TIMESTAMPTZ | 直接 | `create_time` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `coupon_share_money` | NUMERIC(18,2) | 直接 | `coupon_share_money` | |
|
||
|
||
#### ODS→DWD:`dwd_store_goods_sale_ex`(直接 28 / 派生 0 / SCD2 0)
|
||
|
||
| DWD 列名 | 类型 | 映射类型 | ODS 来源 | 说明 |
|
||
|---------|------|---------|---------|------|
|
||
| `store_goods_sale_id` | BIGINT | 直接 | `id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `legacy_order_goods_id` | BIGINT | 直接 | `order_goods_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `site_name` | TEXT | 直接 | `sitename` | 名称字段,用于展示与辅助识别 |
|
||
| `legacy_site_id` | BIGINT | 直接 | `site_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `goods_remark` | TEXT | 直接 | `goods_remark` | 明细字段,用于记录事实取值 |
|
||
| `option_value_name` | TEXT | 直接 | `option_value_name` | 名称字段,用于展示与辅助识别 |
|
||
| `operator_name` | TEXT | 直接 | `operator_name` | 名称字段,用于展示与辅助识别 |
|
||
| `open_salesman_flag` | INTEGER | 直接 | `opensalesman` | 明细字段,用于记录事实取值 |
|
||
| `salesman_user_id` | BIGINT | 直接 | `salesman_user_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `salesman_name` | TEXT | 直接 | `salesman_name` | 名称字段,用于展示与辅助识别 |
|
||
| `salesman_role_id` | BIGINT | 直接 | `salesman_role_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `salesman_org_id` | BIGINT | 直接 | `sales_man_org_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `discount_money` | NUMERIC(18,2) | 直接 | `discount_money` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `returns_number` | INTEGER | 直接 | `returns_number` | 数量/时长字段,用于统计与计量 |
|
||
| `coupon_deduct_money` | NUMERIC(18,2) | 直接 | `coupon_deduct_money` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `member_discount_amount` | NUMERIC(18,2) | 直接 | `member_discount_amount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `point_discount_money` | NUMERIC(18,2) | 直接 | `point_discount_money` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `point_discount_money_cost` | NUMERIC(18,2) | 直接 | `point_discount_money_cost` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `package_coupon_id` | BIGINT | 直接 | `package_coupon_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `order_coupon_id` | BIGINT | 直接 | `order_coupon_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `member_coupon_id` | BIGINT | 直接 | `member_coupon_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `option_price` | NUMERIC(18,2) | 直接 | `option_price` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `option_member_discount_money` | NUMERIC(18,2) | 直接 | `option_member_discount_money` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `option_coupon_deduct_money` | NUMERIC(18,2) | 直接 | `option_coupon_deduct_money` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `push_money` | NUMERIC(18,2) | 直接 | `push_money` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `is_single_order` | INTEGER | 直接 | `is_single_order` | 布尔/开关字段,用于表示是否/可用性等业务开关 |
|
||
| `sales_type` | INTEGER | 直接 | `sales_type` | 明细字段,用于记录事实取值 |
|
||
| `operator_id` | BIGINT | 直接 | `operator_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
|
||
---
|
||
|
||
### 3.7 payment_transactions(支付流水)
|
||
|
||
- 任务代码:`ODS_PAYMENT`
|
||
- 采样记录数:200
|
||
- ODS 列数:17
|
||
- DWD 目标表:dwd_payment
|
||
|
||
#### JSON→ODS 映射(已映射 12/36,覆盖率 33.3%)
|
||
|
||
| JSON 路径 | ODS 列名 | JSON 类型 | 出现率 |
|
||
|----------|---------|----------|-------|
|
||
| `siteProfile.id` | `id` | integer | 100.0% |
|
||
| `siteProfile.tenant_id` | `tenant_id` | integer | 100.0% |
|
||
| `create_time` | `create_time` | string | 100.0% |
|
||
| `pay_amount` | `pay_amount` | number | 100.0% |
|
||
| `pay_status` | `pay_status` | integer | 100.0% |
|
||
| `pay_time` | `pay_time` | string | 100.0% |
|
||
| `online_pay_channel` | `online_pay_channel` | integer | 100.0% |
|
||
| `relate_type` | `relate_type` | integer | 100.0% |
|
||
| `relate_id` | `relate_id` | integer | 100.0% |
|
||
| `site_id` | `site_id` | integer | 100.0% |
|
||
| `id` | `id` | integer | 100.0% |
|
||
| `payment_method` | `payment_method` | integer | 100.0% |
|
||
|
||
<details><summary>仅存于 payload 的字段(24 个)</summary>
|
||
|
||
| JSON 路径 | JSON 类型 | 出现率 |
|
||
|----------|----------|-------|
|
||
| `siteProfile.org_id` | integer | 100.0% |
|
||
| `siteProfile.shop_name` | string | 100.0% |
|
||
| `siteProfile.avatar` | string | 100.0% |
|
||
| `siteProfile.business_tel` | string | 100.0% |
|
||
| `siteProfile.full_address` | string | 100.0% |
|
||
| `siteProfile.address` | string | 100.0% |
|
||
| `siteProfile.longitude` | number | 100.0% |
|
||
| `siteProfile.latitude` | number | 100.0% |
|
||
| `siteProfile.tenant_site_region_id` | integer | 100.0% |
|
||
| `siteProfile.auto_light` | integer | 100.0% |
|
||
| `siteProfile.attendance_distance` | integer | 100.0% |
|
||
| `siteProfile.wifi_name` | string | 100.0% |
|
||
| `siteProfile.wifi_password` | string | 100.0% |
|
||
| `siteProfile.customer_service_qrcode` | string | 100.0% |
|
||
| `siteProfile.customer_service_wechat` | string | 100.0% |
|
||
| `siteProfile.fixed_pay_qrCode` | string | 100.0% |
|
||
| `siteProfile.prod_env` | integer | 100.0% |
|
||
| `siteProfile.light_status` | integer | 100.0% |
|
||
| `siteProfile.light_type` | integer | 100.0% |
|
||
| `siteProfile.site_type` | integer | 100.0% |
|
||
| `siteProfile.light_token` | string | 100.0% |
|
||
| `siteProfile.site_label` | string | 100.0% |
|
||
| `siteProfile.attendance_enabled` | integer | 100.0% |
|
||
| `siteProfile.shop_status` | integer | 100.0% |
|
||
|
||
</details>
|
||
|
||
#### ODS→DWD:`dwd_payment`(直接 11 / 派生 1 / SCD2 0)
|
||
|
||
| DWD 列名 | 类型 | 映射类型 | ODS 来源 | 说明 |
|
||
|---------|------|---------|---------|------|
|
||
| `payment_id` | BIGINT | 直接 | `id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `site_id` | BIGINT | 直接 | `site_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `relate_type` | INTEGER | 直接 | `relate_type` | 明细字段,用于记录事实取值 |
|
||
| `relate_id` | BIGINT | 直接 | `relate_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `pay_amount` | NUMERIC(18,2) | 直接 | `pay_amount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `pay_status` | INTEGER | 直接 | `pay_status` | 状态枚举字段,用于标识业务状态 |
|
||
| `payment_method` | INTEGER | 直接 | `payment_method` | 明细字段,用于记录事实取值 |
|
||
| `online_pay_channel` | INTEGER | 直接 | `online_pay_channel` | 明细字段,用于记录事实取值 |
|
||
| `create_time` | TIMESTAMPTZ | 直接 | `create_time` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `pay_time` | TIMESTAMPTZ | 直接 | `pay_time` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `pay_date` | DATE | 派生 | `pay_time(派生:DATE(pay_time))` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `tenant_id` | BIGINT | 直接 | `tenant_id` | |
|
||
|
||
---
|
||
|
||
### 3.8 refund_transactions(退款流水)
|
||
|
||
- 任务代码:`ODS_REFUND`
|
||
- 采样记录数:36
|
||
- ODS 列数:37
|
||
- DWD 目标表:dwd_refund
|
||
|
||
#### JSON→ODS 映射(已映射 33/57,覆盖率 57.9%)
|
||
|
||
| JSON 路径 | ODS 列名 | JSON 类型 | 出现率 |
|
||
|----------|---------|----------|-------|
|
||
| `tenantName` | `tenantname` | string | 100.0% |
|
||
| `siteProfile.id` | `id` | integer | 100.0% |
|
||
| `siteProfile.tenant_id` | `tenant_id` | integer | 100.0% |
|
||
| `id` | `id` | integer | 100.0% |
|
||
| `site_id` | `site_id` | integer | 100.0% |
|
||
| `tenant_id` | `tenant_id` | integer | 100.0% |
|
||
| `pay_sn` | `pay_sn` | integer | 100.0% |
|
||
| `pay_amount` | `pay_amount` | number | 100.0% |
|
||
| `pay_status` | `pay_status` | integer | 100.0% |
|
||
| `pay_time` | `pay_time` | string | 100.0% |
|
||
| `create_time` | `create_time` | string | 100.0% |
|
||
| `relate_type` | `relate_type` | integer | 100.0% |
|
||
| `relate_id` | `relate_id` | integer | 100.0% |
|
||
| `is_revoke` | `is_revoke` | integer | 100.0% |
|
||
| `is_delete` | `is_delete` | integer | 100.0% |
|
||
| `online_pay_channel` | `online_pay_channel` | integer | 100.0% |
|
||
| `payment_method` | `payment_method` | integer | 100.0% |
|
||
| `balance_frozen_amount` | `balance_frozen_amount` | number | 100.0% |
|
||
| `card_frozen_amount` | `card_frozen_amount` | number | 100.0% |
|
||
| `member_id` | `member_id` | integer | 100.0% |
|
||
| `member_card_id` | `member_card_id` | integer | 100.0% |
|
||
| `round_amount` | `round_amount` | number | 100.0% |
|
||
| `online_pay_type` | `online_pay_type` | integer | 100.0% |
|
||
| `action_type` | `action_type` | integer | 100.0% |
|
||
| `refund_amount` | `refund_amount` | number | 100.0% |
|
||
| `cashier_point_id` | `cashier_point_id` | integer | 100.0% |
|
||
| `operator_id` | `operator_id` | integer | 100.0% |
|
||
| `pay_terminal` | `pay_terminal` | integer | 100.0% |
|
||
| `pay_config_id` | `pay_config_id` | integer | 100.0% |
|
||
| `channel_payer_id` | `channel_payer_id` | string | 100.0% |
|
||
| `channel_pay_no` | `channel_pay_no` | string | 100.0% |
|
||
| `check_status` | `check_status` | integer | 100.0% |
|
||
| `channel_fee` | `channel_fee` | number | 100.0% |
|
||
|
||
<details><summary>仅存于 payload 的字段(24 个)</summary>
|
||
|
||
| JSON 路径 | JSON 类型 | 出现率 |
|
||
|----------|----------|-------|
|
||
| `siteProfile.org_id` | integer | 100.0% |
|
||
| `siteProfile.shop_name` | string | 100.0% |
|
||
| `siteProfile.avatar` | string | 100.0% |
|
||
| `siteProfile.business_tel` | string | 100.0% |
|
||
| `siteProfile.full_address` | string | 100.0% |
|
||
| `siteProfile.address` | string | 100.0% |
|
||
| `siteProfile.longitude` | number | 100.0% |
|
||
| `siteProfile.latitude` | number | 100.0% |
|
||
| `siteProfile.tenant_site_region_id` | integer | 100.0% |
|
||
| `siteProfile.auto_light` | integer | 100.0% |
|
||
| `siteProfile.attendance_distance` | integer | 100.0% |
|
||
| `siteProfile.wifi_name` | string | 100.0% |
|
||
| `siteProfile.wifi_password` | string | 100.0% |
|
||
| `siteProfile.customer_service_qrcode` | string | 100.0% |
|
||
| `siteProfile.customer_service_wechat` | string | 100.0% |
|
||
| `siteProfile.fixed_pay_qrCode` | string | 100.0% |
|
||
| `siteProfile.prod_env` | integer | 100.0% |
|
||
| `siteProfile.light_status` | integer | 100.0% |
|
||
| `siteProfile.light_type` | integer | 100.0% |
|
||
| `siteProfile.site_type` | integer | 100.0% |
|
||
| `siteProfile.light_token` | string | 100.0% |
|
||
| `siteProfile.site_label` | string | 100.0% |
|
||
| `siteProfile.attendance_enabled` | integer | 100.0% |
|
||
| `siteProfile.shop_status` | integer | 100.0% |
|
||
|
||
</details>
|
||
|
||
#### ODS→DWD:`dwd_refund`(直接 12 / 派生 0 / SCD2 0)
|
||
|
||
| DWD 列名 | 类型 | 映射类型 | ODS 来源 | 说明 |
|
||
|---------|------|---------|---------|------|
|
||
| `refund_id` | BIGINT | 直接 | `id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `tenant_id` | BIGINT | 直接 | `tenant_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `site_id` | BIGINT | 直接 | `site_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `relate_type` | INTEGER | 直接 | `relate_type` | 明细字段,用于记录事实取值 |
|
||
| `relate_id` | BIGINT | 直接 | `relate_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `pay_amount` | NUMERIC(18,2) | 直接 | `pay_amount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `channel_fee` | NUMERIC(18,2) | 直接 | `channel_fee` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `pay_time` | TIMESTAMPTZ | 直接 | `pay_time` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `create_time` | TIMESTAMPTZ | 直接 | `create_time` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `payment_method` | INTEGER | 直接 | `payment_method` | 明细字段,用于记录事实取值 |
|
||
| `member_id` | BIGINT | 直接 | `member_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `member_card_id` | BIGINT | 直接 | `member_card_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
|
||
---
|
||
|
||
### 3.9 platform_coupon_redemption_records(平台/团购券核销)
|
||
|
||
- 任务代码:`ODS_PLATFORM_COUPON`
|
||
- 采样记录数:200
|
||
- ODS 列数:31
|
||
- DWD 目标表:dwd_platform_coupon_redemption, dwd_platform_coupon_redemption_ex
|
||
|
||
#### JSON→ODS 映射(已映射 27/51,覆盖率 52.9%)
|
||
|
||
| JSON 路径 | ODS 列名 | JSON 类型 | 出现率 |
|
||
|----------|---------|----------|-------|
|
||
| `siteProfile.id` | `id` | integer | 100.0% |
|
||
| `siteProfile.tenant_id` | `tenant_id` | integer | 100.0% |
|
||
| `id` | `id` | integer | 100.0% |
|
||
| `tenant_id` | `tenant_id` | integer | 100.0% |
|
||
| `site_id` | `site_id` | integer | 100.0% |
|
||
| `sale_price` | `sale_price` | number | 100.0% |
|
||
| `coupon_code` | `coupon_code` | string | 100.0% |
|
||
| `coupon_channel` | `coupon_channel` | integer | 100.0% |
|
||
| `site_order_id` | `site_order_id` | integer | 100.0% |
|
||
| `coupon_free_time` | `coupon_free_time` | integer | 100.0% |
|
||
| `use_status` | `use_status` | integer | 100.0% |
|
||
| `create_time` | `create_time` | string | 100.0% |
|
||
| `is_delete` | `is_delete` | integer | 100.0% |
|
||
| `coupon_name` | `coupon_name` | string | 100.0% |
|
||
| `coupon_cover` | `coupon_cover` | string | 100.0% |
|
||
| `coupon_remark` | `coupon_remark` | string | 100.0% |
|
||
| `channel_deal_id` | `channel_deal_id` | integer | 100.0% |
|
||
| `group_package_id` | `group_package_id` | integer | 100.0% |
|
||
| `consume_time` | `consume_time` | string | 100.0% |
|
||
| `groupon_type` | `groupon_type` | integer | 100.0% |
|
||
| `coupon_money` | `coupon_money` | number | 100.0% |
|
||
| `operator_id` | `operator_id` | integer | 100.0% |
|
||
| `operator_name` | `operator_name` | string | 100.0% |
|
||
| `table_id` | `table_id` | integer | 100.0% |
|
||
| `certificate_id` | `certificate_id` | string | 100.0% |
|
||
| `verify_id` | `verify_id` | string | 100.0% |
|
||
| `deal_id` | `deal_id` | integer | 100.0% |
|
||
|
||
<details><summary>仅存于 payload 的字段(24 个)</summary>
|
||
|
||
| JSON 路径 | JSON 类型 | 出现率 |
|
||
|----------|----------|-------|
|
||
| `siteProfile.org_id` | integer | 100.0% |
|
||
| `siteProfile.shop_name` | string | 100.0% |
|
||
| `siteProfile.avatar` | string | 100.0% |
|
||
| `siteProfile.business_tel` | string | 100.0% |
|
||
| `siteProfile.full_address` | string | 100.0% |
|
||
| `siteProfile.address` | string | 100.0% |
|
||
| `siteProfile.longitude` | number | 100.0% |
|
||
| `siteProfile.latitude` | number | 100.0% |
|
||
| `siteProfile.tenant_site_region_id` | integer | 100.0% |
|
||
| `siteProfile.auto_light` | integer | 100.0% |
|
||
| `siteProfile.attendance_distance` | integer | 100.0% |
|
||
| `siteProfile.wifi_name` | string | 100.0% |
|
||
| `siteProfile.wifi_password` | string | 100.0% |
|
||
| `siteProfile.customer_service_qrcode` | string | 100.0% |
|
||
| `siteProfile.customer_service_wechat` | string | 100.0% |
|
||
| `siteProfile.fixed_pay_qrCode` | string | 100.0% |
|
||
| `siteProfile.prod_env` | integer | 100.0% |
|
||
| `siteProfile.light_status` | integer | 100.0% |
|
||
| `siteProfile.light_type` | integer | 100.0% |
|
||
| `siteProfile.site_type` | integer | 100.0% |
|
||
| `siteProfile.light_token` | string | 100.0% |
|
||
| `siteProfile.site_label` | string | 100.0% |
|
||
| `siteProfile.attendance_enabled` | integer | 100.0% |
|
||
| `siteProfile.shop_status` | integer | 100.0% |
|
||
|
||
</details>
|
||
|
||
#### ODS→DWD:`dwd_platform_coupon_redemption`(直接 20 / 派生 0 / SCD2 0)
|
||
|
||
| DWD 列名 | 类型 | 映射类型 | ODS 来源 | 说明 |
|
||
|---------|------|---------|---------|------|
|
||
| `platform_coupon_redemption_id` | BIGINT | 直接 | `id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `tenant_id` | BIGINT | 直接 | `tenant_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `site_id` | BIGINT | 直接 | `site_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `coupon_code` | VARCHAR(64) | 直接 | `coupon_code` | 明细字段,用于记录事实取值 |
|
||
| `coupon_channel` | INTEGER | 直接 | `coupon_channel` | 明细字段,用于记录事实取值 |
|
||
| `coupon_name` | VARCHAR(200) | 直接 | `coupon_name` | 名称字段,用于展示与辅助识别 |
|
||
| `sale_price` | NUMERIC(10,2) | 直接 | `sale_price` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `coupon_money` | NUMERIC(10,2) | 直接 | `coupon_money` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `coupon_free_time` | INTEGER | 直接 | `coupon_free_time` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `channel_deal_id` | BIGINT | 直接 | `channel_deal_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `deal_id` | BIGINT | 直接 | `deal_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `group_package_id` | BIGINT | 直接 | `group_package_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `site_order_id` | BIGINT | 直接 | `site_order_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `table_id` | BIGINT | 直接 | `table_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `certificate_id` | VARCHAR(64) | 直接 | `certificate_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `verify_id` | VARCHAR(64) | 直接 | `verify_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `use_status` | INTEGER | 直接 | `use_status` | 状态枚举字段,用于标识业务状态 |
|
||
| `is_delete` | INTEGER | 直接 | `is_delete` | 布尔/开关字段,用于表示是否/可用性等业务开关 |
|
||
| `create_time` | TIMESTAMPTZ | 直接 | `create_time` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `consume_time` | TIMESTAMPTZ | 直接 | `consume_time` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
|
||
#### ODS→DWD:`dwd_platform_coupon_redemption_ex`(直接 6 / 派生 0 / SCD2 0)
|
||
|
||
| DWD 列名 | 类型 | 映射类型 | ODS 来源 | 说明 |
|
||
|---------|------|---------|---------|------|
|
||
| `platform_coupon_redemption_id` | BIGINT | 直接 | `id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `coupon_cover` | VARCHAR(255) | 直接 | `coupon_cover` | 明细字段,用于记录事实取值 |
|
||
| `coupon_remark` | VARCHAR(255) | 直接 | `coupon_remark` | 明细字段,用于记录事实取值 |
|
||
| `groupon_type` | INTEGER | 直接 | `groupon_type` | 明细字段,用于记录事实取值 |
|
||
| `operator_id` | BIGINT | 直接 | `operator_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `operator_name` | VARCHAR(50) | 直接 | `operator_name` | 名称字段,用于展示与辅助识别 |
|
||
|
||
---
|
||
|
||
### 3.10 member_profiles(会员档案)
|
||
|
||
- 任务代码:`ODS_MEMBER`
|
||
- 采样记录数:200
|
||
- ODS 列数:25
|
||
- DWD 目标表:dim_member, dim_member_ex
|
||
|
||
#### JSON→ODS 映射(已映射 20/20,覆盖率 100.0%)
|
||
|
||
| JSON 路径 | ODS 列名 | JSON 类型 | 出现率 |
|
||
|----------|---------|----------|-------|
|
||
| `id` | `id` | integer | 100.0% |
|
||
| `create_time` | `create_time` | string | 100.0% |
|
||
| `member_card_grade_code` | `member_card_grade_code` | integer | 100.0% |
|
||
| `mobile` | `mobile` | string | 100.0% |
|
||
| `nickname` | `nickname` | string | 100.0% |
|
||
| `register_site_id` | `register_site_id` | integer | 100.0% |
|
||
| `site_name` | `site_name` | string | 100.0% |
|
||
| `member_card_grade_name` | `member_card_grade_name` | string | 100.0% |
|
||
| `system_member_id` | `system_member_id` | integer | 100.0% |
|
||
| `tenant_id` | `tenant_id` | integer | 100.0% |
|
||
| `referrer_member_id` | `referrer_member_id` | integer | 100.0% |
|
||
| `point` | `point` | number | 100.0% |
|
||
| `user_status` | `user_status` | integer | 100.0% |
|
||
| `status` | `status` | integer | 100.0% |
|
||
| `growth_value` | `growth_value` | number | 100.0% |
|
||
| `person_tenant_org_id` | `person_tenant_org_id` | integer | 100.0% |
|
||
| `person_tenant_org_name` | `person_tenant_org_name` | string | 100.0% |
|
||
| `register_source` | `register_source` | integer | 100.0% |
|
||
| `recharge_money_sum` | `recharge_money_sum` | number | 100.0% |
|
||
| `pay_money_sum` | `pay_money_sum` | number | 100.0% |
|
||
|
||
#### ODS→DWD:`dim_member`(直接 11 / 派生 1 / SCD2 4)
|
||
|
||
| DWD 列名 | 类型 | 映射类型 | ODS 来源 | 说明 |
|
||
|---------|------|---------|---------|------|
|
||
| `member_id` | BIGINT | 直接 | `id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `system_member_id` | BIGINT | 直接 | `system_member_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `tenant_id` | BIGINT | 直接 | `tenant_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `register_site_id` | BIGINT | 直接 | `register_site_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `mobile` | TEXT | 直接 | `mobile` | 维度字段,用于补充维度属性 |
|
||
| `nickname` | TEXT | 直接 | `nickname` | 名称字段,用于展示与辅助识别 |
|
||
| `member_card_grade_code` | BIGINT | 直接 | `member_card_grade_code` | 维度字段,用于补充维度属性 |
|
||
| `member_card_grade_name` | TEXT | 直接 | `member_card_grade_name` | 名称字段,用于展示与辅助识别 |
|
||
| `create_time` | TIMESTAMPTZ | 直接 | `create_time` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `update_time` | TIMESTAMPTZ | 派生 | `update_time` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `pay_money_sum` | NUMERIC(18,2) | 直接 | `pay_money_sum` | |
|
||
| `recharge_money_sum` | NUMERIC(18,2) | 直接 | `recharge_money_sum` | |
|
||
| `scd2_start_time` | TIMESTAMPTZ | SCD2 | `—` | SCD2 开始时间(版本生效起点),用于维度慢变追踪 |
|
||
| `scd2_end_time` | TIMESTAMPTZ | SCD2 | `—` | SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪 |
|
||
| `scd2_is_current` | INT | SCD2 | `—` | SCD2 当前版本标记(1=当前,0=历史),用于筛选最新维度记录 |
|
||
| `scd2_version` | INT | SCD2 | `—` | SCD2 版本号(自增),用于与时间段一起避免版本重叠 |
|
||
|
||
#### ODS→DWD:`dim_member_ex`(直接 10 / 派生 0 / SCD2 4)
|
||
|
||
| DWD 列名 | 类型 | 映射类型 | ODS 来源 | 说明 |
|
||
|---------|------|---------|---------|------|
|
||
| `member_id` | BIGINT | 直接 | `id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `referrer_member_id` | BIGINT | 直接 | `referrer_member_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `point` | NUMERIC(18,2) | 直接 | `point` | 维度字段,用于补充维度属性 |
|
||
| `register_site_name` | TEXT | 直接 | `site_name` | 名称字段,用于展示与辅助识别 |
|
||
| `growth_value` | NUMERIC(18,2) | 直接 | `growth_value` | 维度字段,用于补充维度属性 |
|
||
| `user_status` | INTEGER | 直接 | `user_status` | 状态枚举字段,用于标识业务状态 |
|
||
| `status` | INTEGER | 直接 | `status` | 状态枚举字段,用于标识业务状态 |
|
||
| `person_tenant_org_id` | BIGINT | 直接 | `person_tenant_org_id` | |
|
||
| `person_tenant_org_name` | TEXT | 直接 | `person_tenant_org_name` | |
|
||
| `register_source` | TEXT | 直接 | `register_source` | |
|
||
| `scd2_start_time` | TIMESTAMPTZ | SCD2 | `—` | SCD2 开始时间(版本生效起点),用于维度慢变追踪 |
|
||
| `scd2_end_time` | TIMESTAMPTZ | SCD2 | `—` | SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪 |
|
||
| `scd2_is_current` | INT | SCD2 | `—` | SCD2 当前版本标记(1=当前,0=历史),用于筛选最新维度记录 |
|
||
| `scd2_version` | INT | SCD2 | `—` | SCD2 版本号(自增),用于与时间段一起避免版本重叠 |
|
||
|
||
---
|
||
|
||
### 3.11 member_stored_value_cards(会员储值卡)
|
||
|
||
- 任务代码:`ODS_MEMBER_CARD`
|
||
- 采样记录数:200
|
||
- ODS 列数:80
|
||
- DWD 目标表:dim_member_card_account, dim_member_card_account_ex
|
||
|
||
#### JSON→ODS 映射(已映射 71/71,覆盖率 100.0%)
|
||
|
||
| JSON 路径 | ODS 列名 | JSON 类型 | 出现率 |
|
||
|----------|---------|----------|-------|
|
||
| `site_name` | `site_name` | string | 100.0% |
|
||
| `member_name` | `member_name` | string | 98.5% |
|
||
| `member_mobile` | `member_mobile` | string | 98.5% |
|
||
| `member_card_type_name` | `member_card_type_name` | string | 100.0% |
|
||
| `table_service_discount` | `table_service_discount` | number | 100.0% |
|
||
| `assistant_service_discount` | `assistant_service_discount` | number | 100.0% |
|
||
| `coupon_discount` | `coupon_discount` | number | 100.0% |
|
||
| `goods_service_discount` | `goods_service_discount` | number | 100.0% |
|
||
| `electricity_discount` | `electricity_discount` | number | 100.0% |
|
||
| `is_allow_give` | `is_allow_give` | integer | 100.0% |
|
||
| `able_cross_site` | `able_cross_site` | integer | 100.0% |
|
||
| `cardSettleDeduct` | `cardsettlededuct` | number | 100.0% |
|
||
| `tenantAvatar` | `tenantavatar` | string | 100.0% |
|
||
| `tenantName` | `tenantname` | string | 100.0% |
|
||
| `member_card_grade_code_name` | `member_card_grade_code_name` | string | 100.0% |
|
||
| `table_discount_sub_switch` | `table_discount_sub_switch` | integer | 100.0% |
|
||
| `goods_discount_sub_switch` | `goods_discount_sub_switch` | integer | 100.0% |
|
||
| `assistant_discount_sub_switch` | `assistant_discount_sub_switch` | integer | 100.0% |
|
||
| `assistant_reward_discount_sub_switch` | `assistant_reward_discount_sub_switch` | integer | 100.0% |
|
||
| `goods_discount_range_type` | `goods_discount_range_type` | integer | 100.0% |
|
||
| `use_scene` | `use_scene` | string | 100.0% |
|
||
| `balance` | `balance` | number | 100.0% |
|
||
| `table_deduct_radio` | `table_deduct_radio` | number | 100.0% |
|
||
| `table_service_deduct_radio` | `table_service_deduct_radio` | number | 100.0% |
|
||
| `goods_deduct_radio` | `goods_deduct_radio` | number | 100.0% |
|
||
| `goods_service_deduct_radio` | `goods_service_deduct_radio` | number | 100.0% |
|
||
| `assistant_deduct_radio` | `assistant_deduct_radio` | number | 100.0% |
|
||
| `assistant_service_deduct_radio` | `assistant_service_deduct_radio` | number | 100.0% |
|
||
| `assistant_reward_deduct_radio` | `assistant_reward_deduct_radio` | number | 100.0% |
|
||
| `coupon_deduct_radio` | `coupon_deduct_radio` | number | 100.0% |
|
||
| `electricity_deduct_radio` | `electricity_deduct_radio` | number | 100.0% |
|
||
| `electricityCardDeduct` | `electricitycarddeduct` | number | 100.0% |
|
||
| `tableCardDeduct` | `tablecarddeduct` | number | 100.0% |
|
||
| `tableServiceCardDeduct` | `tableservicecarddeduct` | number | 100.0% |
|
||
| `goodsCarDeduct` | `goodscardeduct` | number | 100.0% |
|
||
| `goodsServiceCardDeduct` | `goodsservicecarddeduct` | number | 100.0% |
|
||
| `assistantCardDeduct` | `assistantcarddeduct` | number | 100.0% |
|
||
| `assistantServiceCardDeduct` | `assistantservicecarddeduct` | number | 100.0% |
|
||
| `assistantRewardCardDeduct` | `assistantrewardcarddeduct` | number | 100.0% |
|
||
| `couponCardDeduct` | `couponcarddeduct` | number | 100.0% |
|
||
| `deliveryFeeDeduct` | `deliveryfeededuct` | number | 100.0% |
|
||
| `is_allow_order_deduct` | `is_allow_order_deduct` | integer | 100.0% |
|
||
| `member_grade` | `member_grade` | integer | 100.0% |
|
||
| `able_share_member_discount` | `able_share_member_discount` | integer | 100.0% |
|
||
| `rechargeFreezeBalance` | `rechargefreezebalance` | number | 100.0% |
|
||
| `id` | `id` | integer | 100.0% |
|
||
| `assistant_discount` | `assistant_discount` | number | 100.0% |
|
||
| `assistant_reward_discount` | `assistant_reward_discount` | number | 100.0% |
|
||
| `bind_password` | `bind_password` | string | 100.0% |
|
||
| `card_no` | `card_no` | string | 100.0% |
|
||
| `card_physics_type` | `card_physics_type` | integer | 100.0% |
|
||
| `card_type_id` | `card_type_id` | integer | 100.0% |
|
||
| `create_time` | `create_time` | string | 100.0% |
|
||
| `denomination` | `denomination` | number | 100.0% |
|
||
| `disable_end_time` | `disable_end_time` | string | 100.0% |
|
||
| `disable_start_time` | `disable_start_time` | string | 100.0% |
|
||
| `effect_site_id` | `effect_site_id` | integer | 100.0% |
|
||
| `end_time` | `end_time` | string | 100.0% |
|
||
| `goods_discount` | `goods_discount` | number | 100.0% |
|
||
| `is_delete` | `is_delete` | integer | 100.0% |
|
||
| `last_consume_time` | `last_consume_time` | string | 100.0% |
|
||
| `member_card_grade_code` | `member_card_grade_code` | integer | 100.0% |
|
||
| `principal_balance` | `principal_balance` | number | 100.0% |
|
||
| `register_site_id` | `register_site_id` | integer | 100.0% |
|
||
| `sort` | `sort` | integer | 100.0% |
|
||
| `start_time` | `start_time` | string | 100.0% |
|
||
| `status` | `status` | integer | 100.0% |
|
||
| `system_member_id` | `system_member_id` | integer | 100.0% |
|
||
| `table_discount` | `table_discount` | number | 100.0% |
|
||
| `tenant_id` | `tenant_id` | integer | 100.0% |
|
||
| `tenant_member_id` | `tenant_member_id` | integer | 100.0% |
|
||
|
||
#### ODS→DWD:`dim_member_card_account`(直接 19 / 派生 0 / SCD2 4)
|
||
|
||
| DWD 列名 | 类型 | 映射类型 | ODS 来源 | 说明 |
|
||
|---------|------|---------|---------|------|
|
||
| `member_card_id` | BIGINT | 直接 | `id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `tenant_id` | BIGINT | 直接 | `tenant_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `register_site_id` | BIGINT | 直接 | `register_site_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `tenant_member_id` | BIGINT | 直接 | `tenant_member_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `system_member_id` | BIGINT | 直接 | `system_member_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `card_type_id` | BIGINT | 直接 | `card_type_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `member_card_grade_code` | BIGINT | 直接 | `member_card_grade_code` | 维度字段,用于补充维度属性 |
|
||
| `member_card_grade_code_name` | TEXT | 直接 | `member_card_grade_code_name` | 名称字段,用于展示与辅助识别 |
|
||
| `member_card_type_name` | TEXT | 直接 | `member_card_type_name` | 名称字段,用于展示与辅助识别 |
|
||
| `member_name` | TEXT | 直接 | `member_name` | 名称字段,用于展示与辅助识别 |
|
||
| `member_mobile` | TEXT | 直接 | `member_mobile` | 维度字段,用于补充维度属性 |
|
||
| `balance` | NUMERIC(18,2) | 直接 | `balance` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `start_time` | TIMESTAMPTZ | 直接 | `start_time` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `end_time` | TIMESTAMPTZ | 直接 | `end_time` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `last_consume_time` | TIMESTAMPTZ | 直接 | `last_consume_time` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `status` | INTEGER | 直接 | `status` | 状态枚举字段,用于标识业务状态 |
|
||
| `is_delete` | INTEGER | 直接 | `is_delete` | 布尔/开关字段,用于表示是否/可用性等业务开关 |
|
||
| `principal_balance` | NUMERIC(18,2) | 直接 | `principal_balance` | |
|
||
| `member_grade` | BIGINT | 直接 | `member_grade` | |
|
||
| `scd2_start_time` | TIMESTAMPTZ | SCD2 | `—` | SCD2 开始时间(版本生效起点),用于维度慢变追踪 |
|
||
| `scd2_end_time` | TIMESTAMPTZ | SCD2 | `—` | SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪 |
|
||
| `scd2_is_current` | INT | SCD2 | `—` | SCD2 当前版本标记(1=当前,0=历史),用于筛选最新维度记录 |
|
||
| `scd2_version` | INT | SCD2 | `—` | SCD2 版本号(自增),用于与时间段一起避免版本重叠 |
|
||
|
||
#### ODS→DWD:`dim_member_card_account_ex`(直接 55 / 派生 2 / SCD2 4)
|
||
|
||
| DWD 列名 | 类型 | 映射类型 | ODS 来源 | 说明 |
|
||
|---------|------|---------|---------|------|
|
||
| `member_card_id` | BIGINT | 直接 | `id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `site_name` | TEXT | 直接 | `site_name` | 名称字段,用于展示与辅助识别 |
|
||
| `tenant_name` | VARCHAR(64) | 直接 | `tenantname` | 名称字段,用于展示与辅助识别 |
|
||
| `tenantavatar` | TEXT | 直接 | `tenantavatar` | 维度字段,用于补充维度属性 |
|
||
| `effect_site_id` | BIGINT | 直接 | `effect_site_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `able_cross_site` | INTEGER | 直接 | `able_cross_site` | 维度字段,用于补充维度属性 |
|
||
| `card_physics_type` | INTEGER | 直接 | `card_physics_type` | 维度字段,用于补充维度属性 |
|
||
| `card_no` | TEXT | 直接 | `card_no` | 维度字段,用于补充维度属性 |
|
||
| `bind_password` | TEXT | 直接 | `bind_password` | 维度字段,用于补充维度属性 |
|
||
| `use_scene` | TEXT | 直接 | `use_scene` | 维度字段,用于补充维度属性 |
|
||
| `denomination` | NUMERIC(18,2) | 直接 | `denomination` | 维度字段,用于补充维度属性 |
|
||
| `create_time` | TIMESTAMPTZ | 直接 | `create_time` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `disable_start_time` | TIMESTAMPTZ | 直接 | `disable_start_time` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `disable_end_time` | TIMESTAMPTZ | 直接 | `disable_end_time` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `is_allow_give` | INTEGER | 直接 | `is_allow_give` | 布尔/开关字段,用于表示是否/可用性等业务开关 |
|
||
| `is_allow_order_deduct` | INTEGER | 直接 | `is_allow_order_deduct` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `sort` | INTEGER | 直接 | `sort` | 维度字段,用于补充维度属性 |
|
||
| `table_discount` | NUMERIC(10,2) | 直接 | `table_discount` | 数量/时长字段,用于统计与计量 |
|
||
| `goods_discount` | NUMERIC(10,2) | 直接 | `goods_discount` | 数量/时长字段,用于统计与计量 |
|
||
| `assistant_discount` | NUMERIC(10,2) | 直接 | `assistant_discount` | 数量/时长字段,用于统计与计量 |
|
||
| `assistant_reward_discount` | NUMERIC(10,2) | 直接 | `assistant_reward_discount` | 数量/时长字段,用于统计与计量 |
|
||
| `table_service_discount` | NUMERIC(10,2) | 直接 | `table_service_discount` | 数量/时长字段,用于统计与计量 |
|
||
| `goods_service_discount` | NUMERIC(10,2) | 直接 | `goods_service_discount` | 数量/时长字段,用于统计与计量 |
|
||
| `assistant_service_discount` | NUMERIC(10,2) | 直接 | `assistant_service_discount` | 数量/时长字段,用于统计与计量 |
|
||
| `coupon_discount` | NUMERIC(10,2) | 直接 | `coupon_discount` | 数量/时长字段,用于统计与计量 |
|
||
| `table_discount_sub_switch` | INTEGER | 直接 | `table_discount_sub_switch` | 数量/时长字段,用于统计与计量 |
|
||
| `goods_discount_sub_switch` | INTEGER | 直接 | `goods_discount_sub_switch` | 数量/时长字段,用于统计与计量 |
|
||
| `assistant_discount_sub_switch` | INTEGER | 直接 | `assistant_discount_sub_switch` | 数量/时长字段,用于统计与计量 |
|
||
| `assistant_reward_discount_sub_switch` | INTEGER | 直接 | `assistant_reward_discount_sub_switch` | 数量/时长字段,用于统计与计量 |
|
||
| `goods_discount_range_type` | INTEGER | 直接 | `goods_discount_range_type` | 数量/时长字段,用于统计与计量 |
|
||
| `table_deduct_radio` | NUMERIC(10,2) | 直接 | `table_deduct_radio` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `goods_deduct_radio` | NUMERIC(10,2) | 直接 | `goods_deduct_radio` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `assistant_deduct_radio` | NUMERIC(10,2) | 直接 | `assistant_deduct_radio` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `table_service_deduct_radio` | NUMERIC(10,2) | 直接 | `table_service_deduct_radio` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `goods_service_deduct_radio` | NUMERIC(10,2) | 直接 | `goods_service_deduct_radio` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `assistant_service_deduct_radio` | NUMERIC(10,2) | 直接 | `assistant_service_deduct_radio` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `assistant_reward_deduct_radio` | NUMERIC(10,2) | 直接 | `assistant_reward_deduct_radio` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `coupon_deduct_radio` | NUMERIC(10,2) | 直接 | `coupon_deduct_radio` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `cardsettlededuct` | NUMERIC(18,2) | 直接 | `cardsettlededuct` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `tablecarddeduct` | NUMERIC(18,2) | 直接 | `tablecarddeduct` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `tableservicecarddeduct` | NUMERIC(18,2) | 直接 | `tableservicecarddeduct` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `goodscardeduct` | NUMERIC(18,2) | 直接 | `goodscardeduct` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `goodsservicecarddeduct` | NUMERIC(18,2) | 直接 | `goodsservicecarddeduct` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `assistantcarddeduct` | NUMERIC(18,2) | 直接 | `assistantcarddeduct` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `assistantservicecarddeduct` | NUMERIC(18,2) | 直接 | `assistantservicecarddeduct` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `assistantrewardcarddeduct` | NUMERIC(18,2) | 直接 | `assistantrewardcarddeduct` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `couponcarddeduct` | NUMERIC(18,2) | 直接 | `couponcarddeduct` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `deliveryfeededuct` | NUMERIC(18,2) | 直接 | `deliveryfeededuct` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `tableareaid` | TEXT | 直接 | `tableareaid` | 维度字段,用于补充维度属性 |
|
||
| `goodscategoryid` | TEXT | 直接 | `goodscategoryid` | 维度字段,用于补充维度属性 |
|
||
| `pdassisnatlevel` | TEXT | 直接 | `pdassisnatlevel` | 维度字段,用于补充维度属性 |
|
||
| `cxassisnatlevel` | TEXT | 直接 | `cxassisnatlevel` | 维度字段,用于补充维度属性 |
|
||
| `able_share_member_discount` | BOOLEAN | 直接 | `able_share_member_discount` | |
|
||
| `electricity_deduct_radio` | NUMERIC(18,4) | 直接 | `electricity_deduct_radio` | |
|
||
| `electricity_discount` | NUMERIC(18,4) | 直接 | `electricity_discount` | |
|
||
| `electricity_card_deduct` | BOOLEAN | 派生 | `—` | |
|
||
| `recharge_freeze_balance` | NUMERIC(18,2) | 派生 | `—` | |
|
||
| `scd2_start_time` | TIMESTAMPTZ | SCD2 | `—` | SCD2 开始时间(版本生效起点),用于维度慢变追踪 |
|
||
| `scd2_end_time` | TIMESTAMPTZ | SCD2 | `—` | SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪 |
|
||
| `scd2_is_current` | INT | SCD2 | `—` | SCD2 当前版本标记(1=当前,0=历史),用于筛选最新维度记录 |
|
||
| `scd2_version` | INT | SCD2 | `—` | SCD2 版本号(自增),用于与时间段一起避免版本重叠 |
|
||
|
||
---
|
||
|
||
### 3.12 member_balance_changes(会员余额变动)
|
||
|
||
- 任务代码:`ODS_MEMBER_BALANCE`
|
||
- 采样记录数:200
|
||
- ODS 列数:33
|
||
- DWD 目标表:dwd_member_balance_change, dwd_member_balance_change_ex
|
||
|
||
#### JSON→ODS 映射(已映射 28/28,覆盖率 100.0%)
|
||
|
||
| JSON 路径 | ODS 列名 | JSON 类型 | 出现率 |
|
||
|----------|---------|----------|-------|
|
||
| `memberCardTypeName` | `membercardtypename` | string | 100.0% |
|
||
| `paySiteName` | `paysitename` | string | 100.0% |
|
||
| `registerSiteName` | `registersitename` | string | 100.0% |
|
||
| `memberName` | `membername` | string | 100.0% |
|
||
| `memberMobile` | `membermobile` | string | 100.0% |
|
||
| `id` | `id` | integer | 100.0% |
|
||
| `account_data` | `account_data` | number | 100.0% |
|
||
| `after` | `after` | number | 100.0% |
|
||
| `before` | `before` | number | 100.0% |
|
||
| `card_type_id` | `card_type_id` | integer | 100.0% |
|
||
| `create_time` | `create_time` | string | 100.0% |
|
||
| `from_type` | `from_type` | integer | 100.0% |
|
||
| `is_delete` | `is_delete` | integer | 100.0% |
|
||
| `operator_id` | `operator_id` | integer | 100.0% |
|
||
| `operator_name` | `operator_name` | string | 100.0% |
|
||
| `payment_method` | `payment_method` | integer | 100.0% |
|
||
| `refund_amount` | `refund_amount` | number | 100.0% |
|
||
| `register_site_id` | `register_site_id` | integer | 100.0% |
|
||
| `relate_id` | `relate_id` | integer | 100.0% |
|
||
| `remark` | `remark` | string | 100.0% |
|
||
| `site_id` | `site_id` | integer | 100.0% |
|
||
| `system_member_id` | `system_member_id` | integer | 100.0% |
|
||
| `tenant_id` | `tenant_id` | integer | 100.0% |
|
||
| `tenant_member_card_id` | `tenant_member_card_id` | integer | 100.0% |
|
||
| `tenant_member_id` | `tenant_member_id` | integer | 100.0% |
|
||
| `principal_after` | `principal_after` | number | 100.0% |
|
||
| `principal_before` | `principal_before` | number | 100.0% |
|
||
| `principal_data` | `principal_data` | number | 100.0% |
|
||
|
||
#### ODS→DWD:`dwd_member_balance_change`(直接 21 / 派生 1 / SCD2 0)
|
||
|
||
| DWD 列名 | 类型 | 映射类型 | ODS 来源 | 说明 |
|
||
|---------|------|---------|---------|------|
|
||
| `balance_change_id` | BIGINT | 直接 | `id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `tenant_id` | BIGINT | 直接 | `tenant_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `site_id` | BIGINT | 直接 | `site_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `register_site_id` | BIGINT | 直接 | `register_site_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `tenant_member_id` | BIGINT | 直接 | `tenant_member_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `system_member_id` | BIGINT | 直接 | `system_member_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `tenant_member_card_id` | BIGINT | 直接 | `tenant_member_card_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `card_type_id` | BIGINT | 直接 | `card_type_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `card_type_name` | VARCHAR(32) | 直接 | `membercardtypename` | 名称字段,用于展示与辅助识别 |
|
||
| `member_name` | VARCHAR(64) | 直接 | `membername` | 名称字段,用于展示与辅助识别 |
|
||
| `member_mobile` | VARCHAR(20) | 直接 | `membermobile` | 明细字段,用于记录事实取值 |
|
||
| `balance_before` | NUMERIC(18,2) | 直接 | `before` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `change_amount` | NUMERIC(18,2) | 直接 | `account_data` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `balance_after` | NUMERIC(18,2) | 直接 | `after` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `from_type` | INTEGER | 直接 | `from_type` | 明细字段,用于记录事实取值 |
|
||
| `payment_method` | INTEGER | 直接 | `payment_method` | 明细字段,用于记录事实取值 |
|
||
| `change_time` | TIMESTAMPTZ | 直接 | `create_time` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `is_delete` | INTEGER | 直接 | `is_delete` | 布尔/开关字段,用于表示是否/可用性等业务开关 |
|
||
| `remark` | VARCHAR(255) | 直接 | `remark` | 明细字段,用于记录事实取值 |
|
||
| `principal_before` | NUMERIC(18,2) | 直接 | `principal_before` | 金额字段:本金变动前余额 |
|
||
| `principal_after` | NUMERIC(18,2) | 直接 | `principal_after` | 金额字段:本金变动后余额 |
|
||
| `principal_change_amount` | NUMERIC(18,2) | 派生 | `—` | 金额字段:本金变动金额(principal_after - principal_before),ET |
|
||
|
||
#### ODS→DWD:`dwd_member_balance_change_ex`(直接 7 / 派生 0 / SCD2 0)
|
||
|
||
| DWD 列名 | 类型 | 映射类型 | ODS 来源 | 说明 |
|
||
|---------|------|---------|---------|------|
|
||
| `balance_change_id` | BIGINT | 直接 | `id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `pay_site_name` | VARCHAR(64) | 直接 | `paysitename` | 名称字段,用于展示与辅助识别 |
|
||
| `register_site_name` | VARCHAR(64) | 直接 | `registersitename` | 名称字段,用于展示与辅助识别 |
|
||
| `refund_amount` | NUMERIC(18,2) | 直接 | `refund_amount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `operator_id` | BIGINT | 直接 | `operator_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `operator_name` | VARCHAR(64) | 直接 | `operator_name` | 名称字段,用于展示与辅助识别 |
|
||
| `principal_data` | TEXT | 直接 | `principal_data` | |
|
||
|
||
---
|
||
|
||
### 3.13 recharge_settlements(充值结算)
|
||
|
||
- 任务代码:`ODS_RECHARGE_SETTLE`
|
||
- 采样记录数:200
|
||
- ODS 列数:71
|
||
- DWD 目标表:dwd_recharge_order, dwd_recharge_order_ex
|
||
|
||
#### JSON→ODS 映射(已映射 68/92,覆盖率 73.9%)
|
||
|
||
| JSON 路径 | ODS 列名 | JSON 类型 | 出现率 |
|
||
|----------|---------|----------|-------|
|
||
| `siteProfile.id` | `id` | integer | 100.0% |
|
||
| `siteProfile.tenant_id` | `tenantid` | integer | 100.0% |
|
||
| `settleList.id` | `id` | integer | 100.0% |
|
||
| `settleList.tenantId` | `tenantid` | integer | 100.0% |
|
||
| `settleList.siteId` | `siteid` | integer | 100.0% |
|
||
| `settleList.siteName` | `sitename` | string | 100.0% |
|
||
| `settleList.balanceAmount` | `balanceamount` | number | 100.0% |
|
||
| `settleList.cardAmount` | `cardamount` | number | 100.0% |
|
||
| `settleList.cashAmount` | `cashamount` | number | 100.0% |
|
||
| `settleList.couponAmount` | `couponamount` | number | 100.0% |
|
||
| `settleList.createTime` | `createtime` | string | 100.0% |
|
||
| `settleList.memberId` | `memberid` | integer | 100.0% |
|
||
| `settleList.memberName` | `membername` | string | 100.0% |
|
||
| `settleList.tenantMemberCardId` | `tenantmembercardid` | integer | 100.0% |
|
||
| `settleList.memberCardTypeName` | `membercardtypename` | string | 100.0% |
|
||
| `settleList.memberPhone` | `memberphone` | string | 100.0% |
|
||
| `settleList.tableId` | `tableid` | integer | 100.0% |
|
||
| `settleList.consumeMoney` | `consumemoney` | number | 100.0% |
|
||
| `settleList.onlineAmount` | `onlineamount` | number | 100.0% |
|
||
| `settleList.operatorId` | `operatorid` | integer | 100.0% |
|
||
| `settleList.operatorName` | `operatorname` | string | 100.0% |
|
||
| `settleList.revokeOrderId` | `revokeorderid` | integer | 100.0% |
|
||
| `settleList.revokeOrderName` | `revokeordername` | string | 100.0% |
|
||
| `settleList.revokeTime` | `revoketime` | string | 100.0% |
|
||
| `settleList.payAmount` | `payamount` | number | 100.0% |
|
||
| `settleList.pointAmount` | `pointamount` | number | 100.0% |
|
||
| `settleList.refundAmount` | `refundamount` | number | 100.0% |
|
||
| `settleList.settleName` | `settlename` | string | 100.0% |
|
||
| `settleList.settleRelateId` | `settlerelateid` | integer | 100.0% |
|
||
| `settleList.settleStatus` | `settlestatus` | integer | 100.0% |
|
||
| `settleList.settleType` | `settletype` | integer | 100.0% |
|
||
| `settleList.payTime` | `paytime` | string | 100.0% |
|
||
| `settleList.roundingAmount` | `roundingamount` | number | 100.0% |
|
||
| `settleList.paymentMethod` | `paymentmethod` | integer | 100.0% |
|
||
| `settleList.adjustAmount` | `adjustamount` | number | 100.0% |
|
||
| `settleList.assistantCxMoney` | `assistantcxmoney` | number | 100.0% |
|
||
| `settleList.assistantPdMoney` | `assistantpdmoney` | number | 100.0% |
|
||
| `settleList.couponSaleAmount` | `couponsaleamount` | number | 100.0% |
|
||
| `settleList.plCouponSaleAmount` | `plcouponsaleamount` | number | 100.0% |
|
||
| `settleList.merVouSalesAmount` | `mervousalesamount` | number | 100.0% |
|
||
| `settleList.memberDiscountAmount` | `memberdiscountamount` | number | 100.0% |
|
||
| `settleList.tableChargeMoney` | `tablechargemoney` | number | 100.0% |
|
||
| `settleList.goodsMoney` | `goodsmoney` | number | 100.0% |
|
||
| `settleList.realGoodsMoney` | `realgoodsmoney` | number | 100.0% |
|
||
| `settleList.serviceMoney` | `servicemoney` | number | 100.0% |
|
||
| `settleList.prepayMoney` | `prepaymoney` | number | 100.0% |
|
||
| `settleList.salesManName` | `salesmanname` | string | 100.0% |
|
||
| `settleList.orderRemark` | `orderremark` | string | 100.0% |
|
||
| `settleList.salesManUserId` | `salesmanuserid` | integer | 100.0% |
|
||
| `settleList.canBeRevoked` | `canberevoked` | boolean | 100.0% |
|
||
| `settleList.pointDiscountPrice` | `pointdiscountprice` | number | 100.0% |
|
||
| `settleList.pointDiscountCost` | `pointdiscountcost` | number | 100.0% |
|
||
| `settleList.activityDiscount` | `activitydiscount` | number | 100.0% |
|
||
| `settleList.serialNumber` | `serialnumber` | integer | 100.0% |
|
||
| `settleList.assistantManualDiscount` | `assistantmanualdiscount` | number | 100.0% |
|
||
| `settleList.allCouponDiscount` | `allcoupondiscount` | number | 100.0% |
|
||
| `settleList.goodsPromotionMoney` | `goodspromotionmoney` | number | 100.0% |
|
||
| `settleList.assistantPromotionMoney` | `assistantpromotionmoney` | number | 100.0% |
|
||
| `settleList.isUseCoupon` | `isusecoupon` | boolean | 100.0% |
|
||
| `settleList.isUseDiscount` | `isusediscount` | boolean | 100.0% |
|
||
| `settleList.isActivity` | `isactivity` | boolean | 100.0% |
|
||
| `settleList.isBindMember` | `isbindmember` | boolean | 100.0% |
|
||
| `settleList.isFirst` | `isfirst` | integer | 100.0% |
|
||
| `settleList.rechargeCardAmount` | `rechargecardamount` | integer | 100.0% |
|
||
| `settleList.giftCardAmount` | `giftcardamount` | integer | 100.0% |
|
||
| `settleList.electricityMoney` | `electricitymoney` | number | 100.0% |
|
||
| `settleList.realElectricityMoney` | `realelectricitymoney` | number | 100.0% |
|
||
| `settleList.electricityAdjustMoney` | `electricityadjustmoney` | number | 100.0% |
|
||
|
||
<details><summary>仅存于 payload 的字段(24 个)</summary>
|
||
|
||
| JSON 路径 | JSON 类型 | 出现率 |
|
||
|----------|----------|-------|
|
||
| `siteProfile.org_id` | integer | 100.0% |
|
||
| `siteProfile.shop_name` | string | 100.0% |
|
||
| `siteProfile.avatar` | string | 100.0% |
|
||
| `siteProfile.business_tel` | string | 100.0% |
|
||
| `siteProfile.full_address` | string | 100.0% |
|
||
| `siteProfile.address` | string | 100.0% |
|
||
| `siteProfile.longitude` | number | 100.0% |
|
||
| `siteProfile.latitude` | number | 100.0% |
|
||
| `siteProfile.tenant_site_region_id` | integer | 100.0% |
|
||
| `siteProfile.auto_light` | integer | 100.0% |
|
||
| `siteProfile.attendance_distance` | integer | 100.0% |
|
||
| `siteProfile.wifi_name` | string | 100.0% |
|
||
| `siteProfile.wifi_password` | string | 100.0% |
|
||
| `siteProfile.customer_service_qrcode` | string | 100.0% |
|
||
| `siteProfile.customer_service_wechat` | string | 100.0% |
|
||
| `siteProfile.fixed_pay_qrCode` | string | 100.0% |
|
||
| `siteProfile.prod_env` | integer | 100.0% |
|
||
| `siteProfile.light_status` | integer | 100.0% |
|
||
| `siteProfile.light_type` | integer | 100.0% |
|
||
| `siteProfile.site_type` | integer | 100.0% |
|
||
| `siteProfile.light_token` | string | 100.0% |
|
||
| `siteProfile.site_label` | string | 100.0% |
|
||
| `siteProfile.attendance_enabled` | integer | 100.0% |
|
||
| `siteProfile.shop_status` | integer | 100.0% |
|
||
|
||
</details>
|
||
|
||
#### ODS→DWD:`dwd_recharge_order`(直接 24 / 派生 0 / SCD2 0)
|
||
|
||
| DWD 列名 | 类型 | 映射类型 | ODS 来源 | 说明 |
|
||
|---------|------|---------|---------|------|
|
||
| `recharge_order_id` | BIGINT | 直接 | `id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `tenant_id` | BIGINT | 直接 | `tenantid` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `site_id` | BIGINT | 直接 | `siteid` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `member_id` | BIGINT | 直接 | `memberid` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `member_name_snapshot` | TEXT | 直接 | `membername` | 明细字段,用于记录事实取值 |
|
||
| `member_phone_snapshot` | TEXT | 直接 | `memberphone` | 明细字段,用于记录事实取值 |
|
||
| `tenant_member_card_id` | BIGINT | 直接 | `tenantmembercardid` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `member_card_type_name` | TEXT | 直接 | `membercardtypename` | 名称字段,用于展示与辅助识别 |
|
||
| `settle_relate_id` | BIGINT | 直接 | `settlerelateid` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `settle_type` | INTEGER | 直接 | `settletype` | 明细字段,用于记录事实取值 |
|
||
| `settle_name` | TEXT | 直接 | `settlename` | 名称字段,用于展示与辅助识别 |
|
||
| `is_first` | INTEGER | 直接 | `isfirst` | 布尔/开关字段,用于表示是否/可用性等业务开关 |
|
||
| `pay_amount` | NUMERIC(18,2) | 直接 | `payamount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `refund_amount` | NUMERIC(18,2) | 直接 | `refundamount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `point_amount` | NUMERIC(18,2) | 直接 | `pointamount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `cash_amount` | NUMERIC(18,2) | 直接 | `cashamount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `payment_method` | INTEGER | 直接 | `paymentmethod` | 明细字段,用于记录事实取值 |
|
||
| `create_time` | TIMESTAMPTZ | 直接 | `createtime` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `pay_time` | TIMESTAMPTZ | 直接 | `paytime` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `pl_coupon_sale_amount` | NUMERIC(18,2) | 直接 | `plcouponsaleamount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `mervou_sales_amount` | NUMERIC(18,2) | 直接 | `mervousalesamount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `electricity_money` | NUMERIC(18,2) | 直接 | `electricitymoney` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `real_electricity_money` | NUMERIC(18,2) | 直接 | `realelectricitymoney` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `electricity_adjust_money` | NUMERIC(18,2) | 直接 | `electricityadjustmoney` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
|
||
#### ODS→DWD:`dwd_recharge_order_ex`(直接 38 / 派生 5 / SCD2 0)
|
||
|
||
| DWD 列名 | 类型 | 映射类型 | ODS 来源 | 说明 |
|
||
|---------|------|---------|---------|------|
|
||
| `recharge_order_id` | BIGINT | 直接 | `id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `site_name_snapshot` | TEXT | 直接 | `sitename` | 明细字段,用于记录事实取值 |
|
||
| `settle_status` | INTEGER | 直接 | `settlestatus` | 状态枚举字段,用于标识业务状态 |
|
||
| `is_bind_member` | BOOLEAN | 派生 | `isbindmember(派生:BOOLEAN(isbindmember))` | 布尔/开关字段,用于表示是否/可用性等业务开关 |
|
||
| `is_activity` | BOOLEAN | 派生 | `isactivity(派生:BOOLEAN(isactivity))` | 布尔/开关字段,用于表示是否/可用性等业务开关 |
|
||
| `is_use_coupon` | BOOLEAN | 派生 | `isusecoupon(派生:BOOLEAN(isusecoupon))` | 布尔/开关字段,用于表示是否/可用性等业务开关 |
|
||
| `is_use_discount` | BOOLEAN | 派生 | `isusediscount(派生:BOOLEAN(isusediscount))` | 数量/时长字段,用于统计与计量 |
|
||
| `can_be_revoked` | BOOLEAN | 派生 | `canberevoked(派生:BOOLEAN(canberevoked))` | 布尔/开关字段,用于表示是否/可用性等业务开关 |
|
||
| `online_amount` | NUMERIC(18,2) | 直接 | `onlineamount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `balance_amount` | NUMERIC(18,2) | 直接 | `balanceamount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `card_amount` | NUMERIC(18,2) | 直接 | `cardamount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `coupon_amount` | NUMERIC(18,2) | 直接 | `couponamount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `recharge_card_amount` | NUMERIC(18,2) | 直接 | `rechargecardamount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `gift_card_amount` | NUMERIC(18,2) | 直接 | `giftcardamount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `prepay_money` | NUMERIC(18,2) | 直接 | `prepaymoney` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `consume_money` | NUMERIC(18,2) | 直接 | `consumemoney` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `goods_money` | NUMERIC(18,2) | 直接 | `goodsmoney` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `real_goods_money` | NUMERIC(18,2) | 直接 | `realgoodsmoney` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `table_charge_money` | NUMERIC(18,2) | 直接 | `tablechargemoney` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `service_money` | NUMERIC(18,2) | 直接 | `servicemoney` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `activity_discount` | NUMERIC(18,2) | 直接 | `activitydiscount` | 数量/时长字段,用于统计与计量 |
|
||
| `all_coupon_discount` | NUMERIC(18,2) | 直接 | `allcoupondiscount` | 数量/时长字段,用于统计与计量 |
|
||
| `goods_promotion_money` | NUMERIC(18,2) | 直接 | `goodspromotionmoney` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `assistant_promotion_money` | NUMERIC(18,2) | 直接 | `assistantpromotionmoney` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `assistant_pd_money` | NUMERIC(18,2) | 直接 | `assistantpdmoney` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `assistant_cx_money` | NUMERIC(18,2) | 直接 | `assistantcxmoney` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `assistant_manual_discount` | NUMERIC(18,2) | 直接 | `assistantmanualdiscount` | 数量/时长字段,用于统计与计量 |
|
||
| `coupon_sale_amount` | NUMERIC(18,2) | 直接 | `couponsaleamount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `member_discount_amount` | NUMERIC(18,2) | 直接 | `memberdiscountamount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `point_discount_price` | NUMERIC(18,2) | 直接 | `pointdiscountprice` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `point_discount_cost` | NUMERIC(18,2) | 直接 | `pointdiscountcost` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `adjust_amount` | NUMERIC(18,2) | 直接 | `adjustamount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `rounding_amount` | NUMERIC(18,2) | 直接 | `roundingamount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `operator_id` | BIGINT | 直接 | `operatorid` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `operator_name_snapshot` | TEXT | 直接 | `operatorname` | 明细字段,用于记录事实取值 |
|
||
| `salesman_user_id` | BIGINT | 直接 | `salesmanuserid` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `salesman_name` | TEXT | 直接 | `salesmanname` | 名称字段,用于展示与辅助识别 |
|
||
| `order_remark` | TEXT | 直接 | `orderremark` | 明细字段,用于记录事实取值 |
|
||
| `table_id` | INTEGER | 直接 | `tableid` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `serial_number` | INTEGER | 直接 | `serialnumber` | 数量/时长字段,用于统计与计量 |
|
||
| `revoke_order_id` | BIGINT | 直接 | `revokeorderid` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `revoke_order_name` | TEXT | 直接 | `revokeordername` | 名称字段,用于展示与辅助识别 |
|
||
| `revoke_time` | TIMESTAMPTZ | 直接 | `revoketime` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
|
||
---
|
||
|
||
### 3.14 group_buy_packages(团购套餐定义)
|
||
|
||
- 任务代码:`ODS_GROUP_PACKAGE`
|
||
- 采样记录数:18
|
||
- ODS 列数:43
|
||
- DWD 目标表:dim_groupbuy_package, dim_groupbuy_package_ex
|
||
|
||
#### JSON→ODS 映射(已映射 39/40,覆盖率 97.5%)
|
||
|
||
| JSON 路径 | ODS 列名 | JSON 类型 | 出现率 |
|
||
|----------|---------|----------|-------|
|
||
| `site_name` | `site_name` | string | 100.0% |
|
||
| `effective_status` | `effective_status` | integer | 100.0% |
|
||
| `tenantTableAreaIdList[]` | `tenant_table_area_id_list` | integer | 100.0% |
|
||
| `tenantCouponSaleOrderItemId` | `tenantcouponsaleorderitemid` | integer | 100.0% |
|
||
| `id` | `id` | integer | 100.0% |
|
||
| `add_end_clock` | `add_end_clock` | string | 100.0% |
|
||
| `add_start_clock` | `add_start_clock` | string | 100.0% |
|
||
| `area_tag_type` | `area_tag_type` | integer | 100.0% |
|
||
| `card_type_ids` | `card_type_ids` | string | 100.0% |
|
||
| `coupon_money` | `coupon_money` | number | 100.0% |
|
||
| `create_time` | `create_time` | string | 100.0% |
|
||
| `creator_name` | `creator_name` | string | 100.0% |
|
||
| `date_info` | `date_info` | string | 100.0% |
|
||
| `date_type` | `date_type` | integer | 100.0% |
|
||
| `duration` | `duration` | integer | 100.0% |
|
||
| `end_clock` | `end_clock` | string | 100.0% |
|
||
| `end_time` | `end_time` | string | 100.0% |
|
||
| `group_type` | `group_type` | integer | 100.0% |
|
||
| `is_delete` | `is_delete` | integer | 100.0% |
|
||
| `is_enabled` | `is_enabled` | integer | 100.0% |
|
||
| `is_first_limit` | `is_first_limit` | integer | 100.0% |
|
||
| `max_selectable_categories` | `max_selectable_categories` | integer | 100.0% |
|
||
| `package_id` | `package_id` | integer | 100.0% |
|
||
| `package_name` | `package_name` | string | 100.0% |
|
||
| `selling_price` | `selling_price` | number | 100.0% |
|
||
| `site_id` | `site_id` | integer | 100.0% |
|
||
| `sort` | `sort` | integer | 100.0% |
|
||
| `start_clock` | `start_clock` | string | 100.0% |
|
||
| `start_time` | `start_time` | string | 100.0% |
|
||
| `system_group_type` | `system_group_type` | integer | 100.0% |
|
||
| `table_area_id` | `table_area_id` | string | 100.0% |
|
||
| `table_area_id_list` | `table_area_id_list` | string | 100.0% |
|
||
| `table_area_name` | `table_area_name` | string | 100.0% |
|
||
| `tenant_id` | `tenant_id` | integer | 100.0% |
|
||
| `tenant_table_area_id` | `tenant_table_area_id` | string | 100.0% |
|
||
| `tenant_table_area_id_list` | `tenant_table_area_id_list` | string | 100.0% |
|
||
| `type` | `type` | integer | 100.0% |
|
||
| `usable_count` | `usable_count` | integer | 100.0% |
|
||
| `usable_range` | `usable_range` | string | 100.0% |
|
||
|
||
<details><summary>仅存于 payload 的字段(1 个)</summary>
|
||
|
||
| JSON 路径 | JSON 类型 | 出现率 |
|
||
|----------|----------|-------|
|
||
| `tableAreaNameList[]` | string | 100.0% |
|
||
|
||
</details>
|
||
|
||
#### ODS→DWD:`dim_groupbuy_package`(直接 18 / 派生 0 / SCD2 4)
|
||
|
||
| DWD 列名 | 类型 | 映射类型 | ODS 来源 | 说明 |
|
||
|---------|------|---------|---------|------|
|
||
| `groupbuy_package_id` | BIGINT | 直接 | `id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `tenant_id` | BIGINT | 直接 | `tenant_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `site_id` | BIGINT | 直接 | `site_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `package_name` | VARCHAR(200) | 直接 | `package_name` | 名称字段,用于展示与辅助识别 |
|
||
| `package_template_id` | BIGINT | 直接 | `package_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `selling_price` | NUMERIC(10,2) | 直接 | `selling_price` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `coupon_face_value` | NUMERIC(10,2) | 直接 | `coupon_money` | 维度字段,用于补充维度属性 |
|
||
| `duration_seconds` | INTEGER | 直接 | `duration` | 数量/时长字段,用于统计与计量 |
|
||
| `start_time` | TIMESTAMPTZ | 直接 | `start_time` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `end_time` | TIMESTAMPTZ | 直接 | `end_time` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `table_area_name` | VARCHAR(100) | 直接 | `table_area_name` | 名称字段,用于展示与辅助识别 |
|
||
| `is_enabled` | INTEGER | 直接 | `is_enabled` | 布尔/开关字段,用于表示是否/可用性等业务开关 |
|
||
| `is_delete` | INTEGER | 直接 | `is_delete` | 布尔/开关字段,用于表示是否/可用性等业务开关 |
|
||
| `create_time` | TIMESTAMPTZ | 直接 | `create_time` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `tenant_table_area_id_list` | VARCHAR(512) | 直接 | `tenant_table_area_id_list` | 维度字段,用于补充维度属性 |
|
||
| `card_type_ids` | VARCHAR(255) | 直接 | `card_type_ids` | 维度字段,用于补充维度属性 |
|
||
| `sort` | INTEGER | 直接 | `sort` | |
|
||
| `is_first_limit` | BOOLEAN | 直接 | `is_first_limit` | |
|
||
| `scd2_start_time` | TIMESTAMPTZ | SCD2 | `—` | SCD2 开始时间(版本生效起点),用于维度慢变追踪 |
|
||
| `scd2_end_time` | TIMESTAMPTZ | SCD2 | `—` | SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪 |
|
||
| `scd2_is_current` | INT | SCD2 | `—` | SCD2 当前版本标记(1=当前,0=历史),用于筛选最新维度记录 |
|
||
| `scd2_version` | INT | SCD2 | `—` | SCD2 版本号(自增),用于与时间段一起避免版本重叠 |
|
||
|
||
#### ODS→DWD:`dim_groupbuy_package_ex`(直接 20 / 派生 1 / SCD2 4)
|
||
|
||
| DWD 列名 | 类型 | 映射类型 | ODS 来源 | 说明 |
|
||
|---------|------|---------|---------|------|
|
||
| `groupbuy_package_id` | BIGINT | 直接 | `id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `site_name` | VARCHAR(100) | 直接 | `site_name` | 名称字段,用于展示与辅助识别 |
|
||
| `usable_count` | INTEGER | 直接 | `usable_count` | 数量/时长字段,用于统计与计量 |
|
||
| `date_type` | INTEGER | 直接 | `date_type` | 维度字段,用于补充维度属性 |
|
||
| `usable_range` | VARCHAR(255) | 直接 | `usable_range` | 维度字段,用于补充维度属性 |
|
||
| `date_info` | VARCHAR(255) | 直接 | `date_info` | 维度字段,用于补充维度属性 |
|
||
| `start_clock` | VARCHAR(16) | 直接 | `start_clock` | 维度字段,用于补充维度属性 |
|
||
| `end_clock` | VARCHAR(16) | 直接 | `end_clock` | 维度字段,用于补充维度属性 |
|
||
| `add_start_clock` | VARCHAR(16) | 直接 | `add_start_clock` | 维度字段,用于补充维度属性 |
|
||
| `add_end_clock` | VARCHAR(16) | 直接 | `add_end_clock` | 维度字段,用于补充维度属性 |
|
||
| `area_tag_type` | INTEGER | 直接 | `area_tag_type` | 维度字段,用于补充维度属性 |
|
||
| `table_area_id` | BIGINT | 直接 | `table_area_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `tenant_table_area_id` | BIGINT | 直接 | `tenant_table_area_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `table_area_id_list` | VARCHAR(512) | 直接 | `table_area_id_list` | 维度字段,用于补充维度属性 |
|
||
| `group_type` | INTEGER | 直接 | `group_type` | 维度字段,用于补充维度属性 |
|
||
| `system_group_type` | INTEGER | 直接 | `system_group_type` | 维度字段,用于补充维度属性 |
|
||
| `package_type` | INTEGER | 直接 | `type` | 维度字段,用于补充维度属性 |
|
||
| `effective_status` | INTEGER | 直接 | `effective_status` | 状态枚举字段,用于标识业务状态 |
|
||
| `max_selectable_categories` | INTEGER | 直接 | `max_selectable_categories` | 维度字段,用于补充维度属性 |
|
||
| `creator_name` | VARCHAR(100) | 直接 | `creator_name` | 名称字段,用于展示与辅助识别 |
|
||
| `tenant_coupon_sale_order_item_id` | BIGINT | 派生 | `—` | |
|
||
| `scd2_start_time` | TIMESTAMPTZ | SCD2 | `—` | SCD2 开始时间(版本生效起点),用于维度慢变追踪 |
|
||
| `scd2_end_time` | TIMESTAMPTZ | SCD2 | `—` | SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪 |
|
||
| `scd2_is_current` | INT | SCD2 | `—` | SCD2 当前版本标记(1=当前,0=历史),用于筛选最新维度记录 |
|
||
| `scd2_version` | INT | SCD2 | `—` | SCD2 版本号(自增),用于与时间段一起避免版本重叠 |
|
||
|
||
---
|
||
|
||
### 3.15 group_buy_redemption_records(团购套餐核销)
|
||
|
||
- 任务代码:`ODS_GROUP_BUY_REDEMPTION`
|
||
- 采样记录数:200
|
||
- ODS 列数:57
|
||
- DWD 目标表:dwd_groupbuy_redemption, dwd_groupbuy_redemption_ex
|
||
|
||
#### JSON→ODS 映射(已映射 52/52,覆盖率 100.0%)
|
||
|
||
| JSON 路径 | ODS 列名 | JSON 类型 | 出现率 |
|
||
|----------|---------|----------|-------|
|
||
| `tableName` | `tablename` | string | 100.0% |
|
||
| `tableAreaName` | `tableareaname` | string | 100.0% |
|
||
| `siteName` | `sitename` | string | 100.0% |
|
||
| `goodsOptionPrice` | `goodsoptionprice` | number | 100.0% |
|
||
| `id` | `id` | integer | 100.0% |
|
||
| `assistant_promotion_money` | `assistant_promotion_money` | number | 100.0% |
|
||
| `assistant_service_promotion_money` | `assistant_service_promotion_money` | number | 100.0% |
|
||
| `assistant_service_share_money` | `assistant_service_share_money` | number | 100.0% |
|
||
| `assistant_share_money` | `assistant_share_money` | number | 100.0% |
|
||
| `coupon_code` | `coupon_code` | string | 100.0% |
|
||
| `coupon_money` | `coupon_money` | number | 100.0% |
|
||
| `coupon_origin_id` | `coupon_origin_id` | integer | 100.0% |
|
||
| `create_time` | `create_time` | string | 100.0% |
|
||
| `good_service_share_money` | `good_service_share_money` | number | 100.0% |
|
||
| `goods_promotion_money` | `goods_promotion_money` | number | 100.0% |
|
||
| `goods_share_money` | `goods_share_money` | number | 100.0% |
|
||
| `is_delete` | `is_delete` | integer | 100.0% |
|
||
| `is_single_order` | `is_single_order` | integer | 100.0% |
|
||
| `ledger_amount` | `ledger_amount` | number | 100.0% |
|
||
| `ledger_count` | `ledger_count` | integer | 100.0% |
|
||
| `ledger_group_name` | `ledger_group_name` | string | 100.0% |
|
||
| `ledger_name` | `ledger_name` | string | 100.0% |
|
||
| `ledger_status` | `ledger_status` | integer | 100.0% |
|
||
| `ledger_unit_price` | `ledger_unit_price` | number | 100.0% |
|
||
| `offer_type` | `offer_type` | integer | 100.0% |
|
||
| `operator_id` | `operator_id` | integer | 100.0% |
|
||
| `operator_name` | `operator_name` | string | 100.0% |
|
||
| `order_coupon_channel` | `order_coupon_channel` | integer | 100.0% |
|
||
| `order_coupon_id` | `order_coupon_id` | integer | 100.0% |
|
||
| `order_pay_id` | `order_pay_id` | integer | 100.0% |
|
||
| `order_settle_id` | `order_settle_id` | integer | 100.0% |
|
||
| `order_trade_no` | `order_trade_no` | integer | 100.0% |
|
||
| `promotion_activity_id` | `promotion_activity_id` | integer | 100.0% |
|
||
| `promotion_coupon_id` | `promotion_coupon_id` | integer | 100.0% |
|
||
| `promotion_seconds` | `promotion_seconds` | integer | 100.0% |
|
||
| `recharge_promotion_money` | `recharge_promotion_money` | number | 100.0% |
|
||
| `recharge_share_money` | `recharge_share_money` | number | 100.0% |
|
||
| `reward_promotion_money` | `reward_promotion_money` | number | 100.0% |
|
||
| `sales_man_org_id` | `sales_man_org_id` | integer | 100.0% |
|
||
| `salesman_name` | `salesman_name` | string | 100.0% |
|
||
| `salesman_role_id` | `salesman_role_id` | integer | 100.0% |
|
||
| `salesman_user_id` | `salesman_user_id` | integer | 100.0% |
|
||
| `site_id` | `site_id` | integer | 100.0% |
|
||
| `table_charge_seconds` | `table_charge_seconds` | integer | 100.0% |
|
||
| `table_id` | `table_id` | integer | 100.0% |
|
||
| `table_service_promotion_money` | `table_service_promotion_money` | number | 100.0% |
|
||
| `table_service_share_money` | `table_service_share_money` | number | 100.0% |
|
||
| `table_share_money` | `table_share_money` | number | 100.0% |
|
||
| `tenant_id` | `tenant_id` | integer | 100.0% |
|
||
| `tenant_table_area_id` | `tenant_table_area_id` | integer | 100.0% |
|
||
| `coupon_sale_id` | `coupon_sale_id` | integer | 100.0% |
|
||
| `member_discount_money` | `member_discount_money` | number | 100.0% |
|
||
|
||
#### ODS→DWD:`dwd_groupbuy_redemption`(直接 25 / 派生 0 / SCD2 0)
|
||
|
||
| DWD 列名 | 类型 | 映射类型 | ODS 来源 | 说明 |
|
||
|---------|------|---------|---------|------|
|
||
| `redemption_id` | BIGINT | 直接 | `id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `tenant_id` | BIGINT | 直接 | `tenant_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `site_id` | BIGINT | 直接 | `site_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `table_id` | BIGINT | 直接 | `table_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `tenant_table_area_id` | BIGINT | 直接 | `tenant_table_area_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `table_charge_seconds` | INTEGER | 直接 | `table_charge_seconds` | 数量/时长字段,用于统计与计量 |
|
||
| `order_trade_no` | BIGINT | 直接 | `order_trade_no` | 明细字段,用于记录事实取值 |
|
||
| `order_settle_id` | BIGINT | 直接 | `order_settle_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `order_coupon_id` | BIGINT | 直接 | `order_coupon_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `coupon_origin_id` | BIGINT | 直接 | `coupon_origin_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `promotion_activity_id` | BIGINT | 直接 | `promotion_activity_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `promotion_coupon_id` | BIGINT | 直接 | `promotion_coupon_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `order_coupon_channel` | INTEGER | 直接 | `order_coupon_channel` | 明细字段,用于记录事实取值 |
|
||
| `ledger_unit_price` | NUMERIC(18,2) | 直接 | `ledger_unit_price` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `ledger_count` | INTEGER | 直接 | `ledger_count` | 数量/时长字段,用于统计与计量 |
|
||
| `ledger_amount` | NUMERIC(18,2) | 直接 | `ledger_amount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `coupon_money` | NUMERIC(18,2) | 直接 | `coupon_money` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `promotion_seconds` | INTEGER | 直接 | `promotion_seconds` | 数量/时长字段,用于统计与计量 |
|
||
| `coupon_code` | VARCHAR(64) | 直接 | `coupon_code` | 明细字段,用于记录事实取值 |
|
||
| `is_single_order` | INTEGER | 直接 | `is_single_order` | 布尔/开关字段,用于表示是否/可用性等业务开关 |
|
||
| `is_delete` | INTEGER | 直接 | `is_delete` | 布尔/开关字段,用于表示是否/可用性等业务开关 |
|
||
| `ledger_name` | VARCHAR(128) | 直接 | `ledger_name` | 名称字段,用于展示与辅助识别 |
|
||
| `create_time` | TIMESTAMPTZ | 直接 | `create_time` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `member_discount_money` | NUMERIC(18,2) | 直接 | `member_discount_money` | |
|
||
| `coupon_sale_id` | BIGINT | 直接 | `coupon_sale_id` | |
|
||
|
||
#### ODS→DWD:`dwd_groupbuy_redemption_ex`(直接 28 / 派生 0 / SCD2 0)
|
||
|
||
| DWD 列名 | 类型 | 映射类型 | ODS 来源 | 说明 |
|
||
|---------|------|---------|---------|------|
|
||
| `redemption_id` | BIGINT | 直接 | `id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `site_name` | VARCHAR(64) | 直接 | `sitename` | 名称字段,用于展示与辅助识别 |
|
||
| `table_name` | VARCHAR(64) | 直接 | `tablename` | 名称字段,用于展示与辅助识别 |
|
||
| `table_area_name` | VARCHAR(64) | 直接 | `tableareaname` | 名称字段,用于展示与辅助识别 |
|
||
| `order_pay_id` | BIGINT | 直接 | `order_pay_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `goods_option_price` | NUMERIC(18,2) | 直接 | `goodsoptionprice` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `goods_promotion_money` | NUMERIC(18,2) | 直接 | `goods_promotion_money` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `table_service_promotion_money` | NUMERIC(18,2) | 直接 | `table_service_promotion_money` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `assistant_promotion_money` | NUMERIC(18,2) | 直接 | `assistant_promotion_money` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `assistant_service_promotion_money` | NUMERIC(18,2) | 直接 | `assistant_service_promotion_money` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `reward_promotion_money` | NUMERIC(18,2) | 直接 | `reward_promotion_money` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `recharge_promotion_money` | NUMERIC(18,2) | 直接 | `recharge_promotion_money` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `offer_type` | INTEGER | 直接 | `offer_type` | 明细字段,用于记录事实取值 |
|
||
| `ledger_status` | INTEGER | 直接 | `ledger_status` | 状态枚举字段,用于标识业务状态 |
|
||
| `operator_id` | BIGINT | 直接 | `operator_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `operator_name` | VARCHAR(64) | 直接 | `operator_name` | 名称字段,用于展示与辅助识别 |
|
||
| `salesman_user_id` | BIGINT | 直接 | `salesman_user_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `salesman_name` | VARCHAR(64) | 直接 | `salesman_name` | 名称字段,用于展示与辅助识别 |
|
||
| `salesman_role_id` | BIGINT | 直接 | `salesman_role_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `salesman_org_id` | BIGINT | 直接 | `sales_man_org_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `ledger_group_name` | VARCHAR(128) | 直接 | `ledger_group_name` | 名称字段,用于展示与辅助识别 |
|
||
| `table_share_money` | NUMERIC(18,2) | 直接 | `table_share_money` | |
|
||
| `table_service_share_money` | NUMERIC(18,2) | 直接 | `table_service_share_money` | |
|
||
| `goods_share_money` | NUMERIC(18,2) | 直接 | `goods_share_money` | |
|
||
| `good_service_share_money` | NUMERIC(18,2) | 直接 | `good_service_share_money` | |
|
||
| `assistant_share_money` | NUMERIC(18,2) | 直接 | `assistant_share_money` | |
|
||
| `assistant_service_share_money` | NUMERIC(18,2) | 直接 | `assistant_service_share_money` | |
|
||
| `recharge_share_money` | NUMERIC(18,2) | 直接 | `recharge_share_money` | |
|
||
|
||
---
|
||
|
||
### 3.16 goods_stock_summary(库存汇总)
|
||
|
||
- 任务代码:`ODS_INVENTORY_STOCK`
|
||
- 采样记录数:173
|
||
- ODS 列数:19
|
||
- DWD 目标表:无(尚未建模)
|
||
|
||
#### JSON→ODS 映射(已映射 14/14,覆盖率 100.0%)
|
||
|
||
| JSON 路径 | ODS 列名 | JSON 类型 | 出现率 |
|
||
|----------|---------|----------|-------|
|
||
| `siteGoodsId` | `sitegoodsid` | integer | 100.0% |
|
||
| `goodsName` | `goodsname` | string | 100.0% |
|
||
| `goodsUnit` | `goodsunit` | string | 100.0% |
|
||
| `goodsCategoryId` | `goodscategoryid` | integer | 100.0% |
|
||
| `goodsCategorySecondId` | `goodscategorysecondid` | integer | 100.0% |
|
||
| `rangeStartStock` | `rangestartstock` | integer | 100.0% |
|
||
| `rangeEndStock` | `rangeendstock` | integer | 100.0% |
|
||
| `rangeIn` | `rangein` | integer | 100.0% |
|
||
| `rangeOut` | `rangeout` | integer | 100.0% |
|
||
| `rangeInventory` | `rangeinventory` | integer | 100.0% |
|
||
| `rangeSale` | `rangesale` | integer | 100.0% |
|
||
| `rangeSaleMoney` | `rangesalemoney` | number | 100.0% |
|
||
| `currentStock` | `currentstock` | integer | 100.0% |
|
||
| `categoryName` | `categoryname` | string | 100.0% |
|
||
|
||
*该表尚未建立 DWD 层映射。*
|
||
|
||
---
|
||
|
||
### 3.17 goods_stock_movements(库存变化记录)
|
||
|
||
- 任务代码:`ODS_INVENTORY_CHANGE`
|
||
- 采样记录数:200
|
||
- ODS 列数:24
|
||
- DWD 目标表:无(尚未建模)
|
||
|
||
#### JSON→ODS 映射(已映射 19/19,覆盖率 100.0%)
|
||
|
||
| JSON 路径 | ODS 列名 | JSON 类型 | 出现率 |
|
||
|----------|---------|----------|-------|
|
||
| `siteGoodsStockId` | `sitegoodsstockid` | integer | 100.0% |
|
||
| `siteGoodsId` | `sitegoodsid` | integer | 100.0% |
|
||
| `siteId` | `siteid` | integer | 100.0% |
|
||
| `tenantId` | `tenantid` | integer | 100.0% |
|
||
| `stockType` | `stocktype` | integer | 100.0% |
|
||
| `goodsName` | `goodsname` | string | 100.0% |
|
||
| `createTime` | `createtime` | string | 100.0% |
|
||
| `startNum` | `startnum` | integer | 100.0% |
|
||
| `endNum` | `endnum` | integer | 100.0% |
|
||
| `changeNum` | `changenum` | integer | 100.0% |
|
||
| `unit` | `unit` | string | 100.0% |
|
||
| `price` | `price` | number | 100.0% |
|
||
| `operatorName` | `operatorname` | string | 100.0% |
|
||
| `changeNumA` | `changenuma` | integer | 100.0% |
|
||
| `startNumA` | `startnuma` | integer | 100.0% |
|
||
| `endNumA` | `endnuma` | integer | 100.0% |
|
||
| `remark` | `remark` | string | 100.0% |
|
||
| `goodsCategoryId` | `goodscategoryid` | integer | 100.0% |
|
||
| `goodsSecondCategoryId` | `goodssecondcategoryid` | integer | 100.0% |
|
||
|
||
*该表尚未建立 DWD 层映射。*
|
||
|
||
---
|
||
|
||
### 3.18 site_tables_master(台桌维表)
|
||
|
||
- 任务代码:`ODS_TABLES`
|
||
- 采样记录数:74
|
||
- ODS 列数:31
|
||
- DWD 目标表:dim_table, dim_table_ex
|
||
|
||
#### JSON→ODS 映射(已映射 26/26,覆盖率 100.0%)
|
||
|
||
| JSON 路径 | ODS 列名 | JSON 类型 | 出现率 |
|
||
|----------|---------|----------|-------|
|
||
| `id` | `id` | integer | 100.0% |
|
||
| `order_id` | `order_id` | integer | 100.0% |
|
||
| `audit_status` | `audit_status` | integer | 100.0% |
|
||
| `charge_free` | `charge_free` | integer | 100.0% |
|
||
| `self_table` | `self_table` | integer | 100.0% |
|
||
| `create_time` | `create_time` | string | 100.0% |
|
||
| `is_rest_area` | `is_rest_area` | integer | 100.0% |
|
||
| `light_status` | `light_status` | integer | 100.0% |
|
||
| `show_status` | `show_status` | integer | 100.0% |
|
||
| `site_id` | `site_id` | integer | 100.0% |
|
||
| `site_table_area_id` | `site_table_area_id` | integer | 100.0% |
|
||
| `table_cloth_use_time` | `table_cloth_use_time` | integer | 100.0% |
|
||
| `table_cloth_use_Cycle` | `table_cloth_use_cycle` | integer | 100.0% |
|
||
| `virtual_table` | `virtual_table` | integer | 100.0% |
|
||
| `table_name` | `table_name` | string | 100.0% |
|
||
| `table_price` | `table_price` | number | 100.0% |
|
||
| `table_status` | `table_status` | integer | 100.0% |
|
||
| `areaName` | `areaname` | string | 100.0% |
|
||
| `siteName` | `sitename` | string | 100.0% |
|
||
| `tableStatusName` | `tablestatusname` | string | 100.0% |
|
||
| `appletQrCodeUrl` | `appletqrcodeurl` | string | 100.0% |
|
||
| `only_allow_groupon` | `only_allow_groupon` | integer | 100.0% |
|
||
| `delay_lights_time` | `delay_lights_time` | integer | 100.0% |
|
||
| `order_delay_time` | `order_delay_time` | integer | 100.0% |
|
||
| `temporary_light_second` | `temporary_light_second` | integer | 100.0% |
|
||
| `is_online_reservation` | `is_online_reservation` | integer | 100.0% |
|
||
|
||
#### ODS→DWD:`dim_table`(直接 8 / 派生 0 / SCD2 4)
|
||
|
||
| DWD 列名 | 类型 | 映射类型 | ODS 来源 | 说明 |
|
||
|---------|------|---------|---------|------|
|
||
| `table_id` | BIGINT | 直接 | `id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `site_id` | BIGINT | 直接 | `site_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `table_name` | TEXT | 直接 | `table_name` | 名称字段,用于展示与辅助识别 |
|
||
| `site_table_area_id` | BIGINT | 直接 | `site_table_area_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `site_table_area_name` | TEXT | 直接 | `areaname` | 名称字段,用于展示与辅助识别 |
|
||
| `tenant_table_area_id` | BIGINT | 直接 | `site_table_area_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `table_price` | NUMERIC(18,2) | 直接 | `table_price` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `order_id` | BIGINT | 直接 | `order_id` | |
|
||
| `scd2_start_time` | TIMESTAMPTZ | SCD2 | `—` | SCD2 开始时间(版本生效起点),用于维度慢变追踪 |
|
||
| `scd2_end_time` | TIMESTAMPTZ | SCD2 | `—` | SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪 |
|
||
| `scd2_is_current` | INT | SCD2 | `—` | SCD2 当前版本标记(1=当前,0=历史),用于筛选最新维度记录 |
|
||
| `scd2_version` | INT | SCD2 | `—` | SCD2 版本号(自增),用于与时间段一起避免版本重叠 |
|
||
|
||
#### ODS→DWD:`dim_table_ex`(直接 6 / 派生 0 / SCD2 4)
|
||
|
||
| DWD 列名 | 类型 | 映射类型 | ODS 来源 | 说明 |
|
||
|---------|------|---------|---------|------|
|
||
| `table_id` | BIGINT | 直接 | `id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `show_status` | INTEGER | 直接 | `show_status` | 状态枚举字段,用于标识业务状态 |
|
||
| `is_online_reservation` | INTEGER | 直接 | `is_online_reservation` | 布尔/开关字段,用于表示是否/可用性等业务开关 |
|
||
| `table_cloth_use_time` | INTEGER | 直接 | `table_cloth_use_time` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `table_cloth_use_cycle` | INTEGER | 直接 | `table_cloth_use_cycle` | 维度字段,用于补充维度属性 |
|
||
| `table_status` | INTEGER | 直接 | `table_status` | 状态枚举字段,用于标识业务状态 |
|
||
| `scd2_start_time` | TIMESTAMPTZ | SCD2 | `—` | SCD2 开始时间(版本生效起点),用于维度慢变追踪 |
|
||
| `scd2_end_time` | TIMESTAMPTZ | SCD2 | `—` | SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪 |
|
||
| `scd2_is_current` | INT | SCD2 | `—` | SCD2 当前版本标记(1=当前,0=历史),用于筛选最新维度记录 |
|
||
| `scd2_version` | INT | SCD2 | `—` | SCD2 版本号(自增),用于与时间段一起避免版本重叠 |
|
||
|
||
---
|
||
|
||
### 3.19 stock_goods_category_tree(库存商品分类树)
|
||
|
||
- 任务代码:`ODS_GOODS_CATEGORY`
|
||
- 采样记录数:9
|
||
- ODS 列数:16
|
||
- DWD 目标表:dim_goods_category
|
||
|
||
#### JSON→ODS 映射(已映射 20/20,覆盖率 100.0%)
|
||
|
||
| JSON 路径 | ODS 列名 | JSON 类型 | 出现率 |
|
||
|----------|---------|----------|-------|
|
||
| `id` | `id` | integer | 100.0% |
|
||
| `tenant_id` | `tenant_id` | integer | 100.0% |
|
||
| `category_name` | `category_name` | string | 100.0% |
|
||
| `alias_name` | `alias_name` | string | 100.0% |
|
||
| `pid` | `pid` | integer | 100.0% |
|
||
| `business_name` | `business_name` | string | 100.0% |
|
||
| `tenant_goods_business_id` | `tenant_goods_business_id` | integer | 100.0% |
|
||
| `open_salesman` | `open_salesman` | integer | 100.0% |
|
||
| `categoryBoxes[].id` | `id` | integer | 100.0% |
|
||
| `categoryBoxes[].tenant_id` | `tenant_id` | integer | 100.0% |
|
||
| `categoryBoxes[].category_name` | `category_name` | string | 100.0% |
|
||
| `categoryBoxes[].alias_name` | `alias_name` | string | 100.0% |
|
||
| `categoryBoxes[].pid` | `pid` | integer | 100.0% |
|
||
| `categoryBoxes[].business_name` | `business_name` | string | 100.0% |
|
||
| `categoryBoxes[].tenant_goods_business_id` | `tenant_goods_business_id` | integer | 100.0% |
|
||
| `categoryBoxes[].open_salesman` | `open_salesman` | integer | 100.0% |
|
||
| `categoryBoxes[].sort` | `sort` | integer | 100.0% |
|
||
| `categoryBoxes[].is_warehousing` | `is_warehousing` | integer | 100.0% |
|
||
| `sort` | `sort` | integer | 100.0% |
|
||
| `is_warehousing` | `is_warehousing` | integer | 100.0% |
|
||
|
||
#### ODS→DWD:`dim_goods_category`(直接 10 / 派生 2 / SCD2 4)
|
||
|
||
| DWD 列名 | 类型 | 映射类型 | ODS 来源 | 说明 |
|
||
|---------|------|---------|---------|------|
|
||
| `category_id` | BIGINT | 直接 | `id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `tenant_id` | BIGINT | 直接 | `tenant_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `category_name` | VARCHAR(50) | 直接 | `category_name` | 名称字段,用于展示与辅助识别 |
|
||
| `alias_name` | VARCHAR(50) | 直接 | `alias_name` | 名称字段,用于展示与辅助识别 |
|
||
| `parent_category_id` | BIGINT | 直接 | `pid` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `business_name` | VARCHAR(50) | 直接 | `business_name` | 名称字段,用于展示与辅助识别 |
|
||
| `tenant_goods_business_id` | BIGINT | 直接 | `tenant_goods_business_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `category_level` | INTEGER | 派生 | `CASE` | 维度字段,用于补充维度属性 |
|
||
| `is_leaf` | INTEGER | 派生 | `CASE` | 布尔/开关字段,用于表示是否/可用性等业务开关 |
|
||
| `open_salesman` | INTEGER | 直接 | `open_salesman` | 维度字段,用于补充维度属性 |
|
||
| `sort_order` | INTEGER | 直接 | `sort` | 维度字段,用于补充维度属性 |
|
||
| `is_warehousing` | INTEGER | 直接 | `is_warehousing` | 布尔/开关字段,用于表示是否/可用性等业务开关 |
|
||
| `scd2_start_time` | TIMESTAMPTZ | SCD2 | `—` | SCD2 开始时间(版本生效起点),用于维度慢变追踪 |
|
||
| `scd2_end_time` | TIMESTAMPTZ | SCD2 | `—` | SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪 |
|
||
| `scd2_is_current` | INT | SCD2 | `—` | SCD2 当前版本标记(1=当前,0=历史),用于筛选最新维度记录 |
|
||
| `scd2_version` | INT | SCD2 | `—` | SCD2 版本号(自增),用于与时间段一起避免版本重叠 |
|
||
|
||
---
|
||
|
||
### 3.20 store_goods_master(门店商品档案)
|
||
|
||
- 任务代码:`ODS_STORE_GOODS`
|
||
- 采样记录数:173
|
||
- ODS 列数:52
|
||
- DWD 目标表:dim_store_goods, dim_store_goods_ex
|
||
|
||
#### JSON→ODS 映射(已映射 48/53,覆盖率 90.6%)
|
||
|
||
| JSON 路径 | ODS 列名 | JSON 类型 | 出现率 |
|
||
|----------|---------|----------|-------|
|
||
| `siteName` | `sitename` | string | 100.0% |
|
||
| `oneCategoryName` | `onecategoryname` | string | 100.0% |
|
||
| `twoCategoryName` | `twocategoryname` | string | 100.0% |
|
||
| `goodsStockWarningInfo.tenant_goods_id` | `tenant_goods_id` | integer | 100.0% |
|
||
| `id` | `id` | integer | 100.0% |
|
||
| `able_discount` | `able_discount` | integer | 100.0% |
|
||
| `able_site_transfer` | `able_site_transfer` | integer | 100.0% |
|
||
| `audit_status` | `audit_status` | integer | 100.0% |
|
||
| `average_monthly_sales` | `average_monthly_sales` | number | 100.0% |
|
||
| `batch_stock_quantity` | `batch_stock_quantity` | integer | 100.0% |
|
||
| `commodity_code` | `commodity_code` | string | 100.0% |
|
||
| `cost_price` | `cost_price` | number | 100.0% |
|
||
| `cost_price_type` | `cost_price_type` | integer | 100.0% |
|
||
| `create_time` | `create_time` | string | 100.0% |
|
||
| `custom_label_type` | `custom_label_type` | integer | 100.0% |
|
||
| `days_available` | `days_available` | integer | 100.0% |
|
||
| `enable_status` | `enable_status` | integer | 100.0% |
|
||
| `forbid_sell_status` | `forbid_sell_status` | integer | 100.0% |
|
||
| `freeze` | `freeze` | integer | 100.0% |
|
||
| `goods_bar_code` | `goods_bar_code` | string | 100.0% |
|
||
| `goods_category_id` | `goods_category_id` | integer | 100.0% |
|
||
| `goods_cover` | `goods_cover` | string | 100.0% |
|
||
| `goods_name` | `goods_name` | string | 100.0% |
|
||
| `goods_second_category_id` | `goods_second_category_id` | integer | 100.0% |
|
||
| `goods_state` | `goods_state` | integer | 100.0% |
|
||
| `is_delete` | `is_delete` | integer | 100.0% |
|
||
| `is_warehousing` | `is_warehousing` | integer | 100.0% |
|
||
| `min_discount_price` | `min_discount_price` | number | 100.0% |
|
||
| `not_sale` | `not_sale` | integer | 100.0% |
|
||
| `option_required` | `option_required` | integer | 100.0% |
|
||
| `pinyin_initial` | `pinyin_initial` | string | 100.0% |
|
||
| `provisional_total_cost` | `provisional_total_cost` | number | 100.0% |
|
||
| `remark` | `remark` | string | 100.0% |
|
||
| `safe_stock` | `safe_stock` | integer | 100.0% |
|
||
| `sale_channel` | `sale_channel` | string | 100.0% |
|
||
| `sale_num` | `sale_num` | integer | 100.0% |
|
||
| `sale_price` | `sale_price` | number | 100.0% |
|
||
| `send_state` | `send_state` | integer | 100.0% |
|
||
| `site_id` | `site_id` | integer | 100.0% |
|
||
| `sort` | `sort` | integer | 100.0% |
|
||
| `stock` | `stock` | integer | 100.0% |
|
||
| `stock_A` | `stock_a` | integer | 100.0% |
|
||
| `tenant_goods_id` | `tenant_goods_id` | integer | 100.0% |
|
||
| `tenant_id` | `tenant_id` | integer | 100.0% |
|
||
| `total_purchase_cost` | `total_purchase_cost` | number | 100.0% |
|
||
| `total_sales` | `total_sales` | integer | 100.0% |
|
||
| `unit` | `unit` | string | 100.0% |
|
||
| `update_time` | `update_time` | string | 100.0% |
|
||
|
||
<details><summary>仅存于 payload 的字段(5 个)</summary>
|
||
|
||
| JSON 路径 | JSON 类型 | 出现率 |
|
||
|----------|----------|-------|
|
||
| `goodsStockWarningInfo.site_goods_id` | integer | 100.0% |
|
||
| `goodsStockWarningInfo.sales_day` | number | 100.0% |
|
||
| `goodsStockWarningInfo.warning_day_max` | integer | 100.0% |
|
||
| `goodsStockWarningInfo.warning_day_min` | integer | 100.0% |
|
||
| `time_slot_sale` | integer | 100.0% |
|
||
|
||
</details>
|
||
|
||
#### ODS→DWD:`dim_store_goods`(直接 22 / 派生 0 / SCD2 4)
|
||
|
||
| DWD 列名 | 类型 | 映射类型 | ODS 来源 | 说明 |
|
||
|---------|------|---------|---------|------|
|
||
| `site_goods_id` | BIGINT | 直接 | `id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `tenant_id` | BIGINT | 直接 | `tenant_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `site_id` | BIGINT | 直接 | `site_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `tenant_goods_id` | BIGINT | 直接 | `tenant_goods_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `goods_name` | TEXT | 直接 | `goods_name` | 名称字段,用于展示与辅助识别 |
|
||
| `goods_category_id` | BIGINT | 直接 | `goods_category_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `goods_second_category_id` | BIGINT | 直接 | `goods_second_category_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `category_level1_name` | TEXT | 直接 | `onecategoryname` | 名称字段,用于展示与辅助识别 |
|
||
| `category_level2_name` | TEXT | 直接 | `twocategoryname` | 名称字段,用于展示与辅助识别 |
|
||
| `batch_stock_qty` | INTEGER | 直接 | `stock` | 数量/时长字段,用于统计与计量 |
|
||
| `sale_qty` | INTEGER | 直接 | `sale_num` | 数量/时长字段,用于统计与计量 |
|
||
| `total_sales_qty` | INTEGER | 直接 | `total_sales` | 数量/时长字段,用于统计与计量 |
|
||
| `sale_price` | NUMERIC(18,2) | 直接 | `sale_price` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `created_at` | TIMESTAMPTZ | 直接 | `create_time` | 维度字段,用于补充维度属性 |
|
||
| `updated_at` | TIMESTAMPTZ | 直接 | `update_time` | 维度字段,用于补充维度属性 |
|
||
| `avg_monthly_sales` | NUMERIC(18,4) | 直接 | `average_monthly_sales` | 维度字段,用于补充维度属性 |
|
||
| `goods_state` | INTEGER | 直接 | `goods_state` | 维度字段,用于补充维度属性 |
|
||
| `enable_status` | INTEGER | 直接 | `enable_status` | 状态枚举字段,用于标识业务状态 |
|
||
| `send_state` | INTEGER | 直接 | `send_state` | 维度字段,用于补充维度属性 |
|
||
| `is_delete` | INTEGER | 直接 | `is_delete` | 布尔/开关字段,用于表示是否/可用性等业务开关 |
|
||
| `commodity_code` | TEXT | 直接 | `commodity_code` | |
|
||
| `not_sale` | INTEGER | 直接 | `not_sale` | |
|
||
| `scd2_start_time` | TIMESTAMPTZ | SCD2 | `—` | SCD2 开始时间(版本生效起点),用于维度慢变追踪 |
|
||
| `scd2_end_time` | TIMESTAMPTZ | SCD2 | `—` | SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪 |
|
||
| `scd2_is_current` | INT | SCD2 | `—` | SCD2 当前版本标记(1=当前,0=历史),用于筛选最新维度记录 |
|
||
| `scd2_version` | INT | SCD2 | `—` | SCD2 版本号(自增),用于与时间段一起避免版本重叠 |
|
||
|
||
#### ODS→DWD:`dim_store_goods_ex`(直接 26 / 派生 0 / SCD2 4)
|
||
|
||
| DWD 列名 | 类型 | 映射类型 | ODS 来源 | 说明 |
|
||
|---------|------|---------|---------|------|
|
||
| `site_goods_id` | BIGINT | 直接 | `id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `site_name` | TEXT | 直接 | `sitename` | 名称字段,用于展示与辅助识别 |
|
||
| `unit` | TEXT | 直接 | `unit` | 维度字段,用于补充维度属性 |
|
||
| `goods_barcode` | TEXT | 直接 | `goods_bar_code` | 维度字段,用于补充维度属性 |
|
||
| `goods_cover_url` | TEXT | 直接 | `goods_cover` | 维度字段,用于补充维度属性 |
|
||
| `pinyin_initial` | TEXT | 直接 | `pinyin_initial` | 维度字段,用于补充维度属性 |
|
||
| `stock_qty` | INTEGER | 直接 | `stock` | 数量/时长字段,用于统计与计量 |
|
||
| `stock_secondary_qty` | INTEGER | 直接 | `stock_a` | 数量/时长字段,用于统计与计量 |
|
||
| `safety_stock_qty` | INTEGER | 直接 | `safe_stock` | 数量/时长字段,用于统计与计量 |
|
||
| `cost_price` | NUMERIC(18,4) | 直接 | `cost_price` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `cost_price_type` | INTEGER | 直接 | `cost_price_type` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `provisional_total_cost` | NUMERIC(18,2) | 直接 | `total_purchase_cost` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `total_purchase_cost` | NUMERIC(18,2) | 直接 | `total_purchase_cost` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `min_discount_price` | NUMERIC(18,2) | 直接 | `min_discount_price` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `is_discountable` | INTEGER | 直接 | `able_discount` | 数量/时长字段,用于统计与计量 |
|
||
| `days_on_shelf` | INTEGER | 直接 | `days_available` | 维度字段,用于补充维度属性 |
|
||
| `audit_status` | INTEGER | 直接 | `audit_status` | 状态枚举字段,用于标识业务状态 |
|
||
| `sale_channel` | INTEGER | 直接 | `sale_channel` | 维度字段,用于补充维度属性 |
|
||
| `is_warehousing` | INTEGER | 直接 | `is_warehousing` | 布尔/开关字段,用于表示是否/可用性等业务开关 |
|
||
| `freeze_status` | INTEGER | 直接 | `freeze` | 状态枚举字段,用于标识业务状态 |
|
||
| `forbid_sell_status` | INTEGER | 直接 | `forbid_sell_status` | 状态枚举字段,用于标识业务状态 |
|
||
| `able_site_transfer` | INTEGER | 直接 | `able_site_transfer` | 维度字段,用于补充维度属性 |
|
||
| `custom_label_type` | INTEGER | 直接 | `custom_label_type` | 维度字段,用于补充维度属性 |
|
||
| `option_required` | INTEGER | 直接 | `option_required` | 维度字段,用于补充维度属性 |
|
||
| `remark` | TEXT | 直接 | `remark` | 维度字段,用于补充维度属性 |
|
||
| `sort_order` | INTEGER | 直接 | `sort` | 维度字段,用于补充维度属性 |
|
||
| `scd2_start_time` | TIMESTAMPTZ | SCD2 | `—` | SCD2 开始时间(版本生效起点),用于维度慢变追踪 |
|
||
| `scd2_end_time` | TIMESTAMPTZ | SCD2 | `—` | SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪 |
|
||
| `scd2_is_current` | INT | SCD2 | `—` | SCD2 当前版本标记(1=当前,0=历史),用于筛选最新维度记录 |
|
||
| `scd2_version` | INT | SCD2 | `—` | SCD2 版本号(自增),用于与时间段一起避免版本重叠 |
|
||
|
||
---
|
||
|
||
### 3.21 table_fee_discount_records(台费折扣/调账)
|
||
|
||
- 任务代码:`ODS_TABLE_FEE_DISCOUNT`
|
||
- 采样记录数:200
|
||
- ODS 列数:33
|
||
- DWD 目标表:dwd_table_fee_adjust, dwd_table_fee_adjust_ex
|
||
|
||
#### JSON→ODS 映射(已映射 30/55,覆盖率 54.5%)
|
||
|
||
| JSON 路径 | ODS 列名 | JSON 类型 | 出现率 |
|
||
|----------|---------|----------|-------|
|
||
| `tableProfile.id` | `id` | integer | 100.0% |
|
||
| `tableProfile.tenant_id` | `tenant_id` | integer | 100.0% |
|
||
| `tableProfile.tenant_name` | `tenant_name` | string | 100.0% |
|
||
| `tableProfile.siteName` | `sitename` | string | 100.0% |
|
||
| `tableProfile.table_name` | `table_name` | string | 100.0% |
|
||
| `tableProfile.site_table_area_id` | `site_table_area_id` | integer | 100.0% |
|
||
| `tableProfile.area_type_id` | `area_type_id` | integer | 100.0% |
|
||
| `tableProfile.table_price` | `table_price` | number | 100.0% |
|
||
| `tableProfile.site_table_area_name` | `site_table_area_name` | string | 100.0% |
|
||
| `tableProfile.charge_free` | `charge_free` | integer | 100.0% |
|
||
| `siteProfile.id` | `id` | integer | 100.0% |
|
||
| `siteProfile.tenant_id` | `tenant_id` | integer | 100.0% |
|
||
| `id` | `id` | integer | 100.0% |
|
||
| `adjust_type` | `adjust_type` | integer | 100.0% |
|
||
| `applicant_id` | `applicant_id` | integer | 100.0% |
|
||
| `applicant_name` | `applicant_name` | string | 100.0% |
|
||
| `create_time` | `create_time` | string | 100.0% |
|
||
| `is_delete` | `is_delete` | integer | 100.0% |
|
||
| `ledger_amount` | `ledger_amount` | number | 100.0% |
|
||
| `ledger_count` | `ledger_count` | integer | 100.0% |
|
||
| `ledger_name` | `ledger_name` | string | 100.0% |
|
||
| `ledger_status` | `ledger_status` | integer | 100.0% |
|
||
| `operator_id` | `operator_id` | integer | 100.0% |
|
||
| `operator_name` | `operator_name` | string | 100.0% |
|
||
| `order_settle_id` | `order_settle_id` | integer | 100.0% |
|
||
| `order_trade_no` | `order_trade_no` | integer | 100.0% |
|
||
| `site_id` | `site_id` | integer | 100.0% |
|
||
| `site_table_id` | `site_table_id` | integer | 100.0% |
|
||
| `tenant_id` | `tenant_id` | integer | 100.0% |
|
||
| `tenant_table_area_id` | `tenant_table_area_id` | integer | 100.0% |
|
||
|
||
<details><summary>仅存于 payload 的字段(25 个)</summary>
|
||
|
||
| JSON 路径 | JSON 类型 | 出现率 |
|
||
|----------|----------|-------|
|
||
| `tableProfile.ewelink_client_id` | string | 100.0% |
|
||
| `siteProfile.org_id` | integer | 100.0% |
|
||
| `siteProfile.shop_name` | string | 100.0% |
|
||
| `siteProfile.avatar` | string | 100.0% |
|
||
| `siteProfile.business_tel` | string | 100.0% |
|
||
| `siteProfile.full_address` | string | 100.0% |
|
||
| `siteProfile.address` | string | 100.0% |
|
||
| `siteProfile.longitude` | number | 100.0% |
|
||
| `siteProfile.latitude` | number | 100.0% |
|
||
| `siteProfile.tenant_site_region_id` | integer | 100.0% |
|
||
| `siteProfile.auto_light` | integer | 100.0% |
|
||
| `siteProfile.attendance_distance` | integer | 100.0% |
|
||
| `siteProfile.wifi_name` | string | 100.0% |
|
||
| `siteProfile.wifi_password` | string | 100.0% |
|
||
| `siteProfile.customer_service_qrcode` | string | 100.0% |
|
||
| `siteProfile.customer_service_wechat` | string | 100.0% |
|
||
| `siteProfile.fixed_pay_qrCode` | string | 100.0% |
|
||
| `siteProfile.prod_env` | integer | 100.0% |
|
||
| `siteProfile.light_status` | integer | 100.0% |
|
||
| `siteProfile.light_type` | integer | 100.0% |
|
||
| `siteProfile.site_type` | integer | 100.0% |
|
||
| `siteProfile.light_token` | string | 100.0% |
|
||
| `siteProfile.site_label` | string | 100.0% |
|
||
| `siteProfile.attendance_enabled` | integer | 100.0% |
|
||
| `siteProfile.shop_status` | integer | 100.0% |
|
||
|
||
</details>
|
||
|
||
#### ODS→DWD:`dwd_table_fee_adjust`(直接 15 / 派生 1 / SCD2 0)
|
||
|
||
| DWD 列名 | 类型 | 映射类型 | ODS 来源 | 说明 |
|
||
|---------|------|---------|---------|------|
|
||
| `table_fee_adjust_id` | BIGINT | 直接 | `id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `order_trade_no` | BIGINT | 直接 | `order_trade_no` | 明细字段,用于记录事实取值 |
|
||
| `order_settle_id` | BIGINT | 直接 | `order_settle_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `tenant_id` | BIGINT | 直接 | `tenant_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `site_id` | BIGINT | 直接 | `site_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `table_id` | BIGINT | 直接 | `site_table_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `table_area_id` | BIGINT | 直接 | `tenant_table_area_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `table_area_name` | VARCHAR(64) | 派生 | `tableprofile.table_area_name` | 名称字段,用于展示与辅助识别 |
|
||
| `tenant_table_area_id` | BIGINT | 直接 | `tenant_table_area_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `ledger_amount` | NUMERIC(18,2) | 直接 | `ledger_amount` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `ledger_status` | INTEGER | 直接 | `ledger_status` | 状态枚举字段,用于标识业务状态 |
|
||
| `is_delete` | INTEGER | 直接 | `is_delete` | 布尔/开关字段,用于表示是否/可用性等业务开关 |
|
||
| `adjust_time` | TIMESTAMPTZ | 直接 | `create_time` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `table_name` | TEXT | 直接 | `table_name` | |
|
||
| `table_price` | NUMERIC(18,2) | 直接 | `table_price` | |
|
||
| `charge_free` | BOOLEAN | 直接 | `charge_free` | |
|
||
|
||
#### ODS→DWD:`dwd_table_fee_adjust_ex`(直接 12 / 派生 1 / SCD2 0)
|
||
|
||
| DWD 列名 | 类型 | 映射类型 | ODS 来源 | 说明 |
|
||
|---------|------|---------|---------|------|
|
||
| `table_fee_adjust_id` | BIGINT | 直接 | `id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `adjust_type` | INTEGER | 直接 | `adjust_type` | 明细字段,用于记录事实取值 |
|
||
| `ledger_count` | INTEGER | 直接 | `ledger_count` | 数量/时长字段,用于统计与计量 |
|
||
| `ledger_name` | VARCHAR(128) | 直接 | `ledger_name` | 名称字段,用于展示与辅助识别 |
|
||
| `applicant_name` | VARCHAR(64) | 直接 | `applicant_name` | 名称字段,用于展示与辅助识别 |
|
||
| `operator_name` | VARCHAR(64) | 直接 | `operator_name` | 名称字段,用于展示与辅助识别 |
|
||
| `applicant_id` | BIGINT | 直接 | `applicant_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `operator_id` | BIGINT | 直接 | `operator_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `area_type_id` | BIGINT | 直接 | `area_type_id` | |
|
||
| `site_table_area_id` | BIGINT | 直接 | `site_table_area_id` | |
|
||
| `site_table_area_name` | TEXT | 直接 | `site_table_area_name` | |
|
||
| `site_name` | TEXT | 派生 | `—` | |
|
||
| `tenant_name` | TEXT | 直接 | `tenant_name` | |
|
||
|
||
---
|
||
|
||
### 3.22 tenant_goods_master(租户商品档案)
|
||
|
||
- 任务代码:`ODS_TENANT_GOODS`
|
||
- 采样记录数:174
|
||
- ODS 列数:37
|
||
- DWD 目标表:dim_tenant_goods, dim_tenant_goods_ex
|
||
|
||
#### JSON→ODS 映射(已映射 32/32,覆盖率 100.0%)
|
||
|
||
| JSON 路径 | ODS 列名 | JSON 类型 | 出现率 |
|
||
|----------|---------|----------|-------|
|
||
| `categoryName` | `categoryname` | string | 100.0% |
|
||
| `isInSite` | `isinsite` | boolean | 100.0% |
|
||
| `commodityCode[]` | `commoditycode` | string | 100.0% |
|
||
| `id` | `id` | integer | 100.0% |
|
||
| `able_discount` | `able_discount` | integer | 100.0% |
|
||
| `able_site_transfer` | `able_site_transfer` | integer | 100.0% |
|
||
| `commodity_code` | `commodity_code` | string | 100.0% |
|
||
| `common_sale_royalty` | `common_sale_royalty` | integer | 100.0% |
|
||
| `cost_price` | `cost_price` | number | 100.0% |
|
||
| `cost_price_type` | `cost_price_type` | integer | 100.0% |
|
||
| `create_time` | `create_time` | string | 100.0% |
|
||
| `goods_bar_code` | `goods_bar_code` | string | 100.0% |
|
||
| `goods_category_id` | `goods_category_id` | integer | 100.0% |
|
||
| `goods_cover` | `goods_cover` | string | 100.0% |
|
||
| `goods_name` | `goods_name` | string | 100.0% |
|
||
| `goods_number` | `goods_number` | string | 100.0% |
|
||
| `goods_second_category_id` | `goods_second_category_id` | integer | 100.0% |
|
||
| `goods_state` | `goods_state` | integer | 100.0% |
|
||
| `is_delete` | `is_delete` | integer | 100.0% |
|
||
| `is_warehousing` | `is_warehousing` | integer | 100.0% |
|
||
| `market_price` | `market_price` | number | 100.0% |
|
||
| `min_discount_price` | `min_discount_price` | number | 100.0% |
|
||
| `not_sale` | `not_sale` | integer | 100.0% |
|
||
| `out_goods_id` | `out_goods_id` | integer | 100.0% |
|
||
| `pinyin_initial` | `pinyin_initial` | string | 100.0% |
|
||
| `point_sale_royalty` | `point_sale_royalty` | integer | 100.0% |
|
||
| `remark_name` | `remark_name` | string | 100.0% |
|
||
| `sale_channel` | `sale_channel` | string | 100.0% |
|
||
| `supplier_id` | `supplier_id` | integer | 100.0% |
|
||
| `tenant_id` | `tenant_id` | integer | 100.0% |
|
||
| `unit` | `unit` | string | 100.0% |
|
||
| `update_time` | `update_time` | string | 83.3% |
|
||
|
||
#### ODS→DWD:`dim_tenant_goods`(直接 15 / 派生 0 / SCD2 4)
|
||
|
||
| DWD 列名 | 类型 | 映射类型 | ODS 来源 | 说明 |
|
||
|---------|------|---------|---------|------|
|
||
| `tenant_goods_id` | BIGINT | 直接 | `id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `tenant_id` | BIGINT | 直接 | `tenant_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `supplier_id` | BIGINT | 直接 | `supplier_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `category_name` | VARCHAR(64) | 直接 | `categoryname` | 名称字段,用于展示与辅助识别 |
|
||
| `goods_category_id` | BIGINT | 直接 | `goods_category_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `goods_second_category_id` | BIGINT | 直接 | `goods_second_category_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `goods_name` | VARCHAR(128) | 直接 | `goods_name` | 名称字段,用于展示与辅助识别 |
|
||
| `goods_number` | VARCHAR(64) | 直接 | `goods_number` | 数量/时长字段,用于统计与计量 |
|
||
| `unit` | VARCHAR(16) | 直接 | `unit` | 维度字段,用于补充维度属性 |
|
||
| `market_price` | NUMERIC(18,2) | 直接 | `market_price` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `goods_state` | INTEGER | 直接 | `goods_state` | 维度字段,用于补充维度属性 |
|
||
| `create_time` | TIMESTAMPTZ | 直接 | `create_time` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `update_time` | TIMESTAMPTZ | 直接 | `update_time` | 时间/日期字段,用于记录业务时间与统计口径对齐 |
|
||
| `is_delete` | INTEGER | 直接 | `is_delete` | 布尔/开关字段,用于表示是否/可用性等业务开关 |
|
||
| `not_sale` | INTEGER | 直接 | `not_sale` | |
|
||
| `scd2_start_time` | TIMESTAMPTZ | SCD2 | `—` | SCD2 开始时间(版本生效起点),用于维度慢变追踪 |
|
||
| `scd2_end_time` | TIMESTAMPTZ | SCD2 | `—` | SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪 |
|
||
| `scd2_is_current` | INT | SCD2 | `—` | SCD2 当前版本标记(1=当前,0=历史),用于筛选最新维度记录 |
|
||
| `scd2_version` | INT | SCD2 | `—` | SCD2 版本号(自增),用于与时间段一起避免版本重叠 |
|
||
|
||
#### ODS→DWD:`dim_tenant_goods_ex`(直接 17 / 派生 1 / SCD2 4)
|
||
|
||
| DWD 列名 | 类型 | 映射类型 | ODS 来源 | 说明 |
|
||
|---------|------|---------|---------|------|
|
||
| `tenant_goods_id` | BIGINT | 直接 | `id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `remark_name` | VARCHAR(128) | 直接 | `remark_name` | 名称字段,用于展示与辅助识别 |
|
||
| `pinyin_initial` | VARCHAR(128) | 直接 | `pinyin_initial` | 维度字段,用于补充维度属性 |
|
||
| `goods_cover` | VARCHAR(512) | 直接 | `goods_cover` | 维度字段,用于补充维度属性 |
|
||
| `goods_bar_code` | VARCHAR(64) | 直接 | `goods_bar_code` | 维度字段,用于补充维度属性 |
|
||
| `commodity_code` | VARCHAR(64) | 直接 | `commodity_code` | 维度字段,用于补充维度属性 |
|
||
| `commodity_code_list` | VARCHAR(256) | 直接 | `commodity_code` | 维度字段,用于补充维度属性 |
|
||
| `min_discount_price` | NUMERIC(18,2) | 直接 | `min_discount_price` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `cost_price` | NUMERIC(18,2) | 直接 | `cost_price` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `cost_price_type` | INTEGER | 直接 | `cost_price_type` | 金额字段,用于计费/结算/核算等金额计算 |
|
||
| `able_discount` | INTEGER | 直接 | `able_discount` | 数量/时长字段,用于统计与计量 |
|
||
| `sale_channel` | INTEGER | 直接 | `sale_channel` | 维度字段,用于补充维度属性 |
|
||
| `is_warehousing` | INTEGER | 直接 | `is_warehousing` | 布尔/开关字段,用于表示是否/可用性等业务开关 |
|
||
| `is_in_site` | BOOLEAN | 派生 | `isInSite(派生:BOOLEAN(isInSite))` | 布尔/开关字段,用于表示是否/可用性等业务开关 |
|
||
| `able_site_transfer` | INTEGER | 直接 | `able_site_transfer` | 维度字段,用于补充维度属性 |
|
||
| `common_sale_royalty` | INTEGER | 直接 | `common_sale_royalty` | 维度字段,用于补充维度属性 |
|
||
| `point_sale_royalty` | INTEGER | 直接 | `point_sale_royalty` | 维度字段,用于补充维度属性 |
|
||
| `out_goods_id` | BIGINT | 直接 | `out_goods_id` | 标识类 ID 字段,用于关联/定位相关实体 |
|
||
| `scd2_start_time` | TIMESTAMPTZ | SCD2 | `—` | SCD2 开始时间(版本生效起点),用于维度慢变追踪 |
|
||
| `scd2_end_time` | TIMESTAMPTZ | SCD2 | `—` | SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪 |
|
||
| `scd2_is_current` | INT | SCD2 | `—` | SCD2 当前版本标记(1=当前,0=历史),用于筛选最新维度记录 |
|
||
| `scd2_version` | INT | SCD2 | `—` | SCD2 版本号(自增),用于与时间段一起避免版本重叠 |
|
||
|
||
---
|
||
|
||
### 3.23 settlement_ticket_details(结账小票详情)
|
||
|
||
- 任务代码:`ODS_SETTLEMENT_TICKET`
|
||
- 采样记录数:0
|
||
- ODS 列数:43
|
||
- DWD 目标表:无(尚未建模)
|
||
|
||
#### JSON→ODS 映射(已映射 0/0,覆盖率 —)
|
||
|
||
*该表尚未建立 DWD 层映射。*
|
||
|
||
---
|
||
|
||
## 4. 附录
|
||
|
||
### 4.1 数据流架构
|
||
|
||
```
|
||
上游 SaaS API → JSON 采集 → ODS(原始层) → DWD(明细层) → DWS(汇总层)
|
||
↓ ↓
|
||
payload jsonb 维度: SCD2
|
||
+ 展平列 事实: 增量追加
|
||
```
|
||
|
||
### 4.2 ODS→DWD 表名映射一览
|
||
|
||
| ODS 表 | DWD 目标表 |
|
||
|--------|-----------|
|
||
| `assistant_accounts_master` | dim_assistant, dim_assistant_ex |
|
||
| `assistant_cancellation_records` | dwd_assistant_trash_event, dwd_assistant_trash_event_ex |
|
||
| `assistant_service_records` | dwd_assistant_service_log, dwd_assistant_service_log_ex |
|
||
| `goods_stock_movements` | —(尚未建模) |
|
||
| `goods_stock_summary` | —(尚未建模) |
|
||
| `group_buy_packages` | dim_groupbuy_package, dim_groupbuy_package_ex |
|
||
| `group_buy_redemption_records` | dwd_groupbuy_redemption, dwd_groupbuy_redemption_ex |
|
||
| `member_balance_changes` | dwd_member_balance_change, dwd_member_balance_change_ex |
|
||
| `member_profiles` | dim_member, dim_member_ex |
|
||
| `member_stored_value_cards` | dim_member_card_account, dim_member_card_account_ex |
|
||
| `payment_transactions` | dwd_payment |
|
||
| `platform_coupon_redemption_records` | dwd_platform_coupon_redemption, dwd_platform_coupon_redemption_ex |
|
||
| `recharge_settlements` | dwd_recharge_order, dwd_recharge_order_ex |
|
||
| `refund_transactions` | dwd_refund |
|
||
| `settlement_records` | dwd_settlement_head, dwd_settlement_head_ex |
|
||
| `settlement_ticket_details` | —(尚未建模) |
|
||
| `site_tables_master` | dim_table, dim_table_ex |
|
||
| `stock_goods_category_tree` | dim_goods_category |
|
||
| `store_goods_master` | dim_store_goods, dim_store_goods_ex |
|
||
| `store_goods_sales_records` | dwd_store_goods_sale, dwd_store_goods_sale_ex |
|
||
| `table_fee_discount_records` | dwd_table_fee_adjust, dwd_table_fee_adjust_ex |
|
||
| `table_fee_transactions` | dim_site, dim_site_ex, dwd_table_fee_log, dwd_table_fee_log_ex |
|
||
| `tenant_goods_master` | dim_tenant_goods, dim_tenant_goods_ex |
|
||
|
||
### 4.3 SCD2 版本控制列说明
|
||
|
||
| 列名 | 说明 |
|
||
|------|------|
|
||
| `scd2_start_time` | 版本生效起点 |
|
||
| `scd2_end_time` | 版本失效时间(9999-12-31 表示当前版本) |
|
||
| `scd2_is_current` | 当前版本标记(1=当前,0=历史) |
|
||
| `scd2_version` | 版本号(自增) |
|
||
|
||
### 4.4 ETL 元数据列说明
|
||
|
||
| 列名 | 说明 |
|
||
|------|------|
|
||
| `content_hash` | 记录内容哈希,用于去重 |
|
||
| `source_file` | 数据来源文件(离线模式) |
|
||
| `source_endpoint` | API 端点 |
|
||
| `fetched_at` | 采集时间 |
|
||
| `payload` | 原始 JSON(jsonb),保留完整上游数据 |
|