在前后端开发联调前 的提交20260223
This commit is contained in:
0
export/SYSTEM/REPORTS/field_audit/.gitkeep
Normal file
0
export/SYSTEM/REPORTS/field_audit/.gitkeep
Normal file
@@ -0,0 +1,138 @@
|
||||
# Dataflow 报告 vs Field Review 字段新增方案对比
|
||||
|
||||
> 生成时间:2026-02-20
|
||||
> 对比文件:
|
||||
> - **DF**(自动扫描):`dataflow_2026-02-20_005219.md`
|
||||
> - **FR**(人工审查):`field_review_for_user.md`
|
||||
|
||||
---
|
||||
|
||||
## 一、完全一致的表
|
||||
|
||||
以下 6 张表,两份报告在字段新增方案上结论完全相同:
|
||||
|
||||
| 表名 | 未映射数 | FR 方案 | 一致性 |
|
||||
|------|---------|---------|--------|
|
||||
| `assistant_accounts_master` | 4 | A 类:system_role_id, job_num, cx_unit_price, pd_unit_price → dim_assistant_ex | ✅ 完全一致 |
|
||||
| `member_balance_changes` | 1 | A 类:relate_id → dwd_member_balance_change_ex | ✅ 完全一致 |
|
||||
| `site_tables_master` | 14 | A 类:14 个字段 → dim_table_ex | ✅ 完全一致 |
|
||||
| `goods_stock_summary` | 14 | C 类:新建 dwd_goods_stock_summary,全部 14 列映射 | ✅ 完全一致 |
|
||||
| `goods_stock_movements` | 19 | C 类:新建 dwd_goods_stock_movement,全部 19 列映射 | ✅ 完全一致 |
|
||||
| `settlement_ticket_details` | 38 | C 类:新建 dwd_settlement_ticket + _ex,~38 列映射 | ✅ 完全一致 |
|
||||
|
||||
---
|
||||
|
||||
## 二、有差异的表(逐表分析)
|
||||
|
||||
### 2.1 assistant_service_records
|
||||
|
||||
| 字段 | DF 标记 | FR 标记 | 差异说明 |
|
||||
|------|--------|--------|---------|
|
||||
| `operator_id` | ⚠️ 无 DWD 目标 | ✅ 待新增 → dwd_assistant_service_log_ex | 一致 |
|
||||
| `operator_name` | ⚠️ 无 DWD 目标 | ✅ 待新增 → dwd_assistant_service_log_ex | 一致 |
|
||||
| `siteprofile` | ⚠️ 无 DWD 目标 | (未提及) | DF 多报:jsonb 嵌套字段,不适合直接映射 DWD 列,FR 正确忽略 |
|
||||
| `site_assistant_id` | ⚠️ 无 DWD 目标 | ⏭️ 跳过:已通过 FACT_MAPPINGS 间接映射(ODS order_assistant_id → DWD site_assistant_id) | DF 多报:自动扫描无法识别间接映射 |
|
||||
|
||||
**结论**:实质一致。DF 多出的 2 个标记(siteprofile、site_assistant_id)均为合理的"不需处理"项。
|
||||
|
||||
---
|
||||
|
||||
### 2.2 assistant_cancellation_records
|
||||
|
||||
| 字段 | DF 标记 | FR 标记 | 差异说明 |
|
||||
|------|--------|--------|---------|
|
||||
| `assistanton` | ⚠️ 无 DWD 目标 | ✅ 待新增 → assistant_no_int(dwd_assistant_trash_event_ex) | 一致 |
|
||||
| `siteprofile` | ⚠️ 无 DWD 目标 | (未提及) | DF 多报:jsonb 嵌套字段,FR 正确忽略 |
|
||||
|
||||
**结论**:实质一致。差异仅为 siteprofile 的合理忽略。
|
||||
|
||||
---
|
||||
|
||||
### 2.3 recharge_settlements
|
||||
|
||||
| 字段对(ODS → DWD) | DF 标记 | FR 标记 | 差异说明 |
|
||||
|---------------------|--------|--------|---------|
|
||||
| `plcouponsaleamount` → `pl_coupon_sale_amount` | ODS 侧 ⚠️ 无 DWD 目标 + DWD 侧 ⚠️ 无 ODS 源 | ✅ B 类:DWD 列已存在,仅补 FACT_MAPPINGS | 诊断视角不同 |
|
||||
| `mervousalesamount` → `mervou_sales_amount` | 同上 | ✅ B 类:同上 | 同上 |
|
||||
| `electricitymoney` → `electricity_money` | 同上 | ✅ B 类:同上 | 同上 |
|
||||
| `realelectricitymoney` → `real_electricity_money` | 同上 | ✅ B 类:同上 | 同上 |
|
||||
| `electricityadjustmoney` → `electricity_adjust_money` | 同上 | ✅ B 类:同上 | 同上 |
|
||||
|
||||
**结论**:实质一致。DF 因 FACT_MAPPINGS 缺失,在 ODS 侧和 DWD 侧各报了一次"未映射"(共 10 个标记)。FR 更精准地识别出 DWD 列已存在,只需补映射配置(B 类操作)。
|
||||
|
||||
---
|
||||
|
||||
### 2.4 store_goods_master
|
||||
|
||||
| 字段 | DF 标记 | FR 标记 | 差异说明 |
|
||||
|------|--------|--------|---------|
|
||||
| `batch_stock_quantity` | ⚠️ 无 DWD 目标 | ✅ 待新增 → dim_store_goods_ex | 一致 |
|
||||
| `provisional_total_cost` | ⚠️ 无 DWD 目标 | ⏭️ 跳过:DWD 列名已被占用(映射自 ODS total_purchase_cost) | FR 识别出列名冲突,有意跳过 |
|
||||
| `time_slot_sale`(API 层) | ⚠️ API→ODS 未映射 | ⏭️ 跳过:ODS 列不存在,需确认 API 是否返回 | 两者都发现,FR 标记为待确认 |
|
||||
|
||||
**结论**:batch_stock_quantity 一致。provisional_total_cost 的差异是 FR 有意为之(列名冲突待后续处理)。
|
||||
|
||||
---
|
||||
|
||||
### 2.5 store_goods_sales_records
|
||||
|
||||
| 字段 | DF 标记 | FR 标记 | 差异说明 |
|
||||
|------|--------|--------|---------|
|
||||
| `discount_price` | ⚠️ 无 DWD 目标 | ⏭️ 跳过:DWD discount_price 列名已被占用(映射自 ODS discount_money)。如需可后续新增 unit_discount_price | FR 识别出列名冲突并给出后续方案 |
|
||||
|
||||
**结论**:一致。FR 提供了更具体的处理建议。
|
||||
|
||||
---
|
||||
|
||||
### 2.6 tenant_goods_master
|
||||
|
||||
| 字段 | DF 标记 | FR 标记 | 差异说明 |
|
||||
|------|--------|--------|---------|
|
||||
| `commoditycode` | ⚠️ 无 DWD 目标 | ⏭️ 跳过:冗余字段,DWD 已有 commodity_code + commodity_code_list 覆盖该语义 | FR 判断为冗余,合理跳过 |
|
||||
|
||||
**结论**:一致。FR 的跳过决策合理。
|
||||
|
||||
---
|
||||
|
||||
## 三、DF 扫描范围更广但 FR 未涉及的表
|
||||
|
||||
DF 覆盖全部 23 张 ODS 表,以下 11 张表 FR 未涉及(因为不涉及字段新增):
|
||||
|
||||
| 表名 | DF 发现的 ODS→DWD 未映射 | 说明 |
|
||||
|------|------------------------|------|
|
||||
| `settlement_records` | 0 | 无差异 |
|
||||
| `table_fee_transactions` | 1(siteprofile) | jsonb 嵌套,无需处理 |
|
||||
| `payment_transactions` | 1(siteprofile) | 同上 |
|
||||
| `refund_transactions` | 1(siteprofile) | 同上 |
|
||||
| `platform_coupon_redemption_records` | 1(siteprofile) | 同上 |
|
||||
| `member_profiles` | 0 | 无差异 |
|
||||
| `member_stored_value_cards` | 0 | 无差异 |
|
||||
| `group_buy_packages` | 0 | 无差异(API 层有 2 个数组字段未映射) |
|
||||
| `group_buy_redemption_records` | 0 | 无差异 |
|
||||
| `stock_goods_category_tree` | 1(categoryboxes) | 特殊字段,无需处理 |
|
||||
| `table_fee_discount_records` | 2(siteprofile, tableprofile) | jsonb 嵌套,无需处理 |
|
||||
|
||||
---
|
||||
|
||||
## 四、总结对比
|
||||
|
||||
| 维度 | DF(自动扫描) | FR(人工审查) |
|
||||
|------|--------------|--------------|
|
||||
| 覆盖范围 | 23 张 ODS 表全量扫描 | 12 张有差异的表 |
|
||||
| 待新增字段汇总 | 未给出(只标记差异) | 31 个待新增 + 6 个跳过 |
|
||||
| 操作分类 | 无 | A 类(新增列+映射)/ B 类(仅补映射)/ C 类(新建表) |
|
||||
| 诊断精度 | 机械对比,无法识别间接映射、jsonb 嵌套、列名冲突 | 逐字段人工决策,识别所有特殊情况 |
|
||||
| 独有发现 | siteprofile 系列标记、time_slot_sale(API→ODS) | 列名冲突处理建议、目标表指定、冗余字段判断 |
|
||||
|
||||
### 核心结论
|
||||
|
||||
两份报告在实质性字段新增方案上**完全一致**。DF 多出的标记在 FR 中都有对应的"跳过"或"已处理"说明:
|
||||
|
||||
- `siteprofile`(多张表)→ jsonb 嵌套字段,不适合直接映射
|
||||
- `site_assistant_id` → 已通过 FACT_MAPPINGS 间接映射
|
||||
- `provisional_total_cost` → DWD 列名冲突,待后续处理
|
||||
- `commoditycode` → 冗余字段,已有等价覆盖
|
||||
- `discount_price` → DWD 列名冲突,待后续处理
|
||||
|
||||
DF 的价值:全量自动化扫描,确保无遗漏,适合作为 FR 的前置输入。
|
||||
FR 的价值:提供可执行的分类方案和特殊情况处理策略,是最终实施依据。
|
||||
698
export/SYSTEM/REPORTS/field_audit/dwd_field_review.md
Normal file
698
export/SYSTEM/REPORTS/field_audit/dwd_field_review.md
Normal file
@@ -0,0 +1,698 @@
|
||||
# DWD 表字段清单(现有 + 拟新增)
|
||||
|
||||
> 导出时间:2026-02-19
|
||||
> 用途:供人工审查排查结论,确认新增字段是否合理
|
||||
|
||||
---
|
||||
|
||||
## 第一部分:A/B 类表(已有 DWD 表)
|
||||
|
||||
### dwd.dim_assistant
|
||||
|
||||
#### 现有字段
|
||||
|
||||
| # | 字段名 | 数据类型 | 说明 |
|
||||
|---|--------|---------|------|
|
||||
| 1 | `assistant_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2947562271297029(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_accounts_master - id。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - id。 |
|
||||
| 2 | `user_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_accounts_master - staff_id。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - staff_id。 |
|
||||
| 3 | `assistant_no` | text | 【说明】维度字段,用于补充维度属性。 【示例】31(维度字段,用于补充维度属性)。 【ODS来源】assistant_accounts_master - assistant_no。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - assistant_no。 |
|
||||
| 4 | `real_name` | text | 【说明】名称字段,用于展示与辅助识别。 【示例】张静然(名称字段,用于展示与辅助识别)。 【ODS来源】assistant_accounts_master - real_name。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - real_name。 |
|
||||
| 5 | `nickname` | text | 【说明】名称字段,用于展示与辅助识别。 【示例】小然(名称字段,用于展示与辅助识别)。 【ODS来源】assistant_accounts_master - nickname。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - nickname。 |
|
||||
| 6 | `mobile` | text | 【说明】维度字段,用于补充维度属性。 【示例】15119679931(维度字段,用于补充维度属性)。 【ODS来源】assistant_accounts_master - mobile。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - mobile。 |
|
||||
| 7 | `tenant_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790683160709957(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_accounts_master - tenant_id。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - tenant_id。 |
|
||||
| 8 | `site_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790685415443269(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_accounts_master - site_id。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - site_id。 |
|
||||
| 9 | `team_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2792011585884037(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_accounts_master - team_id。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - team_id。 |
|
||||
| 10 | `team_name` | text | 【说明】名称字段,用于展示与辅助识别。 【示例】1组(名称字段,用于展示与辅助识别)。 【ODS来源】assistant_accounts_master - team_name。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - team_name。 |
|
||||
| 11 | `level` | integer | 【说明】维度字段,用于补充维度属性。 【示例】20(维度字段,用于补充维度属性)。 【ODS来源】assistant_accounts_master - level。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - level。 |
|
||||
| 12 | `entry_time` | timestamp with time zone | 【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-02 08:00:00(时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】assistant_accounts_master - entry_time。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - entry_time。 |
|
||||
| 13 | `resign_time` | timestamp with time zone | 【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-03 08:00:00(时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】assistant_accounts_master - resign_time。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - resign_time。 |
|
||||
| 14 | `leave_status` | integer | 【说明】状态枚举字段,用于标识业务状态。 【示例】1(状态枚举字段,用于标识业务状态)。 【ODS来源】assistant_accounts_master - leave_status。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - leave_status。 |
|
||||
| 15 | `assistant_status` | integer | 【说明】状态枚举字段,用于标识业务状态。 【示例】1(状态枚举字段,用于标识业务状态)。 【ODS来源】assistant_accounts_master - assistant_status。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - assistant_status。 |
|
||||
| 16 | `scd2_start_time` | timestamp with time zone | 【说明】SCD2 开始时间(版本生效起点),用于维度慢变追踪。 【示例】2025-11-10T00:00:00+08:00(SCD2 开始时间(版本生效起点),用于维度慢变追踪)。 【ODS来源】assistant_accounts_master - 无(DWD慢变元数据)。 【JSON字段】无 - DWD慢变元数据 - 无。 |
|
||||
| 17 | `scd2_end_time` | timestamp with time zone | 【说明】SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪。 【示例】9999-12-31T00:00:00+00:00(SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪)。 【ODS来源】assistant_accounts_master - 无(DWD慢变元数据)。 【JSON字段】无 - DWD慢变元数据 - 无。 |
|
||||
| 18 | `scd2_is_current` | integer | 【说明】SCD2 当前版本标记(1=当前,0=历史),用于筛选最新维度记录。 【示例】1(SCD2 当前版本标记(1=当前,0=历史),用于筛选最新维度记录)。 【ODS来源】assistant_accounts_master - 无(DWD慢变元数据)。 【JSON字段】无 - DWD慢变元数据 - 无。 |
|
||||
| 19 | `scd2_version` | integer | 【说明】SCD2 版本号(自增),用于与时间段一起避免版本重叠。 【示例】1(SCD2 版本号(自增),用于与时间段一起避免版本重叠)。 【ODS来源】assistant_accounts_master - 无(DWD慢变元数据)。 【JSON字段】无 - DWD慢变元数据 - 无。 |
|
||||
|
||||
---
|
||||
|
||||
### dwd.dim_assistant_ex
|
||||
|
||||
#### 现有字段
|
||||
|
||||
| # | 字段名 | 数据类型 | 说明 |
|
||||
|---|--------|---------|------|
|
||||
| 1 | `assistant_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2947562271297029(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_accounts_master - id。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - id。 |
|
||||
| 2 | `gender` | integer | 【说明】维度字段,用于补充维度属性。 【示例】0(维度字段,用于补充维度属性)。 【ODS来源】assistant_accounts_master - gender。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - gender。 |
|
||||
| 3 | `birth_date` | timestamp with time zone | 【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】0001-01-01 00:00:00(时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】assistant_accounts_master - birth_date。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - birth_date。 |
|
||||
| 4 | `avatar` | text | 【说明】维度字段,用于补充维度属性。 【示例】https://oss.ficoo.vip/maUiImages/images/defaultAvatar.png(维度字段,用于补充维度属性)。 【ODS来源】assistant_accounts_master - avatar。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - avatar。 |
|
||||
| 5 | `introduce` | text | 【说明】维度字段,用于补充维度属性。 【示例】NULL(维度字段,用于补充维度属性)。 【ODS来源】assistant_accounts_master - introduce。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - introduce。 |
|
||||
| 6 | `video_introduction_url` | text | 【说明】维度字段,用于补充维度属性。 【示例】https://oss.ficoo.vip/cbb/userVideo/1753096246308/175309624630830.mp4(维度字段,用于补充维度属性)。 【ODS来源】assistant_accounts_master - video_introduction_url。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - video_introduction_url。 |
|
||||
| 7 | `height` | numeric(5,2) | 【说明】维度字段,用于补充维度属性。 【示例】0.0(维度字段,用于补充维度属性)。 【ODS来源】assistant_accounts_master - height。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - height。 |
|
||||
| 8 | `weight` | numeric(5,2) | 【说明】维度字段,用于补充维度属性。 【示例】0.0(维度字段,用于补充维度属性)。 【ODS来源】assistant_accounts_master - weight。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - weight。 |
|
||||
| 9 | `shop_name` | text | 【说明】名称字段,用于展示与辅助识别。 【示例】朗朗桌球(名称字段,用于展示与辅助识别)。 【ODS来源】assistant_accounts_master - shop_name。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - shop_name。 |
|
||||
| 10 | `group_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_accounts_master - group_id。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - group_id。 |
|
||||
| 11 | `group_name` | text | 【说明】名称字段,用于展示与辅助识别。 【示例】NULL(名称字段,用于展示与辅助识别)。 【ODS来源】assistant_accounts_master - group_name。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - group_name。 |
|
||||
| 12 | `person_org_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2947562271215109(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_accounts_master - person_org_id。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - person_org_id。 |
|
||||
| 13 | `staff_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_accounts_master - staff_id。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - staff_id。 |
|
||||
| 14 | `staff_profile_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_accounts_master - staff_profile_id。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - staff_profile_id。 |
|
||||
| 15 | `assistant_grade` | double precision | 【说明】维度字段,用于补充维度属性。 【示例】0.0(维度字段,用于补充维度属性)。 【ODS来源】assistant_accounts_master - assistant_grade。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - assistant_grade。 |
|
||||
| 16 | `sum_grade` | double precision | 【说明】维度字段,用于补充维度属性。 【示例】0.0(维度字段,用于补充维度属性)。 【ODS来源】assistant_accounts_master - sum_grade。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - sum_grade。 |
|
||||
| 17 | `get_grade_times` | integer | 【说明】维度字段,用于补充维度属性。 【示例】0(维度字段,用于补充维度属性)。 【ODS来源】assistant_accounts_master - get_grade_times。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - get_grade_times。 |
|
||||
| 18 | `charge_way` | integer | 【说明】维度字段,用于补充维度属性。 【示例】2(维度字段,用于补充维度属性)。 【ODS来源】assistant_accounts_master - charge_way。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - charge_way。 |
|
||||
| 19 | `allow_cx` | integer | 【说明】维度字段,用于补充维度属性。 【示例】1(维度字段,用于补充维度属性)。 【ODS来源】assistant_accounts_master - allow_cx。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - allow_cx。 |
|
||||
| 20 | `is_guaranteed` | integer | 【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】1(布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】assistant_accounts_master - is_guaranteed。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - is_guaranteed。 |
|
||||
| 21 | `salary_grant_enabled` | integer | 【说明】维度字段,用于补充维度属性。 【示例】2(维度字段,用于补充维度属性)。 【ODS来源】assistant_accounts_master - salary_grant_enabled。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - salary_grant_enabled。 |
|
||||
| 22 | `entry_type` | integer | 【说明】维度字段,用于补充维度属性。 【示例】1(维度字段,用于补充维度属性)。 【ODS来源】assistant_accounts_master - entry_type。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - entry_type。 |
|
||||
| 23 | `entry_sign_status` | integer | 【说明】状态枚举字段,用于标识业务状态。 【示例】0(状态枚举字段,用于标识业务状态)。 【ODS来源】assistant_accounts_master - entry_sign_status。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - entry_sign_status。 |
|
||||
| 24 | `resign_sign_status` | integer | 【说明】状态枚举字段,用于标识业务状态。 【示例】0(状态枚举字段,用于标识业务状态)。 【ODS来源】assistant_accounts_master - resign_sign_status。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - resign_sign_status。 |
|
||||
| 25 | `work_status` | integer | 【说明】状态枚举字段,用于标识业务状态。 【示例】2(状态枚举字段,用于标识业务状态)。 【ODS来源】assistant_accounts_master - work_status。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - work_status。 |
|
||||
| 26 | `show_status` | integer | 【说明】状态枚举字段,用于标识业务状态。 【示例】1(状态枚举字段,用于标识业务状态)。 【ODS来源】assistant_accounts_master - show_status。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - show_status。 |
|
||||
| 27 | `show_sort` | integer | 【说明】维度字段,用于补充维度属性。 【示例】31(维度字段,用于补充维度属性)。 【ODS来源】assistant_accounts_master - show_sort。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - show_sort。 |
|
||||
| 28 | `online_status` | integer | 【说明】状态枚举字段,用于标识业务状态。 【示例】1(状态枚举字段,用于标识业务状态)。 【ODS来源】assistant_accounts_master - online_status。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - online_status。 |
|
||||
| 29 | `is_delete` | integer | 【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】0(布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】assistant_accounts_master - is_delete。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - is_delete。 |
|
||||
| 30 | `criticism_status` | integer | 【说明】状态枚举字段,用于标识业务状态。 【示例】1(状态枚举字段,用于标识业务状态)。 【ODS来源】assistant_accounts_master - criticism_status。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - criticism_status。 |
|
||||
| 31 | `create_time` | timestamp with time zone | 【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-02 15:55:26(时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】assistant_accounts_master - create_time。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - create_time。 |
|
||||
| 32 | `update_time` | timestamp with time zone | 【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-03 18:32:07(时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】assistant_accounts_master - update_time。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - update_time。 |
|
||||
| 33 | `start_time` | timestamp with time zone | 【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-01 08:00:00(时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】assistant_accounts_master - start_time。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - start_time。 |
|
||||
| 34 | `end_time` | timestamp with time zone | 【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-12-01 08:00:00(时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】assistant_accounts_master - end_time。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - end_time。 |
|
||||
| 35 | `last_table_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_accounts_master - last_table_id。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - last_table_id。 |
|
||||
| 36 | `last_table_name` | text | 【说明】名称字段,用于展示与辅助识别。 【示例】TV(名称字段,用于展示与辅助识别)。 【ODS来源】assistant_accounts_master - last_table_name。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - last_table_name。 |
|
||||
| 37 | `last_update_name` | text | 【说明】名称字段,用于展示与辅助识别。 【示例】管理员:郑丽珊(名称字段,用于展示与辅助识别)。 【ODS来源】assistant_accounts_master - last_update_name。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - last_update_name。 |
|
||||
| 38 | `order_trade_no` | bigint | 【说明】维度字段,用于补充维度属性。 【示例】0(维度字段,用于补充维度属性)。 【ODS来源】assistant_accounts_master - order_trade_no。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - order_trade_no。 |
|
||||
| 39 | `ding_talk_synced` | integer | 【说明】维度字段,用于补充维度属性。 【示例】1(维度字段,用于补充维度属性)。 【ODS来源】assistant_accounts_master - ding_talk_synced。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - ding_talk_synced。 |
|
||||
| 40 | `site_light_cfg_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_accounts_master - site_light_cfg_id。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - site_light_cfg_id。 |
|
||||
| 41 | `light_equipment_id` | text | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】NULL(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_accounts_master - light_equipment_id。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - light_equipment_id。 |
|
||||
| 42 | `light_status` | integer | 【说明】状态枚举字段,用于标识业务状态。 【示例】2(状态枚举字段,用于标识业务状态)。 【ODS来源】assistant_accounts_master - light_status。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - light_status。 |
|
||||
| 43 | `is_team_leader` | integer | 【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】0(布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】assistant_accounts_master - is_team_leader。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - is_team_leader。 |
|
||||
| 44 | `serial_number` | bigint | 【说明】数量/时长字段,用于统计与计量。 【示例】0(数量/时长字段,用于统计与计量)。 【ODS来源】assistant_accounts_master - serial_number。 【JSON字段】assistant_accounts_master.json - data.assistantInfos - serial_number。 |
|
||||
| 45 | `scd2_start_time` | timestamp with time zone | 【说明】SCD2 开始时间(版本生效起点),用于维度慢变追踪。 【示例】2025-11-10T00:00:00+08:00(SCD2 开始时间(版本生效起点),用于维度慢变追踪)。 【ODS来源】assistant_accounts_master - 无(DWD慢变元数据)。 【JSON字段】无 - DWD慢变元数据 - 无。 |
|
||||
| 46 | `scd2_end_time` | timestamp with time zone | 【说明】SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪。 【示例】9999-12-31T00:00:00+00:00(SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪)。 【ODS来源】assistant_accounts_master - 无(DWD慢变元数据)。 【JSON字段】无 - DWD慢变元数据 - 无。 |
|
||||
| 47 | `scd2_is_current` | integer | 【说明】SCD2 当前版本标记(1=当前,0=历史),用于筛选最新维度记录。 【示例】1(SCD2 当前版本标记(1=当前,0=历史),用于筛选最新维度记录)。 【ODS来源】assistant_accounts_master - 无(DWD慢变元数据)。 【JSON字段】无 - DWD慢变元数据 - 无。 |
|
||||
| 48 | `scd2_version` | integer | 【说明】SCD2 版本号(自增),用于与时间段一起避免版本重叠。 【示例】1(SCD2 版本号(自增),用于与时间段一起避免版本重叠)。 【ODS来源】assistant_accounts_master - 无(DWD慢变元数据)。 【JSON字段】无 - DWD慢变元数据 - 无。 |
|
||||
|
||||
#### 🆕 拟新增字段
|
||||
|
||||
| # | 字段名 | 建议类型 | 来源 ODS 列 | 说明 |
|
||||
|---|--------|---------|------------|------|
|
||||
| 1 | `system_role_id` | bigint | assistant_accounts_master.system_role_id | 系统角色 ID,关联角色权限 |
|
||||
| 2 | `job_num` | text | assistant_accounts_master.job_num | 备用工号(当前门店未启用,全 NULL) |
|
||||
| 3 | `cx_unit_price` | numeric(18,2) | assistant_accounts_master.cx_unit_price | 促销时段单价(当前值 0.00) |
|
||||
| 4 | `pd_unit_price` | numeric(18,2) | assistant_accounts_master.pd_unit_price | 普通时段单价(当前值 0.00) |
|
||||
|
||||
---
|
||||
|
||||
### dwd.dwd_assistant_service_log
|
||||
|
||||
#### 现有字段
|
||||
|
||||
| # | 字段名 | 数据类型 | 说明 |
|
||||
|---|--------|---------|------|
|
||||
| 1 | `assistant_service_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957913441292165(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_service_records - id。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - id。 |
|
||||
| 2 | `order_trade_no` | bigint | 【说明】明细字段,用于记录事实取值。 【示例】2957784612605829(明细字段,用于记录事实取值)。 【ODS来源】assistant_service_records - order_trade_no。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - order_trade_no。 |
|
||||
| 3 | `order_settle_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957913171693253(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_service_records - order_settle_id。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - order_settle_id。 |
|
||||
| 4 | `order_pay_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_service_records - order_pay_id。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - order_pay_id。 |
|
||||
| 5 | `order_assistant_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957788717240005(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_service_records - order_assistant_id。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - order_assistant_id。 |
|
||||
| 6 | `order_assistant_type` | integer | 【说明】明细字段,用于记录事实取值。 【示例】1(明细字段,用于记录事实取值)。 【ODS来源】assistant_service_records - order_assistant_type。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - order_assistant_type。 |
|
||||
| 7 | `tenant_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790683160709957(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_service_records - tenant_id。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - tenant_id。 |
|
||||
| 8 | `site_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790685415443269(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_service_records - site_id。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - site_id。 |
|
||||
| 9 | `site_table_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2793020259897413(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_service_records - site_table_id。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - site_table_id。 |
|
||||
| 10 | `tenant_member_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_service_records - tenant_member_id。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - tenant_member_id。 |
|
||||
| 11 | `system_member_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_service_records - system_member_id。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - system_member_id。 |
|
||||
| 12 | `assistant_no` | character varying(64) | 【说明】明细字段,用于记录事实取值。 【示例】27(明细字段,用于记录事实取值)。 【ODS来源】assistant_service_records - assistantNo。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - assistantNo。 |
|
||||
| 13 | `nickname` | character varying(64) | 【说明】名称字段,用于展示与辅助识别。 【示例】泡芙(名称字段,用于展示与辅助识别)。 【ODS来源】assistant_service_records - nickname。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - nickname。 |
|
||||
| 14 | `site_assistant_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957788717240005(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_service_records - order_assistant_id。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - order_assistant_id。 |
|
||||
| 15 | `user_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2946266868976453(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_service_records - user_id。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - user_id。 |
|
||||
| 16 | `assistant_team_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2792011585884037(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_service_records - assistant_team_id。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - assistant_team_id。 |
|
||||
| 17 | `person_org_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2946266869336901(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_service_records - person_org_id。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - person_org_id。 |
|
||||
| 18 | `assistant_level` | integer | 【说明】明细字段,用于记录事实取值。 【示例】10(明细字段,用于记录事实取值)。 【ODS来源】assistant_service_records - assistant_level。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - assistant_level。 |
|
||||
| 19 | `level_name` | character varying(64) | 【说明】名称字段,用于展示与辅助识别。 【示例】初级(名称字段,用于展示与辅助识别)。 【ODS来源】assistant_service_records - levelName。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - levelName。 |
|
||||
| 20 | `skill_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790683529513797(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_service_records - skill_id。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - skill_id。 |
|
||||
| 21 | `skill_name` | character varying(64) | 【说明】名称字段,用于展示与辅助识别。 【示例】基础课(名称字段,用于展示与辅助识别)。 【ODS来源】assistant_service_records - skillName。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - skillName。 |
|
||||
| 22 | `ledger_unit_price` | numeric(10,2) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】98.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】assistant_service_records - ledger_unit_price。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - ledger_unit_price。 |
|
||||
| 23 | `ledger_amount` | numeric(10,2) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】206.67(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】assistant_service_records - ledger_amount。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - ledger_amount。 |
|
||||
| 24 | `projected_income` | numeric(10,2) | 【说明】明细字段,用于记录事实取值。 【示例】168.0(明细字段,用于记录事实取值)。 【ODS来源】assistant_service_records - projected_income。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - projected_income。 |
|
||||
| 25 | `coupon_deduct_money` | numeric(10,2) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】assistant_service_records - coupon_deduct_money。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - coupon_deduct_money。 |
|
||||
| 26 | `income_seconds` | integer | 【说明】数量/时长字段,用于统计与计量。 【示例】7560(数量/时长字段,用于统计与计量)。 【ODS来源】assistant_service_records - income_seconds。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - income_seconds。 |
|
||||
| 27 | `real_use_seconds` | integer | 【说明】数量/时长字段,用于统计与计量。 【示例】7592(数量/时长字段,用于统计与计量)。 【ODS来源】assistant_service_records - real_use_seconds。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - real_use_seconds。 |
|
||||
| 28 | `add_clock` | integer | 【说明】明细字段,用于记录事实取值。 【示例】0(明细字段,用于记录事实取值)。 【ODS来源】assistant_service_records - add_clock。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - add_clock。 |
|
||||
| 29 | `create_time` | timestamp with time zone | 【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-09 23:25:11(时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】assistant_service_records - create_time。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - create_time。 |
|
||||
| 30 | `start_use_time` | timestamp with time zone | 【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-09 21:18:18(时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】assistant_service_records - start_use_time。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - start_use_time。 |
|
||||
| 31 | `last_use_time` | timestamp with time zone | 【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-09 23:24:50(时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】assistant_service_records - last_use_time。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - last_use_time。 |
|
||||
| 32 | `is_delete` | integer | 【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】0(布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】assistant_service_records - is_delete。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - is_delete。 |
|
||||
| 33 | `real_service_money` | numeric(18,2) | |
|
||||
|
||||
---
|
||||
|
||||
### dwd.dwd_assistant_service_log_ex
|
||||
|
||||
#### 现有字段
|
||||
|
||||
| # | 字段名 | 数据类型 | 说明 |
|
||||
|---|--------|---------|------|
|
||||
| 1 | `assistant_service_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957913441292165(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_service_records - id。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - id。 |
|
||||
| 2 | `table_name` | character varying(64) | 【说明】名称字段,用于展示与辅助识别。 【示例】S1(名称字段,用于展示与辅助识别)。 【ODS来源】assistant_service_records - tableName。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - tableName。 |
|
||||
| 3 | `assistant_name` | character varying(64) | 【说明】名称字段,用于展示与辅助识别。 【示例】何海婷(名称字段,用于展示与辅助识别)。 【ODS来源】assistant_service_records - assistantName。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - assistantName。 |
|
||||
| 4 | `ledger_name` | character varying(128) | 【说明】名称字段,用于展示与辅助识别。 【示例】27-泡芙(名称字段,用于展示与辅助识别)。 【ODS来源】assistant_service_records - ledger_name。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - ledger_name。 |
|
||||
| 5 | `ledger_group_name` | character varying(128) | 【说明】名称字段,用于展示与辅助识别。 【示例】NULL(名称字段,用于展示与辅助识别)。 【ODS来源】assistant_service_records - ledger_group_name。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - ledger_group_name。 |
|
||||
| 6 | `ledger_count` | integer | 【说明】数量/时长字段,用于统计与计量。 【示例】7592(数量/时长字段,用于统计与计量)。 【ODS来源】assistant_service_records - ledger_count。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - ledger_count。 |
|
||||
| 7 | `member_discount_amount` | numeric(10,2) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】assistant_service_records - member_discount_amount。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - member_discount_amount。 |
|
||||
| 8 | `manual_discount_amount` | numeric(10,2) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】assistant_service_records - manual_discount_amount。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - manual_discount_amount。 |
|
||||
| 9 | `service_money` | numeric(10,2) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】assistant_service_records - service_money。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - service_money。 |
|
||||
| 10 | `returns_clock` | integer | 【说明】明细字段,用于记录事实取值。 【示例】0(明细字段,用于记录事实取值)。 【ODS来源】assistant_service_records - returns_clock。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - returns_clock。 |
|
||||
| 11 | `ledger_start_time` | timestamp with time zone | 【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-09 21:18:18(时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】assistant_service_records - ledger_start_time。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - ledger_start_time。 |
|
||||
| 12 | `ledger_end_time` | timestamp with time zone | 【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-09 23:24:50(时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】assistant_service_records - ledger_end_time。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - ledger_end_time。 |
|
||||
| 13 | `ledger_status` | integer | 【说明】状态枚举字段,用于标识业务状态。 【示例】1(状态枚举字段,用于标识业务状态)。 【ODS来源】assistant_service_records - ledger_status。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - ledger_status。 |
|
||||
| 14 | `is_confirm` | integer | 【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】2(布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】assistant_service_records - is_confirm。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - is_confirm。 |
|
||||
| 15 | `is_single_order` | integer | 【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】1(布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】assistant_service_records - is_single_order。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - is_single_order。 |
|
||||
| 16 | `is_not_responding` | integer | 【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】0(布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】assistant_service_records - is_not_responding。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - is_not_responding。 |
|
||||
| 17 | `is_trash` | integer | 【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】0(布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】assistant_service_records - is_trash。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - is_trash。 |
|
||||
| 18 | `trash_applicant_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_service_records - trash_applicant_id。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - trash_applicant_id。 |
|
||||
| 19 | `trash_applicant_name` | character varying(64) | 【说明】名称字段,用于展示与辅助识别。 【示例】NULL(名称字段,用于展示与辅助识别)。 【ODS来源】assistant_service_records - trash_applicant_name。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - trash_applicant_name。 |
|
||||
| 20 | `trash_reason` | character varying(255) | 【说明】明细字段,用于记录事实取值。 【示例】NULL(明细字段,用于记录事实取值)。 【ODS来源】assistant_service_records - trash_reason。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - trash_reason。 |
|
||||
| 21 | `salesman_user_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_service_records - salesman_user_id。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - salesman_user_id。 |
|
||||
| 22 | `salesman_name` | character varying(64) | 【说明】名称字段,用于展示与辅助识别。 【示例】NULL(名称字段,用于展示与辅助识别)。 【ODS来源】assistant_service_records - salesman_name。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - salesman_name。 |
|
||||
| 23 | `salesman_org_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_service_records - salesman_org_id。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - salesman_org_id。 |
|
||||
| 24 | `skill_grade` | integer | 【说明】明细字段,用于记录事实取值。 【示例】0(明细字段,用于记录事实取值)。 【ODS来源】assistant_service_records - skill_grade。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - skill_grade。 |
|
||||
| 25 | `service_grade` | integer | 【说明】明细字段,用于记录事实取值。 【示例】0(明细字段,用于记录事实取值)。 【ODS来源】assistant_service_records - service_grade。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - service_grade。 |
|
||||
| 26 | `composite_grade` | numeric(5,2) | 【说明】明细字段,用于记录事实取值。 【示例】0.0(明细字段,用于记录事实取值)。 【ODS来源】assistant_service_records - composite_grade。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - composite_grade。 |
|
||||
| 27 | `sum_grade` | numeric(10,2) | 【说明】明细字段,用于记录事实取值。 【示例】0.0(明细字段,用于记录事实取值)。 【ODS来源】assistant_service_records - sum_grade。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - sum_grade。 |
|
||||
| 28 | `get_grade_times` | integer | 【说明】明细字段,用于记录事实取值。 【示例】0(明细字段,用于记录事实取值)。 【ODS来源】assistant_service_records - get_grade_times。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - get_grade_times。 |
|
||||
| 29 | `grade_status` | integer | 【说明】状态枚举字段,用于标识业务状态。 【示例】1(状态枚举字段,用于标识业务状态)。 【ODS来源】assistant_service_records - grade_status。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - grade_status。 |
|
||||
| 30 | `composite_grade_time` | timestamp with time zone | 【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】0001-01-01 00:00:00(时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】assistant_service_records - composite_grade_time。 【JSON字段】assistant_service_records.json - data.orderAssistantDetails - composite_grade_time。 |
|
||||
| 31 | `assistant_team_name` | text | |
|
||||
|
||||
#### 🆕 拟新增字段
|
||||
|
||||
| # | 字段名 | 建议类型 | 来源 ODS 列 | 说明 |
|
||||
|---|--------|---------|------------|------|
|
||||
| 1 | `operator_id` | bigint | assistant_service_records.operator_id | 操作员 ID(如收银员) |
|
||||
| 2 | `operator_name` | text | assistant_service_records.operator_name | 操作员名称快照 |
|
||||
|
||||
---
|
||||
|
||||
### dwd.dwd_assistant_trash_event
|
||||
|
||||
#### 现有字段
|
||||
|
||||
| # | 字段名 | 数据类型 | 说明 |
|
||||
|---|--------|---------|------|
|
||||
| 1 | `assistant_trash_event_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957675849518789(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_cancellation_records - id。 【JSON字段】assistant_cancellation_records.json - data.abolitionAssistants - id。 |
|
||||
| 2 | `site_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790685415443269(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_cancellation_records - siteId。 【JSON字段】assistant_cancellation_records.json - data.abolitionAssistants - siteId。 |
|
||||
| 3 | `table_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2793016660660357(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_cancellation_records - tableId。 【JSON字段】assistant_cancellation_records.json - data.abolitionAssistants - tableId。 |
|
||||
| 4 | `table_area_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2791963816579205(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_cancellation_records - tableAreaId。 【JSON字段】assistant_cancellation_records.json - data.abolitionAssistants - tableAreaId。 |
|
||||
| 5 | `assistant_no` | character varying(32) | 【说明】明细字段,用于记录事实取值。 【示例】泡芙(明细字段,用于记录事实取值)。 【ODS来源】assistant_cancellation_records - assistantName。 【JSON字段】assistant_cancellation_records.json - data.abolitionAssistants - assistantName。 |
|
||||
| 6 | `assistant_name` | character varying(64) | 【说明】名称字段,用于展示与辅助识别。 【示例】泡芙(名称字段,用于展示与辅助识别)。 【ODS来源】assistant_cancellation_records - assistantName。 【JSON字段】assistant_cancellation_records.json - data.abolitionAssistants - assistantName。 |
|
||||
| 7 | `charge_minutes_raw` | integer | 【说明】明细字段,用于记录事实取值。 【示例】214(明细字段,用于记录事实取值)。 【ODS来源】assistant_cancellation_records - pdChargeMinutes。 【JSON字段】assistant_cancellation_records.json - data.abolitionAssistants - pdChargeMinutes。 |
|
||||
| 8 | `abolish_amount` | numeric(18,2) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】5.83(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】assistant_cancellation_records - assistantAbolishAmount。 【JSON字段】assistant_cancellation_records.json - data.abolitionAssistants - assistantAbolishAmount。 |
|
||||
| 9 | `trash_reason` | character varying(255) | 【说明】明细字段,用于记录事实取值。 【示例】NULL(明细字段,用于记录事实取值)。 【ODS来源】assistant_cancellation_records - trashReason。 【JSON字段】assistant_cancellation_records.json - data.abolitionAssistants - trashReason。 |
|
||||
| 10 | `create_time` | timestamp with time zone | 【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-09 19:23:29(时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】assistant_cancellation_records - createTime。 【JSON字段】assistant_cancellation_records.json - data.abolitionAssistants - createTime。 |
|
||||
| 11 | `tenant_id` | bigint | |
|
||||
|
||||
---
|
||||
|
||||
### dwd.dwd_assistant_trash_event_ex
|
||||
|
||||
#### 现有字段
|
||||
|
||||
| # | 字段名 | 数据类型 | 说明 |
|
||||
|---|--------|---------|------|
|
||||
| 1 | `assistant_trash_event_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957675849518789(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】assistant_cancellation_records - id。 【JSON字段】assistant_cancellation_records.json - data.abolitionAssistants - id。 |
|
||||
| 2 | `table_name` | character varying(64) | 【说明】名称字段,用于展示与辅助识别。 【示例】C1(名称字段,用于展示与辅助识别)。 【ODS来源】assistant_cancellation_records - tableName。 【JSON字段】assistant_cancellation_records.json - data.abolitionAssistants - tableName。 |
|
||||
| 3 | `table_area_name` | character varying(64) | 【说明】名称字段,用于展示与辅助识别。 【示例】C区(名称字段,用于展示与辅助识别)。 【ODS来源】assistant_cancellation_records - tableArea。 【JSON字段】assistant_cancellation_records.json - data.abolitionAssistants - tableArea。 |
|
||||
|
||||
#### 🆕 拟新增字段
|
||||
|
||||
| # | 字段名 | 建议类型 | 来源 ODS 列 | 说明 |
|
||||
|---|--------|---------|------------|------|
|
||||
| 1 | `assistant_no_int` | integer | assistant_cancellation_records.assistanton | 助教编号(整数形式),语义 = assistant_no |
|
||||
|
||||
---
|
||||
|
||||
### dwd.dwd_store_goods_sale
|
||||
|
||||
#### 现有字段
|
||||
|
||||
| # | 字段名 | 数据类型 | 说明 |
|
||||
|---|--------|---------|------|
|
||||
| 1 | `store_goods_sale_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957924029550406(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_sales_records - id。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - id。 |
|
||||
| 2 | `order_trade_no` | bigint | 【说明】明细字段,用于记录事实取值。 【示例】2957858167230149(明细字段,用于记录事实取值)。 【ODS来源】store_goods_sales_records - order_trade_no。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - order_trade_no。 |
|
||||
| 3 | `order_settle_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957922914357125(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_sales_records - order_settle_id。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - order_settle_id。 |
|
||||
| 4 | `order_pay_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_sales_records - order_pay_id。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - order_pay_id。 |
|
||||
| 5 | `order_goods_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957858456391557(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_sales_records - order_goods_id。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - order_goods_id。 |
|
||||
| 6 | `site_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790685415443269(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_sales_records - site_id。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - site_id。 |
|
||||
| 7 | `tenant_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790683160709957(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_sales_records - tenant_id。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - tenant_id。 |
|
||||
| 8 | `site_goods_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2793026176012357(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_sales_records - site_goods_id。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - site_goods_id。 |
|
||||
| 9 | `tenant_goods_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2792115932417925(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_sales_records - tenant_goods_id。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - tenant_goods_id。 |
|
||||
| 10 | `tenant_goods_category_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790683528350540(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_sales_records - tenant_goods_category_id。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - tenant_goods_category_id。 |
|
||||
| 11 | `tenant_goods_business_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790683528317768(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_sales_records - tenant_goods_business_id。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - tenant_goods_business_id。 |
|
||||
| 12 | `site_table_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2793003705192517(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_sales_records - site_table_id。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - site_table_id。 |
|
||||
| 13 | `ledger_name` | character varying(200) | 【说明】名称字段,用于展示与辅助识别。 【示例】哇哈哈矿泉水(名称字段,用于展示与辅助识别)。 【ODS来源】store_goods_sales_records - ledger_name。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - ledger_name。 |
|
||||
| 14 | `ledger_group_name` | character varying(100) | 【说明】名称字段,用于展示与辅助识别。 【示例】酒水(名称字段,用于展示与辅助识别)。 【ODS来源】store_goods_sales_records - ledger_group_name。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - ledger_group_name。 |
|
||||
| 15 | `ledger_unit_price` | numeric(18,2) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】5.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】store_goods_sales_records - ledger_unit_price。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - ledger_unit_price。 |
|
||||
| 16 | `ledger_count` | integer | 【说明】数量/时长字段,用于统计与计量。 【示例】1(数量/时长字段,用于统计与计量)。 【ODS来源】store_goods_sales_records - ledger_count。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - ledger_count。 |
|
||||
| 17 | `ledger_amount` | numeric(18,2) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】5.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】store_goods_sales_records - ledger_amount。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - ledger_amount。 |
|
||||
| 18 | `discount_price` | numeric(18,2) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】store_goods_sales_records - discount_money。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - discount_money。 |
|
||||
| 19 | `real_goods_money` | numeric(18,2) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】5.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】store_goods_sales_records - real_goods_money。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - real_goods_money。 |
|
||||
| 20 | `cost_money` | numeric(18,2) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.01(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】store_goods_sales_records - cost_money。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - cost_money。 |
|
||||
| 21 | `ledger_status` | integer | 【说明】状态枚举字段,用于标识业务状态。 【示例】1(状态枚举字段,用于标识业务状态)。 【ODS来源】store_goods_sales_records - ledger_status。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - ledger_status。 |
|
||||
| 22 | `is_delete` | integer | 【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】0(布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】store_goods_sales_records - is_delete。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - is_delete。 |
|
||||
| 23 | `create_time` | timestamp with time zone | 【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-09 23:35:57(时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】store_goods_sales_records - create_time。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - create_time。 |
|
||||
| 24 | `coupon_share_money` | numeric(18,2) | |
|
||||
|
||||
---
|
||||
|
||||
### dwd.dwd_store_goods_sale_ex
|
||||
|
||||
#### 现有字段
|
||||
|
||||
| # | 字段名 | 数据类型 | 说明 |
|
||||
|---|--------|---------|------|
|
||||
| 1 | `store_goods_sale_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957924029550406(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_sales_records - id。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - id。 |
|
||||
| 2 | `legacy_order_goods_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957858456391557(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_sales_records - order_goods_id。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - order_goods_id。 |
|
||||
| 3 | `site_name` | text | 【说明】名称字段,用于展示与辅助识别。 【示例】朗朗桌球(名称字段,用于展示与辅助识别)。 【ODS来源】store_goods_sales_records - siteName。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - siteName。 |
|
||||
| 4 | `legacy_site_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790685415443269(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_sales_records - site_id。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - site_id。 |
|
||||
| 5 | `goods_remark` | text | 【说明】明细字段,用于记录事实取值。 【示例】哇哈哈矿泉水(明细字段,用于记录事实取值)。 【ODS来源】store_goods_sales_records - goods_remark。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - goods_remark。 |
|
||||
| 6 | `option_value_name` | text | 【说明】名称字段,用于展示与辅助识别。 【示例】NULL(名称字段,用于展示与辅助识别)。 【ODS来源】store_goods_sales_records - option_value_name。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - option_value_name。 |
|
||||
| 7 | `operator_name` | text | 【说明】名称字段,用于展示与辅助识别。 【示例】收银员:郑丽珊(名称字段,用于展示与辅助识别)。 【ODS来源】store_goods_sales_records - operator_name。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - operator_name。 |
|
||||
| 8 | `open_salesman_flag` | integer | 【说明】明细字段,用于记录事实取值。 【示例】2(明细字段,用于记录事实取值)。 【ODS来源】store_goods_sales_records - openSalesman。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - openSalesman。 |
|
||||
| 9 | `salesman_user_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_sales_records - salesman_user_id。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - salesman_user_id。 |
|
||||
| 10 | `salesman_name` | text | 【说明】名称字段,用于展示与辅助识别。 【示例】NULL(名称字段,用于展示与辅助识别)。 【ODS来源】store_goods_sales_records - salesman_name。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - salesman_name。 |
|
||||
| 11 | `salesman_role_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_sales_records - salesman_role_id。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - salesman_role_id。 |
|
||||
| 12 | `salesman_org_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_sales_records - sales_man_org_id。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - sales_man_org_id。 |
|
||||
| 13 | `discount_money` | numeric(18,2) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】store_goods_sales_records - discount_money。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - discount_money。 |
|
||||
| 14 | `returns_number` | integer | 【说明】数量/时长字段,用于统计与计量。 【示例】0(数量/时长字段,用于统计与计量)。 【ODS来源】store_goods_sales_records - returns_number。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - returns_number。 |
|
||||
| 15 | `coupon_deduct_money` | numeric(18,2) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】store_goods_sales_records - coupon_deduct_money。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - coupon_deduct_money。 |
|
||||
| 16 | `member_discount_amount` | numeric(18,2) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】store_goods_sales_records - member_discount_amount。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - member_discount_amount。 |
|
||||
| 17 | `point_discount_money` | numeric(18,2) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】store_goods_sales_records - point_discount_money。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - point_discount_money。 |
|
||||
| 18 | `point_discount_money_cost` | numeric(18,2) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】store_goods_sales_records - point_discount_money_cost。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - point_discount_money_cost。 |
|
||||
| 19 | `package_coupon_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_sales_records - package_coupon_id。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - package_coupon_id。 |
|
||||
| 20 | `order_coupon_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_sales_records - order_coupon_id。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - order_coupon_id。 |
|
||||
| 21 | `member_coupon_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_sales_records - member_coupon_id。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - member_coupon_id。 |
|
||||
| 22 | `option_price` | numeric(18,2) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】store_goods_sales_records - option_price。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - option_price。 |
|
||||
| 23 | `option_member_discount_money` | numeric(18,2) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】store_goods_sales_records - option_member_discount_money。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - option_member_discount_money。 |
|
||||
| 24 | `option_coupon_deduct_money` | numeric(18,2) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】store_goods_sales_records - option_coupon_deduct_money。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - option_coupon_deduct_money。 |
|
||||
| 25 | `push_money` | numeric(18,2) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】store_goods_sales_records - push_money。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - push_money。 |
|
||||
| 26 | `is_single_order` | integer | 【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】1(布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】store_goods_sales_records - is_single_order。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - is_single_order。 |
|
||||
| 27 | `sales_type` | integer | 【说明】明细字段,用于记录事实取值。 【示例】1(明细字段,用于记录事实取值)。 【ODS来源】store_goods_sales_records - sales_type。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - sales_type。 |
|
||||
| 28 | `operator_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790687322443013(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_sales_records - operator_id。 【JSON字段】store_goods_sales_records.json - data.orderGoodsLedgers - operator_id。 |
|
||||
|
||||
---
|
||||
|
||||
### dwd.dwd_member_balance_change
|
||||
|
||||
#### 现有字段
|
||||
|
||||
| # | 字段名 | 数据类型 | 说明 |
|
||||
|---|--------|---------|------|
|
||||
| 1 | `balance_change_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957881605869253(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】member_balance_changes - id。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - id。 |
|
||||
| 2 | `tenant_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790683160709957(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】member_balance_changes - tenant_id。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - tenant_id。 |
|
||||
| 3 | `site_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790685415443269(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】member_balance_changes - site_id。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - site_id。 |
|
||||
| 4 | `register_site_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790685415443269(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】member_balance_changes - register_site_id。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - register_site_id。 |
|
||||
| 5 | `tenant_member_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2799212845565701(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】member_balance_changes - tenant_member_id。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - tenant_member_id。 |
|
||||
| 6 | `system_member_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2799212844549893(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】member_balance_changes - system_member_id。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - system_member_id。 |
|
||||
| 7 | `tenant_member_card_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2799219999295237(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】member_balance_changes - tenant_member_card_id。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - tenant_member_card_id。 |
|
||||
| 8 | `card_type_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2793249295533893(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】member_balance_changes - card_type_id。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - card_type_id。 |
|
||||
| 9 | `card_type_name` | character varying(32) | 【说明】名称字段,用于展示与辅助识别。 【示例】储值卡(名称字段,用于展示与辅助识别)。 【ODS来源】member_balance_changes - memberCardTypeName。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - memberCardTypeName。 |
|
||||
| 10 | `member_name` | character varying(64) | 【说明】名称字段,用于展示与辅助识别。 【示例】曾丹烨(名称字段,用于展示与辅助识别)。 【ODS来源】member_balance_changes - memberName。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - memberName。 |
|
||||
| 11 | `member_mobile` | character varying(20) | 【说明】明细字段,用于记录事实取值。 【示例】13922213242(明细字段,用于记录事实取值)。 【ODS来源】member_balance_changes - memberMobile。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - memberMobile。 |
|
||||
| 12 | `balance_before` | numeric(18,2) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】816.3(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】member_balance_changes - before。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - before。 |
|
||||
| 13 | `change_amount` | numeric(18,2) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】-120.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】member_balance_changes - account_data。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - account_data。 |
|
||||
| 14 | `balance_after` | numeric(18,2) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】696.3(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】member_balance_changes - after。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - after。 |
|
||||
| 15 | `from_type` | integer | 【说明】明细字段,用于记录事实取值。 【示例】1(明细字段,用于记录事实取值)。 【ODS来源】member_balance_changes - from_type。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - from_type。 |
|
||||
| 16 | `payment_method` | integer | 【说明】明细字段,用于记录事实取值。 【示例】0(明细字段,用于记录事实取值)。 【ODS来源】member_balance_changes - payment_method。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - payment_method。 |
|
||||
| 17 | `change_time` | timestamp with time zone | 【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-11-09 22:52:48(时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】member_balance_changes - create_time。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - create_time。 |
|
||||
| 18 | `is_delete` | integer | 【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】0(布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】member_balance_changes - is_delete。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - is_delete。 |
|
||||
| 19 | `remark` | character varying(255) | 【说明】明细字段,用于记录事实取值。 【示例】充值退款(明细字段,用于记录事实取值)。 【ODS来源】member_balance_changes - remark。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - remark。 |
|
||||
| 20 | `principal_before` | numeric(18,2) | 【说明】金额字段:本金变动前余额。 【ODS来源】member_balance_changes - principal_before。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - principal_before。 |
|
||||
| 21 | `principal_after` | numeric(18,2) | 【说明】金额字段:本金变动后余额。 【ODS来源】member_balance_changes - principal_after。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - principal_after。 |
|
||||
| 22 | `principal_change_amount` | numeric(18,2) | 【说明】金额字段:本金变动金额(principal_after - principal_before),ETL 计算字段。 |
|
||||
|
||||
---
|
||||
|
||||
### dwd.dwd_member_balance_change_ex
|
||||
|
||||
#### 现有字段
|
||||
|
||||
| # | 字段名 | 数据类型 | 说明 |
|
||||
|---|--------|---------|------|
|
||||
| 1 | `balance_change_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2957881605869253(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】member_balance_changes - id。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - id。 |
|
||||
| 2 | `pay_site_name` | character varying(64) | 【说明】名称字段,用于展示与辅助识别。 【示例】朗朗桌球(名称字段,用于展示与辅助识别)。 【ODS来源】member_balance_changes - paySiteName。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - paySiteName。 |
|
||||
| 3 | `register_site_name` | character varying(64) | 【说明】名称字段,用于展示与辅助识别。 【示例】朗朗桌球(名称字段,用于展示与辅助识别)。 【ODS来源】member_balance_changes - registerSiteName。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - registerSiteName。 |
|
||||
| 4 | `refund_amount` | numeric(18,2) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】member_balance_changes - refund_amount。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - refund_amount。 |
|
||||
| 5 | `operator_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790687322443013(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】member_balance_changes - operator_id。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - operator_id。 |
|
||||
| 6 | `operator_name` | character varying(64) | 【说明】名称字段,用于展示与辅助识别。 【示例】收银员:郑丽珊(名称字段,用于展示与辅助识别)。 【ODS来源】member_balance_changes - operator_name。 【JSON字段】member_balance_changes.json - data.tenantMemberCardLogs - operator_name。 |
|
||||
| 7 | `principal_data` | text | |
|
||||
|
||||
#### 🆕 拟新增字段
|
||||
|
||||
| # | 字段名 | 建议类型 | 来源 ODS 列 | 说明 |
|
||||
|---|--------|---------|------------|------|
|
||||
| 1 | `relate_id` | bigint | member_balance_changes.relate_id | 关联充值/订单 ID(0=无关联) |
|
||||
|
||||
---
|
||||
|
||||
### dwd.dim_tenant_goods
|
||||
|
||||
#### 现有字段
|
||||
|
||||
| # | 字段名 | 数据类型 | 说明 |
|
||||
|---|--------|---------|------|
|
||||
| 1 | `tenant_goods_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2791925230096261(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】tenant_goods_master - id。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - id。 |
|
||||
| 2 | `tenant_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790683160709957(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】tenant_goods_master - tenant_id。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - tenant_id。 |
|
||||
| 3 | `supplier_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】tenant_goods_master - supplier_id。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - supplier_id。 |
|
||||
| 4 | `category_name` | character varying(64) | 【说明】名称字段,用于展示与辅助识别。 【示例】饮料(名称字段,用于展示与辅助识别)。 【ODS来源】tenant_goods_master - categoryName。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - categoryName。 |
|
||||
| 5 | `goods_category_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790683528350539(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】tenant_goods_master - goods_category_id。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - goods_category_id。 |
|
||||
| 6 | `goods_second_category_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790683528350540(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】tenant_goods_master - goods_second_category_id。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - goods_second_category_id。 |
|
||||
| 7 | `goods_name` | character varying(128) | 【说明】名称字段,用于展示与辅助识别。 【示例】东方树叶(名称字段,用于展示与辅助识别)。 【ODS来源】tenant_goods_master - goods_name。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - goods_name。 |
|
||||
| 8 | `goods_number` | character varying(64) | 【说明】数量/时长字段,用于统计与计量。 【示例】1(数量/时长字段,用于统计与计量)。 【ODS来源】tenant_goods_master - goods_number。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - goods_number。 |
|
||||
| 9 | `unit` | character varying(16) | 【说明】维度字段,用于补充维度属性。 【示例】瓶(维度字段,用于补充维度属性)。 【ODS来源】tenant_goods_master - unit。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - unit。 |
|
||||
| 10 | `market_price` | numeric(18,2) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】8.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】tenant_goods_master - market_price。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - market_price。 |
|
||||
| 11 | `goods_state` | integer | 【说明】维度字段,用于补充维度属性。 【示例】1(维度字段,用于补充维度属性)。 【ODS来源】tenant_goods_master - goods_state。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - goods_state。 |
|
||||
| 12 | `create_time` | timestamp with time zone | 【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-07-15 17:13:15(时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】tenant_goods_master - create_time。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - create_time。 |
|
||||
| 13 | `update_time` | timestamp with time zone | 【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】2025-10-29 23:51:38(时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】tenant_goods_master - update_time。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - update_time。 |
|
||||
| 14 | `is_delete` | integer | 【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】0(布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】tenant_goods_master - is_delete。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - is_delete。 |
|
||||
| 15 | `not_sale` | integer | |
|
||||
| 16 | `scd2_start_time` | timestamp with time zone | 【说明】SCD2 开始时间(版本生效起点),用于维度慢变追踪。 【示例】2025-11-10T00:00:00+08:00(SCD2 开始时间(版本生效起点),用于维度慢变追踪)。 【ODS来源】tenant_goods_master - 无(DWD慢变元数据)。 【JSON字段】无 - DWD慢变元数据 - 无。 |
|
||||
| 17 | `scd2_end_time` | timestamp with time zone | 【说明】SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪。 【示例】9999-12-31T00:00:00+00:00(SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪)。 【ODS来源】tenant_goods_master - 无(DWD慢变元数据)。 【JSON字段】无 - DWD慢变元数据 - 无。 |
|
||||
| 18 | `scd2_is_current` | integer | 【说明】SCD2 当前版本标记(1=当前,0=历史),用于筛选最新维度记录。 【示例】1(SCD2 当前版本标记(1=当前,0=历史),用于筛选最新维度记录)。 【ODS来源】tenant_goods_master - 无(DWD慢变元数据)。 【JSON字段】无 - DWD慢变元数据 - 无。 |
|
||||
| 19 | `scd2_version` | integer | 【说明】SCD2 版本号(自增),用于与时间段一起避免版本重叠。 【示例】1(SCD2 版本号(自增),用于与时间段一起避免版本重叠)。 【ODS来源】tenant_goods_master - 无(DWD慢变元数据)。 【JSON字段】无 - DWD慢变元数据 - 无。 |
|
||||
|
||||
---
|
||||
|
||||
### dwd.dim_tenant_goods_ex
|
||||
|
||||
#### 现有字段
|
||||
|
||||
| # | 字段名 | 数据类型 | 说明 |
|
||||
|---|--------|---------|------|
|
||||
| 1 | `tenant_goods_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2791925230096261(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】tenant_goods_master - id。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - id。 |
|
||||
| 2 | `remark_name` | character varying(128) | 【说明】名称字段,用于展示与辅助识别。 【示例】NULL(名称字段,用于展示与辅助识别)。 【ODS来源】tenant_goods_master - remark_name。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - remark_name。 |
|
||||
| 3 | `pinyin_initial` | character varying(128) | 【说明】维度字段,用于补充维度属性。 【示例】DFSY,DFSX(维度字段,用于补充维度属性)。 【ODS来源】tenant_goods_master - pinyin_initial。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - pinyin_initial。 |
|
||||
| 4 | `goods_cover` | character varying(512) | 【说明】维度字段,用于补充维度属性。 【示例】https://oss.ficoo.vip/admin/ZwS8fj_1753175129443.jpg(维度字段,用于补充维度属性)。 【ODS来源】tenant_goods_master - goods_cover。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - goods_cover。 |
|
||||
| 5 | `goods_bar_code` | character varying(64) | 【说明】维度字段,用于补充维度属性。 【示例】NULL(维度字段,用于补充维度属性)。 【ODS来源】tenant_goods_master - goods_bar_code。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - goods_bar_code。 |
|
||||
| 6 | `commodity_code` | character varying(64) | 【说明】维度字段,用于补充维度属性。 【示例】10000028(维度字段,用于补充维度属性)。 【ODS来源】tenant_goods_master - commodity_code。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - commodity_code。 |
|
||||
| 7 | `commodity_code_list` | character varying(256) | 【说明】维度字段,用于补充维度属性。 【示例】10000028(维度字段,用于补充维度属性)。 【ODS来源】tenant_goods_master - commodity_code。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - commodity_code。 |
|
||||
| 8 | `min_discount_price` | numeric(18,2) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】tenant_goods_master - min_discount_price。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - min_discount_price。 |
|
||||
| 9 | `cost_price` | numeric(18,2) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】tenant_goods_master - cost_price。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - cost_price。 |
|
||||
| 10 | `cost_price_type` | integer | 【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】1(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】tenant_goods_master - cost_price_type。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - cost_price_type。 |
|
||||
| 11 | `able_discount` | integer | 【说明】数量/时长字段,用于统计与计量。 【示例】1(数量/时长字段,用于统计与计量)。 【ODS来源】tenant_goods_master - able_discount。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - able_discount。 |
|
||||
| 12 | `sale_channel` | integer | 【说明】维度字段,用于补充维度属性。 【示例】1(维度字段,用于补充维度属性)。 【ODS来源】tenant_goods_master - sale_channel。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - sale_channel。 |
|
||||
| 13 | `is_warehousing` | integer | 【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】1(布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】tenant_goods_master - is_warehousing。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - is_warehousing。 |
|
||||
| 14 | `is_in_site` | boolean | 【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】false(布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】tenant_goods_master - isInSite(派生:BOOLEAN(isInSite))。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - isInSite(派生:BOOLEAN(isInSite))。 |
|
||||
| 15 | `able_site_transfer` | integer | 【说明】维度字段,用于补充维度属性。 【示例】2(维度字段,用于补充维度属性)。 【ODS来源】tenant_goods_master - able_site_transfer。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - able_site_transfer。 |
|
||||
| 16 | `common_sale_royalty` | integer | 【说明】维度字段,用于补充维度属性。 【示例】0(维度字段,用于补充维度属性)。 【ODS来源】tenant_goods_master - common_sale_royalty。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - common_sale_royalty。 |
|
||||
| 17 | `point_sale_royalty` | integer | 【说明】维度字段,用于补充维度属性。 【示例】0(维度字段,用于补充维度属性)。 【ODS来源】tenant_goods_master - point_sale_royalty。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - point_sale_royalty。 |
|
||||
| 18 | `out_goods_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】0(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】tenant_goods_master - out_goods_id。 【JSON字段】tenant_goods_master.json - data.tenantGoodsList - out_goods_id。 |
|
||||
| 19 | `scd2_start_time` | timestamp with time zone | 【说明】SCD2 开始时间(版本生效起点),用于维度慢变追踪。 【示例】2025-11-10T00:00:00+08:00(SCD2 开始时间(版本生效起点),用于维度慢变追踪)。 【ODS来源】tenant_goods_master - 无(DWD慢变元数据)。 【JSON字段】无 - DWD慢变元数据 - 无。 |
|
||||
| 20 | `scd2_end_time` | timestamp with time zone | 【说明】SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪。 【示例】9999-12-31T00:00:00+00:00(SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪)。 【ODS来源】tenant_goods_master - 无(DWD慢变元数据)。 【JSON字段】无 - DWD慢变元数据 - 无。 |
|
||||
| 21 | `scd2_is_current` | integer | 【说明】SCD2 当前版本标记(1=当前,0=历史),用于筛选最新维度记录。 【示例】1(SCD2 当前版本标记(1=当前,0=历史),用于筛选最新维度记录)。 【ODS来源】tenant_goods_master - 无(DWD慢变元数据)。 【JSON字段】无 - DWD慢变元数据 - 无。 |
|
||||
| 22 | `scd2_version` | integer | 【说明】SCD2 版本号(自增),用于与时间段一起避免版本重叠。 【示例】1(SCD2 版本号(自增),用于与时间段一起避免版本重叠)。 【ODS来源】tenant_goods_master - 无(DWD慢变元数据)。 【JSON字段】无 - DWD慢变元数据 - 无。 |
|
||||
|
||||
---
|
||||
|
||||
### dwd.dim_table
|
||||
|
||||
#### 现有字段
|
||||
|
||||
| # | 字段名 | 数据类型 | 说明 |
|
||||
|---|--------|---------|------|
|
||||
| 1 | `table_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2791964216463493(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】site_tables_master - id。 【JSON字段】site_tables_master.json - data.siteTables - id。 |
|
||||
| 2 | `site_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790685415443269(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】site_tables_master - site_id。 【JSON字段】site_tables_master.json - data.siteTables - site_id。 |
|
||||
| 3 | `table_name` | text | 【说明】名称字段,用于展示与辅助识别。 【示例】A1(名称字段,用于展示与辅助识别)。 【ODS来源】site_tables_master - table_name。 【JSON字段】site_tables_master.json - data.siteTables - table_name。 |
|
||||
| 4 | `site_table_area_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2791963794329671(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】site_tables_master - site_table_area_id。 【JSON字段】site_tables_master.json - data.siteTables - site_table_area_id。 |
|
||||
| 5 | `site_table_area_name` | text | 【说明】名称字段,用于展示与辅助识别。 【示例】A区(名称字段,用于展示与辅助识别)。 【ODS来源】site_tables_master - areaName。 【JSON字段】site_tables_master.json - data.siteTables - areaName。 |
|
||||
| 6 | `tenant_table_area_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2791963794329671(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】site_tables_master - site_table_area_id。 【JSON字段】site_tables_master.json - data.siteTables - site_table_area_id。 |
|
||||
| 7 | `table_price` | numeric(18,2) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】site_tables_master - table_price。 【JSON字段】site_tables_master.json - data.siteTables - table_price。 |
|
||||
| 8 | `order_id` | bigint | |
|
||||
| 9 | `scd2_start_time` | timestamp with time zone | 【说明】SCD2 开始时间(版本生效起点),用于维度慢变追踪。 【示例】2025-11-10T00:00:00+08:00(SCD2 开始时间(版本生效起点),用于维度慢变追踪)。 【ODS来源】site_tables_master - 无(DWD慢变元数据)。 【JSON字段】无 - DWD慢变元数据 - 无。 |
|
||||
| 10 | `scd2_end_time` | timestamp with time zone | 【说明】SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪。 【示例】9999-12-31T00:00:00+00:00(SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪)。 【ODS来源】site_tables_master - 无(DWD慢变元数据)。 【JSON字段】无 - DWD慢变元数据 - 无。 |
|
||||
| 11 | `scd2_is_current` | integer | 【说明】SCD2 当前版本标记(1=当前,0=历史),用于筛选最新维度记录。 【示例】1(SCD2 当前版本标记(1=当前,0=历史),用于筛选最新维度记录)。 【ODS来源】site_tables_master - 无(DWD慢变元数据)。 【JSON字段】无 - DWD慢变元数据 - 无。 |
|
||||
| 12 | `scd2_version` | integer | 【说明】SCD2 版本号(自增),用于与时间段一起避免版本重叠。 【示例】1(SCD2 版本号(自增),用于与时间段一起避免版本重叠)。 【ODS来源】site_tables_master - 无(DWD慢变元数据)。 【JSON字段】无 - DWD慢变元数据 - 无。 |
|
||||
|
||||
---
|
||||
|
||||
### dwd.dim_table_ex
|
||||
|
||||
#### 现有字段
|
||||
|
||||
| # | 字段名 | 数据类型 | 说明 |
|
||||
|---|--------|---------|------|
|
||||
| 1 | `table_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2791964216463493(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】site_tables_master - id。 【JSON字段】site_tables_master.json - data.siteTables - id。 |
|
||||
| 2 | `show_status` | integer | 【说明】状态枚举字段,用于标识业务状态。 【示例】1(状态枚举字段,用于标识业务状态)。 【ODS来源】site_tables_master - show_status。 【JSON字段】site_tables_master.json - data.siteTables - show_status。 |
|
||||
| 3 | `is_online_reservation` | integer | 【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】2(布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】site_tables_master - is_online_reservation。 【JSON字段】site_tables_master.json - data.siteTables - is_online_reservation。 |
|
||||
| 4 | `table_cloth_use_time` | integer | 【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】1863727(时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】site_tables_master - table_cloth_use_time。 【JSON字段】site_tables_master.json - data.siteTables - table_cloth_use_time。 |
|
||||
| 5 | `table_cloth_use_cycle` | integer | 【说明】维度字段,用于补充维度属性。 【示例】0(维度字段,用于补充维度属性)。 【ODS来源】site_tables_master - table_cloth_use_Cycle。 【JSON字段】site_tables_master.json - data.siteTables - table_cloth_use_Cycle。 |
|
||||
| 6 | `table_status` | integer | 【说明】状态枚举字段,用于标识业务状态。 【示例】1(状态枚举字段,用于标识业务状态)。 【ODS来源】site_tables_master - table_status。 【JSON字段】site_tables_master.json - data.siteTables - table_status。 |
|
||||
| 7 | `scd2_start_time` | timestamp with time zone | 【说明】SCD2 开始时间(版本生效起点),用于维度慢变追踪。 【示例】2025-11-10T00:00:00+08:00(SCD2 开始时间(版本生效起点),用于维度慢变追踪)。 【ODS来源】site_tables_master - 无(DWD慢变元数据)。 【JSON字段】无 - DWD慢变元数据 - 无。 |
|
||||
| 8 | `scd2_end_time` | timestamp with time zone | 【说明】SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪。 【示例】9999-12-31T00:00:00+00:00(SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪)。 【ODS来源】site_tables_master - 无(DWD慢变元数据)。 【JSON字段】无 - DWD慢变元数据 - 无。 |
|
||||
| 9 | `scd2_is_current` | integer | 【说明】SCD2 当前版本标记(1=当前,0=历史),用于筛选最新维度记录。 【示例】1(SCD2 当前版本标记(1=当前,0=历史),用于筛选最新维度记录)。 【ODS来源】site_tables_master - 无(DWD慢变元数据)。 【JSON字段】无 - DWD慢变元数据 - 无。 |
|
||||
| 10 | `scd2_version` | integer | 【说明】SCD2 版本号(自增),用于与时间段一起避免版本重叠。 【示例】1(SCD2 版本号(自增),用于与时间段一起避免版本重叠)。 【ODS来源】site_tables_master - 无(DWD慢变元数据)。 【JSON字段】无 - DWD慢变元数据 - 无。 |
|
||||
|
||||
#### 🆕 拟新增字段
|
||||
|
||||
| # | 字段名 | 建议类型 | 来源 ODS 列 | 说明 |
|
||||
|---|--------|---------|------------|------|
|
||||
| 1 | `sitename` | text | site_tables_master.sitename | 门店名称快照 |
|
||||
| 2 | `applet_qr_code_url` | text | site_tables_master.appletqrcodeurl | 小程序二维码 URL(当前全 NULL) |
|
||||
| 3 | `audit_status` | integer | site_tables_master.audit_status | 审核状态枚举 |
|
||||
| 4 | `charge_free` | integer | site_tables_master.charge_free | 是否免费(0=否) |
|
||||
| 5 | `create_time` | timestamptz | site_tables_master.create_time | 台桌创建时间 |
|
||||
| 6 | `delay_lights_time` | integer | site_tables_master.delay_lights_time | 延迟关灯时间(秒) |
|
||||
| 7 | `is_rest_area` | integer | site_tables_master.is_rest_area | 是否休息区(0=否) |
|
||||
| 8 | `light_status` | integer | site_tables_master.light_status | 灯控状态枚举 |
|
||||
| 9 | `only_allow_groupon` | integer | site_tables_master.only_allow_groupon | 是否仅允许团购 |
|
||||
| 10 | `order_delay_time` | integer | site_tables_master.order_delay_time | 订单延迟时间(秒) |
|
||||
| 11 | `self_table` | integer | site_tables_master.self_table | 是否自助台桌 |
|
||||
| 12 | `table_status_name` | text | site_tables_master.tablestatusname | 台桌状态名称(空闲中/使用中/暂停中) |
|
||||
| 13 | `temporary_light_second` | integer | site_tables_master.temporary_light_second | 临时灯光秒数 |
|
||||
| 14 | `virtual_table` | integer | site_tables_master.virtual_table | 是否虚拟台桌(0=否) |
|
||||
|
||||
---
|
||||
|
||||
### dwd.dwd_recharge_order
|
||||
|
||||
#### 现有字段
|
||||
|
||||
| # | 字段名 | 数据类型 | 说明 |
|
||||
|---|--------|---------|------|
|
||||
| 1 | `recharge_order_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】NULL(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】recharge_settlements - id。 【JSON字段】recharge_settlements.json - $ - id。 |
|
||||
| 2 | `tenant_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】NULL(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】recharge_settlements - tenantid。 【JSON字段】recharge_settlements.json - $ - tenantid。 |
|
||||
| 3 | `site_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】NULL(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】recharge_settlements - siteid。 【JSON字段】recharge_settlements.json - $ - siteid。 |
|
||||
| 4 | `member_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】NULL(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】recharge_settlements - memberid。 【JSON字段】recharge_settlements.json - $ - memberid。 |
|
||||
| 5 | `member_name_snapshot` | text | 【说明】明细字段,用于记录事实取值。 【示例】NULL(明细字段,用于记录事实取值)。 【ODS来源】recharge_settlements - membername。 【JSON字段】recharge_settlements.json - $ - membername。 |
|
||||
| 6 | `member_phone_snapshot` | text | 【说明】明细字段,用于记录事实取值。 【示例】NULL(明细字段,用于记录事实取值)。 【ODS来源】recharge_settlements - memberphone。 【JSON字段】recharge_settlements.json - $ - memberphone。 |
|
||||
| 7 | `tenant_member_card_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】NULL(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】recharge_settlements - tenantmembercardid。 【JSON字段】recharge_settlements.json - $ - tenantmembercardid。 |
|
||||
| 8 | `member_card_type_name` | text | 【说明】名称字段,用于展示与辅助识别。 【示例】NULL(名称字段,用于展示与辅助识别)。 【ODS来源】recharge_settlements - membercardtypename。 【JSON字段】recharge_settlements.json - $ - membercardtypename。 |
|
||||
| 9 | `settle_relate_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】NULL(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】recharge_settlements - settlerelateid。 【JSON字段】recharge_settlements.json - $ - settlerelateid。 |
|
||||
| 10 | `settle_type` | integer | 【说明】明细字段,用于记录事实取值。 【示例】NULL(明细字段,用于记录事实取值)。 【ODS来源】recharge_settlements - settletype。 【JSON字段】recharge_settlements.json - $ - settletype。 |
|
||||
| 11 | `settle_name` | text | 【说明】名称字段,用于展示与辅助识别。 【示例】NULL(名称字段,用于展示与辅助识别)。 【ODS来源】recharge_settlements - settlename。 【JSON字段】recharge_settlements.json - $ - settlename。 |
|
||||
| 12 | `is_first` | integer | 【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】NULL(布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】recharge_settlements - isfirst。 【JSON字段】recharge_settlements.json - $ - isfirst。 |
|
||||
| 13 | `pay_amount` | numeric(18,2) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】recharge_settlements - payamount。 【JSON字段】recharge_settlements.json - $ - payamount。 |
|
||||
| 14 | `refund_amount` | numeric(18,2) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】recharge_settlements - refundamount。 【JSON字段】recharge_settlements.json - $ - refundamount。 |
|
||||
| 15 | `point_amount` | numeric(18,2) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】recharge_settlements - pointamount。 【JSON字段】recharge_settlements.json - $ - pointamount。 |
|
||||
| 16 | `cash_amount` | numeric(18,2) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】NULL(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】recharge_settlements - cashamount。 【JSON字段】recharge_settlements.json - $ - cashamount。 |
|
||||
| 17 | `payment_method` | integer | 【说明】明细字段,用于记录事实取值。 【示例】NULL(明细字段,用于记录事实取值)。 【ODS来源】recharge_settlements - paymentmethod。 【JSON字段】recharge_settlements.json - $ - paymentmethod。 |
|
||||
| 18 | `create_time` | timestamp with time zone | 【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】NULL(时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】recharge_settlements - createtime。 【JSON字段】recharge_settlements.json - $ - createtime。 |
|
||||
| 19 | `pay_time` | timestamp with time zone | 【说明】时间/日期字段,用于记录业务时间与统计口径对齐。 【示例】NULL(时间/日期字段,用于记录业务时间与统计口径对齐)。 【ODS来源】recharge_settlements - paytime。 【JSON字段】recharge_settlements.json - $ - paytime。 |
|
||||
| 20 | `pl_coupon_sale_amount` | numeric(18,2) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【ODS来源】recharge_settlements - plcouponsaleamount。 【JSON字段】recharge_settlements.json - $ - plcouponsaleamount。 |
|
||||
| 21 | `mervou_sales_amount` | numeric(18,2) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【ODS来源】recharge_settlements - mervousalesamount。 【JSON字段】recharge_settlements.json - $ - mervousalesamount。 |
|
||||
| 22 | `electricity_money` | numeric(18,2) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【ODS来源】recharge_settlements - electricitymoney。 【JSON字段】recharge_settlements.json - $ - electricitymoney。 |
|
||||
| 23 | `real_electricity_money` | numeric(18,2) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【ODS来源】recharge_settlements - realelectricitymoney。 【JSON字段】recharge_settlements.json - $ - realelectricitymoney。 |
|
||||
| 24 | `electricity_adjust_money` | numeric(18,2) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【ODS来源】recharge_settlements - electricityadjustmoney。 【JSON字段】recharge_settlements.json - $ - electricityadjustmoney。 |
|
||||
|
||||
#### 🔗 仅补 FACT_MAPPINGS(DWD 列已存在)
|
||||
|
||||
| # | DWD 列 | ODS 列 | 说明 |
|
||||
|---|--------|--------|------|
|
||||
| 1 | `pl_coupon_sale_amount` | `plcouponsaleamount` | 平台券销售额 |
|
||||
| 2 | `mervou_sales_amount` | `mervousalesamount` | 美团券销售额 |
|
||||
| 3 | `electricity_money` | `electricitymoney` | 电费金额 |
|
||||
| 4 | `real_electricity_money` | `realelectricitymoney` | 实际电费金额 |
|
||||
| 5 | `electricity_adjust_money` | `electricityadjustmoney` | 电费调整金额 |
|
||||
|
||||
---
|
||||
|
||||
### dwd.dim_store_goods
|
||||
|
||||
#### 现有字段
|
||||
|
||||
| # | 字段名 | 数据类型 | 说明 |
|
||||
|---|--------|---------|------|
|
||||
| 1 | `site_goods_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2793025851560005(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_master - id。 【JSON字段】store_goods_master.json - data.orderGoodsList - id。 |
|
||||
| 2 | `tenant_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790683160709957(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_master - tenant_id。 【JSON字段】store_goods_master.json - data.orderGoodsList - tenant_id。 |
|
||||
| 3 | `site_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2790685415443269(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_master - site_id。 【JSON字段】store_goods_master.json - data.orderGoodsList - site_id。 |
|
||||
| 4 | `tenant_goods_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2792178593255301(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_master - tenant_goods_id。 【JSON字段】store_goods_master.json - data.orderGoodsList - tenant_goods_id。 |
|
||||
| 5 | `goods_name` | text | 【说明】名称字段,用于展示与辅助识别。 【示例】合味道泡面(名称字段,用于展示与辅助识别)。 【ODS来源】store_goods_master - goods_name。 【JSON字段】store_goods_master.json - data.orderGoodsList - goods_name。 |
|
||||
| 6 | `goods_category_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2791941988405125(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_master - goods_category_id。 【JSON字段】store_goods_master.json - data.orderGoodsList - goods_category_id。 |
|
||||
| 7 | `goods_second_category_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2793236829620037(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_master - goods_second_category_id。 【JSON字段】store_goods_master.json - data.orderGoodsList - goods_second_category_id。 |
|
||||
| 8 | `category_level1_name` | text | 【说明】名称字段,用于展示与辅助识别。 【示例】零食(名称字段,用于展示与辅助识别)。 【ODS来源】store_goods_master - oneCategoryName。 【JSON字段】store_goods_master.json - data.orderGoodsList - oneCategoryName。 |
|
||||
| 9 | `category_level2_name` | text | 【说明】名称字段,用于展示与辅助识别。 【示例】面(名称字段,用于展示与辅助识别)。 【ODS来源】store_goods_master - twoCategoryName。 【JSON字段】store_goods_master.json - data.orderGoodsList - twoCategoryName。 |
|
||||
| 10 | `batch_stock_qty` | integer | 【说明】数量/时长字段,用于统计与计量。 【示例】18(数量/时长字段,用于统计与计量)。 【ODS来源】store_goods_master - stock。 【JSON字段】store_goods_master.json - data.orderGoodsList - stock。 |
|
||||
| 11 | `sale_qty` | integer | 【说明】数量/时长字段,用于统计与计量。 【示例】104(数量/时长字段,用于统计与计量)。 【ODS来源】store_goods_master - sale_num。 【JSON字段】store_goods_master.json - data.orderGoodsList - sale_num。 |
|
||||
| 12 | `total_sales_qty` | integer | 【说明】数量/时长字段,用于统计与计量。 【示例】104(数量/时长字段,用于统计与计量)。 【ODS来源】store_goods_master - total_sales。 【JSON字段】store_goods_master.json - data.orderGoodsList - total_sales。 |
|
||||
| 13 | `sale_price` | numeric(18,2) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】12.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】store_goods_master - sale_price。 【JSON字段】store_goods_master.json - data.orderGoodsList - sale_price。 |
|
||||
| 14 | `created_at` | timestamp with time zone | 【说明】维度字段,用于补充维度属性。 【示例】2025-07-16 11:52:51(维度字段,用于补充维度属性)。 【ODS来源】store_goods_master - create_time。 【JSON字段】store_goods_master.json - data.orderGoodsList - create_time。 |
|
||||
| 15 | `updated_at` | timestamp with time zone | 【说明】维度字段,用于补充维度属性。 【示例】2025-11-09 07:23:47(维度字段,用于补充维度属性)。 【ODS来源】store_goods_master - update_time。 【JSON字段】store_goods_master.json - data.orderGoodsList - update_time。 |
|
||||
| 16 | `avg_monthly_sales` | numeric(18,4) | 【说明】维度字段,用于补充维度属性。 【示例】1.32(维度字段,用于补充维度属性)。 【ODS来源】store_goods_master - average_monthly_sales。 【JSON字段】store_goods_master.json - data.orderGoodsList - average_monthly_sales。 |
|
||||
| 17 | `goods_state` | integer | 【说明】维度字段,用于补充维度属性。 【示例】1(维度字段,用于补充维度属性)。 【ODS来源】store_goods_master - goods_state。 【JSON字段】store_goods_master.json - data.orderGoodsList - goods_state。 |
|
||||
| 18 | `enable_status` | integer | 【说明】状态枚举字段,用于标识业务状态。 【示例】1(状态枚举字段,用于标识业务状态)。 【ODS来源】store_goods_master - enable_status。 【JSON字段】store_goods_master.json - data.orderGoodsList - enable_status。 |
|
||||
| 19 | `send_state` | integer | 【说明】维度字段,用于补充维度属性。 【示例】1(维度字段,用于补充维度属性)。 【ODS来源】store_goods_master - send_state。 【JSON字段】store_goods_master.json - data.orderGoodsList - send_state。 |
|
||||
| 20 | `is_delete` | integer | 【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】0(布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】store_goods_master - is_delete。 【JSON字段】store_goods_master.json - data.orderGoodsList - is_delete。 |
|
||||
| 21 | `commodity_code` | text | |
|
||||
| 22 | `not_sale` | integer | |
|
||||
| 23 | `scd2_start_time` | timestamp with time zone | 【说明】SCD2 开始时间(版本生效起点),用于维度慢变追踪。 【示例】2025-11-10T00:00:00+08:00(SCD2 开始时间(版本生效起点),用于维度慢变追踪)。 【ODS来源】store_goods_master - 无(DWD慢变元数据)。 【JSON字段】无 - DWD慢变元数据 - 无。 |
|
||||
| 24 | `scd2_end_time` | timestamp with time zone | 【说明】SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪。 【示例】9999-12-31T00:00:00+00:00(SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪)。 【ODS来源】store_goods_master - 无(DWD慢变元数据)。 【JSON字段】无 - DWD慢变元数据 - 无。 |
|
||||
| 25 | `scd2_is_current` | integer | 【说明】SCD2 当前版本标记(1=当前,0=历史),用于筛选最新维度记录。 【示例】1(SCD2 当前版本标记(1=当前,0=历史),用于筛选最新维度记录)。 【ODS来源】store_goods_master - 无(DWD慢变元数据)。 【JSON字段】无 - DWD慢变元数据 - 无。 |
|
||||
| 26 | `scd2_version` | integer | 【说明】SCD2 版本号(自增),用于与时间段一起避免版本重叠。 【示例】1(SCD2 版本号(自增),用于与时间段一起避免版本重叠)。 【ODS来源】store_goods_master - 无(DWD慢变元数据)。 【JSON字段】无 - DWD慢变元数据 - 无。 |
|
||||
|
||||
---
|
||||
|
||||
### dwd.dim_store_goods_ex
|
||||
|
||||
#### 现有字段
|
||||
|
||||
| # | 字段名 | 数据类型 | 说明 |
|
||||
|---|--------|---------|------|
|
||||
| 1 | `site_goods_id` | bigint | 【说明】标识类 ID 字段,用于关联/定位相关实体。 【示例】2793025851560005(标识类 ID 字段,用于关联/定位相关实体)。 【ODS来源】store_goods_master - id。 【JSON字段】store_goods_master.json - data.orderGoodsList - id。 |
|
||||
| 2 | `site_name` | text | 【说明】名称字段,用于展示与辅助识别。 【示例】朗朗桌球(名称字段,用于展示与辅助识别)。 【ODS来源】store_goods_master - siteName。 【JSON字段】store_goods_master.json - data.orderGoodsList - siteName。 |
|
||||
| 3 | `unit` | text | 【说明】维度字段,用于补充维度属性。 【示例】桶(维度字段,用于补充维度属性)。 【ODS来源】store_goods_master - unit。 【JSON字段】store_goods_master.json - data.orderGoodsList - unit。 |
|
||||
| 4 | `goods_barcode` | text | 【说明】维度字段,用于补充维度属性。 【示例】NULL(维度字段,用于补充维度属性)。 【ODS来源】store_goods_master - goods_bar_code。 【JSON字段】store_goods_master.json - data.orderGoodsList - goods_bar_code。 |
|
||||
| 5 | `goods_cover_url` | text | 【说明】维度字段,用于补充维度属性。 【示例】https://oss.ficoo.vip/admin/8M1WM7_1753204221337.jpg(维度字段,用于补充维度属性)。 【ODS来源】store_goods_master - goods_cover。 【JSON字段】store_goods_master.json - data.orderGoodsList - goods_cover。 |
|
||||
| 6 | `pinyin_initial` | text | 【说明】维度字段,用于补充维度属性。 【示例】HWDPM,GWDPM(维度字段,用于补充维度属性)。 【ODS来源】store_goods_master - pinyin_initial。 【JSON字段】store_goods_master.json - data.orderGoodsList - pinyin_initial。 |
|
||||
| 7 | `stock_qty` | integer | 【说明】数量/时长字段,用于统计与计量。 【示例】18(数量/时长字段,用于统计与计量)。 【ODS来源】store_goods_master - stock。 【JSON字段】store_goods_master.json - data.orderGoodsList - stock。 |
|
||||
| 8 | `stock_secondary_qty` | integer | 【说明】数量/时长字段,用于统计与计量。 【示例】0(数量/时长字段,用于统计与计量)。 【ODS来源】store_goods_master - stock_A。 【JSON字段】store_goods_master.json - data.orderGoodsList - stock_A。 |
|
||||
| 9 | `safety_stock_qty` | integer | 【说明】数量/时长字段,用于统计与计量。 【示例】0(数量/时长字段,用于统计与计量)。 【ODS来源】store_goods_master - safe_stock。 【JSON字段】store_goods_master.json - data.orderGoodsList - safe_stock。 |
|
||||
| 10 | `cost_price` | numeric(18,4) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】store_goods_master - cost_price。 【JSON字段】store_goods_master.json - data.orderGoodsList - cost_price。 |
|
||||
| 11 | `cost_price_type` | integer | 【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】1(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】store_goods_master - cost_price_type。 【JSON字段】store_goods_master.json - data.orderGoodsList - cost_price_type。 |
|
||||
| 12 | `provisional_total_cost` | numeric(18,2) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】store_goods_master - total_purchase_cost。 【JSON字段】store_goods_master.json - data.orderGoodsList - total_purchase_cost。 |
|
||||
| 13 | `total_purchase_cost` | numeric(18,2) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】0.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】store_goods_master - total_purchase_cost。 【JSON字段】store_goods_master.json - data.orderGoodsList - total_purchase_cost。 |
|
||||
| 14 | `min_discount_price` | numeric(18,2) | 【说明】金额字段,用于计费/结算/核算等金额计算。 【示例】7.0(金额字段,用于计费/结算/核算等金额计算)。 【ODS来源】store_goods_master - min_discount_price。 【JSON字段】store_goods_master.json - data.orderGoodsList - min_discount_price。 |
|
||||
| 15 | `is_discountable` | integer | 【说明】数量/时长字段,用于统计与计量。 【示例】1(数量/时长字段,用于统计与计量)。 【ODS来源】store_goods_master - able_discount。 【JSON字段】store_goods_master.json - data.orderGoodsList - able_discount。 |
|
||||
| 16 | `days_on_shelf` | integer | 【说明】维度字段,用于补充维度属性。 【示例】13(维度字段,用于补充维度属性)。 【ODS来源】store_goods_master - days_available。 【JSON字段】store_goods_master.json - data.orderGoodsList - days_available。 |
|
||||
| 17 | `audit_status` | integer | 【说明】状态枚举字段,用于标识业务状态。 【示例】2(状态枚举字段,用于标识业务状态)。 【ODS来源】store_goods_master - audit_status。 【JSON字段】store_goods_master.json - data.orderGoodsList - audit_status。 |
|
||||
| 18 | `sale_channel` | integer | 【说明】维度字段,用于补充维度属性。 【示例】1(维度字段,用于补充维度属性)。 【ODS来源】store_goods_master - sale_channel。 【JSON字段】store_goods_master.json - data.orderGoodsList - sale_channel。 |
|
||||
| 19 | `is_warehousing` | integer | 【说明】布尔/开关字段,用于表示是否/可用性等业务开关。 【示例】1(布尔/开关字段,用于表示是否/可用性等业务开关)。 【ODS来源】store_goods_master - is_warehousing。 【JSON字段】store_goods_master.json - data.orderGoodsList - is_warehousing。 |
|
||||
| 20 | `freeze_status` | integer | 【说明】状态枚举字段,用于标识业务状态。 【示例】0(状态枚举字段,用于标识业务状态)。 【ODS来源】store_goods_master - freeze。 【JSON字段】store_goods_master.json - data.orderGoodsList - freeze。 |
|
||||
| 21 | `forbid_sell_status` | integer | 【说明】状态枚举字段,用于标识业务状态。 【示例】1(状态枚举字段,用于标识业务状态)。 【ODS来源】store_goods_master - forbid_sell_status。 【JSON字段】store_goods_master.json - data.orderGoodsList - forbid_sell_status。 |
|
||||
| 22 | `able_site_transfer` | integer | 【说明】维度字段,用于补充维度属性。 【示例】2(维度字段,用于补充维度属性)。 【ODS来源】store_goods_master - able_site_transfer。 【JSON字段】store_goods_master.json - data.orderGoodsList - able_site_transfer。 |
|
||||
| 23 | `custom_label_type` | integer | 【说明】维度字段,用于补充维度属性。 【示例】2(维度字段,用于补充维度属性)。 【ODS来源】store_goods_master - custom_label_type。 【JSON字段】store_goods_master.json - data.orderGoodsList - custom_label_type。 |
|
||||
| 24 | `option_required` | integer | 【说明】维度字段,用于补充维度属性。 【示例】1(维度字段,用于补充维度属性)。 【ODS来源】store_goods_master - option_required。 【JSON字段】store_goods_master.json - data.orderGoodsList - option_required。 |
|
||||
| 25 | `remark` | text | 【说明】维度字段,用于补充维度属性。 【示例】NULL(维度字段,用于补充维度属性)。 【ODS来源】store_goods_master - remark。 【JSON字段】store_goods_master.json - data.orderGoodsList - remark。 |
|
||||
| 26 | `sort_order` | integer | 【说明】维度字段,用于补充维度属性。 【示例】100(维度字段,用于补充维度属性)。 【ODS来源】store_goods_master - sort。 【JSON字段】store_goods_master.json - data.orderGoodsList - sort。 |
|
||||
| 27 | `scd2_start_time` | timestamp with time zone | 【说明】SCD2 开始时间(版本生效起点),用于维度慢变追踪。 【示例】2025-11-10T00:00:00+08:00(SCD2 开始时间(版本生效起点),用于维度慢变追踪)。 【ODS来源】store_goods_master - 无(DWD慢变元数据)。 【JSON字段】无 - DWD慢变元数据 - 无。 |
|
||||
| 28 | `scd2_end_time` | timestamp with time zone | 【说明】SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪。 【示例】9999-12-31T00:00:00+00:00(SCD2 结束时间(默认 9999-12-31 表示当前版本),用于维度慢变追踪)。 【ODS来源】store_goods_master - 无(DWD慢变元数据)。 【JSON字段】无 - DWD慢变元数据 - 无。 |
|
||||
| 29 | `scd2_is_current` | integer | 【说明】SCD2 当前版本标记(1=当前,0=历史),用于筛选最新维度记录。 【示例】1(SCD2 当前版本标记(1=当前,0=历史),用于筛选最新维度记录)。 【ODS来源】store_goods_master - 无(DWD慢变元数据)。 【JSON字段】无 - DWD慢变元数据 - 无。 |
|
||||
| 30 | `scd2_version` | integer | 【说明】SCD2 版本号(自增),用于与时间段一起避免版本重叠。 【示例】1(SCD2 版本号(自增),用于与时间段一起避免版本重叠)。 【ODS来源】store_goods_master - 无(DWD慢变元数据)。 【JSON字段】无 - DWD慢变元数据 - 无。 |
|
||||
|
||||
#### 🆕 拟新增字段
|
||||
|
||||
| # | 字段名 | 建议类型 | 来源 ODS 列 | 说明 |
|
||||
|---|--------|---------|------------|------|
|
||||
| 1 | `batch_stock_quantity` | numeric | store_goods_master.batch_stock_quantity | 批次库存数量 |
|
||||
|
||||
---
|
||||
|
||||
## 第二部分:跳过的字段
|
||||
|
||||
| # | ODS 表 | ODS 列 | 跳过原因 |
|
||||
|---|--------|--------|---------|
|
||||
| 1 | store_goods_sales_records | `discount_price` | DWD 列名已被 discount_money 占用 |
|
||||
| 2 | tenant_goods_master | `commoditycode` | 冗余字段,DWD 已有 commodity_code + commodity_code_list |
|
||||
| 3 | store_goods_master | `provisional_total_cost` | DWD 列名已被 total_purchase_cost 占用 |
|
||||
| 4 | store_goods_master | `time_slot_sale` | ODS 列不存在,需确认 API |
|
||||
|
||||
---
|
||||
|
||||
## 第三部分:C 类表(需新建 DWD 表)
|
||||
|
||||
### goods_stock_summary (→ 新建 dwd_goods_stock_summary)
|
||||
|
||||
| # | ODS 列名 |
|
||||
|---|---------|
|
||||
| 1 | `sitegoodsid` |
|
||||
| 2 | `goodsname` |
|
||||
| 3 | `goodsunit` |
|
||||
| 4 | `goodscategoryid` |
|
||||
| 5 | `goodscategorysecondid` |
|
||||
| 6 | `categoryname` |
|
||||
| 7 | `rangestartstock` |
|
||||
| 8 | `rangeendstock` |
|
||||
| 9 | `rangein` |
|
||||
| 10 | `rangeout` |
|
||||
| 11 | `rangesale` |
|
||||
| 12 | `rangesalemoney` |
|
||||
| 13 | `rangeinventory` |
|
||||
| 14 | `currentstock` |
|
||||
|
||||
---
|
||||
|
||||
### goods_stock_movements (→ 新建 dwd_goods_stock_movement)
|
||||
|
||||
| # | ODS 列名 |
|
||||
|---|---------|
|
||||
| 1 | `sitegoodsstockid` |
|
||||
| 2 | `tenantid` |
|
||||
| 3 | `siteid` |
|
||||
| 4 | `sitegoodsid` |
|
||||
| 5 | `goodsname` |
|
||||
| 6 | `goodscategoryid` |
|
||||
| 7 | `goodssecondcategoryid` |
|
||||
| 8 | `unit` |
|
||||
| 9 | `price` |
|
||||
| 10 | `stocktype` |
|
||||
| 11 | `changenum` |
|
||||
| 12 | `startnum` |
|
||||
| 13 | `endnum` |
|
||||
| 14 | `changenuma` |
|
||||
| 15 | `startnuma` |
|
||||
| 16 | `endnuma` |
|
||||
| 17 | `remark` |
|
||||
| 18 | `operatorname` |
|
||||
| 19 | `createtime` |
|
||||
|
||||
---
|
||||
|
||||
### settlement_ticket_details (→ 新建 dwd_settlement_ticket + _ex)
|
||||
|
||||
| # | ODS 列名 |
|
||||
|---|---------|
|
||||
| 1 | `ordersettleid` |
|
||||
| 2 | `actualpayment` |
|
||||
| 3 | `adjustamount` |
|
||||
| 4 | `consumemoney` |
|
||||
| 5 | `deliveryaddress` |
|
||||
| 6 | `deliveryfee` |
|
||||
| 7 | `discountamount` |
|
||||
| 8 | `memberid` |
|
||||
| 9 | `membername` |
|
||||
| 10 | `memberphone` |
|
||||
| 11 | `memberprofile` |
|
||||
| 12 | `orderbillno` |
|
||||
| 13 | `orderid` |
|
||||
| 14 | `orderitem` |
|
||||
| 15 | `orderremark` |
|
||||
| 16 | `payamount` |
|
||||
| 17 | `paymentmethod` |
|
||||
| 18 | `paytime` |
|
||||
| 19 | `settleamount` |
|
||||
| 20 | `settletype` |
|
||||
| 21 | `siteaddress` |
|
||||
| 22 | `sitebusinesstel` |
|
||||
| 23 | `siteid` |
|
||||
| 24 | `sitename` |
|
||||
| 25 | `tenantid` |
|
||||
| 26 | `tenantmembercardlogs` |
|
||||
| 27 | `tenantname` |
|
||||
| 28 | `ticketcustomcontent` |
|
||||
| 29 | `ticketremark` |
|
||||
| 30 | `totaldiscountamount` |
|
||||
| 31 | `totalpayamount` |
|
||||
| 32 | `totalsettleamount` |
|
||||
| 33 | `vipamount` |
|
||||
| 34 | `vipcardname` |
|
||||
| 35 | `vipcardno` |
|
||||
| 36 | `vippayamount` |
|
||||
| 37 | `wipeoffamount` |
|
||||
| 38 | `settlecount` |
|
||||
|
||||
---
|
||||
265
export/SYSTEM/REPORTS/field_audit/field_audit_report.md
Normal file
265
export/SYSTEM/REPORTS/field_audit/field_audit_report.md
Normal file
@@ -0,0 +1,265 @@
|
||||
# 字段排查报告
|
||||
|
||||
> 生成时间:2026-02-19 21:28:02
|
||||
|
||||
> 排查范围:12 张表
|
||||
|
||||
|
||||
## 汇总
|
||||
|
||||
| 指标 | 数量 |
|
||||
|------|------|
|
||||
| 排查字段总数 | 112 |
|
||||
| 已映射(无需变更) | 3 |
|
||||
| 映射遗漏(仅补 FACT_MAPPINGS) | 0 |
|
||||
| 确实缺失(需新增 DWD 列) | 29 |
|
||||
| 无 DWD 表(需新建) | 74 |
|
||||
| ODS 列不存在(需确认 API) | 1 |
|
||||
|
||||
---
|
||||
|
||||
## assistant_accounts_master(A 类)
|
||||
|
||||
> 4 个 ODS→DWD 未映射
|
||||
|
||||
| # | ODS 列 | ODS 存在 | DWD 匹配 | FACT_MAPPINGS 状态 | 排查结论 | 建议操作 | 采样值 |
|
||||
|---|--------|---------|---------|-------------------|---------|---------|--------|
|
||||
| 1 | `system_role_id` | ✅ | — | 未配置 | 确实缺失 | **需新增 DWD 列 + FACT_MAPPINGS** | 10 |
|
||||
| 2 | `job_num` | ✅ | — | 未配置 | 确实缺失 | **需新增 DWD 列 + FACT_MAPPINGS** | — |
|
||||
| 3 | `cx_unit_price` | ✅ | — | 未配置 | 确实缺失 | **需新增 DWD 列 + FACT_MAPPINGS** | 0.00 |
|
||||
| 4 | `pd_unit_price` | ✅ | — | 未配置 | 确实缺失 | **需新增 DWD 列 + FACT_MAPPINGS** | 0.00 |
|
||||
|
||||
---
|
||||
|
||||
## assistant_service_records(A 类)
|
||||
|
||||
> 3 个 ODS→DWD 未映射(site_assistant_id 可能已映射为 order_assistant_id)
|
||||
|
||||
| # | ODS 列 | ODS 存在 | DWD 匹配 | FACT_MAPPINGS 状态 | 排查结论 | 建议操作 | 采样值 |
|
||||
|---|--------|---------|---------|-------------------|---------|---------|--------|
|
||||
| 1 | `site_assistant_id` | ✅ | dwd_assistant_service_log.site_assistant_id | 自动映射(同名列) | 已映射(自动匹配) | **无需变更** | 2793500999454853, 2967523548220229, 2793528386048069 |
|
||||
| 2 | `operator_id` | ✅ | — | 未配置 | 确实缺失 | **需新增 DWD 列 + FACT_MAPPINGS** | 2790687322443013 |
|
||||
| 3 | `operator_name` | ✅ | — | 未配置 | 确实缺失 | **需新增 DWD 列 + FACT_MAPPINGS** | 收银员:郑丽珊 |
|
||||
|
||||
---
|
||||
|
||||
## assistant_cancellation_records(A 类)
|
||||
|
||||
> 1 个 ODS→DWD 未映射,语义待确认
|
||||
|
||||
| # | ODS 列 | ODS 存在 | DWD 匹配 | FACT_MAPPINGS 状态 | 排查结论 | 建议操作 | 采样值 |
|
||||
|---|--------|---------|---------|-------------------|---------|---------|--------|
|
||||
| 1 | `assistanton` | ✅ | — | 未配置 | 确实缺失 | **需新增 DWD 列 + FACT_MAPPINGS** | 99, 29, 4 |
|
||||
|
||||
---
|
||||
|
||||
## store_goods_sales_records(A 类)
|
||||
|
||||
> 1 个 ODS→DWD 未映射(可能已映射为 discount_money)
|
||||
|
||||
| # | ODS 列 | ODS 存在 | DWD 匹配 | FACT_MAPPINGS 状态 | 排查结论 | 建议操作 | 采样值 |
|
||||
|---|--------|---------|---------|-------------------|---------|---------|--------|
|
||||
| 1 | `discount_price` | ✅ | dwd_store_goods_sale.discount_price | 自动映射(同名列) | 已映射(自动匹配) | **无需变更** | 60.00, 26.00, 24.00 |
|
||||
|
||||
---
|
||||
|
||||
## member_balance_changes(A 类)
|
||||
|
||||
> 1 个 ODS→DWD 未映射
|
||||
|
||||
| # | ODS 列 | ODS 存在 | DWD 匹配 | FACT_MAPPINGS 状态 | 排查结论 | 建议操作 | 采样值 |
|
||||
|---|--------|---------|---------|-------------------|---------|---------|--------|
|
||||
| 1 | `relate_id` | ✅ | — | 未配置 | 确实缺失 | **需新增 DWD 列 + FACT_MAPPINGS** | 2993181992014533, 3072754355946949, 2947505138716229 |
|
||||
|
||||
---
|
||||
|
||||
## tenant_goods_master(A 类)
|
||||
|
||||
> 1 个 ODS→DWD 未映射(可能已映射为 commodity_code_list)
|
||||
|
||||
| # | ODS 列 | ODS 存在 | DWD 匹配 | FACT_MAPPINGS 状态 | 排查结论 | 建议操作 | 采样值 |
|
||||
|---|--------|---------|---------|-------------------|---------|---------|--------|
|
||||
| 1 | `commoditycode` | ✅ | — | 未配置 | 确实缺失 | **需新增 DWD 列 + FACT_MAPPINGS** | {1234530}, {1234321}, {10000028} |
|
||||
|
||||
---
|
||||
|
||||
## site_tables_master(A 类)
|
||||
|
||||
> 14 个 ODS→DWD 未映射
|
||||
|
||||
| # | ODS 列 | ODS 存在 | DWD 匹配 | FACT_MAPPINGS 状态 | 排查结论 | 建议操作 | 采样值 |
|
||||
|---|--------|---------|---------|-------------------|---------|---------|--------|
|
||||
| 1 | `sitename` | ✅ | — | 未配置 | 确实缺失 | **需新增 DWD 列 + FACT_MAPPINGS** | 朗朗桌球 |
|
||||
| 2 | `appletqrcodeurl` | ✅ | — | 未配置 | 确实缺失 | **需新增 DWD 列 + FACT_MAPPINGS** | — |
|
||||
| 3 | `audit_status` | ✅ | — | 未配置 | 确实缺失 | **需新增 DWD 列 + FACT_MAPPINGS** | 2 |
|
||||
| 4 | `charge_free` | ✅ | — | 未配置 | 确实缺失 | **需新增 DWD 列 + FACT_MAPPINGS** | 0 |
|
||||
| 5 | `create_time` | ✅ | — | 未配置 | 确实缺失 | **需新增 DWD 列 + FACT_MAPPINGS** | 2025-07-16 11:30:20, 2025-07-16 11:50:56, 2025-07-16 11:30:02 |
|
||||
| 6 | `delay_lights_time` | ✅ | — | 未配置 | 确实缺失 | **需新增 DWD 列 + FACT_MAPPINGS** | 0 |
|
||||
| 7 | `is_rest_area` | ✅ | — | 未配置 | 确实缺失 | **需新增 DWD 列 + FACT_MAPPINGS** | 0 |
|
||||
| 8 | `light_status` | ✅ | — | 未配置 | 确实缺失 | **需新增 DWD 列 + FACT_MAPPINGS** | 1, 2 |
|
||||
| 9 | `only_allow_groupon` | ✅ | — | 未配置 | 确实缺失 | **需新增 DWD 列 + FACT_MAPPINGS** | 2 |
|
||||
| 10 | `order_delay_time` | ✅ | — | 未配置 | 确实缺失 | **需新增 DWD 列 + FACT_MAPPINGS** | 0 |
|
||||
| 11 | `self_table` | ✅ | — | 未配置 | 确实缺失 | **需新增 DWD 列 + FACT_MAPPINGS** | 1 |
|
||||
| 12 | `tablestatusname` | ✅ | — | 未配置 | 确实缺失 | **需新增 DWD 列 + FACT_MAPPINGS** | 空闲中, 使用中, 暂停中 |
|
||||
| 13 | `temporary_light_second` | ✅ | — | 未配置 | 确实缺失 | **需新增 DWD 列 + FACT_MAPPINGS** | 0 |
|
||||
| 14 | `virtual_table` | ✅ | — | 未配置 | 确实缺失 | **需新增 DWD 列 + FACT_MAPPINGS** | 0 |
|
||||
|
||||
---
|
||||
|
||||
## recharge_settlements(B 类)
|
||||
|
||||
> 5 个 ODS→DWD 未映射 + 5 个 DWD 无 ODS 源(驼峰/蛇形命名差异)
|
||||
|
||||
| # | ODS 列 | ODS 存在 | DWD 匹配 | FACT_MAPPINGS 状态 | 排查结论 | 建议操作 | 采样值 |
|
||||
|---|--------|---------|---------|-------------------|---------|---------|--------|
|
||||
| 1 | `electricityadjustmoney` | ✅ | — | 未配置 | 确实缺失 | **需新增 DWD 列 + FACT_MAPPINGS** | 0.00 |
|
||||
| 2 | `electricitymoney` | ✅ | — | 未配置 | 确实缺失 | **需新增 DWD 列 + FACT_MAPPINGS** | 0.00 |
|
||||
| 3 | `mervousalesamount` | ✅ | — | 未配置 | 确实缺失 | **需新增 DWD 列 + FACT_MAPPINGS** | 0.00 |
|
||||
| 4 | `plcouponsaleamount` | ✅ | — | 未配置 | 确实缺失 | **需新增 DWD 列 + FACT_MAPPINGS** | 0.00 |
|
||||
| 5 | `realelectricitymoney` | ✅ | — | 未配置 | 确实缺失 | **需新增 DWD 列 + FACT_MAPPINGS** | 0.00 |
|
||||
| 6 | `(DWD orphan) pl_coupon_sale_amount` | ❌ | — | | DWD 列存在但无 ODS 映射 | **需补充 FACT_MAPPINGS** | — |
|
||||
| 7 | `(DWD orphan) mervou_sales_amount` | ❌ | — | | DWD 列存在但无 ODS 映射 | **需补充 FACT_MAPPINGS** | — |
|
||||
| 8 | `(DWD orphan) electricity_money` | ❌ | — | | DWD 列存在但无 ODS 映射 | **需补充 FACT_MAPPINGS** | — |
|
||||
| 9 | `(DWD orphan) real_electricity_money` | ❌ | — | | DWD 列存在但无 ODS 映射 | **需补充 FACT_MAPPINGS** | — |
|
||||
| 10 | `(DWD orphan) electricity_adjust_money` | ❌ | — | | DWD 列存在但无 ODS 映射 | **需补充 FACT_MAPPINGS** | — |
|
||||
|
||||
---
|
||||
|
||||
## store_goods_master(B 类)
|
||||
|
||||
> 平层 + 嵌套展开 + ODS→DWD 补全
|
||||
|
||||
| # | ODS 列 | ODS 存在 | DWD 匹配 | FACT_MAPPINGS 状态 | 排查结论 | 建议操作 | 采样值 |
|
||||
|---|--------|---------|---------|-------------------|---------|---------|--------|
|
||||
| 1 | `time_slot_sale` | ❌ | — | 未配置 | ODS 列不存在 | **需确认 API 是否返回该字段** | — |
|
||||
| 2 | `batch_stock_quantity` | ✅ | — | 未配置 | 确实缺失 | **需新增 DWD 列 + FACT_MAPPINGS** | 35.00, 270.00, 8.00 |
|
||||
| 3 | `provisional_total_cost` | ✅ | dim_store_goods_ex.provisional_total_cost | 自动映射(同名列) | 已映射(自动匹配) | **无需变更** | 0.10, 152.00, 420.00 |
|
||||
|
||||
---
|
||||
|
||||
## goods_stock_summary(C 类)
|
||||
|
||||
> 14 个 ODS 字段,无 DWD 目标表,需新建
|
||||
|
||||
| # | ODS 列 | ODS 存在 | DWD 匹配 | FACT_MAPPINGS 状态 | 排查结论 | 建议操作 | 采样值 |
|
||||
|---|--------|---------|---------|-------------------|---------|---------|--------|
|
||||
| 1 | `sitegoodsid` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 2791953867886725, 2793025844727877, 2793025844908101 |
|
||||
| 2 | `goodsname` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 鱼蛋, QQ糖, 哇哈哈矿泉水 |
|
||||
| 3 | `goodsunit` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 根, 杯, 支 |
|
||||
| 4 | `goodscategoryid` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 2790683528350535, 2793220945250117, 2791942087561093 |
|
||||
| 5 | `goodscategorysecondid` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 2793236829620037, 2791948300259205, 2790683528350541 |
|
||||
| 6 | `categoryname` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 香烟, 槟榔, 其他 |
|
||||
| 7 | `rangestartstock` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 976.0000, 33.0000, 124.0000 |
|
||||
| 8 | `rangeendstock` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 976.0000, 33.0000, 124.0000 |
|
||||
| 9 | `rangein` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 0.0000 |
|
||||
| 10 | `rangeout` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 0.0000 |
|
||||
| 11 | `rangesale` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 0.0000 |
|
||||
| 12 | `rangesalemoney` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 0.00 |
|
||||
| 13 | `rangeinventory` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 0.0000 |
|
||||
| 14 | `currentstock` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 976.0000, 33.0000, 124.0000 |
|
||||
|
||||
---
|
||||
|
||||
## goods_stock_movements(C 类)
|
||||
|
||||
> 19 个 ODS 字段,无 DWD 目标表,需新建
|
||||
|
||||
| # | ODS 列 | ODS 存在 | DWD 匹配 | FACT_MAPPINGS 状态 | 排查结论 | 建议操作 | 采样值 |
|
||||
|---|--------|---------|---------|-------------------|---------|---------|--------|
|
||||
| 1 | `sitegoodsstockid` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 2796059480853701, 2796059480935621, 2796060185332933 |
|
||||
| 2 | `tenantid` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 2790683160709957 |
|
||||
| 3 | `siteid` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 2790685415443269 |
|
||||
| 4 | `sitegoodsid` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 2793025862438981, 3069455725923269, 2793026180501573 |
|
||||
| 5 | `goodsname` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | QQ糖, 鱼蛋, 哇哈哈矿泉水 |
|
||||
| 6 | `goodscategoryid` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 2790683528350535, 2793220945250117, 2790683528350545 |
|
||||
| 7 | `goodssecondcategoryid` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 2791948300259205, 2793236829620037, 2790683528350541 |
|
||||
| 8 | `unit` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 根, 双, 支 |
|
||||
| 9 | `price` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 418.0000, 26.0000, 24.0000 |
|
||||
| 10 | `stocktype` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 2, 4, 8 |
|
||||
| 11 | `changenum` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 103.0000, 44.0000, -50.0000 |
|
||||
| 12 | `startnum` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 204.0000, 3.0000, 14.0000 |
|
||||
| 13 | `endnum` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 204.0000, 14.0000, 3.0000 |
|
||||
| 14 | `changenuma` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 29.0000, -29.0000, 14.0000 |
|
||||
| 15 | `startnuma` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 19.0000, 29.0000, 14.0000 |
|
||||
| 16 | `endnuma` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 19.0000, 29.0000, 14.0000 |
|
||||
| 17 | `remark` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 结账退货, 采购退货, 系统自动领用 |
|
||||
| 18 | `operatorname` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 主管:黄月柳, 收银员:郑丽珍, 主管:孙仁洋 |
|
||||
| 19 | `createtime` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 2025-07-25 18:48:15, 2025-12-28 21:54:59, 2025-12-19 22:13:21 |
|
||||
|
||||
---
|
||||
|
||||
## settlement_ticket_details(C 类)
|
||||
|
||||
> 38 个无 JSON 源 + 38 个 ODS→DWD 未映射,需排查映射错误
|
||||
|
||||
| # | ODS 列 | ODS 存在 | DWD 匹配 | FACT_MAPPINGS 状态 | 排查结论 | 建议操作 | 采样值 |
|
||||
|---|--------|---------|---------|-------------------|---------|---------|--------|
|
||||
| 1 | `actualpayment` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 13.00, 56.00, 14.00 |
|
||||
| 2 | `adjustamount` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 102.15, 28.11, 120.00 |
|
||||
| 3 | `assistantmanualdiscount` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 0.00 |
|
||||
| 4 | `balanceamount` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 5688.29, 199.10, 188.78 |
|
||||
| 5 | `cashiername` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 收银员:郑丽珊 |
|
||||
| 6 | `consumemoney` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 116.00, 1551.32, 44.85 |
|
||||
| 7 | `couponamount` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 0.00 |
|
||||
| 8 | `deliveryaddress` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | — |
|
||||
| 9 | `deliveryfee` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 0.00 |
|
||||
| 10 | `ledgeramount` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 13.00, 56.00, 14.00 |
|
||||
| 11 | `memberdeductamount` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 0.00 |
|
||||
| 12 | `memberofferamount` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 253.02, 259.16, 151.98 |
|
||||
| 13 | `memberprofile` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | {'memberName': '桂**', 'memberP, {'memberName': '羊**', 'memberP, {'memberName': '葛**', 'memberP |
|
||||
| 14 | `onlinereturnamount` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 0.00 |
|
||||
| 15 | `orderitem` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | [{'orderType': 1, 'siteOrderId, [{'orderType': 1, 'siteOrderId, [{'orderType': 1, 'siteOrderId |
|
||||
| 16 | `orderremark` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | — |
|
||||
| 17 | `ordersettleid` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 2956133986586309, 2956134869536453, 2956134925356549 |
|
||||
| 18 | `ordersettlenumber` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 0 |
|
||||
| 19 | `payload` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | {'data': {'code': 0, 'data': {, {'data': {'code': 0, 'data': {, {'data': {'code': 0, 'data': { |
|
||||
| 20 | `paymemberbalance` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 0.00 |
|
||||
| 21 | `paymentmethod` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 4, 2 |
|
||||
| 22 | `paytime` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 2025-11-08 18:23:46, 2025-11-08 17:17:51, 2025-11-09 18:27:33 |
|
||||
| 23 | `pointdiscountcost` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 0.00 |
|
||||
| 24 | `pointdiscountprice` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 0.00 |
|
||||
| 25 | `prepaymoney` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 0.00, 48.00 |
|
||||
| 26 | `refundamount` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 0.00 |
|
||||
| 27 | `returngoodsamount` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 0.00 |
|
||||
| 28 | `rewardname` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 激励 |
|
||||
| 29 | `settletype` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | SiteOrder |
|
||||
| 30 | `siteaddress` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 广东省广州市天河区天园街道朗朗桌球 |
|
||||
| 31 | `sitebusinesstel` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 13316068642 |
|
||||
| 32 | `siteid` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 2790685415443269 |
|
||||
| 33 | `sitename` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 朗朗桌球 |
|
||||
| 34 | `source_endpoint` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | — |
|
||||
| 35 | `source_file` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | settlement_ticket_details.json |
|
||||
| 36 | `tenantid` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 2790683160709957 |
|
||||
| 37 | `tenantmembercardlogs` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | [], [{'id': 2956148647907205, 'aft, [{'id': 2956338848222725, 'aft |
|
||||
| 38 | `tenantname` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 朗朗桌球 |
|
||||
| 39 | `ticketcustomcontent` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | — |
|
||||
| 40 | `ticketremark` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | — |
|
||||
| 41 | `vouchermoney` | ✅ | — | 未配置 | 无 DWD 目标表 | **需新建 DWD 表** | 0.00 |
|
||||
|
||||
---
|
||||
|
||||
## TABLE_MAP 注册状态
|
||||
|
||||
| DWD 表 | ODS 源表 | 已注册 |
|
||||
|--------|---------|--------|
|
||||
| `dwd.dim_assistant` | `ods.assistant_accounts_master` | ✅ |
|
||||
| `dwd.dim_assistant_ex` | `ods.assistant_accounts_master` | ✅ |
|
||||
| `dwd.dwd_assistant_service_log` | `ods.assistant_service_records` | ✅ |
|
||||
| `dwd.dwd_assistant_service_log_ex` | `ods.assistant_service_records` | ✅ |
|
||||
| `dwd.dwd_assistant_trash_event` | `ods.assistant_cancellation_records` | ✅ |
|
||||
| `dwd.dwd_assistant_trash_event_ex` | `ods.assistant_cancellation_records` | ✅ |
|
||||
| `dwd.dwd_store_goods_sale` | `ods.store_goods_sales_records` | ✅ |
|
||||
| `dwd.dwd_store_goods_sale_ex` | `ods.store_goods_sales_records` | ✅ |
|
||||
| `dwd.dwd_member_balance_change` | `ods.member_balance_changes` | ✅ |
|
||||
| `dwd.dwd_member_balance_change_ex` | `ods.member_balance_changes` | ✅ |
|
||||
| `dwd.dim_tenant_goods` | `ods.tenant_goods_master` | ✅ |
|
||||
| `dwd.dim_tenant_goods_ex` | `ods.tenant_goods_master` | ✅ |
|
||||
| `dwd.dim_table` | `ods.site_tables_master` | ✅ |
|
||||
| `dwd.dim_table_ex` | `ods.site_tables_master` | ✅ |
|
||||
| `dwd.dwd_recharge_order` | `ods.recharge_settlements` | ✅ |
|
||||
| `dwd.dwd_recharge_order_ex` | `ods.recharge_settlements` | ✅ |
|
||||
| `dwd.dim_store_goods` | `ods.store_goods_master` | ✅ |
|
||||
| `dwd.dim_store_goods_ex` | `ods.store_goods_master` | ✅ |
|
||||
| (待新建) | `ods.goods_stock_summary` | ❌ 无 DWD 表 |
|
||||
| (待新建) | `ods.goods_stock_movements` | ❌ 无 DWD 表 |
|
||||
| (待新建) | `ods.settlement_ticket_details` | ❌ 无 DWD 表 |
|
||||
523
export/SYSTEM/REPORTS/field_audit/field_investigation_report.md
Normal file
523
export/SYSTEM/REPORTS/field_audit/field_investigation_report.md
Normal file
@@ -0,0 +1,523 @@
|
||||
# 字段排查深度调查报告
|
||||
|
||||
> 调查时间:2026-02-19
|
||||
> 调查方式:FACT_MAPPINGS 源码审阅 + DWD DDL 交叉验证 + 数据库实际列/数据查询
|
||||
> 基于排查脚本报告 `export/SYSTEM/REPORTS/field_audit/field_audit_report.md` 的线索,逐字段深入调查
|
||||
|
||||
---
|
||||
|
||||
## 调查方法说明
|
||||
|
||||
对脚本标记为"缺失"或"对不齐"的每个字段,执行以下调查:
|
||||
1. 查阅 `FACT_MAPPINGS` 源码(`dwd_load_task.py`),确认是否已以其他名称/表达式映射
|
||||
2. 查阅 DWD 数据库实际列(`information_schema.columns`),确认是否已有同语义列
|
||||
3. 查阅 ODS 数据库实际列,确认 ODS 列是否真实写入
|
||||
4. 结合字段命名规律、上下文语义、业务逻辑进行推测
|
||||
5. 必要时查询数据库实际数据(`SELECT DISTINCT` / 采样)辅助判断
|
||||
|
||||
---
|
||||
|
||||
## 1. assistant_accounts_master → dim_assistant_ex(A 类)
|
||||
|
||||
### 脚本结论:4 个字段确实缺失,需新增 DWD 列
|
||||
|
||||
### 逐字段调查
|
||||
|
||||
#### 1.1 `system_role_id`
|
||||
- **ODS 存在**:✅ `billiards_ods.assistant_accounts_master.system_role_id`(BIGINT)
|
||||
- **DWD 现有列**:❌ `dim_assistant_ex` 中无 `system_role_id` 列(已通过 `information_schema` 确认)
|
||||
- **FACT_MAPPINGS**:未配置任何映射
|
||||
- **采样值**:`10`(系统角色 ID,用于关联角色权限)
|
||||
- **业务价值**:有。标识助教在系统中的角色(如普通助教、组长等),下游可用于权限分析
|
||||
- **🔵 最终决策:需新增 DWD 列 + FACT_MAPPINGS**
|
||||
|
||||
#### 1.2 `job_num`
|
||||
- **ODS 存在**:✅ `billiards_ods.assistant_accounts_master.job_num`(TEXT)
|
||||
- **DWD 现有列**:❌ `dim_assistant_ex` 中无 `job_num` 列
|
||||
- **FACT_MAPPINGS**:未配置
|
||||
- **采样值**:全部为 NULL(该门店未启用备用工号)
|
||||
- **业务价值**:低。当前门店未使用,但作为预留字段有完整性价值
|
||||
- **🔵 最终决策:需新增 DWD 列 + FACT_MAPPINGS**(保持数据完整性)
|
||||
|
||||
#### 1.3 `cx_unit_price`
|
||||
- **ODS 存在**:✅ `billiards_ods.assistant_accounts_master.cx_unit_price`(NUMERIC(18,2))
|
||||
- **DWD 现有列**:❌ `dim_assistant_ex` 中无 `cx_unit_price` 列
|
||||
- **FACT_MAPPINGS**:未配置
|
||||
- **采样值**:`0.00`(促销时段单价,本门店未在账号表层面设置)
|
||||
- **业务价值**:中。虽然当前值为 0,但多门店场景下可能有值,且与助教计费相关
|
||||
- **🔵 最终决策:需新增 DWD 列 + FACT_MAPPINGS**
|
||||
|
||||
#### 1.4 `pd_unit_price`
|
||||
- **ODS 存在**:✅ `billiards_ods.assistant_accounts_master.pd_unit_price`(NUMERIC(18,2))
|
||||
- **DWD 现有列**:❌ `dim_assistant_ex` 中无 `pd_unit_price` 列
|
||||
- **FACT_MAPPINGS**:未配置
|
||||
- **采样值**:`0.00`(普通时段单价,实际单价在助教商品或套餐配置中)
|
||||
- **业务价值**:中。同 cx_unit_price,多门店场景下可能有值
|
||||
- **🔵 最终决策:需新增 DWD 列 + FACT_MAPPINGS**
|
||||
|
||||
### 小结
|
||||
| ODS 列 | 最终决策 | 操作 |
|
||||
|--------|---------|------|
|
||||
| system_role_id | 确实缺失 | 新增 DWD 列 + FACT_MAPPINGS |
|
||||
| job_num | 确实缺失 | 新增 DWD 列 + FACT_MAPPINGS |
|
||||
| cx_unit_price | 确实缺失 | 新增 DWD 列 + FACT_MAPPINGS |
|
||||
| pd_unit_price | 确实缺失 | 新增 DWD 列 + FACT_MAPPINGS |
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 2. assistant_service_records → dwd_assistant_service_log / _ex(A 类)
|
||||
|
||||
### 脚本结论:site_assistant_id 已自动映射,operator_id/operator_name 缺失
|
||||
|
||||
### 逐字段调查
|
||||
|
||||
#### 2.1 `site_assistant_id`
|
||||
- **ODS 存在**:✅ 两个列都存在:`site_assistant_id` 和 `order_assistant_id`
|
||||
- **DWD 现有列**:✅ `dwd_assistant_service_log.site_assistant_id` 存在
|
||||
- **FACT_MAPPINGS**:`("site_assistant_id", "order_assistant_id", None)` — 即 DWD 的 `site_assistant_id` 实际映射自 ODS 的 `order_assistant_id`
|
||||
- **数据库验证**:DWD `site_assistant_id` 的值 = ODS `order_assistant_id` 的值(已通过 JOIN 查询确认)
|
||||
- **⚠️ 关键发现**:脚本报告"自动映射(同名列)"是**不准确的**。实际上 DWD `site_assistant_id` 通过 FACT_MAPPINGS 映射自 ODS `order_assistant_id`,而非 ODS `site_assistant_id`。ODS 中的 `site_assistant_id`(助教档案 ID)和 `order_assistant_id`(订单助教 ID)是两个不同的字段。
|
||||
- **业务语义**:ODS `site_assistant_id` 是助教在门店的档案 ID,`order_assistant_id` 是该笔服务记录的订单助教 ID。当前 DWD 存储的是 `order_assistant_id`。
|
||||
- **🟢 最终决策:无需变更**(当前映射逻辑正确,DWD `site_assistant_id` 存储的是订单维度的助教 ID,符合事实表语义)
|
||||
|
||||
#### 2.2 `operator_id`
|
||||
- **ODS 存在**:✅ `billiards_ods.assistant_service_records.operator_id`(BIGINT)
|
||||
- **DWD 现有列**:❌ `dwd_assistant_service_log_ex` 中无 `operator_id` 列(已通过 `information_schema` 确认)
|
||||
- **FACT_MAPPINGS**:未配置
|
||||
- **采样值**:`2790687322443013`(操作员 ID,如收银员)
|
||||
- **业务价值**:有。记录谁操作了该助教服务记录,用于操作审计
|
||||
- **🔵 最终决策:需新增 DWD 列 + FACT_MAPPINGS**(添加到 `dwd_assistant_service_log_ex`)
|
||||
|
||||
#### 2.3 `operator_name`
|
||||
- **ODS 存在**:✅ `billiards_ods.assistant_service_records.operator_name`(TEXT)
|
||||
- **DWD 现有列**:❌ `dwd_assistant_service_log_ex` 中无 `operator_name` 列
|
||||
- **FACT_MAPPINGS**:未配置
|
||||
- **采样值**:`收银员:郑丽珊`
|
||||
- **业务价值**:有。操作员名称快照,配合 operator_id 使用
|
||||
- **🔵 最终决策:需新增 DWD 列 + FACT_MAPPINGS**(添加到 `dwd_assistant_service_log_ex`)
|
||||
|
||||
### 小结
|
||||
| ODS 列 | 最终决策 | 操作 |
|
||||
|--------|---------|------|
|
||||
| site_assistant_id | 已通过 FACT_MAPPINGS 映射(order_assistant_id → site_assistant_id) | 无需变更 |
|
||||
| operator_id | 确实缺失 | 新增 DWD 列(_ex 表)+ FACT_MAPPINGS |
|
||||
| operator_name | 确实缺失 | 新增 DWD 列(_ex 表)+ FACT_MAPPINGS |
|
||||
|
||||
---
|
||||
|
||||
## 3. assistant_cancellation_records → dwd_assistant_trash_event_ex(A 类)
|
||||
|
||||
### 脚本结论:assistanton 缺失,语义待确认
|
||||
|
||||
### 逐字段调查
|
||||
|
||||
#### 3.1 `assistanton`
|
||||
- **ODS 存在**:✅ `billiards_ods.assistant_cancellation_records.assistanton`
|
||||
- **DWD 现有列**:❌ `dwd_assistant_trash_event_ex` 中无 `assistanton` 列
|
||||
- **FACT_MAPPINGS**:未配置
|
||||
- **采样值**:`99, 29, 4, 6, 15, 13, 37, 23, 18, 2`(整数值)
|
||||
- **⚠️ 语义分析**:通过 JOIN 查询 `assistant_accounts_master`,确认 `assistanton` 的值与 `assistant_no`(助教编号)完全一致。例如 `assistanton=33` 对应 `assistant_no='33'`(王嘉琪),`assistanton=7` 对应 `assistant_no='7'`(郑美婷)。
|
||||
- **结论**:`assistanton` 是 `assistant_no` 的整数形式,即"被废除的助教编号"。
|
||||
- **DWD 已有列**:`dwd_assistant_trash_event.assistant_no` 已存在(映射自 `assistantname`,但这是助教昵称而非编号)
|
||||
- **⚠️ 注意**:当前 FACT_MAPPINGS 中 `("assistant_no", "assistantname", None)` 将 ODS `assistantname`(助教昵称)映射到了 DWD `assistant_no`(助教编号),这可能是一个映射错误。`assistanton` 才是真正的助教编号。
|
||||
- **业务价值**:有。记录被废除的助教编号,用于关联助教档案
|
||||
- **🔵 最终决策:需新增 DWD 列 + FACT_MAPPINGS**(建议列名 `assistant_no_int`,类型 INTEGER,映射自 `assistanton`)
|
||||
|
||||
### 小结
|
||||
| ODS 列 | 最终决策 | 操作 |
|
||||
|--------|---------|------|
|
||||
| assistanton | 确实缺失,语义为助教编号(整数形式) | 新增 DWD 列(_ex 表)+ FACT_MAPPINGS |
|
||||
|
||||
---
|
||||
|
||||
## 4. store_goods_sales_records → dwd_store_goods_sale(A 类)
|
||||
|
||||
### 脚本结论:discount_price 已自动映射
|
||||
|
||||
### 逐字段调查
|
||||
|
||||
#### 4.1 `discount_price`
|
||||
- **ODS 存在**:✅ `billiards_ods.store_goods_sales_records.discount_price`
|
||||
- **DWD 现有列**:✅ `dwd_store_goods_sale.discount_price` 存在(NUMERIC 类型)
|
||||
- **FACT_MAPPINGS**:`("discount_price", "discount_money", None)` — DWD `discount_price` 映射自 ODS `discount_money`
|
||||
- **⚠️ 关键发现**:脚本报告"自动映射(同名列)"是**不准确的**。DWD `discount_price` 实际通过 FACT_MAPPINGS 映射自 ODS `discount_money`(折扣金额),而非 ODS `discount_price`(折后单价)。
|
||||
- **ODS 中两个字段**:`discount_price`(折后单价)和 `discount_money`(折扣金额)是不同字段
|
||||
- **DWD 中**:`dwd_store_goods_sale.discount_price` 存储的是 `discount_money` 的值
|
||||
- **DWD `dwd_store_goods_sale_ex`**:已有 `discount_money` 列(自动映射自 ODS `discount_money`)
|
||||
- **结论**:ODS `discount_price`(折后单价)确实未被映射到 DWD。但 DWD `discount_price` 列名已被占用(存储的是 discount_money 的值)。
|
||||
- **🟡 最终决策:跳过**(DWD `discount_price` 列名已被 `discount_money` 占用。ODS `discount_price` 的语义是"折后单价",可通过 `ledger_unit_price` 或计算得出。如需单独映射,需要新建列名如 `unit_discount_price`,但当前业务优先级不高)
|
||||
|
||||
### 小结
|
||||
| ODS 列 | 最终决策 | 操作 |
|
||||
|--------|---------|------|
|
||||
| discount_price | 列名已被占用(映射自 discount_money),ODS 原始折后单价未映射 | 跳过(可后续按需新增 `unit_discount_price`) |
|
||||
|
||||
---
|
||||
|
||||
## 5. member_balance_changes → dwd_member_balance_change_ex(A 类)
|
||||
|
||||
### 脚本结论:relate_id 缺失
|
||||
|
||||
### 逐字段调查
|
||||
|
||||
#### 5.1 `relate_id`
|
||||
- **ODS 存在**:✅ `billiards_ods.member_balance_changes.relate_id`
|
||||
- **DWD 现有列**:❌ `dwd_member_balance_change_ex` 中无 `relate_id` 列(已确认)
|
||||
- **FACT_MAPPINGS**:未配置
|
||||
- **采样值**:`2993181992014533, 0, 2888539288521221`(关联 ID,0 表示无关联)
|
||||
- **业务价值**:有。关联充值记录或订单 ID,用于追溯余额变动的业务来源
|
||||
- **🔵 最终决策:需新增 DWD 列 + FACT_MAPPINGS**(添加到 `dwd_member_balance_change_ex`)
|
||||
|
||||
### 附加发现
|
||||
- 脚本未报告,但调查发现 `dwd_member_balance_change_ex` 已有 `operator_id` 和 `operator_name` 列,且已有数据(自动映射自 ODS 同名列)。这说明 ODS `member_balance_changes` 的 `operator_id`/`operator_name` 已正确流转到 DWD。
|
||||
|
||||
### 小结
|
||||
| ODS 列 | 最终决策 | 操作 |
|
||||
|--------|---------|------|
|
||||
| relate_id | 确实缺失 | 新增 DWD 列(_ex 表)+ FACT_MAPPINGS |
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 6. tenant_goods_master → dim_tenant_goods_ex(A 类)
|
||||
|
||||
### 脚本结论:commoditycode 缺失
|
||||
|
||||
### 逐字段调查
|
||||
|
||||
#### 6.1 `commoditycode`
|
||||
- **ODS 存在**:✅ `billiards_ods.tenant_goods_master` 中有两个相关列:`commoditycode` 和 `commodity_code`
|
||||
- **DWD 现有列**:✅ `dim_tenant_goods_ex` 中有两个列:`commodity_code` 和 `commodity_code_list`
|
||||
- **FACT_MAPPINGS**:`("commodity_code_list", "commodity_code", None)` — DWD `commodity_code_list` 映射自 ODS `commodity_code`
|
||||
- **采样值**:ODS `commoditycode` = `{1234530}, {1234321}, {10000028}`(花括号包裹的编码集合);ODS `commodity_code` = `10000002, 100011`(单个编码)
|
||||
- **⚠️ 关键发现**:ODS 中 `commoditycode` 和 `commodity_code` 是两个不同字段。`commoditycode` 存储的是花括号包裹的编码集合(如 `{1234530}`),而 `commodity_code` 是单个商品编码。FACT_MAPPINGS 已将 `commodity_code` 映射到 DWD `commodity_code_list`。
|
||||
- **DWD `commodity_code` 列**:`dim_tenant_goods_ex` 中已有 `commodity_code` 列,数据为 `1234571, 123321` 等(自动映射自 ODS `commodity_code`)
|
||||
- **结论**:ODS `commoditycode`(花括号编码集合)确实未被映射到 DWD。DWD 已有 `commodity_code`(自动映射)和 `commodity_code_list`(FACT_MAPPINGS 映射),但 `commoditycode` 是第三个不同的字段。
|
||||
- **业务价值**:低。`commoditycode` 看起来是 `commodity_code` 的数组/集合形式,数据冗余度高
|
||||
- **🟡 最终决策:跳过**(`commoditycode` 是 `commodity_code` 的集合形式,DWD 已有 `commodity_code` 和 `commodity_code_list` 两列覆盖该语义,无需再映射冗余字段)
|
||||
|
||||
### 小结
|
||||
| ODS 列 | 最终决策 | 操作 |
|
||||
|--------|---------|------|
|
||||
| commoditycode | 冗余字段,DWD 已有 commodity_code + commodity_code_list 覆盖 | 跳过 |
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 7. site_tables_master → dim_table_ex(A 类)
|
||||
|
||||
### 脚本结论:14 个字段全部缺失
|
||||
|
||||
### 逐字段调查
|
||||
|
||||
DWD `dim_table_ex` 当前仅有 6 个业务列:`table_id, show_status, is_online_reservation, table_cloth_use_time, table_cloth_use_cycle, table_status`(+ 4 个 SCD2 列)。
|
||||
|
||||
#### 7.1 `sitename`
|
||||
- **ODS 存在**:✅ | **DWD 现有列**:❌ | **FACT_MAPPINGS**:未配置
|
||||
- **采样值**:`朗朗桌球`(门店名称快照)
|
||||
- **业务价值**:低。门店名称已在 `dim_site` 中维护,此处为冗余快照
|
||||
- **🔵 最终决策:需新增 DWD 列 + FACT_MAPPINGS**(保持数据完整性,便于台桌维度直接查询门店名)
|
||||
|
||||
#### 7.2 `appletqrcodeurl`
|
||||
- **ODS 存在**:✅ | **DWD 现有列**:❌ | **FACT_MAPPINGS**:未配置
|
||||
- **采样值**:全部为 NULL
|
||||
- **业务价值**:低。小程序二维码 URL,当前无数据
|
||||
- **🔵 最终决策:需新增 DWD 列 + FACT_MAPPINGS**(保持完整性)
|
||||
|
||||
#### 7.3 `audit_status`
|
||||
- **ODS 存在**:✅ | **DWD 现有列**:❌ | **FACT_MAPPINGS**:未配置
|
||||
- **采样值**:`2`(审核状态枚举)
|
||||
- **业务价值**:中。台桌审核状态,可能影响台桌可用性
|
||||
- **🔵 最终决策:需新增 DWD 列 + FACT_MAPPINGS**
|
||||
|
||||
#### 7.4 `charge_free`
|
||||
- **ODS 存在**:✅ | **DWD 现有列**:❌ | **FACT_MAPPINGS**:未配置
|
||||
- **采样值**:`0`(是否免费,0=否)
|
||||
- **业务价值**:高。标识台桌是否免费,直接影响计费逻辑
|
||||
- **🔵 最终决策:需新增 DWD 列 + FACT_MAPPINGS**
|
||||
|
||||
|
||||
#### 7.5 `create_time`
|
||||
- **ODS 存在**:✅ | **DWD 现有列**:❌ | **FACT_MAPPINGS**:未配置
|
||||
- **采样值**:`2025-07-16 11:30:20`(台桌创建时间)
|
||||
- **业务价值**:中。记录台桌何时创建
|
||||
- **🔵 最终决策:需新增 DWD 列 + FACT_MAPPINGS**
|
||||
|
||||
#### 7.6 `delay_lights_time`
|
||||
- **ODS 存在**:✅ | **DWD 现有列**:❌ | **FACT_MAPPINGS**:未配置
|
||||
- **采样值**:`0`(延迟关灯时间,秒)
|
||||
- **业务价值**:中。灯控延迟配置
|
||||
- **🔵 最终决策:需新增 DWD 列 + FACT_MAPPINGS**
|
||||
|
||||
#### 7.7 `is_rest_area`
|
||||
- **ODS 存在**:✅ | **DWD 现有列**:❌ | **FACT_MAPPINGS**:未配置
|
||||
- **采样值**:`0`(是否休息区,0=否)
|
||||
- **业务价值**:中。区分台桌是否为休息区
|
||||
- **🔵 最终决策:需新增 DWD 列 + FACT_MAPPINGS**
|
||||
|
||||
#### 7.8 `light_status`
|
||||
- **ODS 存在**:✅ | **DWD 现有列**:❌ | **FACT_MAPPINGS**:未配置
|
||||
- **采样值**:`1, 2`(灯控状态枚举)
|
||||
- **业务价值**:中。台桌灯控状态
|
||||
- **🔵 最终决策:需新增 DWD 列 + FACT_MAPPINGS**
|
||||
|
||||
#### 7.9 `only_allow_groupon`
|
||||
- **ODS 存在**:✅ | **DWD 现有列**:❌ | **FACT_MAPPINGS**:未配置
|
||||
- **采样值**:`2`(是否仅允许团购)
|
||||
- **业务价值**:中。影响台桌的销售策略
|
||||
- **🔵 最终决策:需新增 DWD 列 + FACT_MAPPINGS**
|
||||
|
||||
#### 7.10 `order_delay_time`
|
||||
- **ODS 存在**:✅ | **DWD 现有列**:❌ | **FACT_MAPPINGS**:未配置
|
||||
- **采样值**:`0`(订单延迟时间,秒)
|
||||
- **业务价值**:中。订单延迟配置
|
||||
- **🔵 最终决策:需新增 DWD 列 + FACT_MAPPINGS**
|
||||
|
||||
#### 7.11 `self_table`
|
||||
- **ODS 存在**:✅ | **DWD 现有列**:❌ | **FACT_MAPPINGS**:未配置
|
||||
- **采样值**:`1`(是否自助台桌)
|
||||
- **业务价值**:中。标识台桌是否支持自助模式
|
||||
- **🔵 最终决策:需新增 DWD 列 + FACT_MAPPINGS**
|
||||
|
||||
#### 7.12 `tablestatusname`
|
||||
- **ODS 存在**:✅ | **DWD 现有列**:❌ | **FACT_MAPPINGS**:未配置
|
||||
- **采样值**:`空闲中, 使用中, 暂停中`(台桌状态名称)
|
||||
- **业务价值**:中。台桌状态的中文描述,配合 `table_status` 使用
|
||||
- **🔵 最终决策:需新增 DWD 列 + FACT_MAPPINGS**
|
||||
|
||||
#### 7.13 `temporary_light_second`
|
||||
- **ODS 存在**:✅ | **DWD 现有列**:❌ | **FACT_MAPPINGS**:未配置
|
||||
- **采样值**:`0`(临时灯光秒数)
|
||||
- **业务价值**:低。灯控相关配置
|
||||
- **🔵 最终决策:需新增 DWD 列 + FACT_MAPPINGS**
|
||||
|
||||
#### 7.14 `virtual_table`
|
||||
- **ODS 存在**:✅ | **DWD 现有列**:❌ | **FACT_MAPPINGS**:未配置
|
||||
- **采样值**:`0`(是否虚拟台桌,0=否)
|
||||
- **业务价值**:中。标识是否为虚拟台桌(如用于测试或特殊场景)
|
||||
- **🔵 最终决策:需新增 DWD 列 + FACT_MAPPINGS**
|
||||
|
||||
### 小结
|
||||
| ODS 列 | 最终决策 | 操作 |
|
||||
|--------|---------|------|
|
||||
| sitename | 确实缺失 | 新增 DWD 列 + FACT_MAPPINGS |
|
||||
| appletqrcodeurl | 确实缺失 | 新增 DWD 列 + FACT_MAPPINGS |
|
||||
| audit_status | 确实缺失 | 新增 DWD 列 + FACT_MAPPINGS |
|
||||
| charge_free | 确实缺失 | 新增 DWD 列 + FACT_MAPPINGS |
|
||||
| create_time | 确实缺失 | 新增 DWD 列 + FACT_MAPPINGS |
|
||||
| delay_lights_time | 确实缺失 | 新增 DWD 列 + FACT_MAPPINGS |
|
||||
| is_rest_area | 确实缺失 | 新增 DWD 列 + FACT_MAPPINGS |
|
||||
| light_status | 确实缺失 | 新增 DWD 列 + FACT_MAPPINGS |
|
||||
| only_allow_groupon | 确实缺失 | 新增 DWD 列 + FACT_MAPPINGS |
|
||||
| order_delay_time | 确实缺失 | 新增 DWD 列 + FACT_MAPPINGS |
|
||||
| self_table | 确实缺失 | 新增 DWD 列 + FACT_MAPPINGS |
|
||||
| tablestatusname | 确实缺失 | 新增 DWD 列 + FACT_MAPPINGS |
|
||||
| temporary_light_second | 确实缺失 | 新增 DWD 列 + FACT_MAPPINGS |
|
||||
| virtual_table | 确实缺失 | 新增 DWD 列 + FACT_MAPPINGS |
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 8. recharge_settlements → dwd_recharge_order(B 类)
|
||||
|
||||
### 脚本结论:5 个 ODS→DWD 未映射 + 5 个 DWD 无 ODS 源
|
||||
|
||||
### 逐字段调查
|
||||
|
||||
#### 8.1-8.5 ODS 驼峰列 → DWD 蛇形列(命名差异导致的映射缺失)
|
||||
|
||||
| # | ODS 列(驼峰) | DWD 列(蛇形) | DWD 列存在 | FACT_MAPPINGS | 结论 |
|
||||
|---|---------------|--------------|-----------|--------------|------|
|
||||
| 1 | `plcouponsaleamount` | `pl_coupon_sale_amount` | ✅ 已存在于 `dwd_recharge_order` | ❌ 未配置 | 仅补 FACT_MAPPINGS |
|
||||
| 2 | `mervousalesamount` | `mervou_sales_amount` | ✅ 已存在于 `dwd_recharge_order` | ❌ 未配置 | 仅补 FACT_MAPPINGS |
|
||||
| 3 | `electricitymoney` | `electricity_money` | ✅ 已存在于 `dwd_recharge_order` | ❌ 未配置 | 仅补 FACT_MAPPINGS |
|
||||
| 4 | `realelectricitymoney` | `real_electricity_money` | ✅ 已存在于 `dwd_recharge_order` | ❌ 未配置 | 仅补 FACT_MAPPINGS |
|
||||
| 5 | `electricityadjustmoney` | `electricity_adjust_money` | ✅ 已存在于 `dwd_recharge_order` | ❌ 未配置 | 仅补 FACT_MAPPINGS |
|
||||
|
||||
**⚠️ 关键发现**:
|
||||
- DWD `dwd_recharge_order` 中这 5 个列**已经存在**(DDL 已定义,数据库已创建)
|
||||
- 但 FACT_MAPPINGS 中**未配置**这 5 个映射条目
|
||||
- 数据库查询显示 `dwd_recharge_order` 有 485 行,其中 80 行有 `pl_coupon_sale_amount` 和 `electricity_money` 的值(非 NULL)
|
||||
- 但所有值均为 0.00(无非零值),说明这些列虽有数据但可能是自动映射的默认值
|
||||
- **对比 `dwd_settlement_head`**:同样的 5 个字段在 `dwd_settlement_head` 的 FACT_MAPPINGS 中**已正确配置**(如 `("electricity_money", "electricitymoney", None)`)
|
||||
- **根因**:`dwd_recharge_order` 的 FACT_MAPPINGS 遗漏了这 5 个条目,而 `dwd_settlement_head` 已正确配置
|
||||
|
||||
**脚本报告的"DWD orphan"(#6-#10)**:这 5 个"DWD 列存在但无 ODS 映射"实际上就是上面 5 个 ODS 列的蛇形命名形式。脚本将它们分别报告为两组问题,但实际上是同一组映射缺失。
|
||||
|
||||
- **🟠 最终决策:仅补 FACT_MAPPINGS**(DWD 列已存在,无需 DDL 变更,只需在 `FACT_MAPPINGS["dwd.dwd_recharge_order"]` 中添加 5 个映射条目)
|
||||
|
||||
### 小结
|
||||
| ODS 列 | DWD 列 | 最终决策 | 操作 |
|
||||
|--------|--------|---------|------|
|
||||
| plcouponsaleamount | pl_coupon_sale_amount | 映射遗漏 | 仅补 FACT_MAPPINGS |
|
||||
| mervousalesamount | mervou_sales_amount | 映射遗漏 | 仅补 FACT_MAPPINGS |
|
||||
| electricitymoney | electricity_money | 映射遗漏 | 仅补 FACT_MAPPINGS |
|
||||
| realelectricitymoney | real_electricity_money | 映射遗漏 | 仅补 FACT_MAPPINGS |
|
||||
| electricityadjustmoney | electricity_adjust_money | 映射遗漏 | 仅补 FACT_MAPPINGS |
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 9. store_goods_master → dim_store_goods_ex(B 类)
|
||||
|
||||
### 脚本结论:time_slot_sale ODS 不存在,batch_stock_quantity 缺失,provisional_total_cost 已自动映射
|
||||
|
||||
### 逐字段调查
|
||||
|
||||
#### 9.1 `time_slot_sale`
|
||||
- **ODS 存在**:❌ `billiards_ods.store_goods_master` 中无 `time_slot_sale` 列(已通过 `information_schema` 确认)
|
||||
- **API 字段**:需确认 API 是否返回该字段。当前 ODS DDL 和数据库中均不存在此列。
|
||||
- **🟡 最终决策:需确认 API**(ODS 列不存在,需要先获取 API JSON 样本确认字段是否存在。如果 API 返回该字段,需先更新 ODS DDL 和 loader,再映射到 DWD)
|
||||
|
||||
#### 9.2 `batch_stock_quantity`
|
||||
- **ODS 存在**:✅ `billiards_ods.store_goods_master.batch_stock_quantity`(NUMERIC)
|
||||
- **DWD 现有列**:❌ `dim_store_goods_ex` 中无 `batch_stock_quantity` 列(已确认)
|
||||
- **FACT_MAPPINGS**:`dim_store_goods` 中有 `("batch_stock_qty", "stock", None)` — 但这是将 ODS `stock` 映射到 DWD `batch_stock_qty`,与 `batch_stock_quantity` 无关
|
||||
- **采样值**:`35.00, 270.00, 8.00`(批次库存数量)
|
||||
- **业务价值**:有。批次库存数量,与 `stock`(当前库存)不同
|
||||
- **🔵 最终决策:需新增 DWD 列 + FACT_MAPPINGS**(添加到 `dim_store_goods_ex`)
|
||||
|
||||
#### 9.3 `provisional_total_cost`
|
||||
- **ODS 存在**:✅ `billiards_ods.store_goods_master.provisional_total_cost`
|
||||
- **DWD 现有列**:✅ `dim_store_goods_ex.provisional_total_cost` 存在(NUMERIC 类型)
|
||||
- **FACT_MAPPINGS**:`dim_store_goods_ex` 中有 `("provisional_total_cost", "total_purchase_cost", None)` — DWD `provisional_total_cost` 映射自 ODS `total_purchase_cost`
|
||||
- **⚠️ 关键发现**:脚本报告"自动映射(同名列)"是**不准确的**。DWD `provisional_total_cost` 实际通过 FACT_MAPPINGS 映射自 ODS `total_purchase_cost`(采购总成本),而非 ODS `provisional_total_cost`(暂估总成本)。ODS 中 `provisional_total_cost` 和 `total_purchase_cost` 是两个不同字段。
|
||||
- **结论**:ODS `provisional_total_cost`(暂估总成本)确实未被映射到 DWD。DWD `provisional_total_cost` 列名已被占用(存储的是 `total_purchase_cost` 的值)。
|
||||
- **🟡 最终决策:跳过**(DWD 列名已被占用。如需单独映射 ODS `provisional_total_cost`,需新建列名。当前业务优先级不高)
|
||||
|
||||
### 小结
|
||||
| ODS 列 | 最终决策 | 操作 |
|
||||
|--------|---------|------|
|
||||
| time_slot_sale | ODS 列不存在 | 需确认 API 是否返回该字段 |
|
||||
| batch_stock_quantity | 确实缺失 | 新增 DWD 列(_ex 表)+ FACT_MAPPINGS |
|
||||
| provisional_total_cost | DWD 列名已被占用(映射自 total_purchase_cost) | 跳过 |
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 10. goods_stock_summary(C 类)
|
||||
|
||||
### 脚本结论:14 个 ODS 字段,无 DWD 目标表,需新建
|
||||
|
||||
### 调查
|
||||
|
||||
- **DWD 表存在**:❌ `billiards_dwd` 中无任何 `goods_stock` 相关表(已通过 `information_schema.tables` 确认)
|
||||
- **TABLE_MAP**:未注册
|
||||
- **ODS 数据**:14 个字段全部有数据(采样值已在脚本报告中列出)
|
||||
- **业务价值**:有。库存汇总数据(期初/期末库存、出入库、销售额等),对库存分析和成本核算有价值
|
||||
|
||||
### 最终决策
|
||||
- **🔵 需新建 DWD 表 `dwd_goods_stock_summary`**
|
||||
- 需要:DDL 创建表 + TABLE_MAP 注册 + FACT_MAPPINGS 配置 + 新建 loader/task 代码
|
||||
- 14 个 ODS 列全部映射(驼峰 → 蛇形命名转换)
|
||||
|
||||
---
|
||||
|
||||
## 11. goods_stock_movements(C 类)
|
||||
|
||||
### 脚本结论:19 个 ODS 字段,无 DWD 目标表,需新建
|
||||
|
||||
### 调查
|
||||
|
||||
- **DWD 表存在**:❌ `billiards_dwd` 中无任何 `goods_stock_movement` 相关表
|
||||
- **TABLE_MAP**:未注册
|
||||
- **ODS 数据**:19 个字段全部有数据
|
||||
- **业务价值**:有。库存变动明细(入库、出库、销售、退货等),对库存追踪和审计有价值
|
||||
|
||||
### 最终决策
|
||||
- **🔵 需新建 DWD 表 `dwd_goods_stock_movement`**
|
||||
- 需要:DDL 创建表 + TABLE_MAP 注册 + FACT_MAPPINGS 配置 + 新建 loader/task 代码
|
||||
- 19 个 ODS 列全部映射
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 12. settlement_ticket_details(C 类)
|
||||
|
||||
### 脚本结论:38+3 个字段(含 payload/source_file/source_endpoint/fetched_at/content_hash),无 DWD 目标表
|
||||
|
||||
### 调查
|
||||
|
||||
- **DWD 表存在**:❌ `billiards_dwd` 中无 `settlement_ticket` 相关表
|
||||
- **TABLE_MAP**:未注册
|
||||
- **ODS 数据**:✅ 有 193 行数据(脚本报告中的"采样记录数为 0"可能是旧数据)
|
||||
- **ODS 实际列**:43 列(含 `ordersettleid, actualpayment, adjustamount, ...` 等 38 个业务列 + `payload, source_file, source_endpoint, fetched_at, content_hash` 5 个元数据列)
|
||||
- **⚠️ 关键发现**:
|
||||
- 脚本报告"38 个无 JSON 源"是因为这些字段是从 API JSON 中解析出来的平层字段,而非直接的 JSON 键名
|
||||
- ODS 表中有 `payload` 列(存储原始 JSON),说明数据确实从 API 获取
|
||||
- `memberprofile`、`orderitem`、`tenantmembercardlogs` 是嵌套 JSON 对象/数组,存储为 TEXT/JSONB
|
||||
- 业务字段包括:结算金额、支付方式、会员信息、退款、配送等完整的结账小票信息
|
||||
|
||||
### 字段分类
|
||||
|
||||
| 类别 | 字段 | 数量 |
|
||||
|------|------|------|
|
||||
| 核心业务字段 | ordersettleid, actualpayment, consumemoney, payamount, paytime, settletype, paymentmethod 等 | ~25 |
|
||||
| 门店/租户快照 | siteid, sitename, siteaddress, sitebusinesstel, tenantid, tenantname | 6 |
|
||||
| 嵌套 JSON 字段 | memberprofile, orderitem, tenantmembercardlogs | 3 |
|
||||
| 元数据字段 | payload, source_file, source_endpoint, fetched_at, content_hash | 5(不映射到 DWD) |
|
||||
| 低价值/空值字段 | deliveryaddress, deliveryfee, ticketcustomcontent, ticketremark, orderremark | 5 |
|
||||
|
||||
### 最终决策
|
||||
- **🔵 需新建 DWD 表**(建议 `dwd_settlement_ticket` + `dwd_settlement_ticket_ex`)
|
||||
- 核心业务字段映射到主表,门店快照和低价值字段映射到 _ex 表
|
||||
- 嵌套 JSON 字段(memberprofile, orderitem, tenantmembercardlogs)暂不展开,保留为 JSONB 类型
|
||||
- 元数据字段(payload, source_file 等)不映射到 DWD
|
||||
- 需要:DDL 创建表 + TABLE_MAP 注册 + FACT_MAPPINGS 配置
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 全局汇总
|
||||
|
||||
### 脚本结论 vs 调查结论对比
|
||||
|
||||
| 指标 | 脚本结论 | 调查修正后 | 差异说明 |
|
||||
|------|---------|-----------|---------|
|
||||
| 已映射(无需变更) | 3 | 3 | 一致(但 2 个"自动映射"实际是 FACT_MAPPINGS 映射) |
|
||||
| 映射遗漏(仅补 FACT_MAPPINGS) | 0 | **5** | recharge_settlements 的 5 个电费/券字段 |
|
||||
| 确实缺失(需新增 DWD 列) | 29 | **24** | 减去:discount_price(跳过)、commoditycode(跳过)、provisional_total_cost(跳过)、time_slot_sale(待确认API)、5个recharge改为仅补映射 |
|
||||
| 无 DWD 表(需新建) | 74 | 74 | 一致 |
|
||||
| ODS 列不存在(需确认 API) | 1 | 1 | time_slot_sale |
|
||||
|
||||
### 脚本报告中的不准确之处
|
||||
|
||||
1. **site_assistant_id(assistant_service_records)**:脚本报告"自动映射(同名列)",实际是通过 FACT_MAPPINGS 映射自 `order_assistant_id`
|
||||
2. **discount_price(store_goods_sales_records)**:脚本报告"自动映射(同名列)",实际是通过 FACT_MAPPINGS 映射自 `discount_money`
|
||||
3. **provisional_total_cost(store_goods_master)**:脚本报告"自动映射(同名列)",实际是通过 FACT_MAPPINGS 映射自 `total_purchase_cost`
|
||||
4. **recharge_settlements 10 个字段**:脚本将 5 个 ODS 列和 5 个 DWD orphan 分别报告,实际是同一组映射缺失(驼峰/蛇形命名差异)
|
||||
5. **settlement_ticket_details 行数**:脚本可能基于旧数据报告"采样记录数为 0",实际有 193 行
|
||||
|
||||
### 操作汇总表
|
||||
|
||||
| 表 | 操作类型 | 字段数 | 具体操作 |
|
||||
|----|---------|--------|---------|
|
||||
| assistant_accounts_master | 新增 DWD 列 + FACT_MAPPINGS | 4 | system_role_id, job_num, cx_unit_price, pd_unit_price → dim_assistant_ex |
|
||||
| assistant_service_records | 新增 DWD 列 + FACT_MAPPINGS | 2 | operator_id, operator_name → dwd_assistant_service_log_ex |
|
||||
| assistant_cancellation_records | 新增 DWD 列 + FACT_MAPPINGS | 1 | assistanton → dwd_assistant_trash_event_ex(列名 assistant_no_int) |
|
||||
| store_goods_sales_records | 跳过 | 0 | discount_price 列名已被占用 |
|
||||
| member_balance_changes | 新增 DWD 列 + FACT_MAPPINGS | 1 | relate_id → dwd_member_balance_change_ex |
|
||||
| tenant_goods_master | 跳过 | 0 | commoditycode 冗余 |
|
||||
| site_tables_master | 新增 DWD 列 + FACT_MAPPINGS | 14 | 全部 14 个字段 → dim_table_ex |
|
||||
| recharge_settlements | 仅补 FACT_MAPPINGS | 5 | 5 个电费/券字段(DWD 列已存在) |
|
||||
| store_goods_master | 新增 DWD 列 + 确认 API | 1+1 | batch_stock_quantity → dim_store_goods_ex;time_slot_sale 待确认 |
|
||||
| goods_stock_summary | 新建 DWD 表 | 14 | 全部字段 |
|
||||
| goods_stock_movements | 新建 DWD 表 | 19 | 全部字段 |
|
||||
| settlement_ticket_details | 新建 DWD 表 | ~38 | 核心业务字段 + 快照字段 |
|
||||
|
||||
### 下一步行动
|
||||
|
||||
1. **立即可执行**(无需额外确认):
|
||||
- A 类表 DDL + FACT_MAPPINGS 变更(22 个字段)
|
||||
- recharge_settlements 仅补 FACT_MAPPINGS(5 个映射条目)
|
||||
- store_goods_master 的 batch_stock_quantity 新增
|
||||
|
||||
2. **需确认后执行**:
|
||||
- store_goods_master 的 time_slot_sale:需获取 API JSON 样本确认字段是否存在
|
||||
|
||||
3. **需设计后执行**:
|
||||
- goods_stock_summary 新建 DWD 表(14 列)
|
||||
- goods_stock_movements 新建 DWD 表(19 列)
|
||||
- settlement_ticket_details 新建 DWD 表(~38 列,含 main/ex 分表设计)
|
||||
|
||||
@@ -0,0 +1,184 @@
|
||||
# 字段差异逐章审核报告(第一批:1.1.1 ~ 1.1.9)
|
||||
|
||||
> 生成时间:2026-02-20
|
||||
> 数据源:test_etl_feiqiu(开发/测试环境)
|
||||
> 审核范围:dataflow 报告中"上游存在、下游没有"的字段(ODS→DWD 未映射)
|
||||
|
||||
---
|
||||
|
||||
## 1.1.1 assistant_accounts_master(助教账号档案)
|
||||
|
||||
ODS→DWD 未映射 4 个字段:`system_role_id`, `job_num`, `cx_unit_price`, `pd_unit_price`
|
||||
|
||||
### assistant_accounts_master — system_role_id
|
||||
|
||||
- 数据类型:bigint(nullable)
|
||||
- 采样值(distinct):`10`(仅 1 个值)
|
||||
- NULL 率:0/295 = 0%(全部非空)
|
||||
- 业务含义推测:系统角色 ID,关联上游 SaaS 的角色权限体系。当前所有助教均为同一角色(值=10),可能是"助教"角色的固定编码。
|
||||
- 建议:**需要映射** → `dim_assistant_ex.system_role_id`。虽然当前只有 1 个值,但该字段可用于区分不同角色(如未来新增"高级助教"角色),且 0% NULL 说明上游稳定输出。
|
||||
|
||||
### assistant_accounts_master — job_num
|
||||
|
||||
- 数据类型:text(nullable)
|
||||
- 采样值(distinct):无(全部 NULL)
|
||||
- NULL 率:295/295 = 100%(全部为空)
|
||||
- 业务含义推测:备用工号字段,上游 SaaS 预留但当前门店未启用。
|
||||
- 建议:**需要映射** → `dim_assistant_ex.job_num`。虽然当前全 NULL,但作为档案类维度字段应保持完整性,未来门店可能启用工号管理。映射成本极低。
|
||||
|
||||
### assistant_accounts_master — cx_unit_price
|
||||
|
||||
- 数据类型:numeric(nullable)
|
||||
- 采样值(distinct):`0.00`(仅 1 个值)
|
||||
- NULL 率:0/295 = 0%(全部非空)
|
||||
- 业务含义推测:促销时段(超休时段)助教单价。当前全部为 0.00,说明门店未启用促销时段差异化定价。
|
||||
- 建议:**需要映射** → `dim_assistant_ex.cx_unit_price`。该字段与工资计算直接相关(DWS 层助教业绩/工资计算可能需要),即使当前为 0 也应保留,一旦门店启用促销定价即有数据。
|
||||
|
||||
### assistant_accounts_master — pd_unit_price
|
||||
|
||||
- 数据类型:numeric(nullable)
|
||||
- 采样值(distinct):`0.00`(仅 1 个值)
|
||||
- NULL 率:0/295 = 0%(全部非空)
|
||||
- 业务含义推测:普通时段助教单价。当前全部为 0.00,与 cx_unit_price 同理,门店未启用按时段定价。
|
||||
- 建议:**需要映射** → `dim_assistant_ex.pd_unit_price`。理由同 cx_unit_price,与工资计算直接相关,应保持完整性。
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 1.1.3 table_fee_transactions
|
||||
|
||||
ODS→DWD 未映射 1 个字段:`siteprofile`
|
||||
|
||||
### table_fee_transactions — siteprofile
|
||||
|
||||
- 跳过(jsonb 列,按规则跳过)
|
||||
|
||||
---
|
||||
|
||||
## 1.1.4 assistant_service_records(助教服务流水)
|
||||
|
||||
ODS→DWD 未映射 4 个字段:`siteprofile`(跳过), `site_assistant_id`, `operator_id`, `operator_name`
|
||||
|
||||
### assistant_service_records — siteprofile
|
||||
|
||||
- 跳过(jsonb 列,按规则跳过)
|
||||
|
||||
### assistant_service_records — site_assistant_id
|
||||
|
||||
- 数据类型:bigint(nullable)
|
||||
- 采样值(前 5 个 distinct):`2793361915547781`, `2793363001774149`, `2793399247179845`, `2793405307342917`, `2793483330310277`
|
||||
- NULL 率:0/10219 = 0%(全部非空)
|
||||
- distinct 值数量:63(对比 order_assistant_id 的 5292 个 distinct 值)
|
||||
- 业务含义推测:**门店助教档案 ID**,指向 `ods.assistant_accounts_master.id`,代表"哪个助教"。与 `order_assistant_id`(订单级助教分配 ID,每次服务生成一个唯一 ID)完全不同。
|
||||
|
||||
#### ⚠️ 关键发现:DWD 映射错误已确认
|
||||
|
||||
| 验证项 | 结果 |
|
||||
|--------|------|
|
||||
| DWD `site_assistant_id` distinct 值数量 | 5276(应为 ~63) |
|
||||
| DWD `site_assistant_id` 匹配 ODS `order_assistant_id` | **10203/10203 = 100%** |
|
||||
| DWD `site_assistant_id` 匹配 ODS `site_assistant_id` | **0/10203 = 0%** |
|
||||
|
||||
**结论**:DWD `dwd_assistant_service_log.site_assistant_id` 当前实际映射自 ODS `order_assistant_id`,而非 ODS `site_assistant_id`。这是一个映射错误。
|
||||
|
||||
- 建议:**需要修复映射**。当前 DWD 的 `site_assistant_id` 列应改为映射自 ODS 的 `site_assistant_id`(助教档案 ID),而非 `order_assistant_id`。此字段是关联 `dim_assistant` 维度表的关键外键,映射错误会导致助教维度 JOIN 失败或产生错误的业绩归属。修复优先级:**高**。
|
||||
|
||||
### assistant_service_records — operator_id
|
||||
|
||||
- 数据类型:bigint(nullable)
|
||||
- 采样值(distinct):`2790687322443013`(仅 1 个值)
|
||||
- NULL 率:0/10219 = 0%(全部非空)
|
||||
- distinct 值数量:1
|
||||
- 业务含义推测:操作员 ID,即执行该服务记录录入的收银员/操作人员。当前只有 1 个操作员(与 operator_name 一致)。
|
||||
- 建议:**需要映射** → `dwd_assistant_service_log_ex.operator_id`。虽然当前只有 1 个操作员,但多门店/多收银员场景下会有多个值。与 operator_name 配对使用,便于追溯操作责任。
|
||||
|
||||
### assistant_service_records — operator_name
|
||||
|
||||
- 数据类型:text(nullable)
|
||||
- 采样值(distinct):`收银员:郑丽珊`(仅 1 个值)
|
||||
- NULL 率:0/10219 = 0%(全部非空)
|
||||
- distinct 值数量:1
|
||||
- 业务含义推测:操作员名称,格式为"角色:姓名"。
|
||||
- 建议:**需要映射** → `dwd_assistant_service_log_ex.operator_name`。理由同 operator_id,配对映射。
|
||||
|
||||
---
|
||||
|
||||
## 1.1.5 assistant_cancellation_records(助教废除记录)
|
||||
|
||||
ODS→DWD 未映射 2 个字段:`siteprofile`(跳过), `assistanton`
|
||||
|
||||
### assistant_cancellation_records — siteprofile
|
||||
|
||||
- 跳过(jsonb 列,按规则跳过)
|
||||
|
||||
### assistant_cancellation_records — assistanton
|
||||
|
||||
- 数据类型:integer(nullable)
|
||||
- 采样值(前 10 个 distinct):`1, 2, 4, 5, 6, 7, 8, 9, 10, 11`
|
||||
- 值域范围:min=1, max=99, avg=16.93
|
||||
- NULL 率:0/100 = 0%(全部非空)
|
||||
- distinct 值数量:22
|
||||
- 分布(top 5):`15→15次, 6→12次, 4→8次, 9→8次, 11→6次`
|
||||
- 业务含义推测:**助教编号**(整数编号),代表该助教在门店内的编号。与 `assistantname`(助教昵称)一一对应,例如 assistanton=1 对应"小燕",assistanton=2 对应"佳怡"。
|
||||
|
||||
#### ⚠️ 注意:DWD 现有 `assistant_no` 列实际映射自 `assistantname`(昵称),而非 `assistanton`(编号)
|
||||
|
||||
- 建议:**需要映射** → `dwd_assistant_trash_event.assistant_on`(保留原始字段名语义)。该字段是助教的整数编号,可用于与其他系统的助教编号关联。当前 DWD 主表的 `assistant_no` 实际存储的是昵称(映射自 `assistantname`)。
|
||||
|
||||
---
|
||||
|
||||
## 1.1.6 store_goods_sales_records(门店商品销售流水)
|
||||
|
||||
ODS→DWD 未映射 1 个字段:`discount_price`
|
||||
|
||||
### store_goods_sales_records — discount_price
|
||||
|
||||
- 数据类型:numeric(nullable)
|
||||
- 采样值(前 10 个 distinct):`0.00, 1.00, 2.00, 3.00, 3.50, 4.00, 5.00, 6.00, 7.00, 8.00`
|
||||
- NULL 率:0/17563 = 0%(全部非空)
|
||||
- distinct 值数量:48
|
||||
- 分布(top 5):`5.00→5008次, 8.00→3284次, 6.00→1365次, 2.00→1291次, 10.00→1174次`
|
||||
- 与 `ledger_unit_price` 的关系:16287/17563 相同(92.7%),1276 条不同
|
||||
- 业务含义推测:**折后单价**,即商品经过折扣后的实际销售单价。与 `ledger_unit_price`(台账单价/原价)在大多数情况下相同,但有 7.3% 的记录存在差异(即发生了折扣)。
|
||||
|
||||
#### ⚠️ DWD 列名冲突
|
||||
|
||||
| 验证项 | 结果 |
|
||||
|--------|------|
|
||||
| DWD `discount_price` 匹配 ODS `discount_money` | **17563/17563 = 100%** |
|
||||
| DWD `discount_price` 匹配 ODS `discount_price` | 111/17563 = 0.6%(巧合) |
|
||||
|
||||
**结论**:DWD `dwd_store_goods_sale.discount_price` 当前实际映射自 ODS `discount_money`(折扣金额),而非 ODS `discount_price`(折后单价)。列名存在语义误导。需要进行修正,DWD字段名称应与ODS相符
|
||||
|
||||
---
|
||||
|
||||
## 1.1.7 payment_transactions
|
||||
|
||||
ODS→DWD 未映射 1 个字段:`siteprofile`
|
||||
|
||||
### payment_transactions — siteprofile
|
||||
|
||||
- 跳过(jsonb 列,按规则跳过)
|
||||
|
||||
---
|
||||
|
||||
## 1.1.8 refund_transactions
|
||||
|
||||
ODS→DWD 未映射 1 个字段:`siteprofile`
|
||||
|
||||
### refund_transactions — siteprofile
|
||||
|
||||
- 跳过(jsonb 列,按规则跳过)
|
||||
|
||||
---
|
||||
|
||||
## 1.1.9 platform_coupon_redemption_records
|
||||
|
||||
ODS→DWD 未映射 1 个字段:`siteprofile`
|
||||
|
||||
### platform_coupon_redemption_records — siteprofile
|
||||
|
||||
- 跳过(jsonb 列,按规则跳过)
|
||||
|
||||
---
|
||||
|
||||
@@ -0,0 +1,608 @@
|
||||
# 字段差异审核报告(第二批)— 1.1.12 ~ 1.1.17
|
||||
|
||||
> 数据源:test_etl_feiqiu(开发/测试环境)
|
||||
> 审核时间:2026-02-20
|
||||
> 审核范围:ODS→DWD 未映射字段 + API→ODS 未映射(平层)字段
|
||||
|
||||
---
|
||||
|
||||
## 1.1.12 member_balance_changes
|
||||
|
||||
### member_balance_changes — relate_id
|
||||
|
||||
- 数据类型:bigint
|
||||
- 采样值(前 10 个 distinct):`2993181992014533`, `3072754355946949`, `2947505138716229`, `2992745472101061`, `2929262226949893`, `2913844390610501`, `3062602498559493`, `2839291793787205`, `2995833615503621`, `2986287611251333`
|
||||
- NULL 率:0/9684 = 0%(全部非空)
|
||||
- distinct 值数量:3904
|
||||
- 关联验证:与 `ods.recharge_settlements.id` 交集 867 条(约 9.0%),说明部分余额变动关联充值结算单,其余可能关联订单、退款等其他业务单据
|
||||
- 业务含义推测:关联业务单据 ID,标识触发本次余额变动的源单据(充值单、消费订单、退款单等)。是余额变动的溯源字段,可用于反查具体业务操作
|
||||
- 建议:**需要映射** — 该字段 100% 非空,是余额变动溯源的关键外键。映射到 DWD 后可支持"余额变动 → 源单据"的关联分析。建议 DWD 列名 `relate_id`(bigint)
|
||||
|
||||
---
|
||||
|
||||
## 1.1.13 recharge_settlements
|
||||
|
||||
> 重点对比:ODS 5 个字段在 DWD 中已有对应列,但 FACT_MAPPINGS 可能缺失
|
||||
|
||||
### ODS 侧统计
|
||||
|
||||
| 字段 | 数据类型 | 总行数 | 非零行数 |
|
||||
|------|---------|--------|---------|
|
||||
| plcouponsaleamount | numeric | 3333 | 0 |
|
||||
| mervousalesamount | numeric | 3333 | 0 |
|
||||
| electricitymoney | numeric | 3333 | 0 |
|
||||
| realelectricitymoney | numeric | 3333 | 0 |
|
||||
| electricityadjustmoney | numeric | 3333 | 0 |
|
||||
|
||||
### DWD 侧统计(dwd.dwd_recharge_order)
|
||||
|
||||
| 字段 | 数据类型 | 总行数 | 非零行数 |
|
||||
|------|---------|--------|---------|
|
||||
| pl_coupon_sale_amount | numeric | 485 | 0 |
|
||||
| mervou_sales_amount | numeric | 485 | 0 |
|
||||
| electricity_money | numeric | 485 | 0 |
|
||||
| real_electricity_money | numeric | 485 | 0 |
|
||||
| electricity_adjust_money | numeric | 485 | 0 |
|
||||
|
||||
### 对比结论
|
||||
|
||||
ODS 和 DWD 两侧这 5 个字段**全部为 0**,无任何非零值。DWD 已建好对应列(命名规范化),但由于上游业务未产生相关数据,无法通过数据对比验证映射是否生效。
|
||||
|
||||
### 逐字段分析
|
||||
|
||||
#### recharge_settlements — plcouponsaleamount
|
||||
- 数据类型:numeric
|
||||
- 采样值:全部为 0
|
||||
- NULL 率:0%
|
||||
- 业务含义推测:平台优惠券销售金额(团购/平台券抵扣部分)
|
||||
- 建议:**需要补充 FACT_MAPPINGS** — DWD 列 `pl_coupon_sale_amount` 已存在,应确认 FACT_MAPPINGS 中是否有 `plcouponsaleamount → pl_coupon_sale_amount` 的映射条目。当前数据全为 0 不影响映射正确性,业务启用后即可自动流转
|
||||
|
||||
#### recharge_settlements — mervousalesamount
|
||||
- 数据类型:numeric
|
||||
- 采样值:全部为 0
|
||||
- NULL 率:0%
|
||||
- 业务含义推测:美团/大众点评等第三方平台销售金额
|
||||
- 建议:**需要补充 FACT_MAPPINGS** — 对应 DWD 列 `mervou_sales_amount`,理由同上
|
||||
|
||||
#### recharge_settlements — electricitymoney
|
||||
- 数据类型:numeric
|
||||
- 采样值:全部为 0
|
||||
- NULL 率:0%
|
||||
- 业务含义推测:电费金额(台桌灯控计费)
|
||||
- 建议:**需要补充 FACT_MAPPINGS** — 对应 DWD 列 `electricity_money`
|
||||
|
||||
#### recharge_settlements — realelectricitymoney
|
||||
- 数据类型:numeric
|
||||
- 采样值:全部为 0
|
||||
- NULL 率:0%
|
||||
- 业务含义推测:实际电费金额(扣除优惠后)
|
||||
- 建议:**需要补充 FACT_MAPPINGS** — 对应 DWD 列 `real_electricity_money`
|
||||
|
||||
#### recharge_settlements — electricityadjustmoney
|
||||
- 数据类型:numeric
|
||||
- 采样值:全部为 0
|
||||
- NULL 率:0%
|
||||
- 业务含义推测:电费调整金额
|
||||
- 建议:**需要补充 FACT_MAPPINGS** — 对应 DWD 列 `electricity_adjust_money`
|
||||
|
||||
### 1.1.13 总结
|
||||
|
||||
5 个字段在 DWD 中均已有对应列,数据类型一致(numeric)。当前 ODS/DWD 两侧数据全为 0,说明该门店尚未启用相关业务功能。**应检查并补全 FACT_MAPPINGS 配置**,确保映射通道畅通,待业务启用后数据可自动流转。优先级:低(数据全为零,不影响现有报表)。
|
||||
|
||||
---
|
||||
|
||||
## 1.1.14 group_buy_packages
|
||||
|
||||
### group_buy_packages — tenantTableAreaIdList[](API 字段)
|
||||
|
||||
- ODS 对应列:`tenant_table_area_id_list`(jsonb)
|
||||
- 实际存储类型:jsonb,但 `jsonb_typeof()` 返回 `string`(即存储的是字符串形式的单个 ID,而非数组)
|
||||
- 采样值:`"2791960001957765"`, `"2791960521691013"`, `"2791962314215301"`
|
||||
- NULL 率:51/70 = 72.9%(大部分为空)
|
||||
- distinct 值数量:约 3-5 个(对应不同区域 ID)
|
||||
- 业务含义推测:租户级台桌区域 ID 列表,标识团购套餐适用的台桌区域。API 返回数组,ODS 已落地为 jsonb 列
|
||||
- 建议:**跳过** — 该字段已在 ODS 中以 jsonb 列存储(非"平层未映射"),且 72.9% 为 NULL。API→ODS 映射已完成,DWD 层团购套餐表如需区域关联可从此列提取
|
||||
|
||||
### group_buy_packages — tableAreaNameList[](API 字段)
|
||||
|
||||
- ODS 对应列:`table_area_id_list`(jsonb)— 注意:ODS 列名为 `table_area_id_list`,但 API 字段名为 `tableAreaNameList`
|
||||
- ODS 列值:全部为 NULL(70/70 = 100%)
|
||||
- payload 中的值:存在于 `payload->'tableAreaNameList'` 中,采样值为 `["A区"]`, `["B区"]`, `["麻将房"]`
|
||||
- 业务含义推测:台桌区域名称列表,是 `tenantTableAreaIdList` 的可读名称版本
|
||||
- 建议:**跳过(但需记录问题)** — `table_area_id_list` 列全为 NULL,而 payload 中 `tableAreaNameList` 有值,说明 ODS 平层化时可能存在字段名映射错误(`table_area_id_list` 应映射 `tableAreaIdList` 而非 `tableAreaNameList`,或需新增 `table_area_name_list` 列)。建议后续修复 ODS 平层化映射,但不阻塞当前 DWD 流程
|
||||
|
||||
---
|
||||
|
||||
## 1.1.15 goods_stock_summary(无 DWD 表)
|
||||
|
||||
> 14 个字段全部无 DWD 映射,原因:尚未建立对应的 DWD 表
|
||||
|
||||
### 整体统计
|
||||
|
||||
| 指标 | 值 |
|
||||
|------|-----|
|
||||
| 总行数 | 1,088 |
|
||||
| distinct 商品数 | 173 |
|
||||
| distinct 商品名 | 173 |
|
||||
| distinct 单位 | 13 |
|
||||
| distinct 一级分类 | 9 |
|
||||
| distinct 二级分类 | 14 |
|
||||
| distinct 分类名 | 9 |
|
||||
| NULL 率 | 所有 14 个字段均 0% NULL |
|
||||
|
||||
### 逐字段分析
|
||||
|
||||
#### goods_stock_summary — sitegoodsid
|
||||
- 数据类型:bigint(推测)
|
||||
- 采样值:173 个 distinct 值(商品级 ID)
|
||||
- NULL 率:0/1088 = 0%
|
||||
- 业务含义推测:门店商品 ID,标识具体商品在门店的唯一身份
|
||||
- 建议:若建 DWD 表则为主键/业务键
|
||||
|
||||
#### goods_stock_summary — goodsname
|
||||
- 数据类型:text
|
||||
- 采样值:`酱香爆珠槟榔`, `乌龙茶香槟榔`, `金银花凉茶`, `大瓶蓝妹`, `一次性湿巾`
|
||||
- NULL 率:0/1088 = 0%
|
||||
- distinct 值数量:173
|
||||
- 业务含义推测:商品名称
|
||||
- 建议:若建 DWD 表则为维度属性
|
||||
|
||||
#### goods_stock_summary — goodsunit
|
||||
- 数据类型:text
|
||||
- 采样值:`包`, `瓶`, `张`, `盒`, `杯`, `个`, `份`, `双`, `支`, `根`, `桶`, `盘`, `罐`(共 13 种)
|
||||
- NULL 率:0/1088 = 0%
|
||||
- 业务含义推测:商品计量单位
|
||||
- 建议:若建 DWD 表则为维度属性
|
||||
|
||||
#### goods_stock_summary — goodscategoryid
|
||||
- 数据类型:bigint(推测)
|
||||
- distinct 值数量:9
|
||||
- NULL 率:0/1088 = 0%
|
||||
- 业务含义推测:商品一级分类 ID
|
||||
- 建议:若建 DWD 表则为维度外键
|
||||
|
||||
#### goods_stock_summary — goodscategorysecondid
|
||||
- 数据类型:bigint(推测)
|
||||
- distinct 值数量:14
|
||||
- 采样值:对应分类名如 `香烟`, `酒水`, `雪糕`, `槟榔`, `小吃`, `果盘`, `麻将房`, `其他`, `器材`, `零食`
|
||||
- NULL 率:0/1088 = 0%
|
||||
- 业务含义推测:商品二级分类 ID
|
||||
- 建议:若建 DWD 表则为维度外键
|
||||
|
||||
#### goods_stock_summary — categoryname
|
||||
- 数据类型:text
|
||||
- 采样值:`槟榔`, `酒水`, `其他`, `香烟`, `雪糕`, `小吃`, `果盘`, `器材`, `零食`(共 9 种)
|
||||
- NULL 率:0/1088 = 0%
|
||||
- 业务含义推测:一级分类名称(冗余字段,与 goodscategoryid 对应)
|
||||
- 建议:若建 DWD 表可保留为冗余维度属性,避免额外 JOIN
|
||||
|
||||
#### goods_stock_summary — rangestartstock
|
||||
- 数据类型:numeric
|
||||
- 值域:0.0000 ~ 976.0000
|
||||
- NULL 率:0/1088 = 0%
|
||||
- 业务含义推测:查询时间范围内的期初库存
|
||||
- 建议:若建 DWD 表则为度量字段
|
||||
|
||||
#### goods_stock_summary — rangeendstock
|
||||
- 数据类型:numeric
|
||||
- 值域:0.0000 ~ 976.0000
|
||||
- NULL 率:0/1088 = 0%
|
||||
- 业务含义推测:查询时间范围内的期末库存
|
||||
- 建议:若建 DWD 表则为度量字段
|
||||
|
||||
#### goods_stock_summary — rangein
|
||||
- 数据类型:numeric
|
||||
- 值域:全部为 0.0000
|
||||
- NULL 率:0/1088 = 0%
|
||||
- 业务含义推测:时间范围内入库数量
|
||||
- 建议:当前全为 0,可能该门店未使用入库功能或查询范围无入库记录
|
||||
|
||||
#### goods_stock_summary — rangeout
|
||||
- 数据类型:numeric
|
||||
- 值域:全部为 0.0000
|
||||
- NULL 率:0/1088 = 0%
|
||||
- 业务含义推测:时间范围内出库数量
|
||||
- 建议:同上,当前全为 0
|
||||
|
||||
#### goods_stock_summary — rangesale
|
||||
- 数据类型:numeric
|
||||
- 值域:全部为 0.0000
|
||||
- NULL 率:0/1088 = 0%
|
||||
- 业务含义推测:时间范围内销售数量
|
||||
- 建议:同上,当前全为 0
|
||||
|
||||
#### goods_stock_summary — rangesalemoney
|
||||
- 数据类型:numeric
|
||||
- 值域:全部为 0.00
|
||||
- NULL 率:0/1088 = 0%
|
||||
- 业务含义推测:时间范围内销售金额
|
||||
- 建议:同上,当前全为 0
|
||||
|
||||
#### goods_stock_summary — rangeinventory
|
||||
- 数据类型:numeric
|
||||
- 值域:全部为 0.0000
|
||||
- NULL 率:0/1088 = 0%
|
||||
- 业务含义推测:时间范围内盘点数量
|
||||
- 建议:同上,当前全为 0
|
||||
|
||||
#### goods_stock_summary — currentstock
|
||||
- 数据类型:numeric
|
||||
- 值域:0.0000 ~ 976.0000
|
||||
- NULL 率:0/1088 = 0%
|
||||
- 业务含义推测:当前库存数量(最新快照)
|
||||
- 建议:若建 DWD 表则为核心度量字段
|
||||
|
||||
### 1.1.15 总结
|
||||
|
||||
goods_stock_summary 是**库存汇总快照表**,记录每个商品在特定时间范围内的库存变动摘要。1,088 行覆盖 173 种商品,所有字段 0% NULL,数据质量良好。
|
||||
|
||||
**是否需要新建 DWD 表:建议暂缓**
|
||||
- 理由:range 系列字段(rangein/rangeout/rangesale/rangesalemoney/rangeinventory)全部为 0,说明该表的时间范围汇总功能未被有效利用
|
||||
- 有价值的数据仅为 `currentstock`(当前库存)和商品维度信息,而这些信息可从 `goods_stock_movements`(库存流水)推算
|
||||
- 建议优先建设 `goods_stock_movements` 的 DWD 表(见 1.1.16),库存汇总可作为 DWS 层聚合产出
|
||||
- 优先级:低
|
||||
|
||||
---
|
||||
|
||||
## 1.1.16 goods_stock_movements(无 DWD 表)
|
||||
|
||||
> 19 个字段全部无 DWD 映射,原因:尚未建立对应的 DWD 表
|
||||
|
||||
### 整体统计
|
||||
|
||||
| 指标 | 值 |
|
||||
|------|-----|
|
||||
| 总行数 | 35,606 |
|
||||
| distinct 流水 ID | 34,961 |
|
||||
| distinct 租户 | 1 |
|
||||
| distinct 门店 | 1 |
|
||||
| distinct 商品 | 165 |
|
||||
| distinct 商品名 | 170 |
|
||||
| distinct 一级分类 | 9 |
|
||||
| distinct 二级分类 | 14 |
|
||||
| distinct 单位 | 13(个/份/包/双/张/支/杯/根/桶/瓶/盒/盘/罐) |
|
||||
| distinct 库存类型 | 6(1/2/4/7/8/9) |
|
||||
| distinct 操作人 | 8 |
|
||||
| 价格范围 | 2.00 ~ 11,360.00 |
|
||||
| 变动数量范围 | -66 ~ 1,000 |
|
||||
| 时间范围 | 2025-07-18 ~ 2026-02-14 |
|
||||
|
||||
### NULL 率汇总
|
||||
|
||||
| 字段 | NULL 数 | NULL 率 |
|
||||
|------|---------|---------|
|
||||
| sitegoodsstockid | 0 | 0% |
|
||||
| tenantid | 0 | 0% |
|
||||
| siteid | 0 | 0% |
|
||||
| sitegoodsid | 0 | 0% |
|
||||
| goodsname | 0 | 0% |
|
||||
| goodscategoryid | 0 | 0% |
|
||||
| goodssecondcategoryid | 0 | 0% |
|
||||
| unit | 0 | 0% |
|
||||
| price | 0 | 0% |
|
||||
| stocktype | 0 | 0% |
|
||||
| changenum | 0 | 0% |
|
||||
| startnum | 0 | 0% |
|
||||
| endnum | 0 | 0% |
|
||||
| changenuma | 0 | 0% |
|
||||
| startnuma | 0 | 0% |
|
||||
| endnuma | 0 | 0% |
|
||||
| remark | 34,315 | 96.4% |
|
||||
| operatorname | 0 | 0% |
|
||||
| createtime | 0 | 0% |
|
||||
|
||||
### 逐字段分析
|
||||
|
||||
#### goods_stock_movements — sitegoodsstockid
|
||||
- 数据类型:bigint
|
||||
- distinct 值数量:34,961(接近总行数 35,606,近似唯一)
|
||||
- NULL 率:0%
|
||||
- 业务含义推测:库存流水记录主键 ID
|
||||
- 建议:若建 DWD 表则为业务键
|
||||
|
||||
#### goods_stock_movements — tenantid
|
||||
- 数据类型:bigint
|
||||
- distinct 值数量:1
|
||||
- NULL 率:0%
|
||||
- 业务含义推测:租户 ID(当前单租户)
|
||||
- 建议:若建 DWD 表保留,用于多租户扩展
|
||||
|
||||
#### goods_stock_movements — siteid
|
||||
- 数据类型:bigint
|
||||
- distinct 值数量:1
|
||||
- NULL 率:0%
|
||||
- 业务含义推测:门店 ID(当前单门店)
|
||||
- 建议:若建 DWD 表保留,用于 RLS 隔离
|
||||
|
||||
#### goods_stock_movements — sitegoodsid
|
||||
- 数据类型:bigint
|
||||
- distinct 值数量:165
|
||||
- NULL 率:0%
|
||||
- 业务含义推测:门店商品 ID,关联商品维度
|
||||
- 建议:若建 DWD 表则为维度外键
|
||||
|
||||
#### goods_stock_movements — goodsname
|
||||
- 数据类型:text
|
||||
- 采样值:`可乐`, `脉动`, `哇米诺豆奶`, `哇哈哈矿泉水`, `钻石荷花`
|
||||
- distinct 值数量:170
|
||||
- NULL 率:0%
|
||||
- 业务含义推测:商品名称(冗余)
|
||||
- 建议:若建 DWD 表保留为冗余维度
|
||||
|
||||
#### goods_stock_movements — goodscategoryid
|
||||
- 数据类型:bigint
|
||||
- distinct 值数量:9
|
||||
- NULL 率:0%
|
||||
- 业务含义推测:商品一级分类 ID
|
||||
- 建议:若建 DWD 表则为维度外键
|
||||
|
||||
#### goods_stock_movements — goodssecondcategoryid
|
||||
- 数据类型:bigint
|
||||
- distinct 值数量:14
|
||||
- NULL 率:0%
|
||||
- 业务含义推测:商品二级分类 ID
|
||||
- 建议:若建 DWD 表则为维度外键
|
||||
|
||||
#### goods_stock_movements — unit
|
||||
- 数据类型:text
|
||||
- 采样值:`个`, `份`, `包`, `双`, `张`, `支`, `杯`, `根`, `桶`, `瓶`, `盒`, `盘`, `罐`(共 13 种)
|
||||
- NULL 率:0%
|
||||
- 业务含义推测:商品计量单位
|
||||
- 建议:若建 DWD 表保留
|
||||
|
||||
#### goods_stock_movements — price
|
||||
- 数据类型:numeric
|
||||
- 值域:2.0000 ~ 11,360.0000
|
||||
- NULL 率:0%
|
||||
- 业务含义推测:商品单价
|
||||
- 建议:若建 DWD 表则为度量字段
|
||||
|
||||
#### goods_stock_movements — stocktype
|
||||
- 数据类型:integer
|
||||
- 枚举值:`1`(销售出库), `2`(采购入库), `4`(盘点调整), `7`(?), `8`(领用确认/退回), `9`(?)
|
||||
- NULL 率:0%
|
||||
- 业务含义推测:库存变动类型枚举
|
||||
- 建议:若建 DWD 表则为维度字段,需建立枚举映射表
|
||||
|
||||
#### goods_stock_movements — changenum
|
||||
- 数据类型:numeric
|
||||
- 值域:-66.0000 ~ 1,000.0000(负数=出库,正数=入库)
|
||||
- NULL 率:0%
|
||||
- 业务含义推测:主计量单位变动数量
|
||||
- 建议:若建 DWD 表则为核心度量字段
|
||||
|
||||
#### goods_stock_movements — startnum
|
||||
- 数据类型:numeric
|
||||
- NULL 率:0%
|
||||
- 业务含义推测:变动前库存数量(主计量单位)
|
||||
- 建议:若建 DWD 表保留,用于库存校验
|
||||
|
||||
#### goods_stock_movements — endnum
|
||||
- 数据类型:numeric
|
||||
- NULL 率:0%
|
||||
- 业务含义推测:变动后库存数量(主计量单位)
|
||||
- 建议:若建 DWD 表保留
|
||||
|
||||
#### goods_stock_movements — changenuma
|
||||
- 数据类型:numeric
|
||||
- 非零行数:2,326/35,606 = 6.5%
|
||||
- NULL 率:0%
|
||||
- 采样值(非零时):与 changenum 互补,当 changenum=0 时 changenuma 有值,反之亦然。典型场景:stocktype=2(采购入库)时 changenuma 有值,stocktype=8(领用确认)时 changenuma 为负
|
||||
- 业务含义推测:**辅助计量单位变动数量**(如"箱"vs"瓶"的双单位管理)
|
||||
- 建议:若建 DWD 表保留,支持双单位库存管理
|
||||
|
||||
#### goods_stock_movements — startnuma
|
||||
- 数据类型:numeric
|
||||
- 非零行数:1,256/35,606 = 3.5%
|
||||
- NULL 率:0%
|
||||
- 业务含义推测:变动前库存数量(辅助计量单位)
|
||||
- 建议:若建 DWD 表保留
|
||||
|
||||
#### goods_stock_movements — endnuma
|
||||
- 数据类型:numeric
|
||||
- 非零行数:1,070/35,606 = 3.0%
|
||||
- NULL 率:0%
|
||||
- 业务含义推测:变动后库存数量(辅助计量单位)
|
||||
- 建议:若建 DWD 表保留
|
||||
|
||||
#### goods_stock_movements — remark
|
||||
- 数据类型:text
|
||||
- 采样值:`结账退货`, `采购退货`, `系统自动领用`, `系统自动领用退回`
|
||||
- NULL 率:34,315/35,606 = 96.4%
|
||||
- distinct 值数量:约 4 种
|
||||
- 业务含义推测:库存变动备注,仅在特殊操作时填写
|
||||
- 建议:若建 DWD 表保留(可为 nullable)
|
||||
|
||||
#### goods_stock_movements — operatorname
|
||||
- 数据类型:text
|
||||
- 采样值:`收银员:郑丽珊` 等(共 8 个 distinct)
|
||||
- NULL 率:0%
|
||||
- 业务含义推测:操作人姓名(含角色前缀)
|
||||
- 建议:若建 DWD 表保留
|
||||
|
||||
#### goods_stock_movements — createtime
|
||||
- 数据类型:timestamp
|
||||
- 值域:2025-07-18 15:18:49 ~ 2026-02-14 00:21:21
|
||||
- NULL 率:0%
|
||||
- 业务含义推测:库存变动发生时间
|
||||
- 建议:若建 DWD 表则为时间维度键
|
||||
|
||||
### 1.1.16 总结
|
||||
|
||||
goods_stock_movements 是**库存流水明细表**,记录每一笔库存变动(销售、采购、盘点、领用等)。35,606 行数据,时间跨度约 7 个月,数据质量优秀(除 remark 外所有字段 0% NULL)。
|
||||
|
||||
**是否需要新建 DWD 表:建议需要,优先级中**
|
||||
- 理由:
|
||||
1. 数据量大(3.5 万行)且持续增长,是库存管理的核心流水数据
|
||||
2. 支持双单位管理(changenum/changenuma),业务复杂度较高
|
||||
3. 可支撑 DWS 层库存分析(库存周转率、损耗率、采购频次等)
|
||||
4. 与 goods_stock_summary 相比,流水数据更有分析价值
|
||||
- 建议 DWD 表名:`dwd.dwd_goods_stock_movement`
|
||||
- 建议处理方式:事实表,按 createtime 增量加载
|
||||
|
||||
---
|
||||
|
||||
## 1.1.17 site_tables_master(台桌维度扩展属性)
|
||||
|
||||
> 14 个字段无 DWD 映射,当前 DWD dim_table_ex 只有少量列
|
||||
|
||||
### 整体统计
|
||||
|
||||
| 指标 | 值 |
|
||||
|------|-----|
|
||||
| 总行数 | 1,074 |
|
||||
| distinct 门店名 | 1(朗朗桌球) |
|
||||
|
||||
### NULL 率汇总
|
||||
|
||||
| 字段 | NULL 数 | NULL 率 |
|
||||
|------|---------|---------|
|
||||
| sitename | 0 | 0% |
|
||||
| appletQrCodeUrl | 0 | 0% |
|
||||
| audit_status | 0 | 0% |
|
||||
| charge_free | 0 | 0% |
|
||||
| create_time | 0 | 0% |
|
||||
| delay_lights_time | 0 | 0% |
|
||||
| is_rest_area | 0 | 0% |
|
||||
| light_status | 0 | 0% |
|
||||
| only_allow_groupon | 0 | 0% |
|
||||
| order_delay_time | 0 | 0% |
|
||||
| self_table | 0 | 0% |
|
||||
| tablestatusname | 0 | 0% |
|
||||
| temporary_light_second | 0 | 0% |
|
||||
| virtual_table | 0 | 0% |
|
||||
|
||||
### 逐字段分析
|
||||
|
||||
#### site_tables_master — sitename
|
||||
- 数据类型:text
|
||||
- 采样值:`朗朗桌球`(仅 1 个 distinct)
|
||||
- NULL 率:0%
|
||||
- 业务含义推测:门店名称(冗余字段,所有台桌属于同一门店)
|
||||
- 建议:**跳过** — 单值冗余字段,门店信息已在其他维度表中
|
||||
|
||||
#### site_tables_master — appletQrCodeUrl
|
||||
- 数据类型:text
|
||||
- 采样值:`https://pc-we.ficoo.vip/rootwww/prodwx38a48dd2bc3c1642?env=prod&type=1&id=...&siteId=...`
|
||||
- NULL 率:0%
|
||||
- 业务含义推测:小程序扫码开台的二维码 URL,每张台桌一个唯一 URL
|
||||
- 建议:**跳过** — 运营/展示用途,非分析字段。且包含环境参数,不适合进入 DWD
|
||||
|
||||
#### site_tables_master — audit_status
|
||||
- 数据类型:integer
|
||||
- 采样值:`2`(仅 1 个 distinct)
|
||||
- NULL 率:0%
|
||||
- 业务含义推测:审核状态(2 可能表示"已审核通过")
|
||||
- 建议:**跳过** — 单值字段,所有台桌审核状态相同,无分析价值
|
||||
|
||||
#### site_tables_master — charge_free
|
||||
- 数据类型:integer
|
||||
- 采样值:`0`(仅 1 个 distinct)
|
||||
- NULL 率:0%
|
||||
- 业务含义推测:是否免费(0=收费)
|
||||
- 建议:**跳过** — 单值字段,所有台桌均为收费模式
|
||||
|
||||
#### site_tables_master — create_time
|
||||
- 数据类型:timestamp
|
||||
- 值域:2025-07-15 17:52:54 ~ 2025-12-12 21:52:21
|
||||
- NULL 率:0%
|
||||
- 业务含义推测:台桌创建时间
|
||||
- 建议:**需要映射** — 有实际业务含义,可用于分析台桌上线时间线。建议映射到 dim_table_ex
|
||||
|
||||
#### site_tables_master — delay_lights_time
|
||||
- 数据类型:integer(推测)
|
||||
- 采样值:`0`(仅 1 个 distinct)
|
||||
- NULL 率:0%
|
||||
- 业务含义推测:延迟关灯时间(分钟/秒),0 表示不延迟
|
||||
- 建议:**跳过** — 单值字段,当前未启用延迟关灯功能
|
||||
|
||||
#### site_tables_master — is_rest_area
|
||||
- 数据类型:integer
|
||||
- 采样值:`0`(仅 1 个 distinct)
|
||||
- NULL 率:0%
|
||||
- 业务含义推测:是否为休息区(0=否)
|
||||
- 建议:**跳过** — 单值字段,无休息区台桌
|
||||
|
||||
#### site_tables_master — light_status
|
||||
- 数据类型:integer
|
||||
- 采样值:`1`, `2`(2 个 distinct)
|
||||
- NULL 率:0%
|
||||
- 业务含义推测:灯光状态(1=开灯, 2=关灯,或类似枚举)
|
||||
- 建议:**可选映射** — 有 2 个值,可反映台桌当前灯光状态。但这是实时状态字段,SCD2 维度表中意义有限(频繁变化)。如需灯控分析建议走事件流而非维度快照。优先级:低
|
||||
|
||||
#### site_tables_master — only_allow_groupon
|
||||
- 数据类型:integer
|
||||
- 采样值:`2`(仅 1 个 distinct)
|
||||
- NULL 率:0%
|
||||
- 业务含义推测:是否仅允许团购开台(2 可能表示"否/不限制")
|
||||
- 建议:**跳过** — 单值字段
|
||||
|
||||
#### site_tables_master — order_delay_time
|
||||
- 数据类型:integer
|
||||
- 采样值:`0`(仅 1 个 distinct)
|
||||
- NULL 率:0%
|
||||
- 业务含义推测:订单延迟时间(分钟),0 表示不延迟
|
||||
- 建议:**跳过** — 单值字段
|
||||
|
||||
#### site_tables_master — self_table
|
||||
- 数据类型:integer
|
||||
- 采样值:`1`(仅 1 个 distinct)
|
||||
- NULL 率:0%
|
||||
- 业务含义推测:是否为自有台桌(1=是)
|
||||
- 建议:**跳过** — 单值字段
|
||||
|
||||
#### site_tables_master — tablestatusname
|
||||
- 数据类型:text
|
||||
- 采样值:`空闲中`, `使用中`, `暂停中`(3 个 distinct)
|
||||
- NULL 率:0%
|
||||
- 业务含义推测:台桌当前状态名称
|
||||
- 建议:**可选映射** — 有 3 个有意义的状态值,但同 light_status 一样是实时状态字段。如果 dim_table_ex 采用 SCD2,此字段会导致频繁版本变更。建议仅在需要台桌状态分析时映射。优先级:低
|
||||
|
||||
#### site_tables_master — temporary_light_second
|
||||
- 数据类型:integer(推测)
|
||||
- 采样值:`0`(仅 1 个 distinct)
|
||||
- NULL 率:0%
|
||||
- 业务含义推测:临时亮灯秒数
|
||||
- 建议:**跳过** — 单值字段,未启用临时亮灯功能
|
||||
|
||||
#### site_tables_master — virtual_table
|
||||
- 数据类型:integer
|
||||
- 采样值:`0`(仅 1 个 distinct)
|
||||
- NULL 率:0%
|
||||
- 业务含义推测:是否为虚拟台桌(0=否,实体台桌)
|
||||
- 建议:**跳过** — 单值字段
|
||||
|
||||
### 1.1.17 总结
|
||||
|
||||
14 个字段中:
|
||||
- **需要映射**:1 个(`create_time`)
|
||||
- **可选映射**:2 个(`light_status`, `tablestatusname`)— 实时状态字段,SCD2 维度表中价值有限
|
||||
- **跳过**:11 个 — 其中 10 个为单值字段(当前门店配置统一),1 个为运营 URL
|
||||
|
||||
大部分字段为单值(所有台桌配置相同),说明该门店的台桌配置较为统一。如果未来扩展到多门店,这些字段可能出现差异化,届时可重新评估映射需求。
|
||||
|
||||
---
|
||||
|
||||
## 总结与行动建议
|
||||
|
||||
### 需要立即处理
|
||||
|
||||
| 章节 | 字段 | 行动 |
|
||||
|------|------|------|
|
||||
| 1.1.12 | relate_id | 添加到 DWD 映射(余额变动溯源外键) |
|
||||
| 1.1.13 | 5 个金额字段 | 检查并补全 FACT_MAPPINGS 配置(DWD 列已存在) |
|
||||
|
||||
### 建议后续处理
|
||||
|
||||
| 章节 | 行动 | 优先级 |
|
||||
|------|------|--------|
|
||||
| 1.1.14 | 修复 ODS 平层化映射(table_area_id_list vs tableAreaNameList 错位) | 低 |
|
||||
| 1.1.16 | 新建 `dwd.dwd_goods_stock_movement` 事实表 | 中 |
|
||||
| 1.1.17 | 映射 `create_time` 到 dim_table_ex | 低 |
|
||||
|
||||
### 暂不处理
|
||||
|
||||
| 章节 | 原因 |
|
||||
|------|------|
|
||||
| 1.1.15 goods_stock_summary | range 系列字段全为 0,库存汇总可由流水表推算,建议作为 DWS 层产出 |
|
||||
| 1.1.17 大部分字段 | 11/14 为单值字段,无分析价值 |
|
||||
@@ -0,0 +1,138 @@
|
||||
# 字段差异审核报告 — 第三批(1.1.18 ~ 1.1.21)
|
||||
|
||||
> 生成时间:2025-07-18
|
||||
> 数据源:test_etl_feiqiu(开发/测试环境)
|
||||
> 审核范围:stock_goods_category_tree / store_goods_master / table_fee_discount_records / tenant_goods_master
|
||||
|
||||
---
|
||||
|
||||
## 1.1.18 stock_goods_category_tree
|
||||
|
||||
### ODS→DWD 未映射(1 个)
|
||||
|
||||
### [stock_goods_category_tree] — categoryboxes
|
||||
|
||||
- 数据类型:jsonb
|
||||
- 采样值(前 5 个 distinct):
|
||||
- `[{"id": 2790683528350534, "pid": 2790683528350533, "category_name": "槟榔", "business_name": "槟榔", ...}]`
|
||||
- `[{"id": 2790683528350540, ...}, {"id": 2790683528350541, ...}, ...]`(多子分类数组,如"饮料/酒水/茶水/咖啡/加料/洋酒")
|
||||
- `[{"id": 2790683528350536, ...}, ...]`("皮头/球杆/其他")
|
||||
- `[{"id": 2792050275864453, ...}]`("果盘")
|
||||
- `[{"id": 2791948300259205, ...}, ...]`("零食/面")
|
||||
- NULL 率:0/18 = 0%(全部非空)
|
||||
- distinct 值数量:9
|
||||
- 业务含义推测:商品分类树的子分类列表(嵌套 JSON 数组)。每个元素包含子分类 ID、父 ID、分类名、业务名、排序、是否入库、是否开放销售员等属性。本质上是分类树的"子节点展开"。
|
||||
- 建议:**跳过**。理由:
|
||||
1. 这是 jsonb 嵌套结构,包含子分类的完整树形数据
|
||||
2. 子分类信息已通过 `stock_goods_category_tree` 表本身的行级记录(每行一个分类节点)表达,`categoryboxes` 是冗余的嵌套视图
|
||||
3. 如需子分类关系,应通过 `pid` 父子关系在 DWD 层重建,而非展开 jsonb
|
||||
|
||||
---
|
||||
|
||||
## 1.1.19 store_goods_master
|
||||
|
||||
### API→ODS 未映射(平层)(1 个)
|
||||
|
||||
### [store_goods_master] — time_slot_sale
|
||||
|
||||
- ODS 列存在性:**不存在**(`information_schema.columns` 查询返回空)
|
||||
- payload 中存在性:有值,但覆盖率低
|
||||
- 有值记录数:346 / 1744 = 19.8%
|
||||
- distinct 值数量:1(唯一值为 `"2"`)
|
||||
- 业务含义推测:时段销售标记。值 `2` 可能表示"不启用时段限售"或某种枚举状态。仅约 20% 的记录在 payload 中携带此字段,且值完全单一。
|
||||
- 建议:**跳过**。理由:
|
||||
1. ODS 表中无此列,API 返回率低(~20%)
|
||||
2. 仅有单一值 `"2"`,无实际区分度
|
||||
3. 如未来 API 开始返回多样化值,可再评估是否需要新增 ODS 列并映射
|
||||
|
||||
---
|
||||
|
||||
### ODS→DWD 未映射(2 个)
|
||||
|
||||
### [store_goods_master] — batch_stock_quantity
|
||||
|
||||
- 数据类型:numeric
|
||||
- 采样值(前 10 个 distinct):0.00, 1.00, 2.00, 3.00, 4.00, 5.00, 6.00, 7.00, 8.00, 9.00(连续整数居多,最大值需进一步查询)
|
||||
- NULL 率:0/1744 = 0%(全部非空)
|
||||
- distinct 值数量:96
|
||||
- DWD 现有映射情况:DWD `dim_store_goods.batch_stock_qty` 映射自 ODS `stock`(当前库存),**不是** `batch_stock_quantity`
|
||||
- 业务含义推测:批次库存数量,与 `stock`(当前库存)含义不同。`stock` 是实时库存余量,`batch_stock_quantity` 是按批次入库的数量。
|
||||
- 建议:**需要映射**。理由:
|
||||
1. 100% 非空,96 个 distinct 值,数据质量好
|
||||
2. 与已映射的 `stock`(→ `batch_stock_qty`)含义不同,是独立的库存维度
|
||||
3. 已有规划映射到 `dim_store_goods_ex`(见 `export_dwd_field_review.py` 中的规划)
|
||||
4. 建议 DWD 列名:`batch_stock_quantity`,目标表:`dim_store_goods_ex`
|
||||
|
||||
### [store_goods_master] — provisional_total_cost
|
||||
|
||||
- 数据类型:numeric
|
||||
- 采样值(全部 5 个 distinct):0.00, 0.10, 8.00, 152.00, 420.00
|
||||
- NULL 率:0/1744 = 0%(全部非空)
|
||||
- distinct 值数量:5
|
||||
- DWD 列名冲突验证:
|
||||
- DWD `dim_store_goods` 中 **无** `provisional_total_cost` 列
|
||||
- DWD 映射代码中:`("provisional_total_cost", "total_purchase_cost", None)` — 即 DWD 的 `provisional_total_cost` 列名映射自 ODS 的 `total_purchase_cost`
|
||||
- **但实际 DWD 表中该列不存在**(`information_schema` 查询返回空),说明该映射可能尚未部署或已被移除
|
||||
- ODS `total_purchase_cost` vs `provisional_total_cost` 对比:
|
||||
- `total_purchase_cost`:1744 条非空,17 个 distinct 值(实际采购总成本)
|
||||
- `provisional_total_cost`:1744 条非空,5 个 distinct 值(暂估总成本)
|
||||
- 两者值不同(如 total_purchase_cost=0.23 vs provisional_total_cost=0.00),是独立字段
|
||||
- 业务含义推测:暂估总成本(暂估入库时的预估成本),与 `total_purchase_cost`(实际采购总成本)不同。暂估成本通常在货物到达但发票未到时使用。
|
||||
- 建议:**需要映射**(但需解决列名冲突)。理由:
|
||||
1. 100% 非空,与 `total_purchase_cost` 是不同的成本维度
|
||||
2. 当前 DWD 映射代码中 `provisional_total_cost` 列名已被 `total_purchase_cost` 占用
|
||||
3. 建议方案:ODS `provisional_total_cost` 映射到 DWD 时使用新列名(如 `provisional_cost`),避免与现有映射冲突
|
||||
4. 目标表建议:`dim_store_goods_ex`
|
||||
|
||||
---
|
||||
|
||||
## 1.1.20 table_fee_discount_records
|
||||
|
||||
### ODS→DWD 未映射(2 个)
|
||||
|
||||
### [table_fee_discount_records] — siteprofile
|
||||
|
||||
- **跳过**:jsonb 嵌套列,按规则跳过。
|
||||
|
||||
### [table_fee_discount_records] — tableprofile
|
||||
|
||||
- **跳过**:jsonb 嵌套列,按规则跳过。
|
||||
|
||||
---
|
||||
|
||||
## 1.1.21 tenant_goods_master
|
||||
|
||||
### ODS→DWD 未映射(1 个)
|
||||
|
||||
### [tenant_goods_master] — commoditycode
|
||||
|
||||
- 数据类型:text
|
||||
- 采样值(前 10 个 distinct):`{1234530}`, `{1234321}`, `{10000028}`, `{112233}`, `{1234531}`, `{1234577}`, `{1234533}`, `{1234569}`, `{1234529}`, `{120000000}`
|
||||
- NULL 率:0/353 = 0%(全部非空)
|
||||
- distinct 值数量:134
|
||||
- 冗余性验证:
|
||||
- ODS 同时存在 `commodity_code`(text)和 `commoditycode`(text)
|
||||
- `commoditycode` = `'{' + commodity_code + '}'`(花括号包裹格式)
|
||||
- 353/353 条记录完全符合此规律,**零例外**
|
||||
- DWD `dim_tenant_goods` 中 **无** `commodity_code` 或 `commoditycode` 列(已确认列清单)
|
||||
- 业务含义推测:商品编码的数组格式表示(`{value}` 是 PostgreSQL text[] 的文本表示)。`commodity_code` 是纯值,`commoditycode` 是带花括号的数组序列化形式,两者完全冗余。
|
||||
- 建议:**跳过**。理由:
|
||||
1. `commoditycode` = `'{' + commodity_code + '}'`,100% 冗余,无独立信息
|
||||
2. 如需在 DWD 中使用商品编码,应映射 `commodity_code`(纯值),而非 `commoditycode`(带花括号)
|
||||
3. 注意:DWD `dim_tenant_goods` 当前也没有 `commodity_code` 列,如有需要应单独评估是否新增
|
||||
|
||||
---
|
||||
|
||||
## 汇总
|
||||
|
||||
| 章节 | 表名 | 字段 | 差异类型 | 建议 |
|
||||
|------|------|------|----------|------|
|
||||
| 1.1.18 | stock_goods_category_tree | categoryboxes | ODS→DWD 未映射 | ⏭️ 跳过(jsonb 嵌套,子分类已有行级表达) |
|
||||
| 1.1.19 | store_goods_master | time_slot_sale | API→ODS 未映射 | ⏭️ 跳过(ODS 无列,payload 单一值,无区分度) |
|
||||
| 1.1.19 | store_goods_master | batch_stock_quantity | ODS→DWD 未映射 | ✅ 需要映射(→ dim_store_goods_ex) |
|
||||
| 1.1.19 | store_goods_master | provisional_total_cost | ODS→DWD 未映射 | ✅ 需要映射(需解决列名冲突,→ dim_store_goods_ex) |
|
||||
| 1.1.20 | table_fee_discount_records | siteprofile | ODS→DWD 未映射 | ⏭️ 跳过(jsonb 嵌套列) |
|
||||
| 1.1.20 | table_fee_discount_records | tableprofile | ODS→DWD 未映射 | ⏭️ 跳过(jsonb 嵌套列) |
|
||||
| 1.1.21 | tenant_goods_master | commoditycode | ODS→DWD 未映射 | ⏭️ 跳过(与 commodity_code 100% 冗余) |
|
||||
|
||||
**需要映射:2 个** | **跳过:5 个**
|
||||
357
export/SYSTEM/REPORTS/field_audit/field_review_for_user.md
Normal file
357
export/SYSTEM/REPORTS/field_audit/field_review_for_user.md
Normal file
@@ -0,0 +1,357 @@
|
||||
# 字段补全复核文档(ODS + DWD 全量对照)
|
||||
|
||||
> 初始生成:2026-02-20 00:09
|
||||
> 二次审核:2026-02-20(基于 dataflow 报告 + 数据库实际值验证)
|
||||
> 用途:供人工复核字段排查结论,确认后再执行代码变更
|
||||
> 数据源:test_etl_feiqiu(开发/测试环境)
|
||||
|
||||
---
|
||||
|
||||
## 全局汇总
|
||||
|
||||
| 指标 | 数量 |
|
||||
| ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| 涉及 ODS 表 | 12 |
|
||||
| 待新增/补映射字段 | 40 |
|
||||
| 需修复映射错误 | 4(① assistant_service_records site_assistant_id;② store_goods_sales_records discount_price 列名误导;③ store_goods_master batch_stock_qty 映射自错误源列;④ store_goods_master provisional_total_cost 映射自错误源列) |
|
||||
| 跳过字段 | 6 |
|
||||
| 新建 DWD 表 | 2(goods_stock_movement 中优先级、settlement_ticket 待定) |
|
||||
| 需修改 ODS 配置 | 1(goods_stock_summary:`requires_window` 改 True + 添加 `time_fields`,重新采集后可正常建 DWD 表) |
|
||||
|
||||
### 分类说明
|
||||
|
||||
- **A 类**:现有 DWD 表新增列 + FACT_MAPPINGS
|
||||
- **B 类**:DWD 列已存在,仅补 FACT_MAPPINGS
|
||||
- **C 类**:需新建 DWD 表
|
||||
- **🔴 修复类**:现有映射错误,需修正
|
||||
|
||||
---
|
||||
|
||||
## 🔴 映射错误修复(高优先级)
|
||||
|
||||
### assistant_service_records — site_assistant_id 映射错误
|
||||
|
||||
| 验证项 | 结果 |
|
||||
| --------------------------------------------------------- | ---------------------------------------------------- |
|
||||
| ODS `order_assistant_id` distinct 值 | 5,292(订单级 ID,每次服务生成一个) |
|
||||
| ODS `site_assistant_id` distinct 值 | 63(助教档案 ID,对应 assistant_accounts_master.id) |
|
||||
| 10,219 条记录中两者相等的 | **0 条**(完全不同的字段) |
|
||||
| 两者值域交集 | **无交集** |
|
||||
| DWD `site_assistant_id` 匹配 ODS `order_assistant_id` | **100%** |
|
||||
| DWD `site_assistant_id` 匹配 ODS `site_assistant_id` | **0%** |
|
||||
|
||||
**问题**:DWD `dwd_assistant_service_log.site_assistant_id` 当前实际映射自 ODS `order_assistant_id`(订单级助教分配 ID),而非 ODS `site_assistant_id`(助教档案 ID)。
|
||||
|
||||
**影响**:助教维度 JOIN 失败或产生错误的业绩归属。DWD 中有 5,276 个 distinct 值(应为 ~63 个)。
|
||||
|
||||
**修复方案**:
|
||||
|
||||
1. FACT_MAPPINGS 中将 DWD `site_assistant_id` 的 ODS 源从 `order_assistant_id` 改为 `site_assistant_id`
|
||||
2. 新增 DWD 列 `order_assistant_id`(bigint)到 dwd_assistant_service_log,映射 ODS `order_assistant_id`
|
||||
3. 重新加载历史数据
|
||||
|
||||
---
|
||||
|
||||
## 1. assistant_accounts_master(助教账号档案)— A 类
|
||||
|
||||
### ✅ 待新增 / 补映射字段
|
||||
|
||||
| ODS 列 → DWD 列 | 类型 | 目标表 | 说明 | 操作 |
|
||||
| ------------------ | ------------- | ---------------- | -------------------------------------------------------------------------------------------- | --------------------------- |
|
||||
| `system_role_id` | bigint | dim_assistant_ex | 系统角色 ID。采样值: 仅 `10`(1 个 distinct),0% NULL。当前所有助教同一角色,未来可能扩展 | 新增 DWD 列 + FACT_MAPPINGS |
|
||||
| `job_num` | text | dim_assistant_ex | 备用工号。采样值: 全部 NULL(100% NULL,门店未启用)。保持完整性 | 新增 DWD 列 + FACT_MAPPINGS |
|
||||
| `cx_unit_price` | numeric(18,2) | dim_assistant_ex | 促销时段单价。采样值: 全部 `0.00`(未启用差异化定价)。与工资计算相关 | 新增 DWD 列 + FACT_MAPPINGS |
|
||||
| `pd_unit_price` | numeric(18,2) | dim_assistant_ex | 普通时段单价。采样值: 全部 `0.00`。与工资计算相关 | 新增 DWD 列 + FACT_MAPPINGS |
|
||||
|
||||
### ⏭️ 跳过字段
|
||||
|
||||
无
|
||||
|
||||
---
|
||||
|
||||
## 2. assistant_service_records(助教服务流水)— A 类
|
||||
|
||||
### ✅ 待新增 / 补映射字段
|
||||
|
||||
| ODS 列 → DWD 列 | 类型 | 目标表 | 说明 | 操作 |
|
||||
| ----------------- | ------ | ---------------------------- | ---------------------------------------------------------------- | --------------------------- |
|
||||
| `operator_id` | bigint | dwd_assistant_service_log_ex | 操作员 ID。采样值:`2790687322443013`(1 个 distinct),0% NULL | 新增 DWD 列 + FACT_MAPPINGS |
|
||||
| `operator_name` | text | dwd_assistant_service_log_ex | 操作员名称。采样值:`收银员:郑丽珊`(1 个 distinct),0% NULL | 新增 DWD 列 + FACT_MAPPINGS |
|
||||
|
||||
### ⏭️ 跳过字段
|
||||
|
||||
| ODS 列 | 跳过原因 |
|
||||
| --------------- | ----------------------------------------------------- |
|
||||
| `siteprofile` | jsonb 嵌套列,存储门店信息快照,不适合直接映射 DWD 列 |
|
||||
|
||||
### 🔴 需修复
|
||||
|
||||
见上方「映射错误修复」章节。`site_assistant_id` 当前错误映射自 `order_assistant_id`,需修正。
|
||||
|
||||
---
|
||||
|
||||
## 3. assistant_cancellation_records(助教废除记录)— A 类
|
||||
|
||||
### ✅ 待新增 / 更新补映射字段
|
||||
|
||||
| ODS 列 → DWD 列 | 类型 | 目标表 | 说明 | 操作 |
|
||||
| ------------------------------- | ------- | ------------------------- | ----------------------------------------------------------- | ------------------- |
|
||||
| `assistanton → assistant_no` | integer | dwd_assistant_trash_event | 更新字段,助教编号。采样值: 1~99,22 个 distinct,0% NULL。 | 更新 FACT_MAPPINGS |
|
||||
|
||||
### ⏭️ 跳过字段
|
||||
|
||||
| ODS 列 | 跳过原因 |
|
||||
| --------------- | ------------ |
|
||||
| `siteprofile` | jsonb 嵌套列 |
|
||||
|
||||
---
|
||||
|
||||
## 4. store_goods_sales_records(门店商品销售流水)
|
||||
|
||||
### 🔴 映射错误(需修正)
|
||||
|
||||
| 问题 | 说明 |
|
||||
| ---------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
|
||||
| DWD 列 `discount_price` 命名误导 | 当前映射自 ODS `discount_money`(折扣金额),而非 ODS `discount_price`(折后单价)。DWD 字段名应与 ODS 源字段一致 |
|
||||
|
||||
验证数据:
|
||||
|
||||
| 验证项 | 结果 |
|
||||
| ----------------------------------------------- | ------------------------ |
|
||||
| DWD `discount_price` = ODS `discount_money` | 17563/17563 = 100% ✅ |
|
||||
| DWD `discount_price` = ODS `discount_price` | 111/17563 = 0.6%(巧合) |
|
||||
|
||||
修正方案:将 DWD 列名 `discount_price` 重命名为 `discount_money`,使其与 ODS 源字段名一致。
|
||||
|
||||
### ✅ 待新增 / 补映射字段
|
||||
|
||||
| ODS 列 → DWD 列 | 类型 | 目标表 | 说明 | 操作 |
|
||||
| ---------------------------------------- | ------- | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
|
||||
| `discount_price` → `discount_price` | numeric | dwd_store_goods_sale | 折后单价。48 个 distinct,0% NULL。与 `ledger_unit_price`(台账单价/原价)92.7% 相同,7.3% 存在差异(即发生了折扣)。采样值: 0.00, 1.00, 2.00, 3.00, 3.50, 5.00, 8.00 等。分布 top 5: 5.00→5008次, 8.00→3284次, 6.00→1365次, 2.00→1291次, 10.00→1174次 | 先完成上述列名修正,释放 `discount_price` 名称后,新增 DWD 列 + FACT_MAPPINGS |
|
||||
|
||||
---
|
||||
|
||||
## 5. member_balance_changes(会员余额变动)— A 类
|
||||
|
||||
### ✅ 待新增 / 补映射字段
|
||||
|
||||
| ODS 列 → DWD 列 | 类型 | 目标表 | 说明 | 操作 |
|
||||
| ---------------- | ------ | ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------- |
|
||||
| `relate_id` | bigint | dwd_member_balance_change_ex | 关联业务单据 ID(充值单/消费订单/退款单)。采样值: 3904 个 distinct,0% NULL。约 9% 关联 recharge_settlements,其余关联订单/退款等。余额变动溯源的关键外键 | 新增 DWD 列 + FACT_MAPPINGS |
|
||||
|
||||
### ⏭️ 跳过字段
|
||||
|
||||
无
|
||||
|
||||
---
|
||||
|
||||
## 6. tenant_goods_master(租户商品档案)
|
||||
|
||||
### ✅ 待新增 / 补映射字段
|
||||
|
||||
无
|
||||
|
||||
### ⏭️ 跳过字段
|
||||
|
||||
| ODS 列 | 跳过原因 |
|
||||
| ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `commoditycode` | 与 `commodity_code` 100% 冗余(353/353 条验证:`commoditycode` = `'{' + `commodity_code ` + '}'`,花括号包裹格式)。DWD 如需商品编码应映射 `commodity_code`(纯值) |
|
||||
|
||||
---
|
||||
|
||||
## 7. site_tables_master(台桌档案)— A 类
|
||||
|
||||
> 二次审核结论:原方案 14 个字段,经数据库验证后分为 3 个有多值 + 11 个单值。
|
||||
> 用户要求全部纳入待新增映射。单值字段当前门店配置统一,未来多门店扩展后可能出现差异。
|
||||
|
||||
### ✅ 待新增 / 补映射字段
|
||||
|
||||
| ODS 列 → DWD 列 | 类型 | 目标表 | 说明 | 操作 |
|
||||
| -------------------------- | ----------- | ------------ | ------------------------------------------------------------------------------ | --------------------------- |
|
||||
| `create_time` | timestamptz | dim_table_ex | 台桌创建时间。值域: 2025-07-15 ~ 2025-12-12,0% NULL。可用于分析台桌上线时间线 | 新增 DWD 列 + FACT_MAPPINGS |
|
||||
| `light_status` | integer | dim_table_ex | 灯光状态。2 个 distinct(1/2)。实时状态字段,SCD2 中会频繁变更 | 新增 DWD 列 + FACT_MAPPINGS |
|
||||
| `tablestatusname` | text | dim_table_ex | 台桌状态名。3 个 distinct(空闲中/使用中/暂停中)。实时状态字段 | 新增 DWD 列 + FACT_MAPPINGS |
|
||||
| `sitename` | text | dim_table_ex | 门店名称。当前单值(`朗朗桌球`),多门店扩展后有区分度 | 新增 DWD 列 + FACT_MAPPINGS |
|
||||
| `appletQrCodeUrl` | text | dim_table_ex | 小程序二维码 URL。运营/展示用途,含环境参数 | 新增 DWD 列 + FACT_MAPPINGS |
|
||||
| `audit_status` | integer | dim_table_ex | 审核状态。当前单值(全部为 `2`,已审核通过) | 新增 DWD 列 + FACT_MAPPINGS |
|
||||
| `charge_free` | integer | dim_table_ex | 收费模式。当前单值(全部为 `0`,收费) | 新增 DWD 列 + FACT_MAPPINGS |
|
||||
| `delay_lights_time` | integer | dim_table_ex | 延迟关灯时间。当前单值(全部为 `0`,未启用) | 新增 DWD 列 + FACT_MAPPINGS |
|
||||
| `is_rest_area` | integer | dim_table_ex | 是否休息区。当前单值(全部为 `0`) | 新增 DWD 列 + FACT_MAPPINGS |
|
||||
| `only_allow_groupon` | integer | dim_table_ex | 仅允许团购。当前单值(全部为 `2`) | 新增 DWD 列 + FACT_MAPPINGS |
|
||||
| `order_delay_time` | integer | dim_table_ex | 订单延迟时间。当前单值(全部为 `0`) | 新增 DWD 列 + FACT_MAPPINGS |
|
||||
| `self_table` | integer | dim_table_ex | 自助台桌标记。当前单值(全部为 `1`) | 新增 DWD 列 + FACT_MAPPINGS |
|
||||
| `temporary_light_second` | integer | dim_table_ex | 临时亮灯秒数。当前单值(全部为 `0`,未启用) | 新增 DWD 列 + FACT_MAPPINGS |
|
||||
| `virtual_table` | integer | dim_table_ex | 虚拟台桌标记。当前单值(全部为 `0`) | 新增 DWD 列 + FACT_MAPPINGS |
|
||||
|
||||
---
|
||||
|
||||
## 8. recharge_settlements(充值结算单)— B 类
|
||||
|
||||
> 二次审核结论:5 个字段在 ODS 和 DWD 两侧数据全为 0(业务未启用),DWD 列已存在,仅需补 FACT_MAPPINGS。
|
||||
|
||||
### ✅ 待新增 / 补映射字段
|
||||
|
||||
| ODS 列 → DWD 列 | 类型 | 目标表 | 说明 | 操作 |
|
||||
| ------------------------------------------------------ | ------------- | ------------------ | ------------------------------------------------ | ------------------ |
|
||||
| `plcouponsaleamount → pl_coupon_sale_amount` | numeric(18,2) | dwd_recharge_order | 平台券销售金额。ODS/DWD 两侧全为 0(业务未启用) | 仅补 FACT_MAPPINGS |
|
||||
| `mervousalesamount → mervou_sales_amount` | numeric(18,2) | dwd_recharge_order | 美团/大众点评等平台销售金额。全为 0 | 仅补 FACT_MAPPINGS |
|
||||
| `electricitymoney → electricity_money` | numeric(18,2) | dwd_recharge_order | 电费金额。全为 0 | 仅补 FACT_MAPPINGS |
|
||||
| `realelectricitymoney → real_electricity_money` | numeric(18,2) | dwd_recharge_order | 实际电费金额。全为 0 | 仅补 FACT_MAPPINGS |
|
||||
| `electricityadjustmoney → electricity_adjust_money` | numeric(18,2) | dwd_recharge_order | 电费调整金额。全为 0 | 仅补 FACT_MAPPINGS |
|
||||
|
||||
### ⏭️ 跳过字段
|
||||
|
||||
无
|
||||
|
||||
---
|
||||
|
||||
## 9. store_goods_master(门店商品档案)
|
||||
|
||||
🔴 映射错误(需修正)
|
||||
|
||||
| # | DWD 列 | 当前映射 ODS 列 | 正确 ODS 列 | 验证 |
|
||||
| - | --------------------------------------------- | --------------------------------------- | -------------------------------------- | ---------------------------------------------------------------------------------------- |
|
||||
| 1 | dim_store_goods.`batch_stock_qty` | `stock`(当前库存) | `batch_stock_quantity`(批次库存) | 1744 行中仅 127 行相等(7.3%),两者 distinct 分别为 96 vs 240,语义完全不同 |
|
||||
| 2 | dim_store_goods_ex.`provisional_total_cost` | `total_purchase_cost`(实际采购成本) | `provisional_total_cost`(暂估成本) | 1744 行中 1631 行相等(93.5%),但 113 行不同;distinct 分别为 5 vs 17,是不同的成本维度 |
|
||||
|
||||
修正方案:
|
||||
|
||||
1. `batch_stock_qty` 的 FACT_MAPPINGS 从 `stock` 改为 `batch_stock_quantity`
|
||||
2. `provisional_total_cost` 的 FACT_MAPPINGS 从 `total_purchase_cost` 改为 `provisional_total_cost`
|
||||
|
||||
### ✅ 待新增 / 补映射字段
|
||||
|
||||
以下 ODS 字段当前未出现在任何 DWD 表中(既不在 FACT_MAPPINGS 中,也无法同名自动映射):
|
||||
|
||||
| ODS 列 → DWD 列 | 类型 | 目标表 | 说明 | 操作 |
|
||||
| -------------------------- | ------------- | --------------- | ------------------------------------------------------------------------------------ | -------------------------- |
|
||||
| `batch_stock_quantity` | numeric(18,2) | dim_store_goods | 批次库存数量。96 个 distinct,0% NULL。修正 `batch_stock_qty` 映射后此字段自动覆盖 | 修正 FACT_MAPPINGS(见上) |
|
||||
| `provisional_total_cost` | numeric(18,2) | dim_store_goods | 暂估总成本。5 个 distinct,0% NULL。修正映射后此字段自动覆盖 | 修正 FACT_MAPPINGS(见上) |
|
||||
|
||||
### ⏭️ 跳过字段
|
||||
|
||||
| ODS 列 | 跳过原因 |
|
||||
| ------------------ | --------------------------------------------------------------------------- |
|
||||
| `time_slot_sale` | ODS 列不存在。payload 中仅 19.8% 记录有值,且全部为单一值 `"2"`,无区分度 |
|
||||
|
||||
---
|
||||
|
||||
## 10. goods_stock_summary(库存汇总)— C 类(需修改 ODS 任务配置后重新采集)
|
||||
|
||||
> 三次审核结论(API 实测验证):
|
||||
> - 原结论"range 系列全为 0、建议暂缓"已推翻
|
||||
> - 实测发现:该 API 支持 `startTime`/`endTime` 参数,传入日期范围后 range 字段返回真实汇总数据
|
||||
> - 当前 range 全为 0 的原因:ODS 任务配置 `requires_window=False`,从未向 API 传递日期参数
|
||||
> - 该表本质是**报表型 API**(带时间范围聚合能力),不是纯维表
|
||||
|
||||
### API 实测结果
|
||||
|
||||
| 测试场景 | 参数 | range 字段结果 |
|
||||
| -------- | ---- | -------------- |
|
||||
| ① 无日期参数(当前行为) | 无 | 全部为 0 |
|
||||
| ② `startTime`/`endTime`(30 天) | `startTime=2026-01-20, endTime=2026-02-19` | **有真实数据**(rangeIn=24, rangeOut=-3, rangeSale=3, rangeSaleMoney=24.0 等) |
|
||||
| ③ `rangeStartTime`/`rangeEndTime` | 同上日期 | 全部为 0(API 不识别此参数名) |
|
||||
|
||||
结论:API 仅识别 `startTime`/`endTime` 参数名。
|
||||
|
||||
### ODS 任务配置现状
|
||||
|
||||
```python
|
||||
# apps/etl/connectors/feiqiu/tasks/ods/ods_tasks.py
|
||||
OdsTaskSpec(
|
||||
code="ODS_INVENTORY_STOCK",
|
||||
table_name="ods.goods_stock_summary",
|
||||
endpoint="/TenantGoods/GetGoodsStockReport",
|
||||
requires_window=False, # ← 问题根因:从不传日期参数
|
||||
...
|
||||
)
|
||||
```
|
||||
|
||||
### 修复方案
|
||||
|
||||
1. 将 `requires_window` 改为 `True`
|
||||
2. 添加 `time_fields=("startTime", "endTime")`,使调度器按窗口传入日期范围
|
||||
3. 重新采集历史数据(按时间窗口分批)
|
||||
4. 采集完成后,range 字段将有真实汇总数据,可正常建设 DWD 表
|
||||
|
||||
### 数据概况(当前,修复前)
|
||||
|
||||
| 指标 | 值 |
|
||||
| -------------------------------------------------------- | ------------------ |
|
||||
| 总行数 | 1,088 |
|
||||
| distinct 商品数 | 173 |
|
||||
| 所有字段 NULL 率 | 0% |
|
||||
| rangein/rangeout/rangesale/rangesalemoney/rangeinventory | 全部为 0(因未传日期参数) |
|
||||
| currentstock 值域 | 0 ~ 976 |
|
||||
| rangestartstock/rangeendstock 值域 | 0 ~ 976 |
|
||||
|
||||
### ✅ 待新增 / 补映射字段
|
||||
|
||||
| ODS 列 → DWD 列 | 类型 | 目标表 | 说明 | 操作 |
|
||||
| --------------------- | ---- | ------------------------------- | -------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- |
|
||||
| `全部 14 个 ODS 列` | | dwd_goods_stock_summary(新建) | 修改 ODS 任务配置(`requires_window=True` + `time_fields`)并重新采集后,range 字段将有真实数据,可正常建设 DWD 表 | 修改 ODS 配置 → 重新采集 → 新建 DWD 表 |
|
||||
|
||||
### ⏭️ 跳过字段
|
||||
|
||||
无
|
||||
|
||||
---
|
||||
|
||||
## 11. goods_stock_movements(库存变动明细)— C 类(建议优先级:中)
|
||||
|
||||
> 二次审核结论:35,606 行流水数据,时间跨度 7 个月,数据质量优秀(除 remark 外所有字段 0% NULL)。
|
||||
> 支持双单位管理(changenum/changenuma),是库存管理的核心流水数据。
|
||||
|
||||
### 数据概况
|
||||
|
||||
| 指标 | 值 |
|
||||
| ----------------- | --------------------------------------------------- |
|
||||
| 总行数 | 35,606 |
|
||||
| distinct 流水 ID | 34,961 |
|
||||
| distinct 商品 | 165 |
|
||||
| distinct 库存类型 | 6(1=销售出库, 2=采购入库, 4=盘点调整, 7/8/9=其他) |
|
||||
| distinct 操作人 | 8 |
|
||||
| 价格范围 | 2.00 ~ 11,360.00 |
|
||||
| 变动数量范围 | -66 ~ 1,000 |
|
||||
| 时间范围 | 2025-07-18 ~ 2026-02-14 |
|
||||
| remark NULL 率 | 96.4%(仅特殊操作时填写) |
|
||||
| 其他字段 NULL 率 | 全部 0% |
|
||||
|
||||
### ✅ 待新增 / 补映射字段
|
||||
|
||||
| ODS 列 → DWD 列 | 类型 | 目标表 | 说明 | 操作 |
|
||||
| --------------------- | ---- | -------------------------------- | ------------------------------------------------ | ----------------------------------------------------- |
|
||||
| `全部 19 个 ODS 列` | | dwd_goods_stock_movement(新建) | 事实表,按 createtime 增量加载。驼峰 → 蛇形命名 | 新建 DWD 表 + TABLE_MAP + FACT_MAPPINGS + loader/task |
|
||||
|
||||
### ⏭️ 跳过字段
|
||||
|
||||
无
|
||||
|
||||
---
|
||||
|
||||
## 附录:其他表(无字段新增需求,仅记录跳过项)
|
||||
|
||||
### payment_transactions / refund_transactions / platform_coupon_redemption_records / table_fee_transactions / table_fee_discount_records
|
||||
|
||||
这些表的 ODS→DWD 未映射字段均为 `siteprofile` 和/或 `tableprofile`(jsonb 嵌套列),全部跳过。
|
||||
|
||||
### stock_goods_category_tree
|
||||
|
||||
`categoryboxes`(jsonb)跳过——子分类信息已通过表本身的行级记录(每行一个分类节点 + pid 父子关系)表达,categoryboxes 是冗余的嵌套视图。
|
||||
|
||||
### group_buy_packages
|
||||
|
||||
API→ODS 未映射(平层)2 个数组字段:
|
||||
|
||||
- `tenantTableAreaIdList[]`:ODS 已有 `tenant_table_area_id_list`(jsonb),72.9% NULL
|
||||
- `tableAreaNameList[]`:ODS `table_area_id_list` 全为 NULL,但 payload 中有值(`["A区"]`, `["B区"]` 等)。存在字段名映射错位,建议后续修复 ODS 平层化映射
|
||||
|
||||
---
|
||||
|
||||
## 详细审核报告(分批)
|
||||
|
||||
完整的逐字段数据库验证结果见:
|
||||
|
||||
- `field_review_batch1_1.1.1-1.1.9.md` — 第一批(助教/商品/支付/退款/券核销)
|
||||
- `field_review_batch2_1.1.12-1.1.17.md` — 第二批(余额变动/充值结算/团购/库存/台桌)
|
||||
- `field_review_batch3_1.1.18-1.1.21.md` — 第三批(分类树/门店商品/台费折扣/租户商品)
|
||||
Reference in New Issue
Block a user