在前后端开发联调前 的提交20260223
This commit is contained in:
0
export/ETL-Connectors/feiqiu/REPORTS/.gitkeep
Normal file
0
export/ETL-Connectors/feiqiu/REPORTS/.gitkeep
Normal file
@@ -0,0 +1,183 @@
|
||||
# 黑盒集成测试报告
|
||||
|
||||
生成时间: 2026-02-20 18:12:25
|
||||
ETL 日志: `703747ca8db84aa785405fc75ee388a2.log`
|
||||
测试窗口: 2025-11-01 ~ 2026-02-20 (full_window 模式)
|
||||
|
||||
## 1. ETL 执行总览
|
||||
|
||||
| 指标 | 值 |
|
||||
|------|-----|
|
||||
| 成功任务 | 25 |
|
||||
| 失败任务 | 1 |
|
||||
| 跳过任务 | 14 |
|
||||
| 总计 | 40 |
|
||||
|
||||
### 失败任务详情
|
||||
|
||||
- **DWS_RELATION_INDEX**: 错误: 字段 d.is_delete 不存在
|
||||
|
||||
### 跳过任务(未注册)
|
||||
|
||||
- DWS_ASSISTANT_DAILY
|
||||
- DWS_ASSISTANT_MONTHLY
|
||||
- DWS_ASSISTANT_CUSTOMER
|
||||
- DWS_ASSISTANT_SALARY
|
||||
- DWS_ASSISTANT_FINANCE
|
||||
- DWS_MEMBER_CONSUMPTION
|
||||
- DWS_MEMBER_VISIT
|
||||
- DWS_FINANCE_DAILY
|
||||
- DWS_FINANCE_RECHARGE
|
||||
- DWS_FINANCE_INCOME_STRUCTURE
|
||||
- DWS_FINANCE_DISCOUNT_DETAIL
|
||||
- DWS_GOODS_STOCK_DAILY
|
||||
- DWS_GOODS_STOCK_WEEKLY
|
||||
- DWS_GOODS_STOCK_MONTHLY
|
||||
|
||||
## 2. 输入侧(API)vs 输出侧(ODS)对比
|
||||
|
||||
| 任务 | ODS 表 | API 抓取数 | ODS 总行数 | ODS 去重ID | ETL 状态 |
|
||||
|------|--------|-----------|-----------|-----------|---------|
|
||||
| ODS_ASSISTANT_ABOLISH | assistant_cancellation_records | 78 | 178 | 100 | SUCC |
|
||||
| ODS_ASSISTANT_ACCOUNT | assistant_accounts_master | 828 | 295 | 69 | SUCC |
|
||||
| ODS_ASSISTANT_LEDGER | assistant_service_records | 2307 | 12561 | 5297 | SUCC |
|
||||
| ODS_GOODS_CATEGORY | stock_goods_category_tree | 108 | 18 | 9 | SUCC |
|
||||
| ODS_GROUP_BUY_REDEMPTION | group_buy_redemption_records | 88140 | 27284 | 12768 | SUCC |
|
||||
| ODS_GROUP_PACKAGE | group_buy_packages | 216 | 70 | 34 | SUCC |
|
||||
| ODS_INVENTORY_CHANGE | goods_stock_movements | 14556 | -1 | -1 | SUCC |
|
||||
| ODS_INVENTORY_STOCK | goods_stock_summary | 2249 | -1 | -1 | SUCC |
|
||||
| ODS_MEMBER | member_profiles | 6684 | 1771 | 557 | SUCC |
|
||||
| ODS_MEMBER_BALANCE | member_balance_changes | 26556 | 9684 | 5081 | SUCC |
|
||||
| ODS_MEMBER_CARD | member_stored_value_cards | 11352 | 2973 | 946 | SUCC |
|
||||
| ODS_PAYMENT | payment_transactions | 129024 | 36006 | 24922 | SUCC |
|
||||
| ODS_PLATFORM_COUPON | platform_coupon_redemption_records | 219732 | 36678 | 18311 | SUCC |
|
||||
| ODS_RECHARGE_SETTLE | recharge_settlements | 194 | 3527 | 485 | SUCC |
|
||||
| ODS_REFUND | refund_transactions | 360 | 83 | 51 | SUCC |
|
||||
| ODS_SETTLEMENT_RECORDS | settlement_records | 10491 | 66073 | 26435 | SUCC |
|
||||
| ODS_STORE_GOODS | store_goods_master | 2076 | 1789 | 173 | SUCC |
|
||||
| ODS_STORE_GOODS_SALES | store_goods_sales_records | 0 | 17563 | 17563 | SUCC |
|
||||
| ODS_TABLES | site_tables_master | 888 | 1074 | 74 | SUCC |
|
||||
| ODS_TABLE_FEE_DISCOUNT | table_fee_discount_records | 19644 | 4818 | 3124 | SUCC |
|
||||
| ODS_TABLE_USE | table_fee_transactions | 110484 | 38585 | 20132 | SUCC |
|
||||
| ODS_TENANT_GOODS | tenant_goods_master | 2088 | 353 | 174 | SUCC |
|
||||
|
||||
> 说明: ODS 采用快照模式 (id, content_hash) 为 PK,content_hash 变化产生新行,
|
||||
> 因此 ODS 总行数 ≥ ODS 去重 ID 数。API 抓取数 = 本次 ETL 从 API 获取的记录数。
|
||||
|
||||
## 3. ODS → DWD 行数对比
|
||||
|
||||
| DWD 表 | ODS 表 | 类型 | ODS 总行 | ODS 去重ID | DWD 行数 | 比率 |
|
||||
|--------|--------|------|---------|-----------|---------|------|
|
||||
| dwd.dim_assistant | ods.assistant_accounts_master | 维度(SCD2) | 295 | 69 | 1266 | 18.35 |
|
||||
| dwd.dim_goods_category | ods.stock_goods_category_tree | 维度(SCD2) | 18 | 9 | 125 | 13.89 |
|
||||
| dwd.dim_groupbuy_package | ods.group_buy_packages | 维度(SCD2) | 70 | 34 | 373 | 10.97 |
|
||||
| dwd.dim_member | ods.member_profiles | 维度(SCD2) | 1771 | 557 | 10801 | 19.39 |
|
||||
| dwd.dim_member_card_account | ods.member_stored_value_cards | 维度(SCD2) | 2973 | 946 | 18370 | 19.42 |
|
||||
| dwd.dim_store_goods | ods.store_goods_master | 维度(SCD2) | 1789 | 173 | 5444 | 31.47 |
|
||||
| dwd.dim_table | ods.site_tables_master | 维度(SCD2) | 1074 | 74 | 2881 | 38.93 |
|
||||
| dwd.dim_tenant_goods | ods.tenant_goods_master | 维度(SCD2) | 353 | 174 | 2018 | 11.6 |
|
||||
| dwd.dwd_assistant_service_log | ods.assistant_service_records | 事实 | 12561 | 5297 | 5297 | 1.0 |
|
||||
| dwd.dwd_assistant_trash_event | ods.assistant_cancellation_records | 事实 | 178 | 100 | 100 | 1.0 |
|
||||
| dwd.dwd_groupbuy_redemption | ods.group_buy_redemption_records | 事实 | 27284 | 12768 | 12768 | 1.0 |
|
||||
| dwd.dwd_member_balance_change | ods.member_balance_changes | 事实 | 9684 | 5081 | 5081 | 1.0 |
|
||||
| dwd.dwd_payment | ods.payment_transactions | 事实 | 36006 | 24922 | 24922 | 1.0 |
|
||||
| dwd.dwd_platform_coupon_redemption | ods.platform_coupon_redemption_records | 事实 | 36678 | 18311 | 18311 | 1.0 |
|
||||
| dwd.dwd_recharge_order | ods.recharge_settlements | 事实 | 3527 | 485 | 485 | 1.0 |
|
||||
| dwd.dwd_refund | ods.refund_transactions | 事实 | 83 | 51 | 51 | 1.0 |
|
||||
| dwd.dwd_settlement_head | ods.settlement_records | 事实 | 66073 | 26435 | 26435 | 1.0 |
|
||||
| dwd.dwd_store_goods_sale | ods.store_goods_sales_records | 事实 | 17563 | 17563 | 17563 | 1.0 |
|
||||
| dwd.dwd_table_fee_adjust | ods.table_fee_discount_records | 事实 | 4818 | 3124 | 3124 | 1.0 |
|
||||
| dwd.dwd_table_fee_log | ods.table_fee_transactions | 事实 | 38585 | 20132 | 20132 | 1.0 |
|
||||
|
||||
> 说明: 维度表(SCD2)的 DWD 行数可能 > ODS 去重 ID(历史版本保留)。
|
||||
> 事实表的 DWD 行数应 ≈ ODS 去重 ID 数。比率 = DWD行数 / ODS去重ID。
|
||||
|
||||
## 4. DWD 数据质量(NULL 率抽样)
|
||||
|
||||
| DWD 表 | 总行数 | NULL 列情况 |
|
||||
|--------|--------|------------|
|
||||
| dwd.dim_assistant | 1266 | 无 NULL |
|
||||
| dwd.dim_assistant_ex | 1251 | avatar=0.9%, introduce=100.0% |
|
||||
| dwd.dim_goods_category | 125 | alias_name=86.4%, parent_category_id=79.2% |
|
||||
| dwd.dim_groupbuy_package | 373 | package_template_id=90.9% |
|
||||
| dwd.dim_groupbuy_package_ex | 373 | usable_range=100.0% |
|
||||
| dwd.dim_member | 10801 | 无 NULL |
|
||||
| dwd.dim_member_card_account | 18370 | 无 NULL |
|
||||
| dwd.dim_member_card_account_ex | 18172 | tenant_name=100.0%, tenantavatar=100.0% |
|
||||
| dwd.dim_member_ex | 10770 | register_site_name=94.8% |
|
||||
| dwd.dim_site | 55 | org_id=98.2%, shop_name=98.2%, site_label=98.2% |
|
||||
| dwd.dim_site_ex | 55 | avatar=98.2%, address=98.2%, longitude=98.2%, latitude=98.2% |
|
||||
| dwd.dim_store_goods | 5444 | 无 NULL |
|
||||
| dwd.dim_store_goods_ex | 5402 | site_name=86.5%, goods_barcode=100.0%, goods_cover_url=86.5% |
|
||||
| dwd.dim_table | 2881 | site_table_area_name=91.4% |
|
||||
| dwd.dim_table_ex | 3035 | table_cloth_use_time=100.0% |
|
||||
| dwd.dim_tenant_goods | 2018 | category_name=91.3% |
|
||||
| dwd.dim_tenant_goods_ex | 2016 | remark_name=100.0%, goods_bar_code=100.0% |
|
||||
| dwd.dwd_assistant_service_log | 5297 | 无 NULL |
|
||||
| dwd.dwd_assistant_service_log_ex | 5281 | table_name=9.8%, ledger_group_name=100.0% |
|
||||
| dwd.dwd_assistant_trash_event | 100 | 无 NULL |
|
||||
| dwd.dwd_assistant_trash_event_ex | 100 | 无 NULL |
|
||||
| dwd.dwd_groupbuy_redemption | 12768 | 无 NULL |
|
||||
| dwd.dwd_groupbuy_redemption_ex | 12768 | 无 NULL |
|
||||
| dwd.dwd_member_balance_change | 5081 | 无 NULL |
|
||||
| dwd.dwd_member_balance_change_ex | 5081 | pay_site_name=0.5% |
|
||||
| dwd.dwd_payment | 24922 | 无 NULL |
|
||||
| dwd.dwd_platform_coupon_redemption | 18311 | 无 NULL |
|
||||
| dwd.dwd_platform_coupon_redemption_ex | 18311 | coupon_cover=100.0%, coupon_remark=94.1% |
|
||||
| dwd.dwd_recharge_order | 485 | 无 NULL |
|
||||
| dwd.dwd_recharge_order_ex | 485 | 无 NULL |
|
||||
| dwd.dwd_refund | 51 | 无 NULL |
|
||||
| dwd.dwd_refund_ex | 51 | 无 NULL |
|
||||
| dwd.dwd_settlement_head | 26435 | 无 NULL |
|
||||
| dwd.dwd_settlement_head_ex | 26435 | revoke_order_name=100.0% |
|
||||
| dwd.dwd_store_goods_sale | 17563 | 无 NULL |
|
||||
| dwd.dwd_store_goods_sale_ex | 17563 | goods_remark=27.0% |
|
||||
| dwd.dwd_table_fee_adjust | 3124 | 无 NULL |
|
||||
| dwd.dwd_table_fee_adjust_ex | 3124 | ledger_name=100.0% |
|
||||
| dwd.dwd_table_fee_log | 20132 | 无 NULL |
|
||||
| dwd.dwd_table_fee_log_ex | 20132 | salesman_name=100.0% |
|
||||
|
||||
## 5. DWS 汇总层检查
|
||||
|
||||
| DWS 表 | 行数 | 最新日期 | 状态 |
|
||||
|--------|------|---------|------|
|
||||
| dws.cfg_area_category | 0 | N/A | ⚠️ 空表 |
|
||||
| dws.cfg_assistant_level_price | 0 | N/A | ⚠️ 空表 |
|
||||
| dws.cfg_bonus_rules | 0 | N/A | ⚠️ 空表 |
|
||||
| dws.cfg_index_parameters | 127 | N/A | ✅ |
|
||||
| dws.cfg_performance_tier | 0 | N/A | ⚠️ 空表 |
|
||||
| dws.cfg_skill_type | 0 | N/A | ⚠️ 空表 |
|
||||
| dws.dws_assistant_customer_stats | 0 | N/A | ⚠️ 空表 |
|
||||
| dws.dws_assistant_daily_detail | 5276 | 2026-02-09 | ✅ |
|
||||
| dws.dws_assistant_finance_analysis | 0 | N/A | ⚠️ 空表 |
|
||||
| dws.dws_assistant_monthly_summary | 0 | N/A | ⚠️ 空表 |
|
||||
| dws.dws_assistant_recharge_commission | 0 | N/A | ⚠️ 空表 |
|
||||
| dws.dws_assistant_salary_calc | 0 | N/A | ⚠️ 空表 |
|
||||
| dws.dws_finance_daily_summary | 210 | 2026-02-10 | ✅ |
|
||||
| dws.dws_finance_discount_detail | 0 | N/A | ⚠️ 空表 |
|
||||
| dws.dws_finance_expense_summary | 0 | N/A | ⚠️ 空表 |
|
||||
| dws.dws_finance_income_structure | 0 | N/A | ⚠️ 空表 |
|
||||
| dws.dws_finance_recharge_summary | 0 | N/A | ⚠️ 空表 |
|
||||
| dws.dws_goods_stock_daily_summary | 0 | N/A | ⚠️ 空表 |
|
||||
| dws.dws_goods_stock_monthly_summary | 0 | N/A | ⚠️ 空表 |
|
||||
| dws.dws_goods_stock_weekly_summary | 0 | N/A | ⚠️ 空表 |
|
||||
| dws.dws_index_percentile_history | 86 | N/A | ✅ |
|
||||
| dws.dws_member_assistant_intimacy | 219 | N/A | ✅ |
|
||||
| dws.dws_member_assistant_relation_index | 0 | N/A | ⚠️ 空表 |
|
||||
| dws.dws_member_consumption_summary | 0 | N/A | ⚠️ 空表 |
|
||||
| dws.dws_member_newconv_index | 14 | N/A | ✅ |
|
||||
| dws.dws_member_recall_index | 0 | N/A | ⚠️ 空表 |
|
||||
| dws.dws_member_visit_detail | 4398 | N/A | ✅ |
|
||||
| dws.dws_member_winback_index | 62 | N/A | ✅ |
|
||||
| dws.dws_ml_manual_order_alloc | 0 | N/A | ⚠️ 空表 |
|
||||
| dws.dws_ml_manual_order_source | 0 | N/A | ⚠️ 空表 |
|
||||
| dws.dws_order_summary | 12920 | N/A | ✅ |
|
||||
| dws.dws_platform_settlement | 0 | N/A | ⚠️ 空表 |
|
||||
|
||||
## 6. 结论
|
||||
|
||||
- ODS 层: 22/22 个任务成功入库
|
||||
- DWD 层: 20/20 个表有数据
|
||||
- DWS 层: 9/32 个表有数据
|
||||
- 失败任务: 1 个(详见第 1 节)
|
||||
- 跳过任务: 14 个(未注册的 DWS 任务)
|
||||
@@ -0,0 +1,785 @@
|
||||
# ETL 全链路数据一致性检查报告
|
||||
|
||||
生成时间: 2026-02-21 11:57:51 CST
|
||||
ETL 日志: `703747ca8db84aa785405fc75ee388a2.log`
|
||||
|
||||
## 1. ETL 执行概览
|
||||
|
||||
| 指标 | 值 |
|
||||
|------|-----|
|
||||
| 成功任务 | 25 |
|
||||
| 失败任务 | 1 |
|
||||
| 跳过任务 | 14 |
|
||||
| 总计 | 40 |
|
||||
|
||||
### 失败任务
|
||||
|
||||
- **DWS_RELATION_INDEX**: 错误: 字段 d.is_delete 不存在
|
||||
|
||||
## 2. API↔ODS 数据一致性
|
||||
|
||||
### 2.1 汇总
|
||||
|
||||
| ODS 表 | API 记录数 | ODS 行数 | ODS 去重ID | 字段匹配 | API独有 | ODS独有 | 值差异 | 状态 |
|
||||
|--------|-----------|---------|-----------|---------|--------|--------|-------|------|
|
||||
| `assistant_cancellation_records` | 0 | 0 | 0 | 0/0 | 0 | 0 | 0 | ⚠️ 无 API JSON |
|
||||
| `assistant_accounts_master` | 0 | 0 | 0 | 0/0 | 0 | 0 | 0 | ⚠️ 无 API JSON |
|
||||
| `assistant_service_records` | 0 | 0 | 0 | 0/0 | 0 | 0 | 0 | ⚠️ 无 API JSON |
|
||||
| `stock_goods_category_tree` | 0 | 0 | 0 | 0/0 | 0 | 0 | 0 | ⚠️ 无 API JSON |
|
||||
| `group_buy_redemption_records` | 0 | 0 | 0 | 0/0 | 0 | 0 | 0 | ⚠️ 无 API JSON |
|
||||
| `group_buy_packages` | 0 | 0 | 0 | 0/0 | 0 | 0 | 0 | ⚠️ 无 API JSON |
|
||||
| `goods_stock_movements` | 0 | 0 | 0 | 0/0 | 0 | 0 | 0 | ⚠️ 无 API JSON |
|
||||
| `goods_stock_summary` | 0 | 0 | 0 | 0/0 | 0 | 0 | 0 | ⚠️ 无 API JSON |
|
||||
| `member_profiles` | 0 | 0 | 0 | 0/0 | 0 | 0 | 0 | ⚠️ 无 API JSON |
|
||||
| `member_balance_changes` | 0 | 0 | 0 | 0/0 | 0 | 0 | 0 | ⚠️ 无 API JSON |
|
||||
| `member_stored_value_cards` | 0 | 0 | 0 | 0/0 | 0 | 0 | 0 | ⚠️ 无 API JSON |
|
||||
| `payment_transactions` | 0 | 0 | 0 | 0/0 | 0 | 0 | 0 | ⚠️ 无 API JSON |
|
||||
| `platform_coupon_redemption_records` | 0 | 0 | 0 | 0/0 | 0 | 0 | 0 | ⚠️ 无 API JSON |
|
||||
| `recharge_settlements` | 0 | 0 | 0 | 0/0 | 0 | 0 | 0 | ⚠️ 无 API JSON |
|
||||
| `refund_transactions` | 0 | 0 | 0 | 0/0 | 0 | 0 | 0 | ⚠️ 无 API JSON |
|
||||
| `settlement_records` | 0 | 0 | 0 | 0/0 | 0 | 0 | 0 | ⚠️ 无 API JSON |
|
||||
| `store_goods_master` | 0 | 0 | 0 | 0/0 | 0 | 0 | 0 | ⚠️ 无 API JSON |
|
||||
| `store_goods_sales_records` | 0 | 0 | 0 | 0/0 | 0 | 0 | 0 | ⚠️ 无 API JSON |
|
||||
| `site_tables_master` | 0 | 0 | 0 | 0/0 | 0 | 0 | 0 | ⚠️ 无 API JSON |
|
||||
| `table_fee_discount_records` | 0 | 0 | 0 | 0/0 | 0 | 0 | 0 | ⚠️ 无 API JSON |
|
||||
| `table_fee_transactions` | 0 | 0 | 0 | 0/0 | 0 | 0 | 0 | ⚠️ 无 API JSON |
|
||||
| `tenant_goods_master` | 0 | 0 | 0 | 0/0 | 0 | 0 | 0 | ⚠️ 无 API JSON |
|
||||
|
||||
## 3. ODS↔DWD 数据一致性
|
||||
|
||||
### 3.1 汇总
|
||||
|
||||
| DWD 表 | ODS 表 | 类型 | ODS 行 | ODS 去重ID | DWD 行 | 共同列 | DWD独有 | 值差异 | 状态 |
|
||||
|--------|--------|------|-------|-----------|-------|-------|--------|-------|------|
|
||||
| `dwd.dim_assistant` | `ods.assistant_accounts_master` | 维度(SCD2) | 295 | 69 | 1266 | 14 | 5 | 0 | ❌ 存在差异 |
|
||||
| `dwd.dim_goods_category` | `ods.stock_goods_category_tree` | 维度(SCD2) | 18 | 9 | 125 | 7 | 9 | 0 | ❌ 存在差异 |
|
||||
| `dwd.dim_groupbuy_package` | `ods.group_buy_packages` | 维度(SCD2) | 70 | 34 | 373 | 14 | 8 | 0 | ❌ 存在差异 |
|
||||
| `dwd.dim_member` | `ods.member_profiles` | 维度(SCD2) | 1771 | 557 | 10801 | 10 | 6 | 0 | ❌ 存在差异 |
|
||||
| `dwd.dim_member_card_account` | `ods.member_stored_value_cards` | 维度(SCD2) | 2973 | 946 | 18370 | 18 | 5 | 0 | ❌ 存在差异 |
|
||||
| `dwd.dim_store_goods` | `ods.store_goods_master` | 维度(SCD2) | 1789 | 173 | 5444 | 13 | 13 | 0 | ❌ 存在差异 |
|
||||
| `dwd.dim_table` | `ods.site_tables_master` | 维度(SCD2) | 1074 | 74 | 2881 | 5 | 7 | 0 | ❌ 存在差异 |
|
||||
| `dwd.dim_tenant_goods` | `ods.tenant_goods_master` | 维度(SCD2) | 353 | 174 | 2018 | 13 | 6 | 0 | ❌ 存在差异 |
|
||||
| `dwd.dwd_assistant_service_log` | `ods.assistant_service_records` | 事实 | 12561 | 5297 | 5297 | 29 | 4 | 0 | ❌ 存在差异 |
|
||||
| `dwd.dwd_assistant_trash_event` | `ods.assistant_cancellation_records` | 事实 | 178 | 100 | 100 | 1 | 10 | 0 | ❌ 存在差异 |
|
||||
| `dwd.dwd_groupbuy_redemption` | `ods.group_buy_redemption_records` | 事实 | 27284 | 12768 | 12768 | 24 | 1 | 0 | ❌ 存在差异 |
|
||||
| `dwd.dwd_member_balance_change` | `ods.member_balance_changes` | 事实 | 9684 | 5081 | 5081 | 13 | 9 | 0 | ❌ 存在差异 |
|
||||
| `dwd.dwd_payment` | `ods.payment_transactions` | 事实 | 36006 | 24922 | 24922 | 10 | 2 | 0 | ❌ 存在差异 |
|
||||
| `dwd.dwd_platform_coupon_redemption` | `ods.platform_coupon_redemption_records` | 事实 | 36678 | 18311 | 18311 | 19 | 1 | 0 | ❌ 存在差异 |
|
||||
| `dwd.dwd_recharge_order` | `ods.recharge_settlements` | 事实 | 3527 | 485 | 485 | 0 | 24 | 0 | ✅ |
|
||||
| `dwd.dwd_refund` | `ods.refund_transactions` | 事实 | 83 | 51 | 51 | 11 | 1 | 0 | ❌ 存在差异 |
|
||||
| `dwd.dwd_settlement_head` | `ods.settlement_records` | 事实 | 66073 | 26435 | 26435 | 0 | 37 | 0 | ✅ |
|
||||
| `dwd.dwd_store_goods_sale` | `ods.store_goods_sales_records` | 事实 | 17563 | 17563 | 17563 | 23 | 1 | 0 | ❌ 存在差异 |
|
||||
| `dwd.dwd_table_fee_adjust` | `ods.table_fee_discount_records` | 事实 | 4818 | 3124 | 3124 | 11 | 5 | 0 | ❌ 存在差异 |
|
||||
| `dwd.dwd_table_fee_log` | `ods.table_fee_transactions` | 事实 | 38585 | 20132 | 20132 | 28 | 1 | 0 | ❌ 存在差异 |
|
||||
|
||||
### 3.2 dwd.dim_assistant 详情
|
||||
|
||||
**DWD 独有列** (5 个): `assistant_id`, `scd2_end_time`, `scd2_is_current`, `scd2_start_time`, `scd2_version`
|
||||
|
||||
**ODS 独有列** (48 个): `allow_cx`, `assistant_grade`, `avatar`, `birth_date`, `charge_way`, `create_time`, `criticism_status`, `cx_unit_price`, `ding_talk_synced`, `end_time`, `entry_sign_status`, `entry_type`, `gender`, `get_grade_times`, `group_id`
|
||||
|
||||
<details><summary>📊 dwd.dim_assistant 字段级统计(19 列)</summary>
|
||||
|
||||
| 字段 | 类型 | NULL率 | 唯一值 | 统计 |
|
||||
|------|------|--------|--------|------|
|
||||
| `assistant_id` | int8 | 0.0% | 69 | min=2793361915547781, max=3067857612671685, avg=2880809252491745.23 |
|
||||
| `user_id` | int8 | 0.0% | 68 | min=2324804675291845, max=3067857612163781, avg=2844417384867970.47 |
|
||||
| `assistant_no` | text | 0.0% | 42 | len=1~3 |
|
||||
| `real_name` | text | 0.0% | 68 | len=2~3 |
|
||||
| `nickname` | text | 0.0% | 68 | len=2~3 |
|
||||
| `mobile` | text | 0.0% | 68 | len=11~11 |
|
||||
| `tenant_id` | int8 | 0.0% | 1 | min=2790683160709957, max=2790683160709957, avg=2790683160709957.00 |
|
||||
| `site_id` | int8 | 0.0% | 1 | min=2790685415443269, max=2790685415443269, avg=2790685415443269.00 |
|
||||
| `team_id` | int8 | 0.0% | 2 | min=2792011585884037, max=2959085810992645, avg=2850474367655848.49 |
|
||||
| `team_name` | text | 0.0% | 2 | len=2~2 |
|
||||
| `level` | int4 | 0.0% | 5 | min=8, max=40, avg=18.07 |
|
||||
| `entry_time` | timestamptz | 0.0% | 36 | 2025-07-16 08:00:00+08 ~ 2026-01-26 08:00:00+08 |
|
||||
| `resign_time` | timestamptz | 0.0% | 63 | 2025-08-01 08:00:00+08 ~ 2226-01-26 15:26:11+08 |
|
||||
| `leave_status` | int4 | 0.0% | 2 | min=0, max=1, avg=0.38 |
|
||||
| `assistant_status` | int4 | 0.0% | 2 | min=1, max=2, avg=1.15 |
|
||||
| `scd2_start_time` | timestamptz | 0.0% | 1151 | 2025-12-14 21:20:28.731914+08 ~ 2026-02-15 18:21:52.288328+08 |
|
||||
| `scd2_end_time` | timestamptz | 5.5% | 1144 | 2026-01-30 23:12:53.787306+08 ~ 2026-02-15 18:21:52.288328+08 |
|
||||
| `scd2_is_current` | int4 | 0.0% | 2 | min=0, max=1, avg=0.05 |
|
||||
| `scd2_version` | int4 | 0.0% | 9 | min=1, max=9, avg=1.15 |
|
||||
|
||||
</details>
|
||||
|
||||
### 3.2 dwd.dim_goods_category 详情
|
||||
|
||||
**DWD 独有列** (9 个): `category_id`, `category_level`, `is_leaf`, `parent_category_id`, `scd2_end_time`, `scd2_is_current`, `scd2_start_time`, `scd2_version`, `sort_order`
|
||||
|
||||
**ODS 独有列** (4 个): `categoryboxes`, `id`, `pid`, `sort`
|
||||
|
||||
<details><summary>📊 dwd.dim_goods_category 字段级统计(16 列)</summary>
|
||||
|
||||
| 字段 | 类型 | NULL率 | 唯一值 | 统计 |
|
||||
|------|------|--------|--------|------|
|
||||
| `category_id` | int8 | 0.0% | 26 | min=2790683528350533, max=2793236829620037, avg=2791668679275962.07 |
|
||||
| `tenant_id` | int8 | 0.0% | 1 | min=2790683160709957, max=2790683160709957, avg=2790683160709957.00 |
|
||||
| `category_name` | varchar | 0.0% | 18 | len=1~3 |
|
||||
| `alias_name` | varchar | 86.4% | 1 | len=0~0 |
|
||||
| `parent_category_id` | int8 | 79.2% | 10 | min=0, max=2793220945250117, avg=1825071020936357.35 |
|
||||
| `business_name` | varchar | 0.0% | 9 | len=2~2 |
|
||||
| `tenant_goods_business_id` | int8 | 0.0% | 9 | min=2790683528317765, max=2793220268902213, avg=2791480552891899.95 |
|
||||
| `category_level` | int4 | 79.2% | 2 | min=1, max=2, avg=1.65 |
|
||||
| `is_leaf` | int4 | 79.2% | 2 | min=0, max=1, avg=0.65 |
|
||||
| `open_salesman` | int4 | 0.0% | 1 | min=2, max=2, avg=2.00 |
|
||||
| `sort_order` | int4 | 79.2% | 2 | min=0, max=1, avg=0.12 |
|
||||
| `is_warehousing` | int4 | 0.0% | 1 | min=1, max=1, avg=1.00 |
|
||||
| `scd2_start_time` | timestamptz | 0.0% | 92 | 2025-12-14 21:20:28.731914+08 ~ 2026-02-09 20:08:48.295523+08 |
|
||||
| `scd2_end_time` | timestamptz | 7.2% | 92 | 2026-02-05 09:18:19.11776+08 ~ 2026-02-09 20:08:48.295523+08 |
|
||||
| `scd2_is_current` | int4 | 0.0% | 2 | min=0, max=1, avg=0.21 |
|
||||
| `scd2_version` | int4 | 0.0% | 1 | min=1, max=1, avg=1.00 |
|
||||
|
||||
</details>
|
||||
|
||||
### 3.2 dwd.dim_groupbuy_package 详情
|
||||
|
||||
**DWD 独有列** (8 个): `coupon_face_value`, `duration_seconds`, `groupbuy_package_id`, `package_template_id`, `scd2_end_time`, `scd2_is_current`, `scd2_start_time`, `scd2_version`
|
||||
|
||||
**ODS 独有列** (24 个): `add_end_clock`, `add_start_clock`, `area_tag_type`, `coupon_money`, `creator_name`, `date_info`, `date_type`, `duration`, `effective_status`, `end_clock`, `group_type`, `id`, `max_selectable_categories`, `package_id`, `site_name`
|
||||
|
||||
<details><summary>📊 dwd.dim_groupbuy_package 字段级统计(22 列)</summary>
|
||||
|
||||
| 字段 | 类型 | NULL率 | 唯一值 | 统计 |
|
||||
|------|------|--------|--------|------|
|
||||
| `groupbuy_package_id` | int8 | 0.0% | 34 | min=2798713926290437, max=3048468851870085, avg=2917819297255812.31 |
|
||||
| `tenant_id` | int8 | 0.0% | 1 | min=2790683160709957, max=2790683160709957, avg=2790683160709957.00 |
|
||||
| `site_id` | int8 | 0.0% | 1 | min=2790685415443269, max=2790685415443269, avg=2790685415443269.00 |
|
||||
| `package_name` | varchar | 0.0% | 18 | len=5~11 |
|
||||
| `package_template_id` | int8 | 90.9% | 15 | min=1126976372, max=1814983609169019, avg=426806077589937.59 |
|
||||
| `selling_price` | numeric | 0.0% | 1 | min=0.00, max=0.00, avg=0.00 |
|
||||
| `coupon_face_value` | numeric | 90.9% | 1 | min=0.00, max=0.00, avg=0.00 |
|
||||
| `duration_seconds` | int4 | 90.9% | 3 | min=3600, max=14400, avg=6670.59 |
|
||||
| `start_time` | timestamptz | 0.0% | 10 | 2025-07-20 00:00:00+08 ~ 2026-01-12 00:00:00+08 |
|
||||
| `end_time` | timestamptz | 0.0% | 11 | 2025-12-30 00:00:00+08 ~ 2027-09-01 00:00:00+08 |
|
||||
| `table_area_name` | varchar | 47.2% | 6 | len=2~5 |
|
||||
| `is_enabled` | int4 | 0.0% | 2 | min=1, max=2, avg=1.29 |
|
||||
| `is_delete` | int4 | 0.0% | 2 | min=0, max=1, avg=0.04 |
|
||||
| `create_time` | timestamptz | 0.0% | 34 | 2025-07-20 12:19:04+08 ~ 2026-01-12 22:42:55+08 |
|
||||
| `tenant_table_area_id_list` | varchar | 47.2% | 6 | len=16~16 |
|
||||
| `card_type_ids` | varchar | 8.0% | 1 | len=1~1 |
|
||||
| `sort` | int4 | 79.6% | 1 | min=100, max=100, avg=100.00 |
|
||||
| `is_first_limit` | bool | 0.0% | 1 | T=373, F=0 |
|
||||
| `scd2_start_time` | timestamptz | 0.0% | 335 | 2025-12-14 21:20:28.731914+08 ~ 2026-02-09 20:24:07.27917+08 |
|
||||
| `scd2_end_time` | timestamptz | 9.1% | 332 | 2026-02-05 09:18:19.746022+08 ~ 2026-02-09 20:24:07.27917+08 |
|
||||
| `scd2_is_current` | int4 | 0.0% | 2 | min=0, max=1, avg=0.09 |
|
||||
| `scd2_version` | int4 | 0.0% | 1 | min=1, max=1, avg=1.00 |
|
||||
|
||||
</details>
|
||||
|
||||
### 3.2 dwd.dim_member 详情
|
||||
|
||||
**DWD 独有列** (6 个): `member_id`, `scd2_end_time`, `scd2_is_current`, `scd2_start_time`, `scd2_version`, `update_time`
|
||||
|
||||
**ODS 独有列** (10 个): `growth_value`, `id`, `person_tenant_org_id`, `person_tenant_org_name`, `point`, `referrer_member_id`, `register_source`, `site_name`, `status`, `user_status`
|
||||
|
||||
<details><summary>📊 dwd.dim_member 字段级统计(16 列)</summary>
|
||||
|
||||
| 字段 | 类型 | NULL率 | 唯一值 | 统计 |
|
||||
|------|------|--------|--------|------|
|
||||
| `member_id` | int8 | 0.0% | - | min=2791994266390405, max=3085176958944837, avg=2823078351641537.46 |
|
||||
| `system_member_id` | int8 | 0.0% | - | min=1722160959426757, max=3085176956307013, avg=2800106896966723.16 |
|
||||
| `tenant_id` | int8 | 0.0% | - | min=2790683160709957, max=2790683160709957, avg=2790683160709957.00 |
|
||||
| `register_site_id` | int8 | 0.0% | - | min=2790685415443269, max=2790685415443269, avg=2790685415443269.00 |
|
||||
| `mobile` | text | 0.0% | - | len=11~14 |
|
||||
| `nickname` | text | 0.0% | - | len=1~12 |
|
||||
| `member_card_grade_code` | int8 | 0.0% | - | min=2790683528022853, max=2790683528022857, avg=2790683528022854.03 |
|
||||
| `member_card_grade_name` | text | 0.0% | - | len=2~5 |
|
||||
| `create_time` | timestamptz | 0.0% | - | 2025-07-15 18:23:28+08 ~ 2026-02-07 21:04:20+08 |
|
||||
| `update_time` | timestamptz | 100.0% | - | — |
|
||||
| `pay_money_sum` | numeric | 25.4% | - | min=-363409.48, max=0.00, avg=-5534.32 |
|
||||
| `recharge_money_sum` | numeric | 25.4% | - | min=0.00, max=388256.03, avg=6339.79 |
|
||||
| `scd2_start_time` | timestamptz | 0.0% | - | 2025-12-14 21:20:28.731914+08 ~ 2026-02-09 20:30:11.747293+08 |
|
||||
| `scd2_end_time` | timestamptz | 5.2% | - | 2026-02-02 02:32:43.782109+08 ~ 2026-02-09 20:30:11.747293+08 |
|
||||
| `scd2_is_current` | int4 | 0.0% | - | min=0, max=1, avg=0.05 |
|
||||
| `scd2_version` | int4 | 0.0% | - | min=1, max=6, avg=1.01 |
|
||||
|
||||
</details>
|
||||
|
||||
### 3.2 dwd.dim_member_card_account 详情
|
||||
|
||||
**DWD 独有列** (5 个): `member_card_id`, `scd2_end_time`, `scd2_is_current`, `scd2_start_time`, `scd2_version`
|
||||
|
||||
**ODS 独有列** (57 个): `able_cross_site`, `able_share_member_discount`, `assistant_deduct_radio`, `assistant_discount`, `assistant_discount_sub_switch`, `assistant_reward_deduct_radio`, `assistant_reward_discount`, `assistant_reward_discount_sub_switch`, `assistant_service_deduct_radio`, `assistant_service_discount`, `assistantcarddeduct`, `assistantrewardcarddeduct`, `assistantservicecarddeduct`, `bind_password`, `card_no`
|
||||
|
||||
<details><summary>📊 dwd.dim_member_card_account 字段级统计(23 列)</summary>
|
||||
|
||||
| 字段 | 类型 | NULL率 | 唯一值 | 统计 |
|
||||
|------|------|--------|--------|------|
|
||||
| `member_card_id` | int8 | 0.0% | - | min=2791994266619781, max=3085176959321669, avg=2827361158604426.61 |
|
||||
| `tenant_id` | int8 | 0.0% | - | min=2790683160709957, max=2790683160709957, avg=2790683160709957.00 |
|
||||
| `register_site_id` | int8 | 0.0% | - | min=2790685415443269, max=2790685415443269, avg=2790685415443269.00 |
|
||||
| `tenant_member_id` | int8 | 0.0% | - | min=0, max=3085176958944837, avg=2527617817121777.45 |
|
||||
| `system_member_id` | int8 | 0.0% | - | min=0, max=3085176956307013, avg=2502398934969501.99 |
|
||||
| `card_type_id` | int8 | 0.0% | - | min=2791987095408517, max=2794699703437125, avg=2792866036110503.31 |
|
||||
| `member_card_grade_code` | int8 | 0.0% | - | min=2790683528022853, max=2790683528022858, avg=2790683528022854.40 |
|
||||
| `member_card_grade_code_name` | text | 0.0% | - | len=2~5 |
|
||||
| `member_card_type_name` | text | 0.0% | - | len=2~5 |
|
||||
| `member_name` | text | 10.5% | - | len=1~5 |
|
||||
| `member_mobile` | text | 10.5% | - | len=11~11 |
|
||||
| `balance` | numeric | 0.0% | - | min=0.00, max=23202.00, avg=426.47 |
|
||||
| `start_time` | timestamptz | 0.0% | - | 2025-07-15 18:23:28+08 ~ 2026-02-07 21:04:20+08 |
|
||||
| `end_time` | timestamptz | 0.0% | - | 2025-08-15 16:40:12+08 ~ 2225-01-01 00:00:00+08 |
|
||||
| `last_consume_time` | timestamptz | 0.0% | - | 1970-01-01 00:00:00+08 ~ 2026-02-10 01:38:22+08 |
|
||||
| `status` | int4 | 0.0% | - | min=1, max=4, avg=1.03 |
|
||||
| `is_delete` | int4 | 0.0% | - | min=0, max=0, avg=0.00 |
|
||||
| `principal_balance` | numeric | 42.8% | - | min=0.00, max=22706.00, avg=443.11 |
|
||||
| `member_grade` | int8 | 0.0% | - | min=0, max=2790683528022856, avg=65172183924837.70 |
|
||||
| `scd2_start_time` | timestamptz | 0.0% | - | 2025-12-14 21:20:28.731914+08 ~ 2026-02-09 20:30:12.759904+08 |
|
||||
| `scd2_end_time` | timestamptz | 5.1% | - | 2026-01-31 16:03:53.792254+08 ~ 2026-02-09 20:30:12.759904+08 |
|
||||
| `scd2_is_current` | int4 | 0.0% | - | min=0, max=1, avg=0.05 |
|
||||
| `scd2_version` | int4 | 0.0% | - | min=1, max=10, avg=1.02 |
|
||||
|
||||
</details>
|
||||
|
||||
### 3.2 dwd.dim_store_goods 详情
|
||||
|
||||
**DWD 独有列** (13 个): `avg_monthly_sales`, `batch_stock_qty`, `category_level1_name`, `category_level2_name`, `created_at`, `sale_qty`, `scd2_end_time`, `scd2_is_current`, `scd2_start_time`, `scd2_version`, `site_goods_id`, `total_sales_qty`, `updated_at`
|
||||
|
||||
**ODS 独有列** (34 个): `able_discount`, `able_site_transfer`, `audit_status`, `average_monthly_sales`, `batch_stock_quantity`, `cost_price`, `cost_price_type`, `create_time`, `custom_label_type`, `days_available`, `forbid_sell_status`, `freeze`, `goods_bar_code`, `goods_cover`, `id`
|
||||
|
||||
<details><summary>📊 dwd.dim_store_goods 字段级统计(26 列)</summary>
|
||||
|
||||
| 字段 | 类型 | NULL率 | 唯一值 | 统计 |
|
||||
|------|------|--------|--------|------|
|
||||
| `site_goods_id` | int8 | 0.0% | - | min=2791953867886725, max=3073782716778501, avg=2812688507458426.00 |
|
||||
| `tenant_id` | int8 | 0.0% | - | min=2790683160709957, max=2790683160709957, avg=2790683160709957.00 |
|
||||
| `site_id` | int8 | 0.0% | - | min=2790685415443269, max=2790685415443269, avg=2790685415443269.00 |
|
||||
| `tenant_goods_id` | int8 | 0.0% | - | min=2791925230096261, max=3073781669250565, avg=2811945814355194.04 |
|
||||
| `goods_name` | text | 0.0% | - | len=2~10 |
|
||||
| `goods_category_id` | int8 | 0.0% | - | min=2790683528350533, max=2793220945250117, avg=2791610153802231.17 |
|
||||
| `goods_second_category_id` | int8 | 0.0% | - | min=2790683528350534, max=2793236829620037, avg=2791668366183841.36 |
|
||||
| `category_level1_name` | text | 85.9% | - | len=2~2 |
|
||||
| `category_level2_name` | text | 85.9% | - | len=1~3 |
|
||||
| `batch_stock_qty` | int4 | 85.9% | - | min=0, max=976, avg=66.24 |
|
||||
| `sale_qty` | int4 | 85.9% | - | min=0, max=6466, avg=619.75 |
|
||||
| `total_sales_qty` | int4 | 85.9% | - | min=0, max=6466, avg=619.75 |
|
||||
| `sale_price` | numeric | 0.0% | - | min=2.00, max=11360.00, avg=109.03 |
|
||||
| `created_at` | timestamptz | 85.9% | - | 2025-07-15 17:42:23+08 ~ 2026-01-30 19:53:30+08 |
|
||||
| `updated_at` | timestamptz | 85.9% | - | 2025-07-16 11:56:22+08 ~ 2026-02-05 04:03:17+08 |
|
||||
| `avg_monthly_sales` | numeric | 85.9% | - | min=0.0000, max=42.0300, avg=3.28 |
|
||||
| `goods_state` | int4 | 0.0% | - | min=1, max=2, avg=1.03 |
|
||||
| `enable_status` | int4 | 0.0% | - | min=1, max=1, avg=1.00 |
|
||||
| `send_state` | int4 | 0.0% | - | min=1, max=1, avg=1.00 |
|
||||
| `is_delete` | int4 | 0.0% | - | min=0, max=0, avg=0.00 |
|
||||
| `commodity_code` | text | 0.0% | - | len=5~9 |
|
||||
| `not_sale` | int4 | 0.0% | - | min=2, max=2, avg=2.00 |
|
||||
| `scd2_start_time` | timestamptz | 0.0% | - | 2025-12-14 21:20:28.731914+08 ~ 2026-02-09 20:30:15.735121+08 |
|
||||
| `scd2_end_time` | timestamptz | 3.2% | - | 2026-01-31 16:03:53.792254+08 ~ 2026-02-09 20:30:15.735121+08 |
|
||||
| `scd2_is_current` | int4 | 0.0% | - | min=0, max=1, avg=0.03 |
|
||||
| `scd2_version` | int4 | 0.0% | - | min=1, max=24, avg=1.49 |
|
||||
|
||||
</details>
|
||||
|
||||
### 3.2 dwd.dim_table 详情
|
||||
|
||||
**DWD 独有列** (7 个): `scd2_end_time`, `scd2_is_current`, `scd2_start_time`, `scd2_version`, `site_table_area_name`, `table_id`, `tenant_table_area_id`
|
||||
|
||||
**ODS 独有列** (21 个): `appletQrCodeUrl`, `areaname`, `audit_status`, `charge_free`, `create_time`, `delay_lights_time`, `id`, `is_online_reservation`, `is_rest_area`, `light_status`, `only_allow_groupon`, `order_delay_time`, `self_table`, `show_status`, `sitename`
|
||||
|
||||
<details><summary>📊 dwd.dim_table 字段级统计(12 列)</summary>
|
||||
|
||||
| 字段 | 类型 | NULL率 | 唯一值 | 统计 |
|
||||
|------|------|--------|--------|------|
|
||||
| `table_id` | int8 | 0.0% | 74 | min=2791964216463493, max=3004536233839429, avg=2809642206324618.93 |
|
||||
| `site_id` | int8 | 0.0% | 1 | min=2790685415443269, max=2790685415443269, avg=2790685415443269.00 |
|
||||
| `table_name` | text | 0.0% | 74 | len=2~6 |
|
||||
| `site_table_area_id` | int8 | 0.0% | 16 | min=2791963794329671, max=3004534627601285, avg=2803989189538572.36 |
|
||||
| `site_table_area_name` | text | 91.4% | 16 | len=2~5 |
|
||||
| `tenant_table_area_id` | int8 | 91.4% | 16 | min=2791963794329671, max=3004534627601285, avg=2800489289216219.78 |
|
||||
| `table_price` | numeric | 0.0% | 1 | min=0.00, max=0.00, avg=0.00 |
|
||||
| `order_id` | int8 | 0.0% | 201 | min=0, max=3088206550486661, avg=660613765522914.15 |
|
||||
| `scd2_start_time` | timestamptz | 0.0% | 2638 | 2025-12-14 21:20:28.731914+08 ~ 2026-02-15 18:21:41.474728+08 |
|
||||
| `scd2_end_time` | timestamptz | 2.6% | 2636 | 2026-02-02 01:33:07.640592+08 ~ 2026-02-15 18:21:41.474728+08 |
|
||||
| `scd2_is_current` | int4 | 0.0% | 2 | min=0, max=1, avg=0.03 |
|
||||
| `scd2_version` | int4 | 0.0% | 12 | min=1, max=12, avg=1.21 |
|
||||
|
||||
</details>
|
||||
|
||||
### 3.2 dwd.dim_tenant_goods 详情
|
||||
|
||||
**DWD 独有列** (6 个): `category_name`, `scd2_end_time`, `scd2_is_current`, `scd2_start_time`, `scd2_version`, `tenant_goods_id`
|
||||
|
||||
**ODS 独有列** (19 个): `able_discount`, `able_site_transfer`, `categoryname`, `commodity_code`, `commoditycode`, `common_sale_royalty`, `cost_price`, `cost_price_type`, `goods_bar_code`, `goods_cover`, `id`, `is_warehousing`, `isinsite`, `min_discount_price`, `out_goods_id`
|
||||
|
||||
<details><summary>📊 dwd.dim_tenant_goods 字段级统计(19 列)</summary>
|
||||
|
||||
| 字段 | 类型 | NULL率 | 唯一值 | 统计 |
|
||||
|------|------|--------|--------|------|
|
||||
| `tenant_goods_id` | int8 | 0.0% | 173 | min=2791925230096261, max=3073781669250565, avg=2812177202555278.70 |
|
||||
| `tenant_id` | int8 | 0.0% | 1 | min=2790683160709957, max=2790683160709957, avg=2790683160709957.00 |
|
||||
| `supplier_id` | int8 | 0.0% | 1 | min=0, max=0, avg=0.00 |
|
||||
| `category_name` | varchar | 91.3% | 14 | len=1~3 |
|
||||
| `goods_category_id` | int8 | 0.0% | 9 | min=2790683528350533, max=2793220945250117, avg=2791641989465527.48 |
|
||||
| `goods_second_category_id` | int8 | 0.0% | 14 | min=2790683528350534, max=2793236829620037, avg=2791720496902958.89 |
|
||||
| `goods_name` | varchar | 0.0% | 173 | len=2~10 |
|
||||
| `goods_number` | varchar | 0.0% | 173 | len=1~8 |
|
||||
| `unit` | varchar | 0.0% | 13 | len=1~1 |
|
||||
| `market_price` | numeric | 0.0% | 48 | min=2.00, max=11360.00, avg=277.51 |
|
||||
| `goods_state` | int4 | 0.0% | 2 | min=1, max=2, avg=1.03 |
|
||||
| `create_time` | timestamptz | 0.0% | 173 | 2025-07-15 17:13:15+08 ~ 2026-01-30 19:52:26+08 |
|
||||
| `update_time` | timestamptz | 18.6% | 144 | 2025-07-15 19:58:39+08 ~ 2026-01-22 18:55:24+08 |
|
||||
| `is_delete` | int4 | 0.0% | 1 | min=0, max=0, avg=0.00 |
|
||||
| `not_sale` | int4 | 0.0% | 1 | min=2, max=2, avg=2.00 |
|
||||
| `scd2_start_time` | timestamptz | 0.0% | 1751 | 2025-12-14 21:20:28.731914+08 ~ 2026-02-09 20:23:55.604384+08 |
|
||||
| `scd2_end_time` | timestamptz | 8.6% | 1746 | 2026-01-31 16:03:53.792254+08 ~ 2026-02-09 20:23:55.604384+08 |
|
||||
| `scd2_is_current` | int4 | 0.0% | 2 | min=0, max=1, avg=0.09 |
|
||||
| `scd2_version` | int4 | 0.0% | 2 | min=1, max=2, avg=1.00 |
|
||||
|
||||
</details>
|
||||
|
||||
### 3.2 dwd.dwd_assistant_service_log 详情
|
||||
|
||||
**DWD 独有列** (4 个): `assistant_no`, `assistant_service_id`, `level_name`, `skill_name`
|
||||
|
||||
**ODS 独有列** (37 个): `assistantname`, `assistantno`, `assistantteamname`, `composite_grade`, `composite_grade_time`, `get_grade_times`, `grade_status`, `id`, `is_confirm`, `is_not_responding`, `is_single_order`, `is_trash`, `ledger_count`, `ledger_end_time`, `ledger_group_name`
|
||||
|
||||
<details><summary>📊 dwd.dwd_assistant_service_log 字段级统计(33 列)</summary>
|
||||
|
||||
| 字段 | 类型 | NULL率 | 唯一值 | 统计 |
|
||||
|------|------|--------|--------|------|
|
||||
| `assistant_service_id` | int8 | 0.0% | - | min=2800311971268549, max=3092712427276485, avg=2944926324324030.52 |
|
||||
| `order_trade_no` | int8 | 0.0% | - | min=2800311913039813, max=3092230766020741, avg=2944492196874608.13 |
|
||||
| `order_settle_id` | int8 | 0.0% | - | min=2800311915366341, max=3092711340902597, avg=2944926140749989.93 |
|
||||
| `order_pay_id` | int8 | 0.0% | - | min=0, max=0, avg=0.00 |
|
||||
| `order_assistant_id` | int8 | 0.0% | - | min=2800311914104773, max=3092265482209605, avg=2944455405500768.47 |
|
||||
| `order_assistant_type` | int4 | 0.0% | - | min=1, max=2, avg=1.12 |
|
||||
| `tenant_id` | int8 | 0.0% | - | min=2790683160709957, max=2790683160709957, avg=2790683160709957.00 |
|
||||
| `site_id` | int8 | 0.0% | - | min=2790685415443269, max=2790685415443269, avg=2790685415443269.00 |
|
||||
| `site_table_id` | int8 | 0.0% | - | min=0, max=3004536233839429, avg=2536057042915585.55 |
|
||||
| `tenant_member_id` | int8 | 0.0% | - | min=0, max=3055176918828421, avg=1433413041734787.92 |
|
||||
| `system_member_id` | int8 | 0.0% | - | min=0, max=3055176917108101, avg=1407179738886734.81 |
|
||||
| `assistant_no` | varchar | 0.0% | - | len=1~3 |
|
||||
| `nickname` | varchar | 0.0% | - | len=2~3 |
|
||||
| `site_assistant_id` | int8 | 0.0% | - | min=2793361915547781, max=3067857612671685, avg=2843120450020717.73 |
|
||||
| `user_id` | int8 | 0.0% | - | min=2324804675291845, max=3067857612163781, avg=2812388381472601.43 |
|
||||
| `assistant_team_id` | int8 | 0.0% | - | min=2792011585884037, max=2959085810992645, avg=2834213834929783.18 |
|
||||
| `person_org_id` | int8 | 0.0% | - | min=2793361915465861, max=3067857612573381, avg=2843120449922822.01 |
|
||||
| `assistant_level` | int4 | 0.0% | - | min=8, max=40, avg=19.54 |
|
||||
| `level_name` | varchar | 0.0% | - | len=2~4 |
|
||||
| `skill_id` | int8 | 0.0% | - | min=2790683529513797, max=3039912271463941, avg=2792518515531553.51 |
|
||||
| `skill_name` | varchar | 46.0% | - | len=3~3 |
|
||||
| `ledger_unit_price` | numeric | 0.0% | - | min=98.00, max=198.00, avg=119.03 |
|
||||
| `ledger_amount` | numeric | 0.0% | - | min=0.00, max=1900.00, avg=313.04 |
|
||||
| `projected_income` | numeric | 0.0% | - | min=0.00, max=1605.33, avg=248.46 |
|
||||
| `coupon_deduct_money` | numeric | 0.0% | - | min=0.00, max=431.10, avg=2.09 |
|
||||
| `income_seconds` | int4 | 0.0% | - | min=0, max=53640, avg=9476.36 |
|
||||
| `real_use_seconds` | int4 | 0.0% | - | min=0, max=53651, avg=8484.50 |
|
||||
| `add_clock` | int4 | 0.0% | - | min=0, max=36000, avg=99.36 |
|
||||
| `create_time` | timestamptz | 0.0% | - | 2025-07-21 15:24:41+08 ~ 2026-02-13 04:49:48+08 |
|
||||
| `start_use_time` | timestamptz | 0.0% | - | 2025-07-21 15:24:37+08 ~ 2026-02-12 21:15:08+08 |
|
||||
| `last_use_time` | timestamptz | 0.0% | - | 2025-07-21 15:24:37+08 ~ 2026-02-13 03:14:14+08 |
|
||||
| `is_delete` | int4 | 0.0% | - | min=0, max=1, avg=0.04 |
|
||||
| `real_service_money` | numeric | 0.1% | - | min=0.00, max=0.00, avg=0.00 |
|
||||
|
||||
</details>
|
||||
|
||||
### 3.2 dwd.dwd_assistant_trash_event 详情
|
||||
|
||||
**DWD 独有列** (10 个): `abolish_amount`, `assistant_name`, `assistant_no`, `assistant_trash_event_id`, `charge_minutes_raw`, `create_time`, `site_id`, `table_area_id`, `table_id`, `trash_reason`
|
||||
|
||||
**ODS 独有列** (13 个): `assistantabolishamount`, `assistantname`, `assistanton`, `createtime`, `id`, `pdchargeminutes`, `siteid`, `siteprofile`, `tablearea`, `tableareaid`, `tableid`, `tablename`, `trashreason`
|
||||
|
||||
<details><summary>📊 dwd.dwd_assistant_trash_event 字段级统计(11 列)</summary>
|
||||
|
||||
| 字段 | 类型 | NULL率 | 唯一值 | 统计 |
|
||||
|------|------|--------|--------|------|
|
||||
| `assistant_trash_event_id` | int8 | 0.0% | 100 | min=2889961229945221, max=3071358041819077, avg=3005598627527239.60 |
|
||||
| `site_id` | int8 | 0.0% | 1 | min=2790685415443269, max=2790685415443269, avg=2790685415443269.00 |
|
||||
| `table_id` | int8 | 0.0% | 36 | min=2791964216463493, max=3004536233839429, avg=2830967365385290.76 |
|
||||
| `table_area_id` | int8 | 0.0% | 14 | min=2791963794329671, max=3004534627601285, avg=2828246246772928.74 |
|
||||
| `assistant_no` | varchar | 0.0% | 22 | len=1~2 |
|
||||
| `assistant_name` | varchar | 0.0% | 22 | len=2~3 |
|
||||
| `charge_minutes_raw` | int4 | 0.0% | 50 | min=0, max=28187, avg=4322.24 |
|
||||
| `abolish_amount` | numeric | 0.0% | 50 | min=0.00, max=845.61, avg=154.90 |
|
||||
| `trash_reason` | varchar | 100.0% | 0 | — |
|
||||
| `create_time` | timestamptz | 0.0% | 75 | 2025-09-22 23:20:37+08 ~ 2026-01-29 02:47:00+08 |
|
||||
| `tenant_id` | int8 | 100.0% | 0 | — |
|
||||
|
||||
</details>
|
||||
|
||||
### 3.2 dwd.dwd_groupbuy_redemption 详情
|
||||
|
||||
**DWD 独有列** (1 个): `redemption_id`
|
||||
|
||||
**ODS 独有列** (28 个): `assistant_promotion_money`, `assistant_service_promotion_money`, `assistant_service_share_money`, `assistant_share_money`, `good_service_share_money`, `goods_promotion_money`, `goods_share_money`, `goodsoptionprice`, `id`, `ledger_group_name`, `ledger_status`, `offer_type`, `operator_id`, `operator_name`, `order_pay_id`
|
||||
|
||||
<details><summary>📊 dwd.dwd_groupbuy_redemption 字段级统计(25 列)</summary>
|
||||
|
||||
| 字段 | 类型 | NULL率 | 唯一值 | 统计 |
|
||||
|------|------|--------|--------|------|
|
||||
| `redemption_id` | int8 | 0.0% | - | min=2883738008095877, max=3093859292088645, avg=2986775282529774.90 |
|
||||
| `tenant_id` | int8 | 0.0% | - | min=2790683160709957, max=2790683160709957, avg=2790683160709957.00 |
|
||||
| `site_id` | int8 | 0.0% | - | min=2790685415443269, max=2790685415443269, avg=2790685415443269.00 |
|
||||
| `table_id` | int8 | 0.0% | - | min=2791964216463493, max=2942325122944709, avg=2792953913307584.20 |
|
||||
| `tenant_table_area_id` | int8 | 0.0% | - | min=2791960001957765, max=2791962314215301, avg=2791960193901872.31 |
|
||||
| `table_charge_seconds` | int4 | 0.0% | - | min=0, max=36000, avg=6406.17 |
|
||||
| `order_trade_no` | int8 | 0.0% | - | min=2883678958930885, max=3093784062036101, avg=2986665451961769.90 |
|
||||
| `order_settle_id` | int8 | 0.0% | - | min=2883737991875653, max=3093859276196037, avg=2986775234177318.75 |
|
||||
| `order_coupon_id` | int8 | 0.0% | - | min=2883678959848389, max=3093784063412357, avg=2986676883465579.34 |
|
||||
| `coupon_origin_id` | int8 | 0.0% | - | min=2883678959848389, max=3093784063412357, avg=2986676883425226.30 |
|
||||
| `promotion_activity_id` | int8 | 0.0% | - | min=2883678958144453, max=3093784060856453, avg=2986676881439836.58 |
|
||||
| `promotion_coupon_id` | int8 | 0.0% | - | min=2798713926290437, max=3048468851870085, avg=2867360433683138.99 |
|
||||
| `order_coupon_channel` | int4 | 0.0% | - | min=1, max=2, avg=1.06 |
|
||||
| `ledger_unit_price` | numeric | 0.0% | - | min=0.00, max=888.00, avg=33.71 |
|
||||
| `ledger_count` | int4 | 0.0% | - | min=0, max=14400, avg=4328.35 |
|
||||
| `ledger_amount` | numeric | 0.0% | - | min=0.00, max=752.00, avg=61.78 |
|
||||
| `coupon_money` | numeric | 0.0% | - | min=0.00, max=1988.00, avg=64.41 |
|
||||
| `promotion_seconds` | int4 | 0.0% | - | min=3600, max=14400, avg=4407.23 |
|
||||
| `coupon_code` | varchar | 0.0% | - | len=10~15 |
|
||||
| `is_single_order` | int4 | 0.0% | - | min=0, max=1, avg=1.00 |
|
||||
| `is_delete` | int4 | 0.0% | - | min=0, max=1, avg=0.35 |
|
||||
| `ledger_name` | varchar | 0.0% | - | len=6~11 |
|
||||
| `create_time` | timestamptz | 0.0% | - | 2025-09-18 13:50:02+08 ~ 2026-02-14 00:16:27+08 |
|
||||
| `member_discount_money` | numeric | 27.5% | - | min=0.00, max=0.00, avg=0.00 |
|
||||
| `coupon_sale_id` | int8 | 0.0% | - | min=0, max=0, avg=0.00 |
|
||||
|
||||
</details>
|
||||
|
||||
### 3.2 dwd.dwd_member_balance_change 详情
|
||||
|
||||
**DWD 独有列** (9 个): `balance_after`, `balance_before`, `balance_change_id`, `card_type_name`, `change_amount`, `change_time`, `member_mobile`, `member_name`, `principal_change_amount`
|
||||
|
||||
**ODS 独有列** (15 个): `account_data`, `after`, `before`, `create_time`, `id`, `membercardtypename`, `membermobile`, `membername`, `operator_id`, `operator_name`, `paysitename`, `principal_data`, `refund_amount`, `registersitename`, `relate_id`
|
||||
|
||||
<details><summary>📊 dwd.dwd_member_balance_change 字段级统计(22 列)</summary>
|
||||
|
||||
| 字段 | 类型 | NULL率 | 唯一值 | 统计 |
|
||||
|------|------|--------|--------|------|
|
||||
| `balance_change_id` | int8 | 0.0% | - | min=2800328071170949, max=3093844118358341, avg=2940016953299285.81 |
|
||||
| `tenant_id` | int8 | 0.0% | - | min=2790683160709957, max=2790683160709957, avg=2790683160709957.00 |
|
||||
| `site_id` | int8 | 0.0% | - | min=0, max=2790685415443269, avg=2776405190920237.12 |
|
||||
| `register_site_id` | int8 | 0.0% | - | min=2790685415443269, max=2790685415443269, avg=2790685415443269.00 |
|
||||
| `tenant_member_id` | int8 | 0.0% | - | min=2799207056279301, max=3085176958944837, avg=2830862386806799.06 |
|
||||
| `system_member_id` | int8 | 0.0% | - | min=1823736961667205, max=3085176956307013, avg=2790919037889637.25 |
|
||||
| `tenant_member_card_id` | int8 | 0.0% | - | min=2799215867168517, max=3085176959321669, avg=2836298526517953.66 |
|
||||
| `card_type_id` | int8 | 0.0% | - | min=2791987095408517, max=2794699703437125, avg=2793172848534856.62 |
|
||||
| `card_type_name` | varchar | 0.0% | - | len=2~5 |
|
||||
| `member_name` | varchar | 0.0% | - | len=1~12 |
|
||||
| `member_mobile` | varchar | 0.0% | - | len=11~14 |
|
||||
| `balance_before` | numeric | 0.0% | - | min=0.00, max=44000.00, avg=1723.54 |
|
||||
| `change_amount` | numeric | 0.0% | - | min=-44000.00, max=44000.00, avg=-13.22 |
|
||||
| `balance_after` | numeric | 0.0% | - | min=0.00, max=44000.00, avg=1710.31 |
|
||||
| `from_type` | int4 | 0.0% | - | min=1, max=9, avg=1.75 |
|
||||
| `payment_method` | int4 | 0.0% | - | min=0, max=4, avg=0.65 |
|
||||
| `change_time` | timestamptz | 0.0% | - | 2025-07-21 15:41:03+08 ~ 2026-02-14 00:01:01+08 |
|
||||
| `is_delete` | int4 | 0.0% | - | min=0, max=1, avg=0.51 |
|
||||
| `remark` | varchar | 97.9% | - | len=4~4 |
|
||||
| `principal_before` | numeric | 46.4% | - | min=0.00, max=44000.00, avg=1960.40 |
|
||||
| `principal_after` | numeric | 46.4% | - | min=0.00, max=44000.00, avg=1957.08 |
|
||||
| `principal_change_amount` | numeric | 0.0% | - | min=-44000.00, max=44000.00, avg=-1.78 |
|
||||
|
||||
</details>
|
||||
|
||||
### 3.2 dwd.dwd_payment 详情
|
||||
|
||||
**DWD 独有列** (2 个): `pay_date`, `payment_id`
|
||||
|
||||
**ODS 独有列** (2 个): `id`, `siteprofile`
|
||||
|
||||
<details><summary>📊 dwd.dwd_payment 字段级统计(12 列)</summary>
|
||||
|
||||
| 字段 | 类型 | NULL率 | 唯一值 | 统计 |
|
||||
|------|------|--------|--------|------|
|
||||
| `payment_id` | int8 | 0.0% | - | min=2800050343954053, max=3093864103463109, avg=2945845541688648.13 |
|
||||
| `site_id` | int8 | 0.0% | - | min=2790685415443269, max=2790685415443269, avg=2790685415443269.00 |
|
||||
| `relate_type` | int4 | 0.0% | - | min=1, max=6, avg=2.05 |
|
||||
| `relate_id` | int8 | 0.0% | - | min=2800050273584581, max=3093864077166789, avg=2945845268177596.82 |
|
||||
| `pay_amount` | numeric | 0.0% | - | min=-44000.00, max=44000.00, avg=97.28 |
|
||||
| `pay_status` | int4 | 0.0% | - | min=2, max=2, avg=2.00 |
|
||||
| `payment_method` | int4 | 0.0% | - | min=1, max=4, avg=2.74 |
|
||||
| `online_pay_channel` | int4 | 0.0% | - | min=0, max=0, avg=0.00 |
|
||||
| `create_time` | timestamptz | 0.0% | - | 2025-07-21 10:58:32+08 ~ 2026-02-14 00:21:21+08 |
|
||||
| `pay_time` | timestamptz | 0.0% | - | 2025-07-21 10:58:32+08 ~ 2026-02-14 00:21:21+08 |
|
||||
| `pay_date` | date | 0.0% | - | 2025-07-21 ~ 2026-02-14 |
|
||||
| `tenant_id` | int8 | 100.0% | - | — |
|
||||
|
||||
</details>
|
||||
|
||||
### 3.2 dwd.dwd_platform_coupon_redemption 详情
|
||||
|
||||
**DWD 独有列** (1 个): `platform_coupon_redemption_id`
|
||||
|
||||
**ODS 独有列** (7 个): `coupon_cover`, `coupon_remark`, `groupon_type`, `id`, `operator_id`, `operator_name`, `siteprofile`
|
||||
|
||||
<details><summary>📊 dwd.dwd_platform_coupon_redemption 字段级统计(20 列)</summary>
|
||||
|
||||
| 字段 | 类型 | NULL率 | 唯一值 | 统计 |
|
||||
|------|------|--------|--------|------|
|
||||
| `platform_coupon_redemption_id` | int8 | 0.0% | - | min=2800008264287621, max=3093784060856453, avg=2943232422091948.45 |
|
||||
| `tenant_id` | int8 | 0.0% | - | min=2790683160709957, max=2790683160709957, avg=2790683160709957.00 |
|
||||
| `site_id` | int8 | 0.0% | - | min=2790685415443269, max=2790685415443269, avg=2790685415443269.00 |
|
||||
| `coupon_code` | varchar | 0.0% | - | len=10~15 |
|
||||
| `coupon_channel` | int4 | 0.0% | - | min=1, max=2, avg=1.06 |
|
||||
| `coupon_name` | varchar | 0.0% | - | len=9~21 |
|
||||
| `sale_price` | numeric | 0.0% | - | min=9.90, max=888.00, avg=35.31 |
|
||||
| `coupon_money` | numeric | 0.0% | - | min=48.00, max=1988.00, avg=65.20 |
|
||||
| `coupon_free_time` | int4 | 0.0% | - | min=0, max=0, avg=0.00 |
|
||||
| `channel_deal_id` | int8 | 0.0% | - | min=1126976372, max=1814983609169019, avg=106643012052423.28 |
|
||||
| `deal_id` | int8 | 0.0% | - | min=0, max=1398374101, avg=1271601313.21 |
|
||||
| `group_package_id` | int8 | 0.0% | - | min=0, max=0, avg=0.00 |
|
||||
| `site_order_id` | int8 | 0.0% | - | min=2800008264811909, max=3093784062036101, avg=2943220525820855.43 |
|
||||
| `table_id` | int8 | 0.0% | - | min=2791964216463493, max=2793023960731717, avg=2792918485456299.82 |
|
||||
| `certificate_id` | varchar | 0.0% | - | len=19~19 |
|
||||
| `verify_id` | varchar | 94.1% | - | len=19~19 |
|
||||
| `use_status` | int4 | 0.0% | - | min=1, max=2, avg=1.00 |
|
||||
| `is_delete` | int4 | 0.0% | - | min=0, max=0, avg=0.00 |
|
||||
| `create_time` | timestamptz | 0.0% | - | 2025-07-21 10:15:44+08 ~ 2026-02-13 22:59:56+08 |
|
||||
| `consume_time` | timestamptz | 0.0% | - | 2025-07-21 10:15:45+08 ~ 2026-02-13 22:59:56+08 |
|
||||
|
||||
</details>
|
||||
|
||||
### 3.2 dwd.dwd_recharge_order 详情
|
||||
|
||||
**DWD 独有列** (24 个): `cash_amount`, `create_time`, `electricity_adjust_money`, `electricity_money`, `is_first`, `member_card_type_name`, `member_id`, `member_name_snapshot`, `member_phone_snapshot`, `mervou_sales_amount`, `pay_amount`, `pay_time`, `payment_method`, `pl_coupon_sale_amount`, `point_amount`
|
||||
|
||||
**ODS 独有列** (66 个): `activitydiscount`, `adjustamount`, `allcoupondiscount`, `assistantcxmoney`, `assistantmanualdiscount`, `assistantpdmoney`, `assistantpromotionmoney`, `balanceamount`, `canberevoked`, `cardamount`, `cashamount`, `consumemoney`, `couponamount`, `couponsaleamount`, `createtime`
|
||||
|
||||
### 3.2 dwd.dwd_refund 详情
|
||||
|
||||
**DWD 独有列** (1 个): `refund_id`
|
||||
|
||||
**ODS 独有列** (21 个): `action_type`, `balance_frozen_amount`, `card_frozen_amount`, `cashier_point_id`, `channel_pay_no`, `channel_payer_id`, `check_status`, `id`, `is_delete`, `is_revoke`, `online_pay_channel`, `online_pay_type`, `operator_id`, `pay_config_id`, `pay_sn`
|
||||
|
||||
<details><summary>📊 dwd.dwd_refund 字段级统计(12 列)</summary>
|
||||
|
||||
| 字段 | 类型 | NULL率 | 唯一值 | 统计 |
|
||||
|------|------|--------|--------|------|
|
||||
| `refund_id` | int8 | 0.0% | 51 | min=2888536816749061, max=3089577798995141, avg=2993893346224381.47 |
|
||||
| `tenant_id` | int8 | 0.0% | 1 | min=2790683160709957, max=2790683160709957, avg=2790683160709957.00 |
|
||||
| `site_id` | int8 | 0.0% | 1 | min=2790685415443269, max=2790685415443269, avg=2790685415443269.00 |
|
||||
| `relate_type` | int4 | 0.0% | 3 | min=1, max=5, avg=2.24 |
|
||||
| `relate_id` | int8 | 0.0% | 50 | min=2888535969433925, max=3089548319804869, avg=2993841151683115.96 |
|
||||
| `pay_amount` | numeric | 0.0% | 36 | min=-44000.00, max=-0.67, avg=-1552.48 |
|
||||
| `channel_fee` | numeric | 0.0% | 1 | min=0.00, max=0.00, avg=0.00 |
|
||||
| `pay_time` | timestamptz | 0.0% | 51 | 2025-09-21 23:11:38+08 ~ 2026-02-10 23:41:06+08 |
|
||||
| `create_time` | timestamptz | 0.0% | 51 | 2025-09-21 23:11:38+08 ~ 2026-02-10 23:41:06+08 |
|
||||
| `payment_method` | int4 | 0.0% | 2 | min=2, max=4, avg=3.88 |
|
||||
| `member_id` | int8 | 0.0% | 1 | min=0, max=0, avg=0.00 |
|
||||
| `member_card_id` | int8 | 0.0% | 1 | min=0, max=0, avg=0.00 |
|
||||
|
||||
</details>
|
||||
|
||||
### 3.2 dwd.dwd_settlement_head 详情
|
||||
|
||||
**DWD 独有列** (37 个): `adjust_amount`, `assistant_cx_money`, `assistant_pd_money`, `balance_amount`, `consume_money`, `coupon_amount`, `create_time`, `electricity_adjust_money`, `electricity_money`, `gift_card_amount`, `goods_money`, `is_bind_member`, `member_card_account_id`, `member_card_type_name`, `member_discount_amount`
|
||||
|
||||
**ODS 独有列** (66 个): `activitydiscount`, `adjustamount`, `allcoupondiscount`, `assistantcxmoney`, `assistantmanualdiscount`, `assistantpdmoney`, `assistantpromotionmoney`, `balanceamount`, `canberevoked`, `cardamount`, `cashamount`, `consumemoney`, `couponamount`, `couponsaleamount`, `createtime`
|
||||
|
||||
### 3.2 dwd.dwd_store_goods_sale 详情
|
||||
|
||||
**DWD 独有列** (1 个): `store_goods_sale_id`
|
||||
|
||||
**ODS 独有列** (28 个): `coupon_deduct_money`, `discount_money`, `goods_remark`, `id`, `is_single_order`, `member_coupon_id`, `member_discount_amount`, `opensalesman`, `operator_id`, `operator_name`, `option_coupon_deduct_money`, `option_member_discount_money`, `option_price`, `option_value_name`, `order_coupon_id`
|
||||
|
||||
<details><summary>📊 dwd.dwd_store_goods_sale 字段级统计(24 列)</summary>
|
||||
|
||||
| 字段 | 类型 | NULL率 | 唯一值 | 统计 |
|
||||
|------|------|--------|--------|------|
|
||||
| `store_goods_sale_id` | int8 | 0.0% | - | min=2800105583071877, max=3013419364454150, avg=2911009833142095.77 |
|
||||
| `order_trade_no` | int8 | 0.0% | - | min=2800105537881541, max=3013147520814661, avg=2910486643264710.50 |
|
||||
| `order_settle_id` | int8 | 0.0% | - | min=2800105539552709, max=3013419160440709, avg=2911009675936561.89 |
|
||||
| `order_pay_id` | int8 | 0.0% | - | min=0, max=0, avg=0.00 |
|
||||
| `order_goods_id` | int8 | 0.0% | - | min=0, max=3013308162690885, avg=1584470684860438.36 |
|
||||
| `site_id` | int8 | 0.0% | - | min=2790685415443269, max=2790685415443269, avg=2790685415443269.00 |
|
||||
| `tenant_id` | int8 | 0.0% | - | min=2790683160709957, max=2790683160709957, avg=2790683160709957.00 |
|
||||
| `site_goods_id` | int8 | 0.0% | - | min=2791953867886725, max=3004536125639493, avg=2796326049558804.13 |
|
||||
| `tenant_goods_id` | int8 | 0.0% | - | min=2791925230096261, max=3004531315313413, avg=2795499121485088.38 |
|
||||
| `tenant_goods_category_id` | int8 | 0.0% | - | min=2790683528350534, max=2793236829620037, avg=2791450392380408.40 |
|
||||
| `tenant_goods_business_id` | int8 | 0.0% | - | min=2790683528317765, max=2793220268902213, avg=2791300728335841.79 |
|
||||
| `site_table_id` | int8 | 0.0% | - | min=0, max=3004536233839429, avg=2053615874358120.74 |
|
||||
| `ledger_name` | varchar | 0.0% | - | len=2~10 |
|
||||
| `ledger_group_name` | varchar | 0.0% | - | len=2~2 |
|
||||
| `ledger_unit_price` | numeric | 0.0% | - | min=2.00, max=1690.00, avg=12.01 |
|
||||
| `ledger_count` | int4 | 0.0% | - | min=1, max=66, avg=1.76 |
|
||||
| `ledger_amount` | numeric | 0.0% | - | min=2.00, max=1690.00, avg=21.27 |
|
||||
| `discount_price` | numeric | 0.0% | - | min=0.00, max=990.00, avg=1.23 |
|
||||
| `real_goods_money` | numeric | 0.0% | - | min=0.00, max=1690.00, avg=20.04 |
|
||||
| `cost_money` | numeric | 0.0% | - | min=0.00, max=81.82, avg=0.18 |
|
||||
| `ledger_status` | int4 | 0.0% | - | min=1, max=1, avg=1.00 |
|
||||
| `is_delete` | int4 | 0.0% | - | min=0, max=0, avg=0.00 |
|
||||
| `create_time` | timestamptz | 0.0% | - | 2025-07-21 11:54:44+08 ~ 2025-12-19 04:28:44+08 |
|
||||
| `coupon_share_money` | numeric | 0.0% | - | min=0.00, max=0.00, avg=0.00 |
|
||||
|
||||
</details>
|
||||
|
||||
### 3.2 dwd.dwd_table_fee_adjust 详情
|
||||
|
||||
**DWD 独有列** (5 个): `adjust_time`, `table_area_id`, `table_area_name`, `table_fee_adjust_id`, `table_id`
|
||||
|
||||
**ODS 独有列** (17 个): `adjust_type`, `applicant_id`, `applicant_name`, `area_type_id`, `create_time`, `id`, `ledger_count`, `ledger_name`, `operator_id`, `operator_name`, `site_table_area_id`, `site_table_area_name`, `site_table_id`, `sitename`, `siteprofile`
|
||||
|
||||
<details><summary>📊 dwd.dwd_table_fee_adjust 字段级统计(16 列)</summary>
|
||||
|
||||
| 字段 | 类型 | NULL率 | 唯一值 | 统计 |
|
||||
|------|------|--------|--------|------|
|
||||
| `table_fee_adjust_id` | int8 | 0.0% | - | min=2800379696809925, max=3093721330321541, avg=2958095165613949.04 |
|
||||
| `order_trade_no` | int8 | 0.0% | - | min=2800305631070021, max=3093400552720645, avg=2957508400667238.14 |
|
||||
| `order_settle_id` | int8 | 0.0% | - | min=2800379609925573, max=3093721299536133, avg=2958095010682472.18 |
|
||||
| `tenant_id` | int8 | 0.0% | - | min=2790683160709957, max=2790683160709957, avg=2790683160709957.00 |
|
||||
| `site_id` | int8 | 0.0% | - | min=2790685415443269, max=2790685415443269, avg=2790685415443269.00 |
|
||||
| `table_id` | int8 | 0.0% | - | min=2791964216463493, max=3004536233839429, avg=2804884795729219.83 |
|
||||
| `table_area_id` | int8 | 0.0% | - | min=2791960001957765, max=3004534168259333, avg=2799978030180374.23 |
|
||||
| `table_area_name` | varchar | 100.0% | - | — |
|
||||
| `tenant_table_area_id` | int8 | 0.0% | - | min=2791960001957765, max=3004534168259333, avg=2799978030180374.23 |
|
||||
| `ledger_amount` | numeric | 0.0% | - | min=0.01, max=2911.81, avg=118.55 |
|
||||
| `ledger_status` | int4 | 0.0% | - | min=0, max=1, avg=0.98 |
|
||||
| `is_delete` | int4 | 0.0% | - | min=0, max=1, avg=0.41 |
|
||||
| `adjust_time` | timestamptz | 0.0% | - | 2025-07-21 16:33:34+08 ~ 2026-02-13 21:56:07+08 |
|
||||
| `table_name` | text | 100.0% | - | — |
|
||||
| `table_price` | numeric | 100.0% | - | — |
|
||||
| `charge_free` | bool | 100.0% | - | T=0, F=0 |
|
||||
|
||||
</details>
|
||||
|
||||
### 3.2 dwd.dwd_table_fee_log 详情
|
||||
|
||||
**DWD 独有列** (1 个): `table_fee_log_id`
|
||||
|
||||
**ODS 独有列** (14 个): `fee_total`, `id`, `last_use_time`, `ledger_start_time`, `mgmt_fee`, `operator_id`, `operator_name`, `order_consumption_type`, `salesman_name`, `salesman_org_id`, `salesman_user_id`, `service_money`, `siteprofile`, `used_card_amount`
|
||||
|
||||
<details><summary>📊 dwd.dwd_table_fee_log 字段级统计(29 列)</summary>
|
||||
|
||||
| 字段 | 类型 | NULL率 | 唯一值 | 统计 |
|
||||
|------|------|--------|--------|------|
|
||||
| `table_fee_log_id` | int8 | 0.0% | - | min=2800050345363077, max=3093859291416901, avg=2951516001649154.20 |
|
||||
| `order_trade_no` | int8 | 0.0% | - | min=2800008264811909, max=3093784062036101, avg=2951288548282306.44 |
|
||||
| `order_settle_id` | int8 | 0.0% | - | min=2800050273584581, max=3093859276196037, avg=2951515918296444.68 |
|
||||
| `order_pay_id` | int8 | 0.0% | - | min=0, max=0, avg=0.00 |
|
||||
| `tenant_id` | int8 | 0.0% | - | min=2790683160709957, max=2790683160709957, avg=2790683160709957.00 |
|
||||
| `site_id` | int8 | 0.0% | - | min=2790685415443269, max=2790685415443269, avg=2790685415443269.00 |
|
||||
| `site_table_id` | int8 | 0.0% | - | min=2791964216463493, max=3004536233839429, avg=2795993997317671.85 |
|
||||
| `site_table_area_id` | int8 | 0.0% | - | min=2791963794329671, max=3004534627601285, avg=2793946624608023.39 |
|
||||
| `site_table_area_name` | varchar | 0.0% | - | len=2~7 |
|
||||
| `tenant_table_area_id` | int8 | 0.0% | - | min=2791960001957765, max=3004534168259333, avg=2793942584809932.30 |
|
||||
| `member_id` | int8 | 0.0% | - | min=0, max=3085176958944837, avg=492432511454912.34 |
|
||||
| `ledger_name` | varchar | 0.0% | - | len=2~6 |
|
||||
| `ledger_unit_price` | numeric | 0.0% | - | min=0.00, max=398.00, avg=58.20 |
|
||||
| `ledger_count` | int4 | 0.0% | - | min=0, max=60539, avg=6463.62 |
|
||||
| `ledger_amount` | numeric | 0.0% | - | min=0.00, max=6077.90, avg=115.73 |
|
||||
| `real_table_charge_money` | numeric | 0.0% | - | min=0.00, max=4862.33, avg=41.30 |
|
||||
| `coupon_promotion_amount` | numeric | 0.0% | - | min=0.00, max=752.00, avg=51.85 |
|
||||
| `member_discount_amount` | numeric | 0.0% | - | min=0.00, max=929.84, avg=9.94 |
|
||||
| `adjust_amount` | numeric | 0.0% | - | min=0.00, max=2911.81, avg=17.93 |
|
||||
| `real_table_use_seconds` | int4 | 0.0% | - | min=0, max=60539, avg=6411.07 |
|
||||
| `add_clock_seconds` | int4 | 0.0% | - | min=0, max=39600, avg=58.77 |
|
||||
| `start_use_time` | timestamptz | 0.0% | - | 2025-07-21 10:15:43+08 ~ 2026-02-13 22:59:55+08 |
|
||||
| `ledger_end_time` | timestamptz | 0.0% | - | 2025-07-21 10:58:18+08 ~ 2026-02-14 00:15:53+08 |
|
||||
| `create_time` | timestamptz | 0.0% | - | 2025-07-21 10:58:32+08 ~ 2026-02-14 00:16:27+08 |
|
||||
| `ledger_status` | int4 | 0.0% | - | min=1, max=1, avg=1.00 |
|
||||
| `is_single_order` | int4 | 0.0% | - | min=0, max=1, avg=0.97 |
|
||||
| `is_delete` | int4 | 0.0% | - | min=0, max=1, avg=0.49 |
|
||||
| `activity_discount_amount` | numeric | 43.5% | - | min=0.00, max=0.00, avg=0.00 |
|
||||
| `real_service_money` | numeric | 43.5% | - | min=0.00, max=0.00, avg=0.00 |
|
||||
|
||||
</details>
|
||||
|
||||
## 4. DWD↔DWS 数据一致性
|
||||
|
||||
### 4.1 DWS 表概览
|
||||
|
||||
DWS 层共 32 张表,14 张有数据,18 张为空。
|
||||
|
||||
| DWS 表 | 行数 | 列数 | 状态 |
|
||||
|--------|------|------|------|
|
||||
| `dws.cfg_area_category` | 21 | 10 | ✅ |
|
||||
| `dws.cfg_assistant_level_price` | 5 | 10 | ✅ |
|
||||
| `dws.cfg_bonus_rules` | 9 | 14 | ✅ |
|
||||
| `dws.cfg_index_parameters` | 127 | 9 | ✅ |
|
||||
| `dws.cfg_performance_tier` | 12 | 16 | ✅ |
|
||||
| `dws.cfg_skill_type` | 3 | 9 | ✅ |
|
||||
| `dws.dws_assistant_customer_stats` | 0 | 37 | ⚠️ 空表 |
|
||||
| `dws.dws_assistant_daily_detail` | 5276 | 30 | ✅ |
|
||||
| `dws.dws_assistant_finance_analysis` | 0 | 20 | ⚠️ 空表 |
|
||||
| `dws.dws_assistant_monthly_summary` | 0 | 35 | ⚠️ 空表 |
|
||||
| `dws.dws_assistant_recharge_commission` | 0 | 18 | ⚠️ 空表 |
|
||||
| `dws.dws_assistant_salary_calc` | 0 | 37 | ⚠️ 空表 |
|
||||
| `dws.dws_finance_daily_summary` | 210 | 42 | ✅ |
|
||||
| `dws.dws_finance_discount_detail` | 0 | 12 | ⚠️ 空表 |
|
||||
| `dws.dws_finance_expense_summary` | 0 | 16 | ⚠️ 空表 |
|
||||
| `dws.dws_finance_income_structure` | 0 | 13 | ⚠️ 空表 |
|
||||
| `dws.dws_finance_recharge_summary` | 0 | 23 | ⚠️ 空表 |
|
||||
| `dws.dws_goods_stock_daily_summary` | 0 | 20 | ⚠️ 空表 |
|
||||
| `dws.dws_goods_stock_monthly_summary` | 0 | 20 | ⚠️ 空表 |
|
||||
| `dws.dws_goods_stock_weekly_summary` | 0 | 20 | ⚠️ 空表 |
|
||||
| `dws.dws_index_percentile_history` | 86 | 13 | ✅ |
|
||||
| `dws.dws_member_assistant_intimacy` | 219 | 23 | ✅ |
|
||||
| `dws.dws_member_assistant_relation_index` | 0 | 29 | ⚠️ 空表 |
|
||||
| `dws.dws_member_consumption_summary` | 0 | 39 | ⚠️ 空表 |
|
||||
| `dws.dws_member_newconv_index` | 14 | 37 | ✅ |
|
||||
| `dws.dws_member_recall_index` | 0 | 21 | ⚠️ 空表 |
|
||||
| `dws.dws_member_visit_detail` | 4398 | 29 | ✅ |
|
||||
| `dws.dws_member_winback_index` | 62 | 35 | ✅ |
|
||||
| `dws.dws_ml_manual_order_alloc` | 0 | 19 | ⚠️ 空表 |
|
||||
| `dws.dws_ml_manual_order_source` | 0 | 27 | ⚠️ 空表 |
|
||||
| `dws.dws_order_summary` | 12920 | 34 | ✅ |
|
||||
| `dws.dws_platform_settlement` | 0 | 19 | ⚠️ 空表 |
|
||||
|
||||
### 4.2 DWS 数值列健全性检查
|
||||
|
||||
#### dws.cfg_bonus_rules
|
||||
|
||||
| 列 | NULL率 | 负值数 | 最小值 | 最大值 | 状态 |
|
||||
|----|--------|--------|--------|--------|------|
|
||||
| `rank_position` | 66.7% | 0 | 1 | 3 | ⚠️ 高 NULL 率 |
|
||||
|
||||
#### dws.dws_assistant_daily_detail
|
||||
|
||||
| 列 | NULL率 | 负值数 | 最小值 | 最大值 | 状态 |
|
||||
|----|--------|--------|--------|--------|------|
|
||||
| `assistant_level_code` | 100.0% | 0 | None | None | ⚠️ 高 NULL 率 |
|
||||
|
||||
#### dws.dws_member_visit_detail
|
||||
|
||||
| 列 | NULL率 | 负值数 | 最小值 | 最大值 | 状态 |
|
||||
|----|--------|--------|--------|--------|------|
|
||||
| `table_id` | 100.0% | 0 | None | None | ⚠️ 高 NULL 率 |
|
||||
|
||||
## 5. 异常汇总与建议
|
||||
|
||||
共发现 43 项异常:
|
||||
|
||||
1. API↔ODS `assistant_cancellation_records`: ⚠️ 无 API JSON
|
||||
2. API↔ODS `assistant_accounts_master`: ⚠️ 无 API JSON
|
||||
3. API↔ODS `assistant_service_records`: ⚠️ 无 API JSON
|
||||
4. API↔ODS `stock_goods_category_tree`: ⚠️ 无 API JSON
|
||||
5. API↔ODS `group_buy_redemption_records`: ⚠️ 无 API JSON
|
||||
6. API↔ODS `group_buy_packages`: ⚠️ 无 API JSON
|
||||
7. API↔ODS `goods_stock_movements`: ⚠️ 无 API JSON
|
||||
8. API↔ODS `goods_stock_summary`: ⚠️ 无 API JSON
|
||||
9. API↔ODS `member_profiles`: ⚠️ 无 API JSON
|
||||
10. API↔ODS `member_balance_changes`: ⚠️ 无 API JSON
|
||||
11. API↔ODS `member_stored_value_cards`: ⚠️ 无 API JSON
|
||||
12. API↔ODS `payment_transactions`: ⚠️ 无 API JSON
|
||||
13. API↔ODS `platform_coupon_redemption_records`: ⚠️ 无 API JSON
|
||||
14. API↔ODS `recharge_settlements`: ⚠️ 无 API JSON
|
||||
15. API↔ODS `refund_transactions`: ⚠️ 无 API JSON
|
||||
16. API↔ODS `settlement_records`: ⚠️ 无 API JSON
|
||||
17. API↔ODS `store_goods_master`: ⚠️ 无 API JSON
|
||||
18. API↔ODS `store_goods_sales_records`: ⚠️ 无 API JSON
|
||||
19. API↔ODS `site_tables_master`: ⚠️ 无 API JSON
|
||||
20. API↔ODS `table_fee_discount_records`: ⚠️ 无 API JSON
|
||||
21. API↔ODS `table_fee_transactions`: ⚠️ 无 API JSON
|
||||
22. API↔ODS `tenant_goods_master`: ⚠️ 无 API JSON
|
||||
23. ODS↔DWD `dwd.dim_assistant`: ❌ 存在差异
|
||||
24. ODS↔DWD `dwd.dim_goods_category`: ❌ 存在差异
|
||||
25. ODS↔DWD `dwd.dim_groupbuy_package`: ❌ 存在差异
|
||||
26. ODS↔DWD `dwd.dim_member`: ❌ 存在差异
|
||||
27. ODS↔DWD `dwd.dim_member_card_account`: ❌ 存在差异
|
||||
28. ODS↔DWD `dwd.dim_store_goods`: ❌ 存在差异
|
||||
29. ODS↔DWD `dwd.dim_table`: ❌ 存在差异
|
||||
30. ODS↔DWD `dwd.dim_tenant_goods`: ❌ 存在差异
|
||||
31. ODS↔DWD `dwd.dwd_assistant_service_log`: ❌ 存在差异
|
||||
32. ODS↔DWD `dwd.dwd_assistant_trash_event`: ❌ 存在差异
|
||||
33. ODS↔DWD `dwd.dwd_groupbuy_redemption`: ❌ 存在差异
|
||||
34. ODS↔DWD `dwd.dwd_member_balance_change`: ❌ 存在差异
|
||||
35. ODS↔DWD `dwd.dwd_payment`: ❌ 存在差异
|
||||
36. ODS↔DWD `dwd.dwd_platform_coupon_redemption`: ❌ 存在差异
|
||||
37. ODS↔DWD `dwd.dwd_refund`: ❌ 存在差异
|
||||
38. ODS↔DWD `dwd.dwd_store_goods_sale`: ❌ 存在差异
|
||||
39. ODS↔DWD `dwd.dwd_table_fee_adjust`: ❌ 存在差异
|
||||
40. ODS↔DWD `dwd.dwd_table_fee_log`: ❌ 存在差异
|
||||
41. DWS `dws.cfg_bonus_rules.rank_position`: ⚠️ 高 NULL 率
|
||||
42. DWS `dws.dws_assistant_daily_detail.assistant_level_code`: ⚠️ 高 NULL 率
|
||||
43. DWS `dws.dws_member_visit_detail.table_id`: ⚠️ 高 NULL 率
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,335 @@
|
||||
# 数据一致性黑盒测试报告
|
||||
|
||||
生成时间: 2026-02-20T07:21:33.898900+08:00
|
||||
总体结果: **❌ 存在异常**
|
||||
|
||||
## 汇总
|
||||
|
||||
- API vs ODS 字段完整性: 22/22 张表通过
|
||||
- ODS vs DWD 映射正确性: 38/42 张表通过
|
||||
|
||||
## API vs ODS 字段完整性检查
|
||||
|
||||
| 表名 | 状态 | 总字段 | 通过 | 缺失 | 备注 |
|
||||
|------|------|--------|------|------|------|
|
||||
| ods.assistant_accounts_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: assistant_accounts_master.json |
|
||||
| ods.assistant_cancellation_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: assistant_cancellation_records.json |
|
||||
| ods.assistant_service_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: assistant_service_records.json |
|
||||
| ods.goods_stock_movements | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: goods_stock_movements.json |
|
||||
| ods.goods_stock_summary | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: goods_stock_summary.json |
|
||||
| ods.group_buy_packages | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: group_buy_packages.json |
|
||||
| ods.group_buy_redemption_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: group_buy_redemption_records.json |
|
||||
| ods.member_balance_changes | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: member_balance_changes.json |
|
||||
| ods.member_profiles | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: member_profiles.json |
|
||||
| ods.member_stored_value_cards | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: member_stored_value_cards.json |
|
||||
| ods.payment_transactions | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: payment_transactions.json |
|
||||
| ods.platform_coupon_redemption_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: platform_coupon_redemption_records.json |
|
||||
| ods.recharge_settlements | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: recharge_settlements.json |
|
||||
| ods.refund_transactions | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: refund_transactions.json |
|
||||
| ods.settlement_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: settlement_records.json |
|
||||
| ods.site_tables_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: site_tables_master.json |
|
||||
| ods.stock_goods_category_tree | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: stock_goods_category_tree.json |
|
||||
| ods.store_goods_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: store_goods_master.json |
|
||||
| ods.store_goods_sales_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: store_goods_sales_records.json |
|
||||
| ods.table_fee_discount_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: table_fee_discount_records.json |
|
||||
| ods.table_fee_transactions | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: table_fee_transactions.json |
|
||||
| ods.tenant_goods_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: tenant_goods_master.json |
|
||||
|
||||
## ODS vs DWD 映射正确性检查
|
||||
|
||||
| DWD 表 | 状态 | 总字段 | 通过 | 缺失 | 不一致 | ODS 行数 | DWD 行数 | 备注 |
|
||||
|--------|------|--------|------|------|--------|----------|----------|------|
|
||||
| dwd.dim_assistant | ✅ | 15 | 15 | 0 | 0 | 295 | 1266 | |
|
||||
| dwd.dim_assistant_ex | ✅ | 44 | 44 | 0 | 0 | 295 | 1251 | |
|
||||
| dwd.dim_goods_category | ✅ | 12 | 12 | 0 | 0 | 18 | 125 | |
|
||||
| dwd.dim_groupbuy_package | ✅ | 18 | 18 | 0 | 0 | 70 | 373 | |
|
||||
| dwd.dim_groupbuy_package_ex | ✅ | 21 | 21 | 0 | 0 | 70 | 373 | |
|
||||
| dwd.dim_member | ❌ | 12 | 11 | 1 | 0 | 1771 | 10801 | |
|
||||
| dwd.dim_member_card_account | ✅ | 19 | 19 | 0 | 0 | 2973 | 18370 | |
|
||||
| dwd.dim_member_card_account_ex | ✅ | 57 | 57 | 0 | 0 | 2973 | 18172 | |
|
||||
| dwd.dim_member_ex | ✅ | 10 | 10 | 0 | 0 | 1771 | 10770 | |
|
||||
| dwd.dim_site | ✅ | 13 | 13 | 0 | 0 | 38585 | 55 | |
|
||||
| dwd.dim_site_ex | ✅ | 21 | 21 | 0 | 0 | 38585 | 55 | |
|
||||
| dwd.dim_store_goods | ✅ | 22 | 22 | 0 | 0 | 1744 | 5444 | |
|
||||
| dwd.dim_store_goods_ex | ✅ | 26 | 26 | 0 | 0 | 1744 | 5402 | |
|
||||
| dwd.dim_table | ✅ | 8 | 8 | 0 | 0 | 1074 | 2881 | |
|
||||
| dwd.dim_table_ex | ✅ | 20 | 20 | 0 | 0 | 1074 | 3035 | |
|
||||
| dwd.dim_tenant_goods | ✅ | 15 | 15 | 0 | 0 | 353 | 2018 | |
|
||||
| dwd.dim_tenant_goods_ex | ✅ | 18 | 18 | 0 | 0 | 353 | 2016 | |
|
||||
| dwd.dwd_assistant_service_log | ✅ | 33 | 33 | 0 | 0 | 10219 | 5281 | |
|
||||
| dwd.dwd_assistant_service_log_ex | ✅ | 31 | 31 | 0 | 0 | 10219 | 5281 | |
|
||||
| dwd.dwd_assistant_trash_event | ✅ | 11 | 11 | 0 | 0 | 100 | 100 | |
|
||||
| dwd.dwd_assistant_trash_event_ex | ✅ | 3 | 3 | 0 | 0 | 100 | 100 | |
|
||||
| dwd.dwd_goods_stock_movement | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | DWD 表 dwd.dwd_goods_stock_movement 不存在或无列 |
|
||||
| dwd.dwd_goods_stock_summary | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | DWD 表 dwd.dwd_goods_stock_summary 不存在或无列 |
|
||||
| dwd.dwd_groupbuy_redemption | ✅ | 25 | 25 | 0 | 0 | 27284 | 12768 | |
|
||||
| dwd.dwd_groupbuy_redemption_ex | ✅ | 28 | 28 | 0 | 0 | 27284 | 12768 | |
|
||||
| dwd.dwd_member_balance_change | ❌ | 22 | 21 | 1 | 0 | 9684 | 5081 | |
|
||||
| dwd.dwd_member_balance_change_ex | ✅ | 7 | 7 | 0 | 0 | 9684 | 5081 | |
|
||||
| dwd.dwd_payment | ✅ | 12 | 12 | 0 | 0 | 36006 | 24922 | |
|
||||
| dwd.dwd_platform_coupon_redemption | ✅ | 20 | 20 | 0 | 0 | 36678 | 18311 | |
|
||||
| dwd.dwd_platform_coupon_redemption_ex | ✅ | 6 | 6 | 0 | 0 | 36678 | 18311 | |
|
||||
| dwd.dwd_recharge_order | ✅ | 24 | 24 | 0 | 0 | 3333 | 485 | |
|
||||
| dwd.dwd_recharge_order_ex | ✅ | 43 | 43 | 0 | 0 | 3333 | 485 | |
|
||||
| dwd.dwd_refund | ✅ | 12 | 12 | 0 | 0 | 83 | 51 | |
|
||||
| dwd.dwd_refund_ex | ✅ | 20 | 20 | 0 | 0 | 83 | 51 | |
|
||||
| dwd.dwd_settlement_head | ✅ | 37 | 37 | 0 | 0 | 55457 | 26115 | |
|
||||
| dwd.dwd_settlement_head_ex | ✅ | 30 | 30 | 0 | 0 | 55457 | 26115 | |
|
||||
| dwd.dwd_store_goods_sale | ✅ | 24 | 24 | 0 | 0 | 17563 | 17563 | |
|
||||
| dwd.dwd_store_goods_sale_ex | ✅ | 28 | 28 | 0 | 0 | 17563 | 17563 | |
|
||||
| dwd.dwd_table_fee_adjust | ✅ | 16 | 16 | 0 | 0 | 4818 | 3124 | |
|
||||
| dwd.dwd_table_fee_adjust_ex | ✅ | 13 | 13 | 0 | 0 | 4818 | 3124 | |
|
||||
| dwd.dwd_table_fee_log | ✅ | 29 | 29 | 0 | 0 | 38585 | 20132 | |
|
||||
| dwd.dwd_table_fee_log_ex | ✅ | 13 | 13 | 0 | 0 | 38585 | 20132 | |
|
||||
|
||||
### dwd.dim_member — 映射异常明细
|
||||
|
||||
- `update_time` [missing]: DWD 列无 ODS 映射源(无显式映射且无同名 ODS 列)
|
||||
|
||||
#### 值不一致采样(前 5 条)
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"member_id": 2860039721438277,
|
||||
"dwd_create_time": "2025-09-01T20:02:53+08:00",
|
||||
"ods_create_time": "2025-09-01 20:02:53",
|
||||
"dwd_member_card_grade_code": 2790683528022853,
|
||||
"ods_member_card_grade_code": "2790683528022853",
|
||||
"dwd_member_card_grade_name": "储值卡",
|
||||
"ods_member_card_grade_name": "储值卡",
|
||||
"dwd_mobile": "13189179882",
|
||||
"ods_mobile": "13189179882",
|
||||
"dwd_nickname": "李",
|
||||
"ods_nickname": "李",
|
||||
"dwd_pay_money_sum": "-788.37",
|
||||
"ods_pay_money_sum": "-788.37",
|
||||
"dwd_recharge_money_sum": "2716.00",
|
||||
"ods_recharge_money_sum": "2716.00",
|
||||
"dwd_register_site_id": 2790685415443269,
|
||||
"ods_register_site_id": "2790685415443269",
|
||||
"dwd_system_member_id": 2799207107888901,
|
||||
"ods_system_member_id": "2799207107888901",
|
||||
"dwd_tenant_id": 2790683160709957,
|
||||
"ods_tenant_id": "2790683160709957"
|
||||
},
|
||||
{
|
||||
"member_id": 3066773303512389,
|
||||
"dwd_create_time": "2026-01-25T21:03:10+08:00",
|
||||
"ods_create_time": "2026-01-25 21:03:10",
|
||||
"dwd_member_card_grade_code": 2790683528022856,
|
||||
"ods_member_card_grade_code": "2790683528022856",
|
||||
"dwd_member_card_grade_name": "活动抵用券",
|
||||
"ods_member_card_grade_name": "活动抵用券",
|
||||
"dwd_mobile": "17306741548",
|
||||
"ods_mobile": "17306741548",
|
||||
"dwd_nickname": "李",
|
||||
"ods_nickname": "李",
|
||||
"dwd_pay_money_sum": "-188.00",
|
||||
"ods_pay_money_sum": "-188.00",
|
||||
"dwd_recharge_money_sum": "188.00",
|
||||
"ods_recharge_money_sum": "188.00",
|
||||
"dwd_register_site_id": 2790685415443269,
|
||||
"ods_register_site_id": "2790685415443269",
|
||||
"dwd_system_member_id": 3066773300268357,
|
||||
"ods_system_member_id": "3066773300268357",
|
||||
"dwd_tenant_id": 2790683160709957,
|
||||
"ods_tenant_id": "2790683160709957"
|
||||
},
|
||||
{
|
||||
"member_id": 2966381620874693,
|
||||
"dwd_create_time": "2025-11-15T22:59:28+08:00",
|
||||
"ods_create_time": "2025-11-15 22:59:28",
|
||||
"dwd_member_card_grade_code": 2790683528022855,
|
||||
"ods_member_card_grade_code": "2790683528022855",
|
||||
"dwd_member_card_grade_name": "台费卡",
|
||||
"ods_member_card_grade_name": "台费卡",
|
||||
"dwd_mobile": "15915866234",
|
||||
"ods_mobile": "15915866234",
|
||||
"dwd_nickname": "尤",
|
||||
"ods_nickname": "尤",
|
||||
"dwd_pay_money_sum": "0.00",
|
||||
"ods_pay_money_sum": "0.00",
|
||||
"dwd_recharge_money_sum": "200.00",
|
||||
"ods_recharge_money_sum": "200.00",
|
||||
"dwd_register_site_id": 2790685415443269,
|
||||
"ods_register_site_id": "2790685415443269",
|
||||
"dwd_system_member_id": 2966381618761157,
|
||||
"ods_system_member_id": "2966381618761157",
|
||||
"dwd_tenant_id": 2790683160709957,
|
||||
"ods_tenant_id": "2790683160709957"
|
||||
},
|
||||
{
|
||||
"member_id": 2807525094639429,
|
||||
"dwd_create_time": "2025-07-26T17:42:15+08:00",
|
||||
"ods_create_time": "2025-07-26 17:42:15",
|
||||
"dwd_member_card_grade_code": 2790683528022853,
|
||||
"ods_member_card_grade_code": "2790683528022853",
|
||||
"dwd_member_card_grade_name": "储值卡",
|
||||
"ods_member_card_grade_name": "储值卡",
|
||||
"dwd_mobile": "15802496094",
|
||||
"ods_mobile": "15802496094",
|
||||
"dwd_nickname": "李",
|
||||
"ods_nickname": "李",
|
||||
"dwd_pay_money_sum": "0.00",
|
||||
"ods_pay_money_sum": "0.00",
|
||||
"dwd_recharge_money_sum": "0.00",
|
||||
"ods_recharge_money_sum": "0.00",
|
||||
"dwd_register_site_id": 2790685415443269,
|
||||
"ods_register_site_id": "2790685415443269",
|
||||
"dwd_system_member_id": 2807525093623621,
|
||||
"ods_system_member_id": "2807525093623621",
|
||||
"dwd_tenant_id": 2790683160709957,
|
||||
"ods_tenant_id": "2790683160709957"
|
||||
},
|
||||
{
|
||||
"member_id": 2799212423857925,
|
||||
"dwd_create_time": "2025-07-20T20:46:10+08:00",
|
||||
"ods_create_time": "2025-07-20 20:46:10",
|
||||
"dwd_member_card_grade_code": 2790683528022855,
|
||||
"ods_member_card_grade_code": "2790683528022855",
|
||||
"dwd_member_card_grade_name": "台费卡",
|
||||
"ods_member_card_grade_name": "台费卡",
|
||||
"dwd_mobile": "18148713553",
|
||||
"ods_mobile": "18148713553",
|
||||
"dwd_nickname": "潘",
|
||||
"ods_nickname": "潘",
|
||||
"dwd_pay_money_sum": "0.00",
|
||||
"ods_pay_money_sum": "0.00",
|
||||
"dwd_recharge_money_sum": "0.00",
|
||||
"ods_recharge_money_sum": "0.00",
|
||||
"dwd_register_site_id": 2790685415443269,
|
||||
"ods_register_site_id": "2790685415443269",
|
||||
"dwd_system_member_id": 2799212422907653,
|
||||
"ods_system_member_id": "2799212422907653",
|
||||
"dwd_tenant_id": 2790683160709957,
|
||||
"ods_tenant_id": "2790683160709957"
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
### dwd.dwd_member_balance_change — 映射异常明细
|
||||
|
||||
- `principal_change_amount` [missing]: DWD 列无 ODS 映射源(无显式映射且无同名 ODS 列)
|
||||
|
||||
#### 值不一致采样(前 5 条)
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"balance_change_id": 2800328071170949,
|
||||
"dwd_balance_after": "8.00",
|
||||
"ods_balance_after": "8.00",
|
||||
"dwd_balance_before": "199.00",
|
||||
"ods_balance_before": "199.00",
|
||||
"dwd_card_type_id": 2793249295533893,
|
||||
"ods_card_type_id": "2793249295533893",
|
||||
"dwd_card_type_name": "储值卡",
|
||||
"ods_card_type_name": "储值卡",
|
||||
"dwd_change_amount": "-191.00",
|
||||
"ods_change_amount": "-191.00",
|
||||
"dwd_change_time": "2025-07-21T15:41:03+08:00",
|
||||
"ods_change_time": "2025-07-21 15:41:03",
|
||||
"dwd_from_type": 9,
|
||||
"ods_from_type": "9",
|
||||
"dwd_is_delete": 1,
|
||||
"ods_is_delete": "1",
|
||||
"dwd_member_mobile": "19120942851",
|
||||
"ods_member_mobile": "19120942851",
|
||||
"dwd_member_name": "夏",
|
||||
"ods_member_name": "夏"
|
||||
},
|
||||
{
|
||||
"balance_change_id": 2800328508984197,
|
||||
"dwd_balance_after": "0.00",
|
||||
"ods_balance_after": "0.00",
|
||||
"dwd_balance_before": "8.00",
|
||||
"ods_balance_before": "8.00",
|
||||
"dwd_card_type_id": 2793249295533893,
|
||||
"ods_card_type_id": "2793249295533893",
|
||||
"dwd_card_type_name": "储值卡",
|
||||
"ods_card_type_name": "储值卡",
|
||||
"dwd_change_amount": "-8.00",
|
||||
"ods_change_amount": "-8.00",
|
||||
"dwd_change_time": "2025-07-21T15:41:30+08:00",
|
||||
"ods_change_time": "2025-07-21 15:41:30",
|
||||
"dwd_from_type": 9,
|
||||
"ods_from_type": "9",
|
||||
"dwd_is_delete": 1,
|
||||
"ods_is_delete": "1",
|
||||
"dwd_member_mobile": "19120942851",
|
||||
"ods_member_mobile": "19120942851",
|
||||
"dwd_member_name": "夏",
|
||||
"ods_member_name": "夏"
|
||||
},
|
||||
{
|
||||
"balance_change_id": 2800329356315525,
|
||||
"dwd_balance_after": "1957.00",
|
||||
"ods_balance_after": "1957.00",
|
||||
"dwd_balance_before": "2027.00",
|
||||
"ods_balance_before": "2027.00",
|
||||
"dwd_card_type_id": 2793249295533893,
|
||||
"ods_card_type_id": "2793249295533893",
|
||||
"dwd_card_type_name": "储值卡",
|
||||
"ods_card_type_name": "储值卡",
|
||||
"dwd_change_amount": "-70.00",
|
||||
"ods_change_amount": "-70.00",
|
||||
"dwd_change_time": "2025-07-21T15:42:22+08:00",
|
||||
"ods_change_time": "2025-07-21 15:42:22",
|
||||
"dwd_from_type": 9,
|
||||
"ods_from_type": "9",
|
||||
"dwd_is_delete": 1,
|
||||
"ods_is_delete": "1",
|
||||
"dwd_member_mobile": "13503045590",
|
||||
"ods_member_mobile": "13503045590",
|
||||
"dwd_member_name": "程允立",
|
||||
"ods_member_name": "程允立"
|
||||
},
|
||||
{
|
||||
"balance_change_id": 2800330000272261,
|
||||
"dwd_balance_after": "1095.00",
|
||||
"ods_balance_after": "1095.00",
|
||||
"dwd_balance_before": "1162.00",
|
||||
"ods_balance_before": "1162.00",
|
||||
"dwd_card_type_id": 2793249295533893,
|
||||
"ods_card_type_id": "2793249295533893",
|
||||
"dwd_card_type_name": "储值卡",
|
||||
"ods_card_type_name": "储值卡",
|
||||
"dwd_change_amount": "-67.00",
|
||||
"ods_change_amount": "-67.00",
|
||||
"dwd_change_time": "2025-07-21T15:43:01+08:00",
|
||||
"ods_change_time": "2025-07-21 15:43:01",
|
||||
"dwd_from_type": 9,
|
||||
"ods_from_type": "9",
|
||||
"dwd_is_delete": 1,
|
||||
"ods_is_delete": "1",
|
||||
"dwd_member_mobile": "18689418682",
|
||||
"ods_member_mobile": "18689418682",
|
||||
"dwd_member_name": "易先生",
|
||||
"ods_member_name": "易先生"
|
||||
},
|
||||
{
|
||||
"balance_change_id": 2800331271129989,
|
||||
"dwd_balance_after": "515.00",
|
||||
"ods_balance_after": "515.00",
|
||||
"dwd_balance_before": "175.00",
|
||||
"ods_balance_before": "175.00",
|
||||
"dwd_card_type_id": 2793249295533893,
|
||||
"ods_card_type_id": "2793249295533893",
|
||||
"dwd_card_type_name": "储值卡",
|
||||
"ods_card_type_name": "储值卡",
|
||||
"dwd_change_amount": "340.00",
|
||||
"ods_change_amount": "340.00",
|
||||
"dwd_change_time": "2025-07-21T15:44:19+08:00",
|
||||
"ods_change_time": "2025-07-21 15:44:19",
|
||||
"dwd_from_type": 9,
|
||||
"ods_from_type": "9",
|
||||
"dwd_is_delete": 1,
|
||||
"ods_is_delete": "1",
|
||||
"dwd_member_mobile": "19152047230",
|
||||
"ods_member_mobile": "19152047230",
|
||||
"dwd_member_name": "小唯",
|
||||
"ods_member_name": "小唯"
|
||||
}
|
||||
]
|
||||
```
|
||||
@@ -0,0 +1,335 @@
|
||||
# 数据一致性黑盒测试报告
|
||||
|
||||
生成时间: 2026-02-20T07:21:53.320578+08:00
|
||||
总体结果: **❌ 存在异常**
|
||||
|
||||
## 汇总
|
||||
|
||||
- API vs ODS 字段完整性: 22/22 张表通过
|
||||
- ODS vs DWD 映射正确性: 38/42 张表通过
|
||||
|
||||
## API vs ODS 字段完整性检查
|
||||
|
||||
| 表名 | 状态 | 总字段 | 通过 | 缺失 | 备注 |
|
||||
|------|------|--------|------|------|------|
|
||||
| ods.assistant_accounts_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: assistant_accounts_master.json |
|
||||
| ods.assistant_cancellation_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: assistant_cancellation_records.json |
|
||||
| ods.assistant_service_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: assistant_service_records.json |
|
||||
| ods.goods_stock_movements | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: goods_stock_movements.json |
|
||||
| ods.goods_stock_summary | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: goods_stock_summary.json |
|
||||
| ods.group_buy_packages | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: group_buy_packages.json |
|
||||
| ods.group_buy_redemption_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: group_buy_redemption_records.json |
|
||||
| ods.member_balance_changes | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: member_balance_changes.json |
|
||||
| ods.member_profiles | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: member_profiles.json |
|
||||
| ods.member_stored_value_cards | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: member_stored_value_cards.json |
|
||||
| ods.payment_transactions | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: payment_transactions.json |
|
||||
| ods.platform_coupon_redemption_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: platform_coupon_redemption_records.json |
|
||||
| ods.recharge_settlements | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: recharge_settlements.json |
|
||||
| ods.refund_transactions | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: refund_transactions.json |
|
||||
| ods.settlement_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: settlement_records.json |
|
||||
| ods.site_tables_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: site_tables_master.json |
|
||||
| ods.stock_goods_category_tree | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: stock_goods_category_tree.json |
|
||||
| ods.store_goods_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: store_goods_master.json |
|
||||
| ods.store_goods_sales_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: store_goods_sales_records.json |
|
||||
| ods.table_fee_discount_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: table_fee_discount_records.json |
|
||||
| ods.table_fee_transactions | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: table_fee_transactions.json |
|
||||
| ods.tenant_goods_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: tenant_goods_master.json |
|
||||
|
||||
## ODS vs DWD 映射正确性检查
|
||||
|
||||
| DWD 表 | 状态 | 总字段 | 通过 | 缺失 | 不一致 | ODS 行数 | DWD 行数 | 备注 |
|
||||
|--------|------|--------|------|------|--------|----------|----------|------|
|
||||
| dwd.dim_assistant | ✅ | 15 | 15 | 0 | 0 | 295 | 1266 | |
|
||||
| dwd.dim_assistant_ex | ✅ | 44 | 44 | 0 | 0 | 295 | 1251 | |
|
||||
| dwd.dim_goods_category | ✅ | 12 | 12 | 0 | 0 | 18 | 125 | |
|
||||
| dwd.dim_groupbuy_package | ✅ | 18 | 18 | 0 | 0 | 70 | 373 | |
|
||||
| dwd.dim_groupbuy_package_ex | ✅ | 21 | 21 | 0 | 0 | 70 | 373 | |
|
||||
| dwd.dim_member | ❌ | 12 | 11 | 1 | 0 | 1771 | 10801 | |
|
||||
| dwd.dim_member_card_account | ✅ | 19 | 19 | 0 | 0 | 2973 | 18370 | |
|
||||
| dwd.dim_member_card_account_ex | ✅ | 57 | 57 | 0 | 0 | 2973 | 18172 | |
|
||||
| dwd.dim_member_ex | ✅ | 10 | 10 | 0 | 0 | 1771 | 10770 | |
|
||||
| dwd.dim_site | ✅ | 13 | 13 | 0 | 0 | 38585 | 55 | |
|
||||
| dwd.dim_site_ex | ✅ | 21 | 21 | 0 | 0 | 38585 | 55 | |
|
||||
| dwd.dim_store_goods | ✅ | 22 | 22 | 0 | 0 | 1744 | 5444 | |
|
||||
| dwd.dim_store_goods_ex | ✅ | 26 | 26 | 0 | 0 | 1744 | 5402 | |
|
||||
| dwd.dim_table | ✅ | 8 | 8 | 0 | 0 | 1074 | 2881 | |
|
||||
| dwd.dim_table_ex | ✅ | 20 | 20 | 0 | 0 | 1074 | 3035 | |
|
||||
| dwd.dim_tenant_goods | ✅ | 15 | 15 | 0 | 0 | 353 | 2018 | |
|
||||
| dwd.dim_tenant_goods_ex | ✅ | 18 | 18 | 0 | 0 | 353 | 2016 | |
|
||||
| dwd.dwd_assistant_service_log | ✅ | 33 | 33 | 0 | 0 | 10219 | 5281 | |
|
||||
| dwd.dwd_assistant_service_log_ex | ✅ | 31 | 31 | 0 | 0 | 10219 | 5281 | |
|
||||
| dwd.dwd_assistant_trash_event | ✅ | 11 | 11 | 0 | 0 | 100 | 100 | |
|
||||
| dwd.dwd_assistant_trash_event_ex | ✅ | 3 | 3 | 0 | 0 | 100 | 100 | |
|
||||
| dwd.dwd_goods_stock_movement | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | DWD 表 dwd.dwd_goods_stock_movement 不存在或无列 |
|
||||
| dwd.dwd_goods_stock_summary | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | DWD 表 dwd.dwd_goods_stock_summary 不存在或无列 |
|
||||
| dwd.dwd_groupbuy_redemption | ✅ | 25 | 25 | 0 | 0 | 27284 | 12768 | |
|
||||
| dwd.dwd_groupbuy_redemption_ex | ✅ | 28 | 28 | 0 | 0 | 27284 | 12768 | |
|
||||
| dwd.dwd_member_balance_change | ❌ | 22 | 21 | 1 | 0 | 9684 | 5081 | |
|
||||
| dwd.dwd_member_balance_change_ex | ✅ | 7 | 7 | 0 | 0 | 9684 | 5081 | |
|
||||
| dwd.dwd_payment | ✅ | 12 | 12 | 0 | 0 | 36006 | 24922 | |
|
||||
| dwd.dwd_platform_coupon_redemption | ✅ | 20 | 20 | 0 | 0 | 36678 | 18311 | |
|
||||
| dwd.dwd_platform_coupon_redemption_ex | ✅ | 6 | 6 | 0 | 0 | 36678 | 18311 | |
|
||||
| dwd.dwd_recharge_order | ✅ | 24 | 24 | 0 | 0 | 3333 | 485 | |
|
||||
| dwd.dwd_recharge_order_ex | ✅ | 43 | 43 | 0 | 0 | 3333 | 485 | |
|
||||
| dwd.dwd_refund | ✅ | 12 | 12 | 0 | 0 | 83 | 51 | |
|
||||
| dwd.dwd_refund_ex | ✅ | 20 | 20 | 0 | 0 | 83 | 51 | |
|
||||
| dwd.dwd_settlement_head | ✅ | 37 | 37 | 0 | 0 | 55457 | 26115 | |
|
||||
| dwd.dwd_settlement_head_ex | ✅ | 30 | 30 | 0 | 0 | 55457 | 26115 | |
|
||||
| dwd.dwd_store_goods_sale | ✅ | 24 | 24 | 0 | 0 | 17563 | 17563 | |
|
||||
| dwd.dwd_store_goods_sale_ex | ✅ | 28 | 28 | 0 | 0 | 17563 | 17563 | |
|
||||
| dwd.dwd_table_fee_adjust | ✅ | 16 | 16 | 0 | 0 | 4818 | 3124 | |
|
||||
| dwd.dwd_table_fee_adjust_ex | ✅ | 13 | 13 | 0 | 0 | 4818 | 3124 | |
|
||||
| dwd.dwd_table_fee_log | ✅ | 29 | 29 | 0 | 0 | 38585 | 20132 | |
|
||||
| dwd.dwd_table_fee_log_ex | ✅ | 13 | 13 | 0 | 0 | 38585 | 20132 | |
|
||||
|
||||
### dwd.dim_member — 映射异常明细
|
||||
|
||||
- `update_time` [missing]: DWD 列无 ODS 映射源(无显式映射且无同名 ODS 列)
|
||||
|
||||
#### 值不一致采样(前 5 条)
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"member_id": 2860039721438277,
|
||||
"dwd_create_time": "2025-09-01T20:02:53+08:00",
|
||||
"ods_create_time": "2025-09-01 20:02:53",
|
||||
"dwd_member_card_grade_code": 2790683528022853,
|
||||
"ods_member_card_grade_code": "2790683528022853",
|
||||
"dwd_member_card_grade_name": "储值卡",
|
||||
"ods_member_card_grade_name": "储值卡",
|
||||
"dwd_mobile": "13189179882",
|
||||
"ods_mobile": "13189179882",
|
||||
"dwd_nickname": "李",
|
||||
"ods_nickname": "李",
|
||||
"dwd_pay_money_sum": "-788.37",
|
||||
"ods_pay_money_sum": "-788.37",
|
||||
"dwd_recharge_money_sum": "2716.00",
|
||||
"ods_recharge_money_sum": "2716.00",
|
||||
"dwd_register_site_id": 2790685415443269,
|
||||
"ods_register_site_id": "2790685415443269",
|
||||
"dwd_system_member_id": 2799207107888901,
|
||||
"ods_system_member_id": "2799207107888901",
|
||||
"dwd_tenant_id": 2790683160709957,
|
||||
"ods_tenant_id": "2790683160709957"
|
||||
},
|
||||
{
|
||||
"member_id": 3066773303512389,
|
||||
"dwd_create_time": "2026-01-25T21:03:10+08:00",
|
||||
"ods_create_time": "2026-01-25 21:03:10",
|
||||
"dwd_member_card_grade_code": 2790683528022856,
|
||||
"ods_member_card_grade_code": "2790683528022856",
|
||||
"dwd_member_card_grade_name": "活动抵用券",
|
||||
"ods_member_card_grade_name": "活动抵用券",
|
||||
"dwd_mobile": "17306741548",
|
||||
"ods_mobile": "17306741548",
|
||||
"dwd_nickname": "李",
|
||||
"ods_nickname": "李",
|
||||
"dwd_pay_money_sum": "-188.00",
|
||||
"ods_pay_money_sum": "-188.00",
|
||||
"dwd_recharge_money_sum": "188.00",
|
||||
"ods_recharge_money_sum": "188.00",
|
||||
"dwd_register_site_id": 2790685415443269,
|
||||
"ods_register_site_id": "2790685415443269",
|
||||
"dwd_system_member_id": 3066773300268357,
|
||||
"ods_system_member_id": "3066773300268357",
|
||||
"dwd_tenant_id": 2790683160709957,
|
||||
"ods_tenant_id": "2790683160709957"
|
||||
},
|
||||
{
|
||||
"member_id": 2966381620874693,
|
||||
"dwd_create_time": "2025-11-15T22:59:28+08:00",
|
||||
"ods_create_time": "2025-11-15 22:59:28",
|
||||
"dwd_member_card_grade_code": 2790683528022855,
|
||||
"ods_member_card_grade_code": "2790683528022855",
|
||||
"dwd_member_card_grade_name": "台费卡",
|
||||
"ods_member_card_grade_name": "台费卡",
|
||||
"dwd_mobile": "15915866234",
|
||||
"ods_mobile": "15915866234",
|
||||
"dwd_nickname": "尤",
|
||||
"ods_nickname": "尤",
|
||||
"dwd_pay_money_sum": "0.00",
|
||||
"ods_pay_money_sum": "0.00",
|
||||
"dwd_recharge_money_sum": "200.00",
|
||||
"ods_recharge_money_sum": "200.00",
|
||||
"dwd_register_site_id": 2790685415443269,
|
||||
"ods_register_site_id": "2790685415443269",
|
||||
"dwd_system_member_id": 2966381618761157,
|
||||
"ods_system_member_id": "2966381618761157",
|
||||
"dwd_tenant_id": 2790683160709957,
|
||||
"ods_tenant_id": "2790683160709957"
|
||||
},
|
||||
{
|
||||
"member_id": 2807525094639429,
|
||||
"dwd_create_time": "2025-07-26T17:42:15+08:00",
|
||||
"ods_create_time": "2025-07-26 17:42:15",
|
||||
"dwd_member_card_grade_code": 2790683528022853,
|
||||
"ods_member_card_grade_code": "2790683528022853",
|
||||
"dwd_member_card_grade_name": "储值卡",
|
||||
"ods_member_card_grade_name": "储值卡",
|
||||
"dwd_mobile": "15802496094",
|
||||
"ods_mobile": "15802496094",
|
||||
"dwd_nickname": "李",
|
||||
"ods_nickname": "李",
|
||||
"dwd_pay_money_sum": "0.00",
|
||||
"ods_pay_money_sum": "0.00",
|
||||
"dwd_recharge_money_sum": "0.00",
|
||||
"ods_recharge_money_sum": "0.00",
|
||||
"dwd_register_site_id": 2790685415443269,
|
||||
"ods_register_site_id": "2790685415443269",
|
||||
"dwd_system_member_id": 2807525093623621,
|
||||
"ods_system_member_id": "2807525093623621",
|
||||
"dwd_tenant_id": 2790683160709957,
|
||||
"ods_tenant_id": "2790683160709957"
|
||||
},
|
||||
{
|
||||
"member_id": 2799212423857925,
|
||||
"dwd_create_time": "2025-07-20T20:46:10+08:00",
|
||||
"ods_create_time": "2025-07-20 20:46:10",
|
||||
"dwd_member_card_grade_code": 2790683528022855,
|
||||
"ods_member_card_grade_code": "2790683528022855",
|
||||
"dwd_member_card_grade_name": "台费卡",
|
||||
"ods_member_card_grade_name": "台费卡",
|
||||
"dwd_mobile": "18148713553",
|
||||
"ods_mobile": "18148713553",
|
||||
"dwd_nickname": "潘",
|
||||
"ods_nickname": "潘",
|
||||
"dwd_pay_money_sum": "0.00",
|
||||
"ods_pay_money_sum": "0.00",
|
||||
"dwd_recharge_money_sum": "0.00",
|
||||
"ods_recharge_money_sum": "0.00",
|
||||
"dwd_register_site_id": 2790685415443269,
|
||||
"ods_register_site_id": "2790685415443269",
|
||||
"dwd_system_member_id": 2799212422907653,
|
||||
"ods_system_member_id": "2799212422907653",
|
||||
"dwd_tenant_id": 2790683160709957,
|
||||
"ods_tenant_id": "2790683160709957"
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
### dwd.dwd_member_balance_change — 映射异常明细
|
||||
|
||||
- `principal_change_amount` [missing]: DWD 列无 ODS 映射源(无显式映射且无同名 ODS 列)
|
||||
|
||||
#### 值不一致采样(前 5 条)
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"balance_change_id": 2800328071170949,
|
||||
"dwd_balance_after": "8.00",
|
||||
"ods_balance_after": "8.00",
|
||||
"dwd_balance_before": "199.00",
|
||||
"ods_balance_before": "199.00",
|
||||
"dwd_card_type_id": 2793249295533893,
|
||||
"ods_card_type_id": "2793249295533893",
|
||||
"dwd_card_type_name": "储值卡",
|
||||
"ods_card_type_name": "储值卡",
|
||||
"dwd_change_amount": "-191.00",
|
||||
"ods_change_amount": "-191.00",
|
||||
"dwd_change_time": "2025-07-21T15:41:03+08:00",
|
||||
"ods_change_time": "2025-07-21 15:41:03",
|
||||
"dwd_from_type": 9,
|
||||
"ods_from_type": "9",
|
||||
"dwd_is_delete": 1,
|
||||
"ods_is_delete": "1",
|
||||
"dwd_member_mobile": "19120942851",
|
||||
"ods_member_mobile": "19120942851",
|
||||
"dwd_member_name": "夏",
|
||||
"ods_member_name": "夏"
|
||||
},
|
||||
{
|
||||
"balance_change_id": 2800328508984197,
|
||||
"dwd_balance_after": "0.00",
|
||||
"ods_balance_after": "0.00",
|
||||
"dwd_balance_before": "8.00",
|
||||
"ods_balance_before": "8.00",
|
||||
"dwd_card_type_id": 2793249295533893,
|
||||
"ods_card_type_id": "2793249295533893",
|
||||
"dwd_card_type_name": "储值卡",
|
||||
"ods_card_type_name": "储值卡",
|
||||
"dwd_change_amount": "-8.00",
|
||||
"ods_change_amount": "-8.00",
|
||||
"dwd_change_time": "2025-07-21T15:41:30+08:00",
|
||||
"ods_change_time": "2025-07-21 15:41:30",
|
||||
"dwd_from_type": 9,
|
||||
"ods_from_type": "9",
|
||||
"dwd_is_delete": 1,
|
||||
"ods_is_delete": "1",
|
||||
"dwd_member_mobile": "19120942851",
|
||||
"ods_member_mobile": "19120942851",
|
||||
"dwd_member_name": "夏",
|
||||
"ods_member_name": "夏"
|
||||
},
|
||||
{
|
||||
"balance_change_id": 2800329356315525,
|
||||
"dwd_balance_after": "1957.00",
|
||||
"ods_balance_after": "1957.00",
|
||||
"dwd_balance_before": "2027.00",
|
||||
"ods_balance_before": "2027.00",
|
||||
"dwd_card_type_id": 2793249295533893,
|
||||
"ods_card_type_id": "2793249295533893",
|
||||
"dwd_card_type_name": "储值卡",
|
||||
"ods_card_type_name": "储值卡",
|
||||
"dwd_change_amount": "-70.00",
|
||||
"ods_change_amount": "-70.00",
|
||||
"dwd_change_time": "2025-07-21T15:42:22+08:00",
|
||||
"ods_change_time": "2025-07-21 15:42:22",
|
||||
"dwd_from_type": 9,
|
||||
"ods_from_type": "9",
|
||||
"dwd_is_delete": 1,
|
||||
"ods_is_delete": "1",
|
||||
"dwd_member_mobile": "13503045590",
|
||||
"ods_member_mobile": "13503045590",
|
||||
"dwd_member_name": "程允立",
|
||||
"ods_member_name": "程允立"
|
||||
},
|
||||
{
|
||||
"balance_change_id": 2800330000272261,
|
||||
"dwd_balance_after": "1095.00",
|
||||
"ods_balance_after": "1095.00",
|
||||
"dwd_balance_before": "1162.00",
|
||||
"ods_balance_before": "1162.00",
|
||||
"dwd_card_type_id": 2793249295533893,
|
||||
"ods_card_type_id": "2793249295533893",
|
||||
"dwd_card_type_name": "储值卡",
|
||||
"ods_card_type_name": "储值卡",
|
||||
"dwd_change_amount": "-67.00",
|
||||
"ods_change_amount": "-67.00",
|
||||
"dwd_change_time": "2025-07-21T15:43:01+08:00",
|
||||
"ods_change_time": "2025-07-21 15:43:01",
|
||||
"dwd_from_type": 9,
|
||||
"ods_from_type": "9",
|
||||
"dwd_is_delete": 1,
|
||||
"ods_is_delete": "1",
|
||||
"dwd_member_mobile": "18689418682",
|
||||
"ods_member_mobile": "18689418682",
|
||||
"dwd_member_name": "易先生",
|
||||
"ods_member_name": "易先生"
|
||||
},
|
||||
{
|
||||
"balance_change_id": 2800331271129989,
|
||||
"dwd_balance_after": "515.00",
|
||||
"ods_balance_after": "515.00",
|
||||
"dwd_balance_before": "175.00",
|
||||
"ods_balance_before": "175.00",
|
||||
"dwd_card_type_id": 2793249295533893,
|
||||
"ods_card_type_id": "2793249295533893",
|
||||
"dwd_card_type_name": "储值卡",
|
||||
"ods_card_type_name": "储值卡",
|
||||
"dwd_change_amount": "340.00",
|
||||
"ods_change_amount": "340.00",
|
||||
"dwd_change_time": "2025-07-21T15:44:19+08:00",
|
||||
"ods_change_time": "2025-07-21 15:44:19",
|
||||
"dwd_from_type": 9,
|
||||
"ods_from_type": "9",
|
||||
"dwd_is_delete": 1,
|
||||
"ods_is_delete": "1",
|
||||
"dwd_member_mobile": "19152047230",
|
||||
"ods_member_mobile": "19152047230",
|
||||
"dwd_member_name": "小唯",
|
||||
"ods_member_name": "小唯"
|
||||
}
|
||||
]
|
||||
```
|
||||
@@ -0,0 +1,335 @@
|
||||
# 数据一致性黑盒测试报告
|
||||
|
||||
生成时间: 2026-02-20T07:35:49.899418+08:00
|
||||
总体结果: **❌ 存在异常**
|
||||
|
||||
## 汇总
|
||||
|
||||
- API vs ODS 字段完整性: 22/22 张表通过
|
||||
- ODS vs DWD 映射正确性: 38/42 张表通过
|
||||
|
||||
## API vs ODS 字段完整性检查
|
||||
|
||||
| 表名 | 状态 | 总字段 | 通过 | 缺失 | 备注 |
|
||||
|------|------|--------|------|------|------|
|
||||
| ods.assistant_accounts_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: assistant_accounts_master.json |
|
||||
| ods.assistant_cancellation_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: assistant_cancellation_records.json |
|
||||
| ods.assistant_service_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: assistant_service_records.json |
|
||||
| ods.goods_stock_movements | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: goods_stock_movements.json |
|
||||
| ods.goods_stock_summary | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: goods_stock_summary.json |
|
||||
| ods.group_buy_packages | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: group_buy_packages.json |
|
||||
| ods.group_buy_redemption_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: group_buy_redemption_records.json |
|
||||
| ods.member_balance_changes | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: member_balance_changes.json |
|
||||
| ods.member_profiles | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: member_profiles.json |
|
||||
| ods.member_stored_value_cards | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: member_stored_value_cards.json |
|
||||
| ods.payment_transactions | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: payment_transactions.json |
|
||||
| ods.platform_coupon_redemption_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: platform_coupon_redemption_records.json |
|
||||
| ods.recharge_settlements | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: recharge_settlements.json |
|
||||
| ods.refund_transactions | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: refund_transactions.json |
|
||||
| ods.settlement_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: settlement_records.json |
|
||||
| ods.site_tables_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: site_tables_master.json |
|
||||
| ods.stock_goods_category_tree | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: stock_goods_category_tree.json |
|
||||
| ods.store_goods_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: store_goods_master.json |
|
||||
| ods.store_goods_sales_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: store_goods_sales_records.json |
|
||||
| ods.table_fee_discount_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: table_fee_discount_records.json |
|
||||
| ods.table_fee_transactions | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: table_fee_transactions.json |
|
||||
| ods.tenant_goods_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: tenant_goods_master.json |
|
||||
|
||||
## ODS vs DWD 映射正确性检查
|
||||
|
||||
| DWD 表 | 状态 | 总字段 | 通过 | 缺失 | 不一致 | ODS 行数 | DWD 行数 | 备注 |
|
||||
|--------|------|--------|------|------|--------|----------|----------|------|
|
||||
| dwd.dim_assistant | ✅ | 15 | 15 | 0 | 0 | 295 | 1266 | |
|
||||
| dwd.dim_assistant_ex | ✅ | 44 | 44 | 0 | 0 | 295 | 1251 | |
|
||||
| dwd.dim_goods_category | ✅ | 12 | 12 | 0 | 0 | 18 | 125 | |
|
||||
| dwd.dim_groupbuy_package | ✅ | 18 | 18 | 0 | 0 | 70 | 373 | |
|
||||
| dwd.dim_groupbuy_package_ex | ✅ | 21 | 21 | 0 | 0 | 70 | 373 | |
|
||||
| dwd.dim_member | ❌ | 12 | 11 | 1 | 0 | 1771 | 10801 | |
|
||||
| dwd.dim_member_card_account | ✅ | 19 | 19 | 0 | 0 | 2973 | 18370 | |
|
||||
| dwd.dim_member_card_account_ex | ✅ | 57 | 57 | 0 | 0 | 2973 | 18172 | |
|
||||
| dwd.dim_member_ex | ✅ | 10 | 10 | 0 | 0 | 1771 | 10770 | |
|
||||
| dwd.dim_site | ✅ | 13 | 13 | 0 | 0 | 38585 | 55 | |
|
||||
| dwd.dim_site_ex | ✅ | 21 | 21 | 0 | 0 | 38585 | 55 | |
|
||||
| dwd.dim_store_goods | ✅ | 22 | 22 | 0 | 0 | 1744 | 5444 | |
|
||||
| dwd.dim_store_goods_ex | ✅ | 26 | 26 | 0 | 0 | 1744 | 5402 | |
|
||||
| dwd.dim_table | ✅ | 8 | 8 | 0 | 0 | 1074 | 2881 | |
|
||||
| dwd.dim_table_ex | ✅ | 20 | 20 | 0 | 0 | 1074 | 3035 | |
|
||||
| dwd.dim_tenant_goods | ✅ | 15 | 15 | 0 | 0 | 353 | 2018 | |
|
||||
| dwd.dim_tenant_goods_ex | ✅ | 18 | 18 | 0 | 0 | 353 | 2016 | |
|
||||
| dwd.dwd_assistant_service_log | ✅ | 33 | 33 | 0 | 0 | 10219 | 5281 | |
|
||||
| dwd.dwd_assistant_service_log_ex | ✅ | 31 | 31 | 0 | 0 | 10219 | 5281 | |
|
||||
| dwd.dwd_assistant_trash_event | ✅ | 11 | 11 | 0 | 0 | 100 | 100 | |
|
||||
| dwd.dwd_assistant_trash_event_ex | ✅ | 3 | 3 | 0 | 0 | 100 | 100 | |
|
||||
| dwd.dwd_goods_stock_movement | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | DWD 表 dwd.dwd_goods_stock_movement 不存在或无列 |
|
||||
| dwd.dwd_goods_stock_summary | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | DWD 表 dwd.dwd_goods_stock_summary 不存在或无列 |
|
||||
| dwd.dwd_groupbuy_redemption | ✅ | 25 | 25 | 0 | 0 | 27284 | 12768 | |
|
||||
| dwd.dwd_groupbuy_redemption_ex | ✅ | 28 | 28 | 0 | 0 | 27284 | 12768 | |
|
||||
| dwd.dwd_member_balance_change | ❌ | 22 | 21 | 1 | 0 | 9684 | 5081 | |
|
||||
| dwd.dwd_member_balance_change_ex | ✅ | 7 | 7 | 0 | 0 | 9684 | 5081 | |
|
||||
| dwd.dwd_payment | ✅ | 12 | 12 | 0 | 0 | 36006 | 24922 | |
|
||||
| dwd.dwd_platform_coupon_redemption | ✅ | 20 | 20 | 0 | 0 | 36678 | 18311 | |
|
||||
| dwd.dwd_platform_coupon_redemption_ex | ✅ | 6 | 6 | 0 | 0 | 36678 | 18311 | |
|
||||
| dwd.dwd_recharge_order | ✅ | 24 | 24 | 0 | 0 | 3333 | 485 | |
|
||||
| dwd.dwd_recharge_order_ex | ✅ | 43 | 43 | 0 | 0 | 3333 | 485 | |
|
||||
| dwd.dwd_refund | ✅ | 12 | 12 | 0 | 0 | 83 | 51 | |
|
||||
| dwd.dwd_refund_ex | ✅ | 20 | 20 | 0 | 0 | 83 | 51 | |
|
||||
| dwd.dwd_settlement_head | ✅ | 37 | 37 | 0 | 0 | 55457 | 26115 | |
|
||||
| dwd.dwd_settlement_head_ex | ✅ | 30 | 30 | 0 | 0 | 55457 | 26115 | |
|
||||
| dwd.dwd_store_goods_sale | ✅ | 24 | 24 | 0 | 0 | 17563 | 17563 | |
|
||||
| dwd.dwd_store_goods_sale_ex | ✅ | 28 | 28 | 0 | 0 | 17563 | 17563 | |
|
||||
| dwd.dwd_table_fee_adjust | ✅ | 16 | 16 | 0 | 0 | 4818 | 3124 | |
|
||||
| dwd.dwd_table_fee_adjust_ex | ✅ | 13 | 13 | 0 | 0 | 4818 | 3124 | |
|
||||
| dwd.dwd_table_fee_log | ✅ | 29 | 29 | 0 | 0 | 38585 | 20132 | |
|
||||
| dwd.dwd_table_fee_log_ex | ✅ | 13 | 13 | 0 | 0 | 38585 | 20132 | |
|
||||
|
||||
### dwd.dim_member — 映射异常明细
|
||||
|
||||
- `update_time` [missing]: DWD 列无 ODS 映射源(无显式映射且无同名 ODS 列)
|
||||
|
||||
#### 值不一致采样(前 5 条)
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"member_id": 2860039721438277,
|
||||
"dwd_create_time": "2025-09-01T20:02:53+08:00",
|
||||
"ods_create_time": "2025-09-01 20:02:53",
|
||||
"dwd_member_card_grade_code": 2790683528022853,
|
||||
"ods_member_card_grade_code": "2790683528022853",
|
||||
"dwd_member_card_grade_name": "储值卡",
|
||||
"ods_member_card_grade_name": "储值卡",
|
||||
"dwd_mobile": "13189179882",
|
||||
"ods_mobile": "13189179882",
|
||||
"dwd_nickname": "李",
|
||||
"ods_nickname": "李",
|
||||
"dwd_pay_money_sum": "-788.37",
|
||||
"ods_pay_money_sum": "-788.37",
|
||||
"dwd_recharge_money_sum": "2716.00",
|
||||
"ods_recharge_money_sum": "2716.00",
|
||||
"dwd_register_site_id": 2790685415443269,
|
||||
"ods_register_site_id": "2790685415443269",
|
||||
"dwd_system_member_id": 2799207107888901,
|
||||
"ods_system_member_id": "2799207107888901",
|
||||
"dwd_tenant_id": 2790683160709957,
|
||||
"ods_tenant_id": "2790683160709957"
|
||||
},
|
||||
{
|
||||
"member_id": 3066773303512389,
|
||||
"dwd_create_time": "2026-01-25T21:03:10+08:00",
|
||||
"ods_create_time": "2026-01-25 21:03:10",
|
||||
"dwd_member_card_grade_code": 2790683528022856,
|
||||
"ods_member_card_grade_code": "2790683528022856",
|
||||
"dwd_member_card_grade_name": "活动抵用券",
|
||||
"ods_member_card_grade_name": "活动抵用券",
|
||||
"dwd_mobile": "17306741548",
|
||||
"ods_mobile": "17306741548",
|
||||
"dwd_nickname": "李",
|
||||
"ods_nickname": "李",
|
||||
"dwd_pay_money_sum": "-188.00",
|
||||
"ods_pay_money_sum": "-188.00",
|
||||
"dwd_recharge_money_sum": "188.00",
|
||||
"ods_recharge_money_sum": "188.00",
|
||||
"dwd_register_site_id": 2790685415443269,
|
||||
"ods_register_site_id": "2790685415443269",
|
||||
"dwd_system_member_id": 3066773300268357,
|
||||
"ods_system_member_id": "3066773300268357",
|
||||
"dwd_tenant_id": 2790683160709957,
|
||||
"ods_tenant_id": "2790683160709957"
|
||||
},
|
||||
{
|
||||
"member_id": 2966381620874693,
|
||||
"dwd_create_time": "2025-11-15T22:59:28+08:00",
|
||||
"ods_create_time": "2025-11-15 22:59:28",
|
||||
"dwd_member_card_grade_code": 2790683528022855,
|
||||
"ods_member_card_grade_code": "2790683528022855",
|
||||
"dwd_member_card_grade_name": "台费卡",
|
||||
"ods_member_card_grade_name": "台费卡",
|
||||
"dwd_mobile": "15915866234",
|
||||
"ods_mobile": "15915866234",
|
||||
"dwd_nickname": "尤",
|
||||
"ods_nickname": "尤",
|
||||
"dwd_pay_money_sum": "0.00",
|
||||
"ods_pay_money_sum": "0.00",
|
||||
"dwd_recharge_money_sum": "200.00",
|
||||
"ods_recharge_money_sum": "200.00",
|
||||
"dwd_register_site_id": 2790685415443269,
|
||||
"ods_register_site_id": "2790685415443269",
|
||||
"dwd_system_member_id": 2966381618761157,
|
||||
"ods_system_member_id": "2966381618761157",
|
||||
"dwd_tenant_id": 2790683160709957,
|
||||
"ods_tenant_id": "2790683160709957"
|
||||
},
|
||||
{
|
||||
"member_id": 2807525094639429,
|
||||
"dwd_create_time": "2025-07-26T17:42:15+08:00",
|
||||
"ods_create_time": "2025-07-26 17:42:15",
|
||||
"dwd_member_card_grade_code": 2790683528022853,
|
||||
"ods_member_card_grade_code": "2790683528022853",
|
||||
"dwd_member_card_grade_name": "储值卡",
|
||||
"ods_member_card_grade_name": "储值卡",
|
||||
"dwd_mobile": "15802496094",
|
||||
"ods_mobile": "15802496094",
|
||||
"dwd_nickname": "李",
|
||||
"ods_nickname": "李",
|
||||
"dwd_pay_money_sum": "0.00",
|
||||
"ods_pay_money_sum": "0.00",
|
||||
"dwd_recharge_money_sum": "0.00",
|
||||
"ods_recharge_money_sum": "0.00",
|
||||
"dwd_register_site_id": 2790685415443269,
|
||||
"ods_register_site_id": "2790685415443269",
|
||||
"dwd_system_member_id": 2807525093623621,
|
||||
"ods_system_member_id": "2807525093623621",
|
||||
"dwd_tenant_id": 2790683160709957,
|
||||
"ods_tenant_id": "2790683160709957"
|
||||
},
|
||||
{
|
||||
"member_id": 2799212423857925,
|
||||
"dwd_create_time": "2025-07-20T20:46:10+08:00",
|
||||
"ods_create_time": "2025-07-20 20:46:10",
|
||||
"dwd_member_card_grade_code": 2790683528022855,
|
||||
"ods_member_card_grade_code": "2790683528022855",
|
||||
"dwd_member_card_grade_name": "台费卡",
|
||||
"ods_member_card_grade_name": "台费卡",
|
||||
"dwd_mobile": "18148713553",
|
||||
"ods_mobile": "18148713553",
|
||||
"dwd_nickname": "潘",
|
||||
"ods_nickname": "潘",
|
||||
"dwd_pay_money_sum": "0.00",
|
||||
"ods_pay_money_sum": "0.00",
|
||||
"dwd_recharge_money_sum": "0.00",
|
||||
"ods_recharge_money_sum": "0.00",
|
||||
"dwd_register_site_id": 2790685415443269,
|
||||
"ods_register_site_id": "2790685415443269",
|
||||
"dwd_system_member_id": 2799212422907653,
|
||||
"ods_system_member_id": "2799212422907653",
|
||||
"dwd_tenant_id": 2790683160709957,
|
||||
"ods_tenant_id": "2790683160709957"
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
### dwd.dwd_member_balance_change — 映射异常明细
|
||||
|
||||
- `principal_change_amount` [missing]: DWD 列无 ODS 映射源(无显式映射且无同名 ODS 列)
|
||||
|
||||
#### 值不一致采样(前 5 条)
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"balance_change_id": 2800328071170949,
|
||||
"dwd_balance_after": "8.00",
|
||||
"ods_balance_after": "8.00",
|
||||
"dwd_balance_before": "199.00",
|
||||
"ods_balance_before": "199.00",
|
||||
"dwd_card_type_id": 2793249295533893,
|
||||
"ods_card_type_id": "2793249295533893",
|
||||
"dwd_card_type_name": "储值卡",
|
||||
"ods_card_type_name": "储值卡",
|
||||
"dwd_change_amount": "-191.00",
|
||||
"ods_change_amount": "-191.00",
|
||||
"dwd_change_time": "2025-07-21T15:41:03+08:00",
|
||||
"ods_change_time": "2025-07-21 15:41:03",
|
||||
"dwd_from_type": 9,
|
||||
"ods_from_type": "9",
|
||||
"dwd_is_delete": 1,
|
||||
"ods_is_delete": "1",
|
||||
"dwd_member_mobile": "19120942851",
|
||||
"ods_member_mobile": "19120942851",
|
||||
"dwd_member_name": "夏",
|
||||
"ods_member_name": "夏"
|
||||
},
|
||||
{
|
||||
"balance_change_id": 2800328508984197,
|
||||
"dwd_balance_after": "0.00",
|
||||
"ods_balance_after": "0.00",
|
||||
"dwd_balance_before": "8.00",
|
||||
"ods_balance_before": "8.00",
|
||||
"dwd_card_type_id": 2793249295533893,
|
||||
"ods_card_type_id": "2793249295533893",
|
||||
"dwd_card_type_name": "储值卡",
|
||||
"ods_card_type_name": "储值卡",
|
||||
"dwd_change_amount": "-8.00",
|
||||
"ods_change_amount": "-8.00",
|
||||
"dwd_change_time": "2025-07-21T15:41:30+08:00",
|
||||
"ods_change_time": "2025-07-21 15:41:30",
|
||||
"dwd_from_type": 9,
|
||||
"ods_from_type": "9",
|
||||
"dwd_is_delete": 1,
|
||||
"ods_is_delete": "1",
|
||||
"dwd_member_mobile": "19120942851",
|
||||
"ods_member_mobile": "19120942851",
|
||||
"dwd_member_name": "夏",
|
||||
"ods_member_name": "夏"
|
||||
},
|
||||
{
|
||||
"balance_change_id": 2800329356315525,
|
||||
"dwd_balance_after": "1957.00",
|
||||
"ods_balance_after": "1957.00",
|
||||
"dwd_balance_before": "2027.00",
|
||||
"ods_balance_before": "2027.00",
|
||||
"dwd_card_type_id": 2793249295533893,
|
||||
"ods_card_type_id": "2793249295533893",
|
||||
"dwd_card_type_name": "储值卡",
|
||||
"ods_card_type_name": "储值卡",
|
||||
"dwd_change_amount": "-70.00",
|
||||
"ods_change_amount": "-70.00",
|
||||
"dwd_change_time": "2025-07-21T15:42:22+08:00",
|
||||
"ods_change_time": "2025-07-21 15:42:22",
|
||||
"dwd_from_type": 9,
|
||||
"ods_from_type": "9",
|
||||
"dwd_is_delete": 1,
|
||||
"ods_is_delete": "1",
|
||||
"dwd_member_mobile": "13503045590",
|
||||
"ods_member_mobile": "13503045590",
|
||||
"dwd_member_name": "程允立",
|
||||
"ods_member_name": "程允立"
|
||||
},
|
||||
{
|
||||
"balance_change_id": 2800330000272261,
|
||||
"dwd_balance_after": "1095.00",
|
||||
"ods_balance_after": "1095.00",
|
||||
"dwd_balance_before": "1162.00",
|
||||
"ods_balance_before": "1162.00",
|
||||
"dwd_card_type_id": 2793249295533893,
|
||||
"ods_card_type_id": "2793249295533893",
|
||||
"dwd_card_type_name": "储值卡",
|
||||
"ods_card_type_name": "储值卡",
|
||||
"dwd_change_amount": "-67.00",
|
||||
"ods_change_amount": "-67.00",
|
||||
"dwd_change_time": "2025-07-21T15:43:01+08:00",
|
||||
"ods_change_time": "2025-07-21 15:43:01",
|
||||
"dwd_from_type": 9,
|
||||
"ods_from_type": "9",
|
||||
"dwd_is_delete": 1,
|
||||
"ods_is_delete": "1",
|
||||
"dwd_member_mobile": "18689418682",
|
||||
"ods_member_mobile": "18689418682",
|
||||
"dwd_member_name": "易先生",
|
||||
"ods_member_name": "易先生"
|
||||
},
|
||||
{
|
||||
"balance_change_id": 2800331271129989,
|
||||
"dwd_balance_after": "515.00",
|
||||
"ods_balance_after": "515.00",
|
||||
"dwd_balance_before": "175.00",
|
||||
"ods_balance_before": "175.00",
|
||||
"dwd_card_type_id": 2793249295533893,
|
||||
"ods_card_type_id": "2793249295533893",
|
||||
"dwd_card_type_name": "储值卡",
|
||||
"ods_card_type_name": "储值卡",
|
||||
"dwd_change_amount": "340.00",
|
||||
"ods_change_amount": "340.00",
|
||||
"dwd_change_time": "2025-07-21T15:44:19+08:00",
|
||||
"ods_change_time": "2025-07-21 15:44:19",
|
||||
"dwd_from_type": 9,
|
||||
"ods_from_type": "9",
|
||||
"dwd_is_delete": 1,
|
||||
"ods_is_delete": "1",
|
||||
"dwd_member_mobile": "19152047230",
|
||||
"ods_member_mobile": "19152047230",
|
||||
"dwd_member_name": "小唯",
|
||||
"ods_member_name": "小唯"
|
||||
}
|
||||
]
|
||||
```
|
||||
@@ -0,0 +1,335 @@
|
||||
# 数据一致性黑盒测试报告
|
||||
|
||||
生成时间: 2026-02-20T09:13:56.727591+08:00
|
||||
总体结果: **❌ 存在异常**
|
||||
|
||||
## 汇总
|
||||
|
||||
- API vs ODS 字段完整性: 22/22 张表通过
|
||||
- ODS vs DWD 映射正确性: 38/42 张表通过
|
||||
|
||||
## API vs ODS 字段完整性检查
|
||||
|
||||
| 表名 | 状态 | 总字段 | 通过 | 缺失 | 备注 |
|
||||
|------|------|--------|------|------|------|
|
||||
| ods.assistant_accounts_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: assistant_accounts_master.json |
|
||||
| ods.assistant_cancellation_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: assistant_cancellation_records.json |
|
||||
| ods.assistant_service_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: assistant_service_records.json |
|
||||
| ods.goods_stock_movements | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: goods_stock_movements.json |
|
||||
| ods.goods_stock_summary | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: goods_stock_summary.json |
|
||||
| ods.group_buy_packages | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: group_buy_packages.json |
|
||||
| ods.group_buy_redemption_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: group_buy_redemption_records.json |
|
||||
| ods.member_balance_changes | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: member_balance_changes.json |
|
||||
| ods.member_profiles | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: member_profiles.json |
|
||||
| ods.member_stored_value_cards | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: member_stored_value_cards.json |
|
||||
| ods.payment_transactions | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: payment_transactions.json |
|
||||
| ods.platform_coupon_redemption_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: platform_coupon_redemption_records.json |
|
||||
| ods.recharge_settlements | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: recharge_settlements.json |
|
||||
| ods.refund_transactions | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: refund_transactions.json |
|
||||
| ods.settlement_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: settlement_records.json |
|
||||
| ods.site_tables_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: site_tables_master.json |
|
||||
| ods.stock_goods_category_tree | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: stock_goods_category_tree.json |
|
||||
| ods.store_goods_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: store_goods_master.json |
|
||||
| ods.store_goods_sales_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: store_goods_sales_records.json |
|
||||
| ods.table_fee_discount_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: table_fee_discount_records.json |
|
||||
| ods.table_fee_transactions | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: table_fee_transactions.json |
|
||||
| ods.tenant_goods_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: tenant_goods_master.json |
|
||||
|
||||
## ODS vs DWD 映射正确性检查
|
||||
|
||||
| DWD 表 | 状态 | 总字段 | 通过 | 缺失 | 不一致 | ODS 行数 | DWD 行数 | 备注 |
|
||||
|--------|------|--------|------|------|--------|----------|----------|------|
|
||||
| dwd.dim_assistant | ✅ | 15 | 15 | 0 | 0 | 295 | 1266 | |
|
||||
| dwd.dim_assistant_ex | ✅ | 44 | 44 | 0 | 0 | 295 | 1251 | |
|
||||
| dwd.dim_goods_category | ✅ | 12 | 12 | 0 | 0 | 18 | 125 | |
|
||||
| dwd.dim_groupbuy_package | ✅ | 18 | 18 | 0 | 0 | 70 | 373 | |
|
||||
| dwd.dim_groupbuy_package_ex | ✅ | 21 | 21 | 0 | 0 | 70 | 373 | |
|
||||
| dwd.dim_member | ❌ | 12 | 11 | 1 | 0 | 1771 | 10801 | |
|
||||
| dwd.dim_member_card_account | ✅ | 19 | 19 | 0 | 0 | 2973 | 18370 | |
|
||||
| dwd.dim_member_card_account_ex | ✅ | 57 | 57 | 0 | 0 | 2973 | 18172 | |
|
||||
| dwd.dim_member_ex | ✅ | 10 | 10 | 0 | 0 | 1771 | 10770 | |
|
||||
| dwd.dim_site | ✅ | 13 | 13 | 0 | 0 | 38585 | 55 | |
|
||||
| dwd.dim_site_ex | ✅ | 21 | 21 | 0 | 0 | 38585 | 55 | |
|
||||
| dwd.dim_store_goods | ✅ | 22 | 22 | 0 | 0 | 1789 | 5444 | |
|
||||
| dwd.dim_store_goods_ex | ✅ | 26 | 26 | 0 | 0 | 1789 | 5402 | |
|
||||
| dwd.dim_table | ✅ | 8 | 8 | 0 | 0 | 1074 | 2881 | |
|
||||
| dwd.dim_table_ex | ✅ | 20 | 20 | 0 | 0 | 1074 | 3035 | |
|
||||
| dwd.dim_tenant_goods | ✅ | 15 | 15 | 0 | 0 | 353 | 2018 | |
|
||||
| dwd.dim_tenant_goods_ex | ✅ | 18 | 18 | 0 | 0 | 353 | 2016 | |
|
||||
| dwd.dwd_assistant_service_log | ✅ | 33 | 33 | 0 | 0 | 10219 | 5281 | |
|
||||
| dwd.dwd_assistant_service_log_ex | ✅ | 31 | 31 | 0 | 0 | 10219 | 5281 | |
|
||||
| dwd.dwd_assistant_trash_event | ✅ | 11 | 11 | 0 | 0 | 178 | 100 | |
|
||||
| dwd.dwd_assistant_trash_event_ex | ✅ | 3 | 3 | 0 | 0 | 178 | 100 | |
|
||||
| dwd.dwd_goods_stock_movement | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | DWD 表 dwd.dwd_goods_stock_movement 不存在或无列 |
|
||||
| dwd.dwd_goods_stock_summary | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | DWD 表 dwd.dwd_goods_stock_summary 不存在或无列 |
|
||||
| dwd.dwd_groupbuy_redemption | ✅ | 25 | 25 | 0 | 0 | 27284 | 12768 | |
|
||||
| dwd.dwd_groupbuy_redemption_ex | ✅ | 28 | 28 | 0 | 0 | 27284 | 12768 | |
|
||||
| dwd.dwd_member_balance_change | ❌ | 22 | 21 | 1 | 0 | 9684 | 5081 | |
|
||||
| dwd.dwd_member_balance_change_ex | ✅ | 7 | 7 | 0 | 0 | 9684 | 5081 | |
|
||||
| dwd.dwd_payment | ✅ | 12 | 12 | 0 | 0 | 36006 | 24922 | |
|
||||
| dwd.dwd_platform_coupon_redemption | ✅ | 20 | 20 | 0 | 0 | 36678 | 18311 | |
|
||||
| dwd.dwd_platform_coupon_redemption_ex | ✅ | 6 | 6 | 0 | 0 | 36678 | 18311 | |
|
||||
| dwd.dwd_recharge_order | ✅ | 24 | 24 | 0 | 0 | 3527 | 485 | |
|
||||
| dwd.dwd_recharge_order_ex | ✅ | 43 | 43 | 0 | 0 | 3527 | 485 | |
|
||||
| dwd.dwd_refund | ✅ | 12 | 12 | 0 | 0 | 83 | 51 | |
|
||||
| dwd.dwd_refund_ex | ✅ | 20 | 20 | 0 | 0 | 83 | 51 | |
|
||||
| dwd.dwd_settlement_head | ✅ | 37 | 37 | 0 | 0 | 66073 | 26115 | |
|
||||
| dwd.dwd_settlement_head_ex | ✅ | 30 | 30 | 0 | 0 | 66073 | 26115 | |
|
||||
| dwd.dwd_store_goods_sale | ✅ | 24 | 24 | 0 | 0 | 17563 | 17563 | |
|
||||
| dwd.dwd_store_goods_sale_ex | ✅ | 28 | 28 | 0 | 0 | 17563 | 17563 | |
|
||||
| dwd.dwd_table_fee_adjust | ✅ | 16 | 16 | 0 | 0 | 4818 | 3124 | |
|
||||
| dwd.dwd_table_fee_adjust_ex | ✅ | 13 | 13 | 0 | 0 | 4818 | 3124 | |
|
||||
| dwd.dwd_table_fee_log | ✅ | 29 | 29 | 0 | 0 | 38585 | 20132 | |
|
||||
| dwd.dwd_table_fee_log_ex | ✅ | 13 | 13 | 0 | 0 | 38585 | 20132 | |
|
||||
|
||||
### dwd.dim_member — 映射异常明细
|
||||
|
||||
- `update_time` [missing]: DWD 列无 ODS 映射源(无显式映射且无同名 ODS 列)
|
||||
|
||||
#### 值不一致采样(前 5 条)
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"member_id": 2860039721438277,
|
||||
"dwd_create_time": "2025-09-01T20:02:53+08:00",
|
||||
"ods_create_time": "2025-09-01 20:02:53",
|
||||
"dwd_member_card_grade_code": 2790683528022853,
|
||||
"ods_member_card_grade_code": "2790683528022853",
|
||||
"dwd_member_card_grade_name": "储值卡",
|
||||
"ods_member_card_grade_name": "储值卡",
|
||||
"dwd_mobile": "13189179882",
|
||||
"ods_mobile": "13189179882",
|
||||
"dwd_nickname": "李",
|
||||
"ods_nickname": "李",
|
||||
"dwd_pay_money_sum": "-788.37",
|
||||
"ods_pay_money_sum": "-788.37",
|
||||
"dwd_recharge_money_sum": "2716.00",
|
||||
"ods_recharge_money_sum": "2716.00",
|
||||
"dwd_register_site_id": 2790685415443269,
|
||||
"ods_register_site_id": "2790685415443269",
|
||||
"dwd_system_member_id": 2799207107888901,
|
||||
"ods_system_member_id": "2799207107888901",
|
||||
"dwd_tenant_id": 2790683160709957,
|
||||
"ods_tenant_id": "2790683160709957"
|
||||
},
|
||||
{
|
||||
"member_id": 3066773303512389,
|
||||
"dwd_create_time": "2026-01-25T21:03:10+08:00",
|
||||
"ods_create_time": "2026-01-25 21:03:10",
|
||||
"dwd_member_card_grade_code": 2790683528022856,
|
||||
"ods_member_card_grade_code": "2790683528022856",
|
||||
"dwd_member_card_grade_name": "活动抵用券",
|
||||
"ods_member_card_grade_name": "活动抵用券",
|
||||
"dwd_mobile": "17306741548",
|
||||
"ods_mobile": "17306741548",
|
||||
"dwd_nickname": "李",
|
||||
"ods_nickname": "李",
|
||||
"dwd_pay_money_sum": "-188.00",
|
||||
"ods_pay_money_sum": "-188.00",
|
||||
"dwd_recharge_money_sum": "188.00",
|
||||
"ods_recharge_money_sum": "188.00",
|
||||
"dwd_register_site_id": 2790685415443269,
|
||||
"ods_register_site_id": "2790685415443269",
|
||||
"dwd_system_member_id": 3066773300268357,
|
||||
"ods_system_member_id": "3066773300268357",
|
||||
"dwd_tenant_id": 2790683160709957,
|
||||
"ods_tenant_id": "2790683160709957"
|
||||
},
|
||||
{
|
||||
"member_id": 2966381620874693,
|
||||
"dwd_create_time": "2025-11-15T22:59:28+08:00",
|
||||
"ods_create_time": "2025-11-15 22:59:28",
|
||||
"dwd_member_card_grade_code": 2790683528022855,
|
||||
"ods_member_card_grade_code": "2790683528022855",
|
||||
"dwd_member_card_grade_name": "台费卡",
|
||||
"ods_member_card_grade_name": "台费卡",
|
||||
"dwd_mobile": "15915866234",
|
||||
"ods_mobile": "15915866234",
|
||||
"dwd_nickname": "尤",
|
||||
"ods_nickname": "尤",
|
||||
"dwd_pay_money_sum": "0.00",
|
||||
"ods_pay_money_sum": "0.00",
|
||||
"dwd_recharge_money_sum": "200.00",
|
||||
"ods_recharge_money_sum": "200.00",
|
||||
"dwd_register_site_id": 2790685415443269,
|
||||
"ods_register_site_id": "2790685415443269",
|
||||
"dwd_system_member_id": 2966381618761157,
|
||||
"ods_system_member_id": "2966381618761157",
|
||||
"dwd_tenant_id": 2790683160709957,
|
||||
"ods_tenant_id": "2790683160709957"
|
||||
},
|
||||
{
|
||||
"member_id": 2807525094639429,
|
||||
"dwd_create_time": "2025-07-26T17:42:15+08:00",
|
||||
"ods_create_time": "2025-07-26 17:42:15",
|
||||
"dwd_member_card_grade_code": 2790683528022853,
|
||||
"ods_member_card_grade_code": "2790683528022853",
|
||||
"dwd_member_card_grade_name": "储值卡",
|
||||
"ods_member_card_grade_name": "储值卡",
|
||||
"dwd_mobile": "15802496094",
|
||||
"ods_mobile": "15802496094",
|
||||
"dwd_nickname": "李",
|
||||
"ods_nickname": "李",
|
||||
"dwd_pay_money_sum": "0.00",
|
||||
"ods_pay_money_sum": "0.00",
|
||||
"dwd_recharge_money_sum": "0.00",
|
||||
"ods_recharge_money_sum": "0.00",
|
||||
"dwd_register_site_id": 2790685415443269,
|
||||
"ods_register_site_id": "2790685415443269",
|
||||
"dwd_system_member_id": 2807525093623621,
|
||||
"ods_system_member_id": "2807525093623621",
|
||||
"dwd_tenant_id": 2790683160709957,
|
||||
"ods_tenant_id": "2790683160709957"
|
||||
},
|
||||
{
|
||||
"member_id": 2799212423857925,
|
||||
"dwd_create_time": "2025-07-20T20:46:10+08:00",
|
||||
"ods_create_time": "2025-07-20 20:46:10",
|
||||
"dwd_member_card_grade_code": 2790683528022855,
|
||||
"ods_member_card_grade_code": "2790683528022855",
|
||||
"dwd_member_card_grade_name": "台费卡",
|
||||
"ods_member_card_grade_name": "台费卡",
|
||||
"dwd_mobile": "18148713553",
|
||||
"ods_mobile": "18148713553",
|
||||
"dwd_nickname": "潘",
|
||||
"ods_nickname": "潘",
|
||||
"dwd_pay_money_sum": "0.00",
|
||||
"ods_pay_money_sum": "0.00",
|
||||
"dwd_recharge_money_sum": "0.00",
|
||||
"ods_recharge_money_sum": "0.00",
|
||||
"dwd_register_site_id": 2790685415443269,
|
||||
"ods_register_site_id": "2790685415443269",
|
||||
"dwd_system_member_id": 2799212422907653,
|
||||
"ods_system_member_id": "2799212422907653",
|
||||
"dwd_tenant_id": 2790683160709957,
|
||||
"ods_tenant_id": "2790683160709957"
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
### dwd.dwd_member_balance_change — 映射异常明细
|
||||
|
||||
- `principal_change_amount` [missing]: DWD 列无 ODS 映射源(无显式映射且无同名 ODS 列)
|
||||
|
||||
#### 值不一致采样(前 5 条)
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"balance_change_id": 2800328071170949,
|
||||
"dwd_balance_after": "8.00",
|
||||
"ods_balance_after": "8.00",
|
||||
"dwd_balance_before": "199.00",
|
||||
"ods_balance_before": "199.00",
|
||||
"dwd_card_type_id": 2793249295533893,
|
||||
"ods_card_type_id": "2793249295533893",
|
||||
"dwd_card_type_name": "储值卡",
|
||||
"ods_card_type_name": "储值卡",
|
||||
"dwd_change_amount": "-191.00",
|
||||
"ods_change_amount": "-191.00",
|
||||
"dwd_change_time": "2025-07-21T15:41:03+08:00",
|
||||
"ods_change_time": "2025-07-21 15:41:03",
|
||||
"dwd_from_type": 9,
|
||||
"ods_from_type": "9",
|
||||
"dwd_is_delete": 1,
|
||||
"ods_is_delete": "1",
|
||||
"dwd_member_mobile": "19120942851",
|
||||
"ods_member_mobile": "19120942851",
|
||||
"dwd_member_name": "夏",
|
||||
"ods_member_name": "夏"
|
||||
},
|
||||
{
|
||||
"balance_change_id": 2800328508984197,
|
||||
"dwd_balance_after": "0.00",
|
||||
"ods_balance_after": "0.00",
|
||||
"dwd_balance_before": "8.00",
|
||||
"ods_balance_before": "8.00",
|
||||
"dwd_card_type_id": 2793249295533893,
|
||||
"ods_card_type_id": "2793249295533893",
|
||||
"dwd_card_type_name": "储值卡",
|
||||
"ods_card_type_name": "储值卡",
|
||||
"dwd_change_amount": "-8.00",
|
||||
"ods_change_amount": "-8.00",
|
||||
"dwd_change_time": "2025-07-21T15:41:30+08:00",
|
||||
"ods_change_time": "2025-07-21 15:41:30",
|
||||
"dwd_from_type": 9,
|
||||
"ods_from_type": "9",
|
||||
"dwd_is_delete": 1,
|
||||
"ods_is_delete": "1",
|
||||
"dwd_member_mobile": "19120942851",
|
||||
"ods_member_mobile": "19120942851",
|
||||
"dwd_member_name": "夏",
|
||||
"ods_member_name": "夏"
|
||||
},
|
||||
{
|
||||
"balance_change_id": 2800329356315525,
|
||||
"dwd_balance_after": "1957.00",
|
||||
"ods_balance_after": "1957.00",
|
||||
"dwd_balance_before": "2027.00",
|
||||
"ods_balance_before": "2027.00",
|
||||
"dwd_card_type_id": 2793249295533893,
|
||||
"ods_card_type_id": "2793249295533893",
|
||||
"dwd_card_type_name": "储值卡",
|
||||
"ods_card_type_name": "储值卡",
|
||||
"dwd_change_amount": "-70.00",
|
||||
"ods_change_amount": "-70.00",
|
||||
"dwd_change_time": "2025-07-21T15:42:22+08:00",
|
||||
"ods_change_time": "2025-07-21 15:42:22",
|
||||
"dwd_from_type": 9,
|
||||
"ods_from_type": "9",
|
||||
"dwd_is_delete": 1,
|
||||
"ods_is_delete": "1",
|
||||
"dwd_member_mobile": "13503045590",
|
||||
"ods_member_mobile": "13503045590",
|
||||
"dwd_member_name": "程允立",
|
||||
"ods_member_name": "程允立"
|
||||
},
|
||||
{
|
||||
"balance_change_id": 2800330000272261,
|
||||
"dwd_balance_after": "1095.00",
|
||||
"ods_balance_after": "1095.00",
|
||||
"dwd_balance_before": "1162.00",
|
||||
"ods_balance_before": "1162.00",
|
||||
"dwd_card_type_id": 2793249295533893,
|
||||
"ods_card_type_id": "2793249295533893",
|
||||
"dwd_card_type_name": "储值卡",
|
||||
"ods_card_type_name": "储值卡",
|
||||
"dwd_change_amount": "-67.00",
|
||||
"ods_change_amount": "-67.00",
|
||||
"dwd_change_time": "2025-07-21T15:43:01+08:00",
|
||||
"ods_change_time": "2025-07-21 15:43:01",
|
||||
"dwd_from_type": 9,
|
||||
"ods_from_type": "9",
|
||||
"dwd_is_delete": 1,
|
||||
"ods_is_delete": "1",
|
||||
"dwd_member_mobile": "18689418682",
|
||||
"ods_member_mobile": "18689418682",
|
||||
"dwd_member_name": "易先生",
|
||||
"ods_member_name": "易先生"
|
||||
},
|
||||
{
|
||||
"balance_change_id": 2800331271129989,
|
||||
"dwd_balance_after": "515.00",
|
||||
"ods_balance_after": "515.00",
|
||||
"dwd_balance_before": "175.00",
|
||||
"ods_balance_before": "175.00",
|
||||
"dwd_card_type_id": 2793249295533893,
|
||||
"ods_card_type_id": "2793249295533893",
|
||||
"dwd_card_type_name": "储值卡",
|
||||
"ods_card_type_name": "储值卡",
|
||||
"dwd_change_amount": "340.00",
|
||||
"ods_change_amount": "340.00",
|
||||
"dwd_change_time": "2025-07-21T15:44:19+08:00",
|
||||
"ods_change_time": "2025-07-21 15:44:19",
|
||||
"dwd_from_type": 9,
|
||||
"ods_from_type": "9",
|
||||
"dwd_is_delete": 1,
|
||||
"ods_is_delete": "1",
|
||||
"dwd_member_mobile": "19152047230",
|
||||
"ods_member_mobile": "19152047230",
|
||||
"dwd_member_name": "小唯",
|
||||
"ods_member_name": "小唯"
|
||||
}
|
||||
]
|
||||
```
|
||||
@@ -0,0 +1,125 @@
|
||||
# 数据一致性黑盒测试报告
|
||||
|
||||
生成时间: 2026-02-21T15:39:08.330965+08:00
|
||||
总体结果: **❌ 存在异常**
|
||||
|
||||
## 汇总
|
||||
|
||||
- API vs ODS 字段完整性: 22/22 张表通过
|
||||
- ODS vs DWD 映射正确性: 0/42 张表通过
|
||||
|
||||
## API vs ODS 字段完整性检查
|
||||
|
||||
| 表名 | 状态 | 总字段 | 通过 | 缺失 | 备注 |
|
||||
|------|------|--------|------|------|------|
|
||||
| ods.assistant_accounts_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: assistant_accounts_master.json |
|
||||
| ods.assistant_cancellation_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: assistant_cancellation_records.json |
|
||||
| ods.assistant_service_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: assistant_service_records.json |
|
||||
| ods.goods_stock_movements | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: goods_stock_movements.json |
|
||||
| ods.goods_stock_summary | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: goods_stock_summary.json |
|
||||
| ods.group_buy_packages | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: group_buy_packages.json |
|
||||
| ods.group_buy_redemption_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: group_buy_redemption_records.json |
|
||||
| ods.member_balance_changes | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: member_balance_changes.json |
|
||||
| ods.member_profiles | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: member_profiles.json |
|
||||
| ods.member_stored_value_cards | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: member_stored_value_cards.json |
|
||||
| ods.payment_transactions | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: payment_transactions.json |
|
||||
| ods.platform_coupon_redemption_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: platform_coupon_redemption_records.json |
|
||||
| ods.recharge_settlements | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: recharge_settlements.json |
|
||||
| ods.refund_transactions | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: refund_transactions.json |
|
||||
| ods.settlement_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: settlement_records.json |
|
||||
| ods.site_tables_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: site_tables_master.json |
|
||||
| ods.stock_goods_category_tree | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: stock_goods_category_tree.json |
|
||||
| ods.store_goods_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: store_goods_master.json |
|
||||
| ods.store_goods_sales_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: store_goods_sales_records.json |
|
||||
| ods.table_fee_discount_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: table_fee_discount_records.json |
|
||||
| ods.table_fee_transactions | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: table_fee_transactions.json |
|
||||
| ods.tenant_goods_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: tenant_goods_master.json |
|
||||
|
||||
## ODS vs DWD 映射正确性检查
|
||||
|
||||
| DWD 表 | 状态 | 总字段 | 通过 | 缺失 | 不一致 | ODS 行数 | DWD 行数 | 备注 |
|
||||
|--------|------|--------|------|------|--------|----------|----------|------|
|
||||
| dwd.dim_assistant | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_assistant_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_goods_category | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_groupbuy_package | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_groupbuy_package_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_member | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_member_card_account | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_member_card_account_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_member_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_site | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_site_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_store_goods | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_store_goods_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_table | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_table_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_tenant_goods | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_tenant_goods_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_assistant_service_log | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_assistant_service_log_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_assistant_trash_event | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_assistant_trash_event_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_goods_stock_movement | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_goods_stock_summary | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_groupbuy_redemption | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_groupbuy_redemption_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_member_balance_change | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_member_balance_change_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_payment | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_platform_coupon_redemption | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_platform_coupon_redemption_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_recharge_order | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_recharge_order_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_refund | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_refund_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_settlement_head | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_settlement_head_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_store_goods_sale | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_store_goods_sale_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_table_fee_adjust | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_table_fee_adjust_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_table_fee_log | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_table_fee_log_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
@@ -0,0 +1,125 @@
|
||||
# 数据一致性黑盒测试报告
|
||||
|
||||
生成时间: 2026-02-21T19:30:15.876594+08:00
|
||||
总体结果: **❌ 存在异常**
|
||||
|
||||
## 汇总
|
||||
|
||||
- API vs ODS 字段完整性: 22/22 张表通过
|
||||
- ODS vs DWD 映射正确性: 0/42 张表通过
|
||||
|
||||
## API vs ODS 字段完整性检查
|
||||
|
||||
| 表名 | 状态 | 总字段 | 通过 | 缺失 | 备注 |
|
||||
|------|------|--------|------|------|------|
|
||||
| ods.assistant_accounts_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: assistant_accounts_master.json |
|
||||
| ods.assistant_cancellation_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: assistant_cancellation_records.json |
|
||||
| ods.assistant_service_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: assistant_service_records.json |
|
||||
| ods.goods_stock_movements | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: goods_stock_movements.json |
|
||||
| ods.goods_stock_summary | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: goods_stock_summary.json |
|
||||
| ods.group_buy_packages | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: group_buy_packages.json |
|
||||
| ods.group_buy_redemption_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: group_buy_redemption_records.json |
|
||||
| ods.member_balance_changes | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: member_balance_changes.json |
|
||||
| ods.member_profiles | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: member_profiles.json |
|
||||
| ods.member_stored_value_cards | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: member_stored_value_cards.json |
|
||||
| ods.payment_transactions | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: payment_transactions.json |
|
||||
| ods.platform_coupon_redemption_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: platform_coupon_redemption_records.json |
|
||||
| ods.recharge_settlements | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: recharge_settlements.json |
|
||||
| ods.refund_transactions | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: refund_transactions.json |
|
||||
| ods.settlement_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: settlement_records.json |
|
||||
| ods.site_tables_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: site_tables_master.json |
|
||||
| ods.stock_goods_category_tree | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: stock_goods_category_tree.json |
|
||||
| ods.store_goods_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: store_goods_master.json |
|
||||
| ods.store_goods_sales_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: store_goods_sales_records.json |
|
||||
| ods.table_fee_discount_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: table_fee_discount_records.json |
|
||||
| ods.table_fee_transactions | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: table_fee_transactions.json |
|
||||
| ods.tenant_goods_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: tenant_goods_master.json |
|
||||
|
||||
## ODS vs DWD 映射正确性检查
|
||||
|
||||
| DWD 表 | 状态 | 总字段 | 通过 | 缺失 | 不一致 | ODS 行数 | DWD 行数 | 备注 |
|
||||
|--------|------|--------|------|------|--------|----------|----------|------|
|
||||
| dwd.dim_assistant | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_assistant_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_goods_category | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_groupbuy_package | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_groupbuy_package_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_member | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_member_card_account | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_member_card_account_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_member_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_site | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_site_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_store_goods | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_store_goods_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_table | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_table_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_tenant_goods | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_tenant_goods_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_assistant_service_log | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_assistant_service_log_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_assistant_trash_event | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_assistant_trash_event_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_goods_stock_movement | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_goods_stock_summary | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_groupbuy_redemption | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_groupbuy_redemption_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_member_balance_change | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_member_balance_change_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_payment | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_platform_coupon_redemption | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_platform_coupon_redemption_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_recharge_order | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_recharge_order_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_refund | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_refund_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_settlement_head | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_settlement_head_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_store_goods_sale | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_store_goods_sale_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_table_fee_adjust | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_table_fee_adjust_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_table_fee_log | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_table_fee_log_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
@@ -0,0 +1,125 @@
|
||||
# 数据一致性黑盒测试报告
|
||||
|
||||
生成时间: 2026-02-21T19:52:20.129042+08:00
|
||||
总体结果: **❌ 存在异常**
|
||||
|
||||
## 汇总
|
||||
|
||||
- API vs ODS 字段完整性: 22/22 张表通过
|
||||
- ODS vs DWD 映射正确性: 0/42 张表通过
|
||||
|
||||
## API vs ODS 字段完整性检查
|
||||
|
||||
| 表名 | 状态 | 总字段 | 通过 | 缺失 | 备注 |
|
||||
|------|------|--------|------|------|------|
|
||||
| ods.assistant_accounts_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: assistant_accounts_master.json |
|
||||
| ods.assistant_cancellation_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: assistant_cancellation_records.json |
|
||||
| ods.assistant_service_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: assistant_service_records.json |
|
||||
| ods.goods_stock_movements | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: goods_stock_movements.json |
|
||||
| ods.goods_stock_summary | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: goods_stock_summary.json |
|
||||
| ods.group_buy_packages | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: group_buy_packages.json |
|
||||
| ods.group_buy_redemption_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: group_buy_redemption_records.json |
|
||||
| ods.member_balance_changes | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: member_balance_changes.json |
|
||||
| ods.member_profiles | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: member_profiles.json |
|
||||
| ods.member_stored_value_cards | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: member_stored_value_cards.json |
|
||||
| ods.payment_transactions | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: payment_transactions.json |
|
||||
| ods.platform_coupon_redemption_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: platform_coupon_redemption_records.json |
|
||||
| ods.recharge_settlements | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: recharge_settlements.json |
|
||||
| ods.refund_transactions | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: refund_transactions.json |
|
||||
| ods.settlement_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: settlement_records.json |
|
||||
| ods.site_tables_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: site_tables_master.json |
|
||||
| ods.stock_goods_category_tree | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: stock_goods_category_tree.json |
|
||||
| ods.store_goods_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: store_goods_master.json |
|
||||
| ods.store_goods_sales_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: store_goods_sales_records.json |
|
||||
| ods.table_fee_discount_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: table_fee_discount_records.json |
|
||||
| ods.table_fee_transactions | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: table_fee_transactions.json |
|
||||
| ods.tenant_goods_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: tenant_goods_master.json |
|
||||
|
||||
## ODS vs DWD 映射正确性检查
|
||||
|
||||
| DWD 表 | 状态 | 总字段 | 通过 | 缺失 | 不一致 | ODS 行数 | DWD 行数 | 备注 |
|
||||
|--------|------|--------|------|------|--------|----------|----------|------|
|
||||
| dwd.dim_assistant | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_assistant_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_goods_category | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_groupbuy_package | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_groupbuy_package_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_member | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_member_card_account | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_member_card_account_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_member_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_site | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_site_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_store_goods | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_store_goods_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_table | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_table_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_tenant_goods | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_tenant_goods_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_assistant_service_log | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_assistant_service_log_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_assistant_trash_event | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_assistant_trash_event_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_goods_stock_movement | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_goods_stock_summary | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_groupbuy_redemption | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_groupbuy_redemption_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_member_balance_change | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_member_balance_change_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_payment | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_platform_coupon_redemption | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_platform_coupon_redemption_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_recharge_order | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_recharge_order_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_refund | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_refund_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_settlement_head | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_settlement_head_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_store_goods_sale | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_store_goods_sale_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_table_fee_adjust | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_table_fee_adjust_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_table_fee_log | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_table_fee_log_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
@@ -0,0 +1,125 @@
|
||||
# 数据一致性黑盒测试报告
|
||||
|
||||
生成时间: 2026-02-21T20:08:55.483294+08:00
|
||||
总体结果: **❌ 存在异常**
|
||||
|
||||
## 汇总
|
||||
|
||||
- API vs ODS 字段完整性: 22/22 张表通过
|
||||
- ODS vs DWD 映射正确性: 0/42 张表通过
|
||||
|
||||
## API vs ODS 字段完整性检查
|
||||
|
||||
| 表名 | 状态 | 总字段 | 通过 | 缺失 | 备注 |
|
||||
|------|------|--------|------|------|------|
|
||||
| ods.assistant_accounts_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: assistant_accounts_master.json |
|
||||
| ods.assistant_cancellation_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: assistant_cancellation_records.json |
|
||||
| ods.assistant_service_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: assistant_service_records.json |
|
||||
| ods.goods_stock_movements | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: goods_stock_movements.json |
|
||||
| ods.goods_stock_summary | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: goods_stock_summary.json |
|
||||
| ods.group_buy_packages | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: group_buy_packages.json |
|
||||
| ods.group_buy_redemption_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: group_buy_redemption_records.json |
|
||||
| ods.member_balance_changes | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: member_balance_changes.json |
|
||||
| ods.member_profiles | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: member_profiles.json |
|
||||
| ods.member_stored_value_cards | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: member_stored_value_cards.json |
|
||||
| ods.payment_transactions | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: payment_transactions.json |
|
||||
| ods.platform_coupon_redemption_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: platform_coupon_redemption_records.json |
|
||||
| ods.recharge_settlements | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: recharge_settlements.json |
|
||||
| ods.refund_transactions | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: refund_transactions.json |
|
||||
| ods.settlement_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: settlement_records.json |
|
||||
| ods.site_tables_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: site_tables_master.json |
|
||||
| ods.stock_goods_category_tree | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: stock_goods_category_tree.json |
|
||||
| ods.store_goods_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: store_goods_master.json |
|
||||
| ods.store_goods_sales_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: store_goods_sales_records.json |
|
||||
| ods.table_fee_discount_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: table_fee_discount_records.json |
|
||||
| ods.table_fee_transactions | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: table_fee_transactions.json |
|
||||
| ods.tenant_goods_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: tenant_goods_master.json |
|
||||
|
||||
## ODS vs DWD 映射正确性检查
|
||||
|
||||
| DWD 表 | 状态 | 总字段 | 通过 | 缺失 | 不一致 | ODS 行数 | DWD 行数 | 备注 |
|
||||
|--------|------|--------|------|------|--------|----------|----------|------|
|
||||
| dwd.dim_assistant | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_assistant_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_goods_category | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_groupbuy_package | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_groupbuy_package_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_member | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_member_card_account | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_member_card_account_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_member_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_site | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_site_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_store_goods | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_store_goods_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_table | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_table_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_tenant_goods | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_tenant_goods_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_assistant_service_log | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_assistant_service_log_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_assistant_trash_event | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_assistant_trash_event_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_goods_stock_movement | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_goods_stock_summary | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_groupbuy_redemption | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_groupbuy_redemption_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_member_balance_change | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_member_balance_change_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_payment | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_platform_coupon_redemption | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_platform_coupon_redemption_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_recharge_order | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_recharge_order_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_refund | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_refund_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_settlement_head | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_settlement_head_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_store_goods_sale | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_store_goods_sale_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_table_fee_adjust | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_table_fee_adjust_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_table_fee_log | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_table_fee_log_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
@@ -0,0 +1,125 @@
|
||||
# 数据一致性黑盒测试报告
|
||||
|
||||
生成时间: 2026-02-21T20:31:27.049664+08:00
|
||||
总体结果: **❌ 存在异常**
|
||||
|
||||
## 汇总
|
||||
|
||||
- API vs ODS 字段完整性: 22/22 张表通过
|
||||
- ODS vs DWD 映射正确性: 0/42 张表通过
|
||||
|
||||
## API vs ODS 字段完整性检查
|
||||
|
||||
| 表名 | 状态 | 总字段 | 通过 | 缺失 | 备注 |
|
||||
|------|------|--------|------|------|------|
|
||||
| ods.assistant_accounts_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: assistant_accounts_master.json |
|
||||
| ods.assistant_cancellation_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: assistant_cancellation_records.json |
|
||||
| ods.assistant_service_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: assistant_service_records.json |
|
||||
| ods.goods_stock_movements | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: goods_stock_movements.json |
|
||||
| ods.goods_stock_summary | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: goods_stock_summary.json |
|
||||
| ods.group_buy_packages | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: group_buy_packages.json |
|
||||
| ods.group_buy_redemption_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: group_buy_redemption_records.json |
|
||||
| ods.member_balance_changes | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: member_balance_changes.json |
|
||||
| ods.member_profiles | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: member_profiles.json |
|
||||
| ods.member_stored_value_cards | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: member_stored_value_cards.json |
|
||||
| ods.payment_transactions | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: payment_transactions.json |
|
||||
| ods.platform_coupon_redemption_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: platform_coupon_redemption_records.json |
|
||||
| ods.recharge_settlements | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: recharge_settlements.json |
|
||||
| ods.refund_transactions | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: refund_transactions.json |
|
||||
| ods.settlement_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: settlement_records.json |
|
||||
| ods.site_tables_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: site_tables_master.json |
|
||||
| ods.stock_goods_category_tree | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: stock_goods_category_tree.json |
|
||||
| ods.store_goods_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: store_goods_master.json |
|
||||
| ods.store_goods_sales_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: store_goods_sales_records.json |
|
||||
| ods.table_fee_discount_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: table_fee_discount_records.json |
|
||||
| ods.table_fee_transactions | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: table_fee_transactions.json |
|
||||
| ods.tenant_goods_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: tenant_goods_master.json |
|
||||
|
||||
## ODS vs DWD 映射正确性检查
|
||||
|
||||
| DWD 表 | 状态 | 总字段 | 通过 | 缺失 | 不一致 | ODS 行数 | DWD 行数 | 备注 |
|
||||
|--------|------|--------|------|------|--------|----------|----------|------|
|
||||
| dwd.dim_assistant | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_assistant_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_goods_category | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_groupbuy_package | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_groupbuy_package_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_member | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_member_card_account | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_member_card_account_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_member_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_site | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_site_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_store_goods | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_store_goods_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_table | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_table_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_tenant_goods | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_tenant_goods_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_assistant_service_log | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_assistant_service_log_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_assistant_trash_event | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_assistant_trash_event_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_goods_stock_movement | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_goods_stock_summary | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_groupbuy_redemption | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_groupbuy_redemption_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_member_balance_change | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_member_balance_change_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_payment | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_platform_coupon_redemption | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_platform_coupon_redemption_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_recharge_order | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_recharge_order_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_refund | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_refund_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_settlement_head | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_settlement_head_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_store_goods_sale | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_store_goods_sale_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_table_fee_adjust | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_table_fee_adjust_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_table_fee_log | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_table_fee_log_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
@@ -0,0 +1,125 @@
|
||||
# 数据一致性黑盒测试报告
|
||||
|
||||
生成时间: 2026-02-21T21:14:42.451232+08:00
|
||||
总体结果: **❌ 存在异常**
|
||||
|
||||
## 汇总
|
||||
|
||||
- API vs ODS 字段完整性: 22/22 张表通过
|
||||
- ODS vs DWD 映射正确性: 0/42 张表通过
|
||||
|
||||
## API vs ODS 字段完整性检查
|
||||
|
||||
| 表名 | 状态 | 总字段 | 通过 | 缺失 | 备注 |
|
||||
|------|------|--------|------|------|------|
|
||||
| ods.assistant_accounts_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: assistant_accounts_master.json |
|
||||
| ods.assistant_cancellation_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: assistant_cancellation_records.json |
|
||||
| ods.assistant_service_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: assistant_service_records.json |
|
||||
| ods.goods_stock_movements | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: goods_stock_movements.json |
|
||||
| ods.goods_stock_summary | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: goods_stock_summary.json |
|
||||
| ods.group_buy_packages | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: group_buy_packages.json |
|
||||
| ods.group_buy_redemption_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: group_buy_redemption_records.json |
|
||||
| ods.member_balance_changes | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: member_balance_changes.json |
|
||||
| ods.member_profiles | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: member_profiles.json |
|
||||
| ods.member_stored_value_cards | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: member_stored_value_cards.json |
|
||||
| ods.payment_transactions | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: payment_transactions.json |
|
||||
| ods.platform_coupon_redemption_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: platform_coupon_redemption_records.json |
|
||||
| ods.recharge_settlements | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: recharge_settlements.json |
|
||||
| ods.refund_transactions | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: refund_transactions.json |
|
||||
| ods.settlement_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: settlement_records.json |
|
||||
| ods.site_tables_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: site_tables_master.json |
|
||||
| ods.stock_goods_category_tree | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: stock_goods_category_tree.json |
|
||||
| ods.store_goods_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: store_goods_master.json |
|
||||
| ods.store_goods_sales_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: store_goods_sales_records.json |
|
||||
| ods.table_fee_discount_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: table_fee_discount_records.json |
|
||||
| ods.table_fee_transactions | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: table_fee_transactions.json |
|
||||
| ods.tenant_goods_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: tenant_goods_master.json |
|
||||
|
||||
## ODS vs DWD 映射正确性检查
|
||||
|
||||
| DWD 表 | 状态 | 总字段 | 通过 | 缺失 | 不一致 | ODS 行数 | DWD 行数 | 备注 |
|
||||
|--------|------|--------|------|------|--------|----------|----------|------|
|
||||
| dwd.dim_assistant | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_assistant_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_goods_category | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_groupbuy_package | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_groupbuy_package_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_member | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_member_card_account | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_member_card_account_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_member_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_site | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_site_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_store_goods | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_store_goods_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_table | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_table_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_tenant_goods | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_tenant_goods_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_assistant_service_log | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_assistant_service_log_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_assistant_trash_event | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_assistant_trash_event_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_goods_stock_movement | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_goods_stock_summary | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_groupbuy_redemption | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_groupbuy_redemption_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_member_balance_change | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_member_balance_change_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_payment | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_platform_coupon_redemption | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_platform_coupon_redemption_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_recharge_order | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_recharge_order_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_refund | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_refund_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_settlement_head | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_settlement_head_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_store_goods_sale | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_store_goods_sale_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_table_fee_adjust | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_table_fee_adjust_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_table_fee_log | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_table_fee_log_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
@@ -0,0 +1,125 @@
|
||||
# 数据一致性黑盒测试报告
|
||||
|
||||
生成时间: 2026-02-21T21:26:36.915408+08:00
|
||||
总体结果: **❌ 存在异常**
|
||||
|
||||
## 汇总
|
||||
|
||||
- API vs ODS 字段完整性: 22/22 张表通过
|
||||
- ODS vs DWD 映射正确性: 0/42 张表通过
|
||||
|
||||
## API vs ODS 字段完整性检查
|
||||
|
||||
| 表名 | 状态 | 总字段 | 通过 | 缺失 | 备注 |
|
||||
|------|------|--------|------|------|------|
|
||||
| ods.assistant_accounts_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: assistant_accounts_master.json |
|
||||
| ods.assistant_cancellation_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: assistant_cancellation_records.json |
|
||||
| ods.assistant_service_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: assistant_service_records.json |
|
||||
| ods.goods_stock_movements | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: goods_stock_movements.json |
|
||||
| ods.goods_stock_summary | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: goods_stock_summary.json |
|
||||
| ods.group_buy_packages | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: group_buy_packages.json |
|
||||
| ods.group_buy_redemption_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: group_buy_redemption_records.json |
|
||||
| ods.member_balance_changes | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: member_balance_changes.json |
|
||||
| ods.member_profiles | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: member_profiles.json |
|
||||
| ods.member_stored_value_cards | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: member_stored_value_cards.json |
|
||||
| ods.payment_transactions | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: payment_transactions.json |
|
||||
| ods.platform_coupon_redemption_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: platform_coupon_redemption_records.json |
|
||||
| ods.recharge_settlements | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: recharge_settlements.json |
|
||||
| ods.refund_transactions | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: refund_transactions.json |
|
||||
| ods.settlement_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: settlement_records.json |
|
||||
| ods.site_tables_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: site_tables_master.json |
|
||||
| ods.stock_goods_category_tree | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: stock_goods_category_tree.json |
|
||||
| ods.store_goods_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: store_goods_master.json |
|
||||
| ods.store_goods_sales_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: store_goods_sales_records.json |
|
||||
| ods.table_fee_discount_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: table_fee_discount_records.json |
|
||||
| ods.table_fee_transactions | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: table_fee_transactions.json |
|
||||
| ods.tenant_goods_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: tenant_goods_master.json |
|
||||
|
||||
## ODS vs DWD 映射正确性检查
|
||||
|
||||
| DWD 表 | 状态 | 总字段 | 通过 | 缺失 | 不一致 | ODS 行数 | DWD 行数 | 备注 |
|
||||
|--------|------|--------|------|------|--------|----------|----------|------|
|
||||
| dwd.dim_assistant | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_assistant_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_goods_category | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_groupbuy_package | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_groupbuy_package_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_member | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_member_card_account | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_member_card_account_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_member_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_site | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_site_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_store_goods | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_store_goods_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_table | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_table_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_tenant_goods | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_tenant_goods_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_assistant_service_log | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_assistant_service_log_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_assistant_trash_event | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_assistant_trash_event_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_goods_stock_movement | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_goods_stock_summary | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_groupbuy_redemption | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_groupbuy_redemption_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_member_balance_change | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_member_balance_change_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_payment | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_platform_coupon_redemption | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_platform_coupon_redemption_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_recharge_order | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_recharge_order_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_refund | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_refund_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_settlement_head | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_settlement_head_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_store_goods_sale | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_store_goods_sale_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_table_fee_adjust | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_table_fee_adjust_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_table_fee_log | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_table_fee_log_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
@@ -0,0 +1,125 @@
|
||||
# 数据一致性黑盒测试报告
|
||||
|
||||
生成时间: 2026-02-21T21:34:59.812645+08:00
|
||||
总体结果: **❌ 存在异常**
|
||||
|
||||
## 汇总
|
||||
|
||||
- API vs ODS 字段完整性: 22/22 张表通过
|
||||
- ODS vs DWD 映射正确性: 0/42 张表通过
|
||||
|
||||
## API vs ODS 字段完整性检查
|
||||
|
||||
| 表名 | 状态 | 总字段 | 通过 | 缺失 | 备注 |
|
||||
|------|------|--------|------|------|------|
|
||||
| ods.assistant_accounts_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: assistant_accounts_master.json |
|
||||
| ods.assistant_cancellation_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: assistant_cancellation_records.json |
|
||||
| ods.assistant_service_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: assistant_service_records.json |
|
||||
| ods.goods_stock_movements | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: goods_stock_movements.json |
|
||||
| ods.goods_stock_summary | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: goods_stock_summary.json |
|
||||
| ods.group_buy_packages | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: group_buy_packages.json |
|
||||
| ods.group_buy_redemption_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: group_buy_redemption_records.json |
|
||||
| ods.member_balance_changes | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: member_balance_changes.json |
|
||||
| ods.member_profiles | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: member_profiles.json |
|
||||
| ods.member_stored_value_cards | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: member_stored_value_cards.json |
|
||||
| ods.payment_transactions | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: payment_transactions.json |
|
||||
| ods.platform_coupon_redemption_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: platform_coupon_redemption_records.json |
|
||||
| ods.recharge_settlements | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: recharge_settlements.json |
|
||||
| ods.refund_transactions | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: refund_transactions.json |
|
||||
| ods.settlement_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: settlement_records.json |
|
||||
| ods.site_tables_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: site_tables_master.json |
|
||||
| ods.stock_goods_category_tree | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: stock_goods_category_tree.json |
|
||||
| ods.store_goods_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: store_goods_master.json |
|
||||
| ods.store_goods_sales_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: store_goods_sales_records.json |
|
||||
| ods.table_fee_discount_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: table_fee_discount_records.json |
|
||||
| ods.table_fee_transactions | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: table_fee_transactions.json |
|
||||
| ods.tenant_goods_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: tenant_goods_master.json |
|
||||
|
||||
## ODS vs DWD 映射正确性检查
|
||||
|
||||
| DWD 表 | 状态 | 总字段 | 通过 | 缺失 | 不一致 | ODS 行数 | DWD 行数 | 备注 |
|
||||
|--------|------|--------|------|------|--------|----------|----------|------|
|
||||
| dwd.dim_assistant | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_assistant_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_goods_category | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_groupbuy_package | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_groupbuy_package_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_member | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_member_card_account | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_member_card_account_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_member_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_site | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_site_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_store_goods | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_store_goods_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_table | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_table_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_tenant_goods | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dim_tenant_goods_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_assistant_service_log | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_assistant_service_log_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_assistant_trash_event | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_assistant_trash_event_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_goods_stock_movement | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_goods_stock_summary | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_groupbuy_redemption | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_groupbuy_redemption_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_member_balance_change | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_member_balance_change_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_payment | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_platform_coupon_redemption | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_platform_coupon_redemption_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_recharge_order | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_recharge_order_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_refund | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_refund_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_settlement_head | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_settlement_head_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_store_goods_sale | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_store_goods_sale_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_table_fee_adjust | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_table_fee_adjust_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_table_fee_log | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
| dwd.dwd_table_fee_log_ex | ❌ | 0 | 0 | 0 | 0 | 0 | 0 | InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略
|
||||
|
|
||||
@@ -0,0 +1,88 @@
|
||||
# 数据一致性黑盒测试报告
|
||||
|
||||
生成时间: 2026-02-21T22:40:07.845381+08:00
|
||||
总体结果: **❌ 存在异常**
|
||||
|
||||
## 汇总
|
||||
|
||||
- API vs ODS 字段完整性: 22/22 张表通过
|
||||
- ODS vs DWD 映射正确性: 41/42 张表通过
|
||||
|
||||
## API vs ODS 字段完整性检查
|
||||
|
||||
| 表名 | 状态 | 总字段 | 通过 | 缺失 | 备注 |
|
||||
|------|------|--------|------|------|------|
|
||||
| ods.assistant_accounts_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: assistant_accounts_master.json |
|
||||
| ods.assistant_cancellation_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: assistant_cancellation_records.json |
|
||||
| ods.assistant_service_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: assistant_service_records.json |
|
||||
| ods.goods_stock_movements | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: goods_stock_movements.json |
|
||||
| ods.goods_stock_summary | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: goods_stock_summary.json |
|
||||
| ods.group_buy_packages | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: group_buy_packages.json |
|
||||
| ods.group_buy_redemption_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: group_buy_redemption_records.json |
|
||||
| ods.member_balance_changes | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: member_balance_changes.json |
|
||||
| ods.member_profiles | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: member_profiles.json |
|
||||
| ods.member_stored_value_cards | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: member_stored_value_cards.json |
|
||||
| ods.payment_transactions | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: payment_transactions.json |
|
||||
| ods.platform_coupon_redemption_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: platform_coupon_redemption_records.json |
|
||||
| ods.recharge_settlements | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: recharge_settlements.json |
|
||||
| ods.refund_transactions | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: refund_transactions.json |
|
||||
| ods.settlement_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: settlement_records.json |
|
||||
| ods.site_tables_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: site_tables_master.json |
|
||||
| ods.stock_goods_category_tree | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: stock_goods_category_tree.json |
|
||||
| ods.store_goods_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: store_goods_master.json |
|
||||
| ods.store_goods_sales_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: store_goods_sales_records.json |
|
||||
| ods.table_fee_discount_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: table_fee_discount_records.json |
|
||||
| ods.table_fee_transactions | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: table_fee_transactions.json |
|
||||
| ods.tenant_goods_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: tenant_goods_master.json |
|
||||
|
||||
## ODS vs DWD 映射正确性检查
|
||||
|
||||
| DWD 表 | 状态 | 总字段 | 通过 | 缺失 | 不一致 | ODS 行数 | DWD 行数 | 备注 |
|
||||
|--------|------|--------|------|------|--------|----------|----------|------|
|
||||
| dwd.dim_assistant | ✅ | 15 | 15 | 0 | 0 | 295 | 1404 | |
|
||||
| dwd.dim_assistant_ex | ✅ | 48 | 48 | 0 | 0 | 295 | 1320 | |
|
||||
| dwd.dim_goods_category | ✅ | 12 | 12 | 0 | 0 | 18 | 177 | |
|
||||
| dwd.dim_groupbuy_package | ✅ | 18 | 18 | 0 | 0 | 70 | 441 | |
|
||||
| dwd.dim_groupbuy_package_ex | ✅ | 21 | 21 | 0 | 0 | 70 | 441 | |
|
||||
| dwd.dim_member | ✅ | 12 | 12 | 0 | 0 | 1771 | 11915 | |
|
||||
| dwd.dim_member_card_account | ✅ | 19 | 19 | 0 | 0 | 2973 | 20262 | |
|
||||
| dwd.dim_member_card_account_ex | ✅ | 57 | 57 | 0 | 0 | 2973 | 19118 | |
|
||||
| dwd.dim_member_ex | ✅ | 10 | 10 | 0 | 0 | 1771 | 11884 | |
|
||||
| dwd.dim_site | ✅ | 13 | 13 | 0 | 0 | 38585 | 57 | |
|
||||
| dwd.dim_site_ex | ✅ | 21 | 21 | 0 | 0 | 38585 | 56 | |
|
||||
| dwd.dim_store_goods | ✅ | 22 | 22 | 0 | 0 | 1829 | 5790 | |
|
||||
| dwd.dim_store_goods_ex | ✅ | 28 | 28 | 0 | 0 | 1829 | 5748 | |
|
||||
| dwd.dim_table | ✅ | 8 | 8 | 0 | 0 | 1074 | 3029 | |
|
||||
| dwd.dim_table_ex | ✅ | 20 | 20 | 0 | 0 | 1074 | 3183 | |
|
||||
| dwd.dim_tenant_goods | ✅ | 15 | 15 | 0 | 0 | 353 | 2366 | |
|
||||
| dwd.dim_tenant_goods_ex | ✅ | 18 | 18 | 0 | 0 | 353 | 2364 | |
|
||||
| dwd.dwd_assistant_service_log | ✅ | 33 | 33 | 0 | 0 | 12903 | 5297 | |
|
||||
| dwd.dwd_assistant_service_log_ex | ✅ | 33 | 33 | 0 | 0 | 12903 | 5297 | |
|
||||
| dwd.dwd_assistant_trash_event | ✅ | 11 | 11 | 0 | 0 | 178 | 100 | |
|
||||
| dwd.dwd_assistant_trash_event_ex | ✅ | 4 | 4 | 0 | 0 | 178 | 100 | |
|
||||
| dwd.dwd_goods_stock_movement | ✅ | 20 | 20 | 0 | 0 | 50162 | 14306 | |
|
||||
| dwd.dwd_goods_stock_summary | ❌ | 17 | 15 | 2 | 0 | 2685 | 716 | |
|
||||
| dwd.dwd_groupbuy_redemption | ✅ | 25 | 25 | 0 | 0 | 27284 | 12768 | |
|
||||
| dwd.dwd_groupbuy_redemption_ex | ✅ | 28 | 28 | 0 | 0 | 27284 | 12768 | |
|
||||
| dwd.dwd_member_balance_change | ✅ | 22 | 22 | 0 | 0 | 9684 | 5081 | |
|
||||
| dwd.dwd_member_balance_change_ex | ✅ | 8 | 8 | 0 | 0 | 9684 | 5081 | |
|
||||
| dwd.dwd_payment | ✅ | 12 | 12 | 0 | 0 | 36006 | 24922 | |
|
||||
| dwd.dwd_platform_coupon_redemption | ✅ | 20 | 20 | 0 | 0 | 36678 | 18311 | |
|
||||
| dwd.dwd_platform_coupon_redemption_ex | ✅ | 6 | 6 | 0 | 0 | 36678 | 18311 | |
|
||||
| dwd.dwd_recharge_order | ✅ | 24 | 24 | 0 | 0 | 3527 | 485 | |
|
||||
| dwd.dwd_recharge_order_ex | ✅ | 43 | 43 | 0 | 0 | 3527 | 485 | |
|
||||
| dwd.dwd_refund | ✅ | 12 | 12 | 0 | 0 | 83 | 51 | |
|
||||
| dwd.dwd_refund_ex | ✅ | 20 | 20 | 0 | 0 | 83 | 51 | |
|
||||
| dwd.dwd_settlement_head | ✅ | 37 | 37 | 0 | 0 | 66073 | 26435 | |
|
||||
| dwd.dwd_settlement_head_ex | ✅ | 30 | 30 | 0 | 0 | 66073 | 26435 | |
|
||||
| dwd.dwd_store_goods_sale | ✅ | 25 | 25 | 0 | 0 | 17563 | 17563 | |
|
||||
| dwd.dwd_store_goods_sale_ex | ✅ | 28 | 28 | 0 | 0 | 17563 | 17563 | |
|
||||
| dwd.dwd_table_fee_adjust | ✅ | 16 | 16 | 0 | 0 | 4818 | 3124 | |
|
||||
| dwd.dwd_table_fee_adjust_ex | ✅ | 13 | 13 | 0 | 0 | 4818 | 3124 | |
|
||||
| dwd.dwd_table_fee_log | ✅ | 29 | 29 | 0 | 0 | 38585 | 20132 | |
|
||||
| dwd.dwd_table_fee_log_ex | ✅ | 13 | 13 | 0 | 0 | 38585 | 20132 | |
|
||||
|
||||
### dwd.dwd_goods_stock_summary — 映射异常明细
|
||||
|
||||
- `site_id` [missing]: DWD 列无 ODS 映射源(无显式映射且无同名 ODS 列)
|
||||
- `tenant_id` [missing]: DWD 列无 ODS 映射源(无显式映射且无同名 ODS 列)
|
||||
@@ -0,0 +1,88 @@
|
||||
# 数据一致性黑盒测试报告
|
||||
|
||||
生成时间: 2026-02-21T22:49:54.514754+08:00
|
||||
总体结果: **❌ 存在异常**
|
||||
|
||||
## 汇总
|
||||
|
||||
- API vs ODS 字段完整性: 22/22 张表通过
|
||||
- ODS vs DWD 映射正确性: 41/42 张表通过
|
||||
|
||||
## API vs ODS 字段完整性检查
|
||||
|
||||
| 表名 | 状态 | 总字段 | 通过 | 缺失 | 备注 |
|
||||
|------|------|--------|------|------|------|
|
||||
| ods.assistant_accounts_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: assistant_accounts_master.json |
|
||||
| ods.assistant_cancellation_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: assistant_cancellation_records.json |
|
||||
| ods.assistant_service_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: assistant_service_records.json |
|
||||
| ods.goods_stock_movements | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: goods_stock_movements.json |
|
||||
| ods.goods_stock_summary | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: goods_stock_summary.json |
|
||||
| ods.group_buy_packages | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: group_buy_packages.json |
|
||||
| ods.group_buy_redemption_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: group_buy_redemption_records.json |
|
||||
| ods.member_balance_changes | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: member_balance_changes.json |
|
||||
| ods.member_profiles | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: member_profiles.json |
|
||||
| ods.member_stored_value_cards | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: member_stored_value_cards.json |
|
||||
| ods.payment_transactions | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: payment_transactions.json |
|
||||
| ods.platform_coupon_redemption_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: platform_coupon_redemption_records.json |
|
||||
| ods.recharge_settlements | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: recharge_settlements.json |
|
||||
| ods.refund_transactions | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: refund_transactions.json |
|
||||
| ods.settlement_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: settlement_records.json |
|
||||
| ods.site_tables_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: site_tables_master.json |
|
||||
| ods.stock_goods_category_tree | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: stock_goods_category_tree.json |
|
||||
| ods.store_goods_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: store_goods_master.json |
|
||||
| ods.store_goods_sales_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: store_goods_sales_records.json |
|
||||
| ods.table_fee_discount_records | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: table_fee_discount_records.json |
|
||||
| ods.table_fee_transactions | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: table_fee_transactions.json |
|
||||
| ods.tenant_goods_master | ✅ | 0 | 0 | 0 | API JSON 缓存不存在: tenant_goods_master.json |
|
||||
|
||||
## ODS vs DWD 映射正确性检查
|
||||
|
||||
| DWD 表 | 状态 | 总字段 | 通过 | 缺失 | 不一致 | ODS 行数 | DWD 行数 | 备注 |
|
||||
|--------|------|--------|------|------|--------|----------|----------|------|
|
||||
| dwd.dim_assistant | ✅ | 15 | 15 | 0 | 0 | 295 | 1473 | |
|
||||
| dwd.dim_assistant_ex | ✅ | 48 | 48 | 0 | 0 | 295 | 1389 | |
|
||||
| dwd.dim_goods_category | ✅ | 12 | 12 | 0 | 0 | 18 | 203 | |
|
||||
| dwd.dim_groupbuy_package | ✅ | 18 | 18 | 0 | 0 | 70 | 475 | |
|
||||
| dwd.dim_groupbuy_package_ex | ✅ | 21 | 21 | 0 | 0 | 70 | 475 | |
|
||||
| dwd.dim_member | ✅ | 12 | 12 | 0 | 0 | 1771 | 12472 | |
|
||||
| dwd.dim_member_card_account | ✅ | 19 | 19 | 0 | 0 | 2973 | 21208 | |
|
||||
| dwd.dim_member_card_account_ex | ✅ | 57 | 57 | 0 | 0 | 2973 | 20064 | |
|
||||
| dwd.dim_member_ex | ✅ | 10 | 10 | 0 | 0 | 1771 | 12441 | |
|
||||
| dwd.dim_site | ✅ | 13 | 13 | 0 | 0 | 38585 | 58 | |
|
||||
| dwd.dim_site_ex | ✅ | 21 | 21 | 0 | 0 | 38585 | 57 | |
|
||||
| dwd.dim_store_goods | ✅ | 22 | 22 | 0 | 0 | 1829 | 5963 | |
|
||||
| dwd.dim_store_goods_ex | ✅ | 28 | 28 | 0 | 0 | 1829 | 5921 | |
|
||||
| dwd.dim_table | ✅ | 8 | 8 | 0 | 0 | 1074 | 3103 | |
|
||||
| dwd.dim_table_ex | ✅ | 20 | 20 | 0 | 0 | 1074 | 3257 | |
|
||||
| dwd.dim_tenant_goods | ✅ | 15 | 15 | 0 | 0 | 353 | 2540 | |
|
||||
| dwd.dim_tenant_goods_ex | ✅ | 18 | 18 | 0 | 0 | 353 | 2538 | |
|
||||
| dwd.dwd_assistant_service_log | ✅ | 33 | 33 | 0 | 0 | 12903 | 5297 | |
|
||||
| dwd.dwd_assistant_service_log_ex | ✅ | 33 | 33 | 0 | 0 | 12903 | 5297 | |
|
||||
| dwd.dwd_assistant_trash_event | ✅ | 11 | 11 | 0 | 0 | 178 | 100 | |
|
||||
| dwd.dwd_assistant_trash_event_ex | ✅ | 4 | 4 | 0 | 0 | 178 | 100 | |
|
||||
| dwd.dwd_goods_stock_movement | ✅ | 20 | 20 | 0 | 0 | 50162 | 14306 | |
|
||||
| dwd.dwd_goods_stock_summary | ❌ | 17 | 15 | 2 | 0 | 2685 | 716 | |
|
||||
| dwd.dwd_groupbuy_redemption | ✅ | 25 | 25 | 0 | 0 | 27284 | 12768 | |
|
||||
| dwd.dwd_groupbuy_redemption_ex | ✅ | 28 | 28 | 0 | 0 | 27284 | 12768 | |
|
||||
| dwd.dwd_member_balance_change | ✅ | 22 | 22 | 0 | 0 | 9684 | 5081 | |
|
||||
| dwd.dwd_member_balance_change_ex | ✅ | 8 | 8 | 0 | 0 | 9684 | 5081 | |
|
||||
| dwd.dwd_payment | ✅ | 12 | 12 | 0 | 0 | 36006 | 24922 | |
|
||||
| dwd.dwd_platform_coupon_redemption | ✅ | 20 | 20 | 0 | 0 | 36678 | 18311 | |
|
||||
| dwd.dwd_platform_coupon_redemption_ex | ✅ | 6 | 6 | 0 | 0 | 36678 | 18311 | |
|
||||
| dwd.dwd_recharge_order | ✅ | 24 | 24 | 0 | 0 | 3527 | 485 | |
|
||||
| dwd.dwd_recharge_order_ex | ✅ | 43 | 43 | 0 | 0 | 3527 | 485 | |
|
||||
| dwd.dwd_refund | ✅ | 12 | 12 | 0 | 0 | 83 | 51 | |
|
||||
| dwd.dwd_refund_ex | ✅ | 20 | 20 | 0 | 0 | 83 | 51 | |
|
||||
| dwd.dwd_settlement_head | ✅ | 37 | 37 | 0 | 0 | 66073 | 26435 | |
|
||||
| dwd.dwd_settlement_head_ex | ✅ | 30 | 30 | 0 | 0 | 66073 | 26435 | |
|
||||
| dwd.dwd_store_goods_sale | ✅ | 25 | 25 | 0 | 0 | 17563 | 17563 | |
|
||||
| dwd.dwd_store_goods_sale_ex | ✅ | 28 | 28 | 0 | 0 | 17563 | 17563 | |
|
||||
| dwd.dwd_table_fee_adjust | ✅ | 16 | 16 | 0 | 0 | 4818 | 3124 | |
|
||||
| dwd.dwd_table_fee_adjust_ex | ✅ | 13 | 13 | 0 | 0 | 4818 | 3124 | |
|
||||
| dwd.dwd_table_fee_log | ✅ | 29 | 29 | 0 | 0 | 38585 | 20132 | |
|
||||
| dwd.dwd_table_fee_log_ex | ✅ | 13 | 13 | 0 | 0 | 38585 | 20132 | |
|
||||
|
||||
### dwd.dwd_goods_stock_summary — 映射异常明细
|
||||
|
||||
- `site_id` [missing]: DWD 列无 ODS 映射源(无显式映射且无同名 ODS 列)
|
||||
- `tenant_id` [missing]: DWD 列无 ODS 映射源(无显式映射且无同名 ODS 列)
|
||||
@@ -0,0 +1,57 @@
|
||||
# 上下文交接:字段级数据质量分析(任务2)
|
||||
|
||||
## 当前状态
|
||||
|
||||
字段级采样报告已生成,但用户认为还不够细致,需要继续深化。
|
||||
|
||||
## 已完成
|
||||
|
||||
- 字段级采样脚本:`scripts/ops/field_level_report.py`(v2 性能优化版,每表 1~2 条 SQL)
|
||||
- 报告产出:`export/ETL-Connectors/feiqiu/REPORTS/field_level_report_20260220_233432.md`(197KB,95 张表,2622 个字段)
|
||||
- 覆盖范围:ODS 23 表 / DWD 40 表 / DWS 32 表
|
||||
- 每字段统计:类型、NULL率、数值 min/max/avg、日期范围、文本长度范围、布尔分布
|
||||
- 大表(>3000行)跳过 COUNT DISTINCT(标记为 `-`),小表精确计算
|
||||
|
||||
## 已发现的数据质量问题
|
||||
|
||||
1. `dws.dws_order_summary.order_original_amount` 出现 -44000 负值(疑似退款/异常订单)
|
||||
2. `member_flag` 和 `recharge_order_flag` 全部 FALSE(12920 行),标记字段可能未正确计算
|
||||
3. 多张 `_ex` 表存在 `year -1` 异常日期值(上游 API 脏数据,脚本已用 `::text` 比较绕过)
|
||||
4. DWS 层 23/32 表为空(14 个 DWS 任务已注册但尚未运行,配置表未填充)
|
||||
|
||||
## 黑盒测试报告(已完成,供参考)
|
||||
|
||||
- 脚本:`scripts/ops/blackbox_test_report.py`
|
||||
- 报告:`export/ETL-Connectors/feiqiu/REPORTS/blackbox_report_20260220_181141.md`
|
||||
- 结论:ODS 22/22 成功,DWD 20/20 事实表比率 1.0(精确匹配),DWS 9/32 有数据
|
||||
|
||||
## ETL 最近一次运行
|
||||
|
||||
- 日志:`export/ETL-Connectors/feiqiu/LOGS/703747ca8db84aa785405fc75ee388a2.log`
|
||||
- 参数:`--flow api_full --processing-mode full_window --window-start 2025-11-01 --window-end 2026-02-20 --window-split-days 10 --force-full`
|
||||
- 结果:22 ODS SUCC,DWD SUCC,3 INDEX SUCC(WBI/NCI/ORDER_SUMMARY),1 INDEX FAIL(RELATION_INDEX: `d.is_delete` → 应为 `s.is_delete`),14 DWS SKIP(已修复注册,下次可运行)
|
||||
|
||||
## 已知未修复 Bug
|
||||
|
||||
- `DWS_RELATION_INDEX`:`relation_index_task.py` 第 226 行 `d.is_delete` 应为 `s.is_delete`
|
||||
- FlowRunner `full_window` 模式未生成 timing/consistency 报告(走了 else 分支)
|
||||
|
||||
## 关键文件
|
||||
|
||||
- `scripts/ops/field_level_report.py` — 字段级分析脚本
|
||||
- `scripts/ops/blackbox_test_report.py` — 黑盒测试脚本
|
||||
- `apps/etl/connectors/feiqiu/orchestration/task_registry.py` — 任务注册表
|
||||
- `apps/etl/connectors/feiqiu/orchestration/flow_runner.py` — FlowRunner
|
||||
- `apps/etl/connectors/feiqiu/tasks/dws/` — DWS 任务实现
|
||||
|
||||
## 数据库连接
|
||||
|
||||
- 四个 MCP 连接:`mcp_pg_etl`(正式)、`mcp_pg_etl_test`(测试)、`mcp_pg_app`、`mcp_pg_app_test`
|
||||
- store_id: `2790685415443269`
|
||||
|
||||
## 架构要点
|
||||
|
||||
- ODS PK = `(id, content_hash)`,快照模式
|
||||
- DWD:dim 表 SCD2,fact 表 `dwd_*`(非 `fact_*`),扩展属性在 `*_ex` 表
|
||||
- DWS:delete-before-insert 幂等,无游标
|
||||
- 输出路径从 `.env` 的 `ETL_REPORT_ROOT` 读取
|
||||
@@ -0,0 +1,152 @@
|
||||
# DDL vs 数据库一致性检查报告
|
||||
|
||||
生成时间:2026-02-21 21:22:55
|
||||
数据库:test_etl_feiqiu
|
||||
DDL 文件:ods.sql, dwd.sql, dws.sql, meta.sql
|
||||
|
||||
## 概览
|
||||
|
||||
| 指标 | 数量 |
|
||||
|------|------|
|
||||
| DDL 定义表数 | 99 |
|
||||
| DB 实际表数 | 99 |
|
||||
| 完全匹配 | 99 |
|
||||
| DDL 有但 DB 缺失 | 0 |
|
||||
| DB 有但 DDL 缺失 | 0 |
|
||||
|
||||
## 差异详情(15 项)
|
||||
|
||||
|
||||
### dwd.dim_store_goods_ex
|
||||
类型不匹配:batch_stock_quantity DDL=integer DB=numeric
|
||||
|
||||
### dwd.dwd_refund_ex
|
||||
DB 有但 DDL 缺失的列:['check_status']
|
||||
|
||||
### dws.dws_assistant_daily_detail
|
||||
DB 有但 DDL 缺失的列:['unique_customers', 'unique_tables']
|
||||
|
||||
### dws.dws_assistant_finance_analysis
|
||||
DB 有但 DDL 缺失的列:['unique_customers']
|
||||
|
||||
### dws.dws_assistant_monthly_summary
|
||||
DB 有但 DDL 缺失的列:['unique_customers', 'unique_tables']
|
||||
|
||||
### ods.refund_transactions
|
||||
DB 有但 DDL 缺失的列:['check_status']
|
||||
|
||||
### ods.site_tables_master
|
||||
DDL 有但 DB 缺失的列:['appletqrcodeurl']
|
||||
DB 有但 DDL 缺失的列:['appletQrCodeUrl']
|
||||
|
||||
## 索引概览
|
||||
|
||||
数据库中共 343 个索引,覆盖 107 张表。
|
||||
|
||||
- dwd.dim_assistant: 4 个索引
|
||||
- dwd.dim_assistant_ex: 6 个索引
|
||||
- dwd.dim_goods_category: 4 个索引
|
||||
- dwd.dim_groupbuy_package: 6 个索引
|
||||
- dwd.dim_groupbuy_package_ex: 4 个索引
|
||||
- dwd.dim_member: 6 个索引
|
||||
- dwd.dim_member_card_account: 4 个索引
|
||||
- dwd.dim_member_card_account_ex: 6 个索引
|
||||
- dwd.dim_member_ex: 4 个索引
|
||||
- dwd.dim_site: 4 个索引
|
||||
- dwd.dim_site_ex: 6 个索引
|
||||
- dwd.dim_store_goods: 4 个索引
|
||||
- dwd.dim_store_goods_ex: 4 个索引
|
||||
- dwd.dim_table: 4 个索引
|
||||
- dwd.dim_table_ex: 4 个索引
|
||||
- dwd.dim_tenant_goods: 6 个索引
|
||||
- dwd.dim_tenant_goods_ex: 4 个索引
|
||||
- dwd.dwd_assistant_service_log: 5 个索引
|
||||
- dwd.dwd_assistant_service_log_ex: 1 个索引
|
||||
- dwd.dwd_assistant_trash_event: 3 个索引
|
||||
- dwd.dwd_assistant_trash_event_ex: 1 个索引
|
||||
- dwd.dwd_goods_stock_movement: 1 个索引
|
||||
- dwd.dwd_goods_stock_summary: 1 个索引
|
||||
- dwd.dwd_groupbuy_redemption: 3 个索引
|
||||
- dwd.dwd_groupbuy_redemption_ex: 1 个索引
|
||||
- dwd.dwd_member_balance_change: 1 个索引
|
||||
- dwd.dwd_member_balance_change_ex: 1 个索引
|
||||
- dwd.dwd_payment: 5 个索引
|
||||
- dwd.dwd_platform_coupon_redemption: 3 个索引
|
||||
- dwd.dwd_platform_coupon_redemption_ex: 1 个索引
|
||||
- dwd.dwd_recharge_order: 5 个索引
|
||||
- dwd.dwd_recharge_order_ex: 1 个索引
|
||||
- dwd.dwd_refund: 5 个索引
|
||||
- dwd.dwd_refund_ex: 1 个索引
|
||||
- dwd.dwd_settlement_head: 5 个索引
|
||||
- dwd.dwd_settlement_head_ex: 1 个索引
|
||||
- dwd.dwd_store_goods_sale: 3 个索引
|
||||
- dwd.dwd_store_goods_sale_ex: 1 个索引
|
||||
- dwd.dwd_table_fee_adjust: 1 个索引
|
||||
- dwd.dwd_table_fee_adjust_ex: 1 个索引
|
||||
- dwd.dwd_table_fee_log: 5 个索引
|
||||
- dwd.dwd_table_fee_log_ex: 1 个索引
|
||||
- dws.cfg_area_category: 3 个索引
|
||||
- dws.cfg_assistant_level_price: 3 个索引
|
||||
- dws.cfg_bonus_rules: 4 个索引
|
||||
- dws.cfg_index_parameters: 4 个索引
|
||||
- dws.cfg_performance_tier: 3 个索引
|
||||
- dws.cfg_skill_type: 3 个索引
|
||||
- dws.dws_assistant_customer_stats: 5 个索引
|
||||
- dws.dws_assistant_daily_detail: 5 个索引
|
||||
- dws.dws_assistant_finance_analysis: 4 个索引
|
||||
- dws.dws_assistant_monthly_summary: 5 个索引
|
||||
- dws.dws_assistant_recharge_commission: 4 个索引
|
||||
- dws.dws_assistant_salary_calc: 4 个索引
|
||||
- dws.dws_finance_daily_summary: 4 个索引
|
||||
- dws.dws_finance_discount_detail: 4 个索引
|
||||
- dws.dws_finance_expense_summary: 5 个索引
|
||||
- dws.dws_finance_income_structure: 4 个索引
|
||||
- dws.dws_finance_recharge_summary: 3 个索引
|
||||
- dws.dws_goods_stock_daily_summary: 4 个索引
|
||||
- dws.dws_goods_stock_monthly_summary: 4 个索引
|
||||
- dws.dws_goods_stock_weekly_summary: 4 个索引
|
||||
- dws.dws_index_percentile_history: 3 个索引
|
||||
- dws.dws_member_assistant_intimacy: 4 个索引
|
||||
- dws.dws_member_assistant_relation_index: 5 个索引
|
||||
- dws.dws_member_consumption_summary: 5 个索引
|
||||
- dws.dws_member_newconv_index: 3 个索引
|
||||
- dws.dws_member_recall_index: 3 个索引
|
||||
- dws.dws_member_visit_detail: 5 个索引
|
||||
- dws.dws_member_winback_index: 3 个索引
|
||||
- dws.dws_ml_manual_order_alloc: 4 个索引
|
||||
- dws.dws_ml_manual_order_source: 4 个索引
|
||||
- dws.dws_order_summary: 4 个索引
|
||||
- dws.dws_platform_settlement: 5 个索引
|
||||
- dws.mv_dws_assistant_daily_detail_l1: 1 个索引
|
||||
- dws.mv_dws_assistant_daily_detail_l2: 1 个索引
|
||||
- dws.mv_dws_assistant_daily_detail_l3: 1 个索引
|
||||
- dws.mv_dws_assistant_daily_detail_l4: 1 个索引
|
||||
- dws.mv_dws_finance_daily_summary_l1: 1 个索引
|
||||
- dws.mv_dws_finance_daily_summary_l2: 1 个索引
|
||||
- dws.mv_dws_finance_daily_summary_l3: 1 个索引
|
||||
- dws.mv_dws_finance_daily_summary_l4: 1 个索引
|
||||
- meta.etl_cursor: 2 个索引
|
||||
- meta.etl_run: 1 个索引
|
||||
- meta.etl_task: 2 个索引
|
||||
- ods.assistant_accounts_master: 3 个索引
|
||||
- ods.assistant_cancellation_records: 3 个索引
|
||||
- ods.assistant_service_records: 3 个索引
|
||||
- ods.goods_stock_movements: 3 个索引
|
||||
- ods.goods_stock_summary: 3 个索引
|
||||
- ods.group_buy_packages: 3 个索引
|
||||
- ods.group_buy_redemption_records: 3 个索引
|
||||
- ods.member_balance_changes: 3 个索引
|
||||
- ods.member_profiles: 3 个索引
|
||||
- ods.member_stored_value_cards: 3 个索引
|
||||
- ods.payment_transactions: 3 个索引
|
||||
- ods.platform_coupon_redemption_records: 3 个索引
|
||||
- ods.recharge_settlements: 3 个索引
|
||||
- ods.refund_transactions: 3 个索引
|
||||
- ods.settlement_records: 3 个索引
|
||||
- ods.site_tables_master: 3 个索引
|
||||
- ods.stock_goods_category_tree: 3 个索引
|
||||
- ods.store_goods_master: 3 个索引
|
||||
- ods.store_goods_sales_records: 3 个索引
|
||||
- ods.table_fee_discount_records: 3 个索引
|
||||
- ods.table_fee_transactions: 3 个索引
|
||||
- ods.tenant_goods_master: 3 个索引
|
||||
@@ -0,0 +1,133 @@
|
||||
# DDL vs 数据库一致性检查报告
|
||||
|
||||
生成时间:2026-02-21 21:26:21
|
||||
数据库:test_etl_feiqiu
|
||||
DDL 文件:ods.sql, dwd.sql, dws.sql, meta.sql
|
||||
|
||||
## 概览
|
||||
|
||||
| 指标 | 数量 |
|
||||
|------|------|
|
||||
| DDL 定义表数 | 99 |
|
||||
| DB 实际表数 | 99 |
|
||||
| 完全匹配 | 99 |
|
||||
| DDL 有但 DB 缺失 | 0 |
|
||||
| DB 有但 DDL 缺失 | 0 |
|
||||
|
||||
## 差异详情(2 项)
|
||||
|
||||
|
||||
### dwd.dim_store_goods_ex
|
||||
类型不匹配:batch_stock_quantity DDL=integer DB=numeric
|
||||
|
||||
## 索引概览
|
||||
|
||||
数据库中共 343 个索引,覆盖 107 张表。
|
||||
|
||||
- dwd.dim_assistant: 4 个索引
|
||||
- dwd.dim_assistant_ex: 6 个索引
|
||||
- dwd.dim_goods_category: 4 个索引
|
||||
- dwd.dim_groupbuy_package: 6 个索引
|
||||
- dwd.dim_groupbuy_package_ex: 4 个索引
|
||||
- dwd.dim_member: 6 个索引
|
||||
- dwd.dim_member_card_account: 4 个索引
|
||||
- dwd.dim_member_card_account_ex: 6 个索引
|
||||
- dwd.dim_member_ex: 4 个索引
|
||||
- dwd.dim_site: 4 个索引
|
||||
- dwd.dim_site_ex: 6 个索引
|
||||
- dwd.dim_store_goods: 4 个索引
|
||||
- dwd.dim_store_goods_ex: 4 个索引
|
||||
- dwd.dim_table: 4 个索引
|
||||
- dwd.dim_table_ex: 4 个索引
|
||||
- dwd.dim_tenant_goods: 6 个索引
|
||||
- dwd.dim_tenant_goods_ex: 4 个索引
|
||||
- dwd.dwd_assistant_service_log: 5 个索引
|
||||
- dwd.dwd_assistant_service_log_ex: 1 个索引
|
||||
- dwd.dwd_assistant_trash_event: 3 个索引
|
||||
- dwd.dwd_assistant_trash_event_ex: 1 个索引
|
||||
- dwd.dwd_goods_stock_movement: 1 个索引
|
||||
- dwd.dwd_goods_stock_summary: 1 个索引
|
||||
- dwd.dwd_groupbuy_redemption: 3 个索引
|
||||
- dwd.dwd_groupbuy_redemption_ex: 1 个索引
|
||||
- dwd.dwd_member_balance_change: 1 个索引
|
||||
- dwd.dwd_member_balance_change_ex: 1 个索引
|
||||
- dwd.dwd_payment: 5 个索引
|
||||
- dwd.dwd_platform_coupon_redemption: 3 个索引
|
||||
- dwd.dwd_platform_coupon_redemption_ex: 1 个索引
|
||||
- dwd.dwd_recharge_order: 5 个索引
|
||||
- dwd.dwd_recharge_order_ex: 1 个索引
|
||||
- dwd.dwd_refund: 5 个索引
|
||||
- dwd.dwd_refund_ex: 1 个索引
|
||||
- dwd.dwd_settlement_head: 5 个索引
|
||||
- dwd.dwd_settlement_head_ex: 1 个索引
|
||||
- dwd.dwd_store_goods_sale: 3 个索引
|
||||
- dwd.dwd_store_goods_sale_ex: 1 个索引
|
||||
- dwd.dwd_table_fee_adjust: 1 个索引
|
||||
- dwd.dwd_table_fee_adjust_ex: 1 个索引
|
||||
- dwd.dwd_table_fee_log: 5 个索引
|
||||
- dwd.dwd_table_fee_log_ex: 1 个索引
|
||||
- dws.cfg_area_category: 3 个索引
|
||||
- dws.cfg_assistant_level_price: 3 个索引
|
||||
- dws.cfg_bonus_rules: 4 个索引
|
||||
- dws.cfg_index_parameters: 4 个索引
|
||||
- dws.cfg_performance_tier: 3 个索引
|
||||
- dws.cfg_skill_type: 3 个索引
|
||||
- dws.dws_assistant_customer_stats: 5 个索引
|
||||
- dws.dws_assistant_daily_detail: 5 个索引
|
||||
- dws.dws_assistant_finance_analysis: 4 个索引
|
||||
- dws.dws_assistant_monthly_summary: 5 个索引
|
||||
- dws.dws_assistant_recharge_commission: 4 个索引
|
||||
- dws.dws_assistant_salary_calc: 4 个索引
|
||||
- dws.dws_finance_daily_summary: 4 个索引
|
||||
- dws.dws_finance_discount_detail: 4 个索引
|
||||
- dws.dws_finance_expense_summary: 5 个索引
|
||||
- dws.dws_finance_income_structure: 4 个索引
|
||||
- dws.dws_finance_recharge_summary: 3 个索引
|
||||
- dws.dws_goods_stock_daily_summary: 4 个索引
|
||||
- dws.dws_goods_stock_monthly_summary: 4 个索引
|
||||
- dws.dws_goods_stock_weekly_summary: 4 个索引
|
||||
- dws.dws_index_percentile_history: 3 个索引
|
||||
- dws.dws_member_assistant_intimacy: 4 个索引
|
||||
- dws.dws_member_assistant_relation_index: 5 个索引
|
||||
- dws.dws_member_consumption_summary: 5 个索引
|
||||
- dws.dws_member_newconv_index: 3 个索引
|
||||
- dws.dws_member_recall_index: 3 个索引
|
||||
- dws.dws_member_visit_detail: 5 个索引
|
||||
- dws.dws_member_winback_index: 3 个索引
|
||||
- dws.dws_ml_manual_order_alloc: 4 个索引
|
||||
- dws.dws_ml_manual_order_source: 4 个索引
|
||||
- dws.dws_order_summary: 4 个索引
|
||||
- dws.dws_platform_settlement: 5 个索引
|
||||
- dws.mv_dws_assistant_daily_detail_l1: 1 个索引
|
||||
- dws.mv_dws_assistant_daily_detail_l2: 1 个索引
|
||||
- dws.mv_dws_assistant_daily_detail_l3: 1 个索引
|
||||
- dws.mv_dws_assistant_daily_detail_l4: 1 个索引
|
||||
- dws.mv_dws_finance_daily_summary_l1: 1 个索引
|
||||
- dws.mv_dws_finance_daily_summary_l2: 1 个索引
|
||||
- dws.mv_dws_finance_daily_summary_l3: 1 个索引
|
||||
- dws.mv_dws_finance_daily_summary_l4: 1 个索引
|
||||
- meta.etl_cursor: 2 个索引
|
||||
- meta.etl_run: 1 个索引
|
||||
- meta.etl_task: 2 个索引
|
||||
- ods.assistant_accounts_master: 3 个索引
|
||||
- ods.assistant_cancellation_records: 3 个索引
|
||||
- ods.assistant_service_records: 3 个索引
|
||||
- ods.goods_stock_movements: 3 个索引
|
||||
- ods.goods_stock_summary: 3 个索引
|
||||
- ods.group_buy_packages: 3 个索引
|
||||
- ods.group_buy_redemption_records: 3 个索引
|
||||
- ods.member_balance_changes: 3 个索引
|
||||
- ods.member_profiles: 3 个索引
|
||||
- ods.member_stored_value_cards: 3 个索引
|
||||
- ods.payment_transactions: 3 个索引
|
||||
- ods.platform_coupon_redemption_records: 3 个索引
|
||||
- ods.recharge_settlements: 3 个索引
|
||||
- ods.refund_transactions: 3 个索引
|
||||
- ods.settlement_records: 3 个索引
|
||||
- ods.site_tables_master: 3 个索引
|
||||
- ods.stock_goods_category_tree: 3 个索引
|
||||
- ods.store_goods_master: 3 个索引
|
||||
- ods.store_goods_sales_records: 3 个索引
|
||||
- ods.table_fee_discount_records: 3 个索引
|
||||
- ods.table_fee_transactions: 3 个索引
|
||||
- ods.tenant_goods_master: 3 个索引
|
||||
@@ -0,0 +1,131 @@
|
||||
# DDL vs 数据库一致性检查报告
|
||||
|
||||
生成时间:2026-02-21 21:27:26
|
||||
数据库:test_etl_feiqiu
|
||||
DDL 文件:ods.sql, dwd.sql, dws.sql, meta.sql
|
||||
|
||||
## 概览
|
||||
|
||||
| 指标 | 数量 |
|
||||
|------|------|
|
||||
| DDL 定义表数 | 99 |
|
||||
| DB 实际表数 | 99 |
|
||||
| 完全匹配 | 99 |
|
||||
| DDL 有但 DB 缺失 | 0 |
|
||||
| DB 有但 DDL 缺失 | 0 |
|
||||
|
||||
## 结果:✅ 完全一致
|
||||
|
||||
所有 DDL 定义与数据库实际 schema 完全匹配,无差异。
|
||||
|
||||
## 索引概览
|
||||
|
||||
数据库中共 343 个索引,覆盖 107 张表。
|
||||
|
||||
- dwd.dim_assistant: 4 个索引
|
||||
- dwd.dim_assistant_ex: 6 个索引
|
||||
- dwd.dim_goods_category: 4 个索引
|
||||
- dwd.dim_groupbuy_package: 6 个索引
|
||||
- dwd.dim_groupbuy_package_ex: 4 个索引
|
||||
- dwd.dim_member: 6 个索引
|
||||
- dwd.dim_member_card_account: 4 个索引
|
||||
- dwd.dim_member_card_account_ex: 6 个索引
|
||||
- dwd.dim_member_ex: 4 个索引
|
||||
- dwd.dim_site: 4 个索引
|
||||
- dwd.dim_site_ex: 6 个索引
|
||||
- dwd.dim_store_goods: 4 个索引
|
||||
- dwd.dim_store_goods_ex: 4 个索引
|
||||
- dwd.dim_table: 4 个索引
|
||||
- dwd.dim_table_ex: 4 个索引
|
||||
- dwd.dim_tenant_goods: 6 个索引
|
||||
- dwd.dim_tenant_goods_ex: 4 个索引
|
||||
- dwd.dwd_assistant_service_log: 5 个索引
|
||||
- dwd.dwd_assistant_service_log_ex: 1 个索引
|
||||
- dwd.dwd_assistant_trash_event: 3 个索引
|
||||
- dwd.dwd_assistant_trash_event_ex: 1 个索引
|
||||
- dwd.dwd_goods_stock_movement: 1 个索引
|
||||
- dwd.dwd_goods_stock_summary: 1 个索引
|
||||
- dwd.dwd_groupbuy_redemption: 3 个索引
|
||||
- dwd.dwd_groupbuy_redemption_ex: 1 个索引
|
||||
- dwd.dwd_member_balance_change: 1 个索引
|
||||
- dwd.dwd_member_balance_change_ex: 1 个索引
|
||||
- dwd.dwd_payment: 5 个索引
|
||||
- dwd.dwd_platform_coupon_redemption: 3 个索引
|
||||
- dwd.dwd_platform_coupon_redemption_ex: 1 个索引
|
||||
- dwd.dwd_recharge_order: 5 个索引
|
||||
- dwd.dwd_recharge_order_ex: 1 个索引
|
||||
- dwd.dwd_refund: 5 个索引
|
||||
- dwd.dwd_refund_ex: 1 个索引
|
||||
- dwd.dwd_settlement_head: 5 个索引
|
||||
- dwd.dwd_settlement_head_ex: 1 个索引
|
||||
- dwd.dwd_store_goods_sale: 3 个索引
|
||||
- dwd.dwd_store_goods_sale_ex: 1 个索引
|
||||
- dwd.dwd_table_fee_adjust: 1 个索引
|
||||
- dwd.dwd_table_fee_adjust_ex: 1 个索引
|
||||
- dwd.dwd_table_fee_log: 5 个索引
|
||||
- dwd.dwd_table_fee_log_ex: 1 个索引
|
||||
- dws.cfg_area_category: 3 个索引
|
||||
- dws.cfg_assistant_level_price: 3 个索引
|
||||
- dws.cfg_bonus_rules: 4 个索引
|
||||
- dws.cfg_index_parameters: 4 个索引
|
||||
- dws.cfg_performance_tier: 3 个索引
|
||||
- dws.cfg_skill_type: 3 个索引
|
||||
- dws.dws_assistant_customer_stats: 5 个索引
|
||||
- dws.dws_assistant_daily_detail: 5 个索引
|
||||
- dws.dws_assistant_finance_analysis: 4 个索引
|
||||
- dws.dws_assistant_monthly_summary: 5 个索引
|
||||
- dws.dws_assistant_recharge_commission: 4 个索引
|
||||
- dws.dws_assistant_salary_calc: 4 个索引
|
||||
- dws.dws_finance_daily_summary: 4 个索引
|
||||
- dws.dws_finance_discount_detail: 4 个索引
|
||||
- dws.dws_finance_expense_summary: 5 个索引
|
||||
- dws.dws_finance_income_structure: 4 个索引
|
||||
- dws.dws_finance_recharge_summary: 3 个索引
|
||||
- dws.dws_goods_stock_daily_summary: 4 个索引
|
||||
- dws.dws_goods_stock_monthly_summary: 4 个索引
|
||||
- dws.dws_goods_stock_weekly_summary: 4 个索引
|
||||
- dws.dws_index_percentile_history: 3 个索引
|
||||
- dws.dws_member_assistant_intimacy: 4 个索引
|
||||
- dws.dws_member_assistant_relation_index: 5 个索引
|
||||
- dws.dws_member_consumption_summary: 5 个索引
|
||||
- dws.dws_member_newconv_index: 3 个索引
|
||||
- dws.dws_member_recall_index: 3 个索引
|
||||
- dws.dws_member_visit_detail: 5 个索引
|
||||
- dws.dws_member_winback_index: 3 个索引
|
||||
- dws.dws_ml_manual_order_alloc: 4 个索引
|
||||
- dws.dws_ml_manual_order_source: 4 个索引
|
||||
- dws.dws_order_summary: 4 个索引
|
||||
- dws.dws_platform_settlement: 5 个索引
|
||||
- dws.mv_dws_assistant_daily_detail_l1: 1 个索引
|
||||
- dws.mv_dws_assistant_daily_detail_l2: 1 个索引
|
||||
- dws.mv_dws_assistant_daily_detail_l3: 1 个索引
|
||||
- dws.mv_dws_assistant_daily_detail_l4: 1 个索引
|
||||
- dws.mv_dws_finance_daily_summary_l1: 1 个索引
|
||||
- dws.mv_dws_finance_daily_summary_l2: 1 个索引
|
||||
- dws.mv_dws_finance_daily_summary_l3: 1 个索引
|
||||
- dws.mv_dws_finance_daily_summary_l4: 1 个索引
|
||||
- meta.etl_cursor: 2 个索引
|
||||
- meta.etl_run: 1 个索引
|
||||
- meta.etl_task: 2 个索引
|
||||
- ods.assistant_accounts_master: 3 个索引
|
||||
- ods.assistant_cancellation_records: 3 个索引
|
||||
- ods.assistant_service_records: 3 个索引
|
||||
- ods.goods_stock_movements: 3 个索引
|
||||
- ods.goods_stock_summary: 3 个索引
|
||||
- ods.group_buy_packages: 3 个索引
|
||||
- ods.group_buy_redemption_records: 3 个索引
|
||||
- ods.member_balance_changes: 3 个索引
|
||||
- ods.member_profiles: 3 个索引
|
||||
- ods.member_stored_value_cards: 3 个索引
|
||||
- ods.payment_transactions: 3 个索引
|
||||
- ods.platform_coupon_redemption_records: 3 个索引
|
||||
- ods.recharge_settlements: 3 个索引
|
||||
- ods.refund_transactions: 3 个索引
|
||||
- ods.settlement_records: 3 个索引
|
||||
- ods.site_tables_master: 3 个索引
|
||||
- ods.stock_goods_category_tree: 3 个索引
|
||||
- ods.store_goods_master: 3 个索引
|
||||
- ods.store_goods_sales_records: 3 个索引
|
||||
- ods.table_fee_discount_records: 3 个索引
|
||||
- ods.table_fee_transactions: 3 个索引
|
||||
- ods.tenant_goods_master: 3 个索引
|
||||
783
export/ETL-Connectors/feiqiu/REPORTS/dwd_quality_report.json
Normal file
783
export/ETL-Connectors/feiqiu/REPORTS/dwd_quality_report.json
Normal file
@@ -0,0 +1,783 @@
|
||||
{
|
||||
"generated_at": "2026-02-18T13:54:42.674118",
|
||||
"tables": [
|
||||
{
|
||||
"dwd_table": "dwd.dim_site",
|
||||
"ods_table": "ods.table_fee_transactions",
|
||||
"count": {
|
||||
"dwd": 54,
|
||||
"ods": 38585,
|
||||
"diff": -38531
|
||||
},
|
||||
"amounts": []
|
||||
},
|
||||
{
|
||||
"dwd_table": "dwd.dim_site_ex",
|
||||
"ods_table": "ods.table_fee_transactions",
|
||||
"count": {
|
||||
"dwd": 54,
|
||||
"ods": 38585,
|
||||
"diff": -38531
|
||||
},
|
||||
"amounts": []
|
||||
},
|
||||
{
|
||||
"dwd_table": "dwd.dim_table",
|
||||
"ods_table": "ods.site_tables_master",
|
||||
"count": {
|
||||
"dwd": 2881,
|
||||
"ods": 1074,
|
||||
"diff": 1807
|
||||
},
|
||||
"amounts": []
|
||||
},
|
||||
{
|
||||
"dwd_table": "dwd.dim_table_ex",
|
||||
"ods_table": "ods.site_tables_master",
|
||||
"count": {
|
||||
"dwd": 3035,
|
||||
"ods": 1074,
|
||||
"diff": 1961
|
||||
},
|
||||
"amounts": []
|
||||
},
|
||||
{
|
||||
"dwd_table": "dwd.dim_assistant",
|
||||
"ods_table": "ods.assistant_accounts_master",
|
||||
"count": {
|
||||
"dwd": 1266,
|
||||
"ods": 295,
|
||||
"diff": 971
|
||||
},
|
||||
"amounts": []
|
||||
},
|
||||
{
|
||||
"dwd_table": "dwd.dim_assistant_ex",
|
||||
"ods_table": "ods.assistant_accounts_master",
|
||||
"count": {
|
||||
"dwd": 1251,
|
||||
"ods": 295,
|
||||
"diff": 956
|
||||
},
|
||||
"amounts": []
|
||||
},
|
||||
{
|
||||
"dwd_table": "dwd.dim_member",
|
||||
"ods_table": "ods.member_profiles",
|
||||
"count": {
|
||||
"dwd": 10801,
|
||||
"ods": 1771,
|
||||
"diff": 9030
|
||||
},
|
||||
"amounts": [
|
||||
{
|
||||
"column": "pay_money_sum",
|
||||
"dwd_sum": -44578911.7,
|
||||
"ods_sum": -12031004.21,
|
||||
"diff": -32547907.490000002
|
||||
},
|
||||
{
|
||||
"column": "recharge_money_sum",
|
||||
"dwd_sum": 51067011.97,
|
||||
"ods_sum": 13293169.41,
|
||||
"diff": 37773842.56
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"dwd_table": "dwd.dim_member_ex",
|
||||
"ods_table": "ods.member_profiles",
|
||||
"count": {
|
||||
"dwd": 10770,
|
||||
"ods": 1771,
|
||||
"diff": 8999
|
||||
},
|
||||
"amounts": []
|
||||
},
|
||||
{
|
||||
"dwd_table": "dwd.dim_member_card_account",
|
||||
"ods_table": "ods.member_stored_value_cards",
|
||||
"count": {
|
||||
"dwd": 18370,
|
||||
"ods": 2973,
|
||||
"diff": 15397
|
||||
},
|
||||
"amounts": [
|
||||
{
|
||||
"column": "balance",
|
||||
"dwd_sum": 7834178.2,
|
||||
"ods_sum": 1369125.58,
|
||||
"diff": 6465052.62
|
||||
},
|
||||
{
|
||||
"column": "principal_balance",
|
||||
"dwd_sum": 4659292.04,
|
||||
"ods_sum": 921317.68,
|
||||
"diff": 3737974.36
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"dwd_table": "dwd.dim_member_card_account_ex",
|
||||
"ods_table": "ods.member_stored_value_cards",
|
||||
"count": {
|
||||
"dwd": 18172,
|
||||
"ods": 2973,
|
||||
"diff": 15199
|
||||
},
|
||||
"amounts": [
|
||||
{
|
||||
"column": "deliveryfeededuct",
|
||||
"dwd_sum": 0.0,
|
||||
"ods_sum": 0.0,
|
||||
"diff": 0.0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"dwd_table": "dwd.dim_tenant_goods",
|
||||
"ods_table": "ods.tenant_goods_master",
|
||||
"count": {
|
||||
"dwd": 2018,
|
||||
"ods": 353,
|
||||
"diff": 1665
|
||||
},
|
||||
"amounts": []
|
||||
},
|
||||
{
|
||||
"dwd_table": "dwd.dim_tenant_goods_ex",
|
||||
"ods_table": "ods.tenant_goods_master",
|
||||
"count": {
|
||||
"dwd": 2016,
|
||||
"ods": 353,
|
||||
"diff": 1663
|
||||
},
|
||||
"amounts": []
|
||||
},
|
||||
{
|
||||
"dwd_table": "dwd.dim_store_goods",
|
||||
"ods_table": "ods.store_goods_master",
|
||||
"count": {
|
||||
"dwd": 5444,
|
||||
"ods": 1744,
|
||||
"diff": 3700
|
||||
},
|
||||
"amounts": []
|
||||
},
|
||||
{
|
||||
"dwd_table": "dwd.dim_store_goods_ex",
|
||||
"ods_table": "ods.store_goods_master",
|
||||
"count": {
|
||||
"dwd": 5402,
|
||||
"ods": 1744,
|
||||
"diff": 3658
|
||||
},
|
||||
"amounts": []
|
||||
},
|
||||
{
|
||||
"dwd_table": "dwd.dim_goods_category",
|
||||
"ods_table": "ods.stock_goods_category_tree",
|
||||
"count": {
|
||||
"dwd": 125,
|
||||
"ods": 18,
|
||||
"diff": 107
|
||||
},
|
||||
"amounts": []
|
||||
},
|
||||
{
|
||||
"dwd_table": "dwd.dim_groupbuy_package",
|
||||
"ods_table": "ods.group_buy_packages",
|
||||
"count": {
|
||||
"dwd": 373,
|
||||
"ods": 70,
|
||||
"diff": 303
|
||||
},
|
||||
"amounts": []
|
||||
},
|
||||
{
|
||||
"dwd_table": "dwd.dim_groupbuy_package_ex",
|
||||
"ods_table": "ods.group_buy_packages",
|
||||
"count": {
|
||||
"dwd": 373,
|
||||
"ods": 70,
|
||||
"diff": 303
|
||||
},
|
||||
"amounts": []
|
||||
},
|
||||
{
|
||||
"dwd_table": "dwd.dwd_settlement_head",
|
||||
"ods_table": "ods.settlement_records",
|
||||
"count": {
|
||||
"dwd": 26115,
|
||||
"ods": 55457,
|
||||
"diff": -29342
|
||||
},
|
||||
"amounts": []
|
||||
},
|
||||
{
|
||||
"dwd_table": "dwd.dwd_settlement_head_ex",
|
||||
"ods_table": "ods.settlement_records",
|
||||
"count": {
|
||||
"dwd": 26115,
|
||||
"ods": 55457,
|
||||
"diff": -29342
|
||||
},
|
||||
"amounts": []
|
||||
},
|
||||
{
|
||||
"dwd_table": "dwd.dwd_table_fee_log",
|
||||
"ods_table": "ods.table_fee_transactions",
|
||||
"count": {
|
||||
"dwd": 20132,
|
||||
"ods": 38585,
|
||||
"diff": -18453
|
||||
},
|
||||
"amounts": [
|
||||
{
|
||||
"column": "activity_discount_amount",
|
||||
"dwd_sum": 0.0,
|
||||
"ods_sum": 0.0,
|
||||
"diff": 0.0
|
||||
},
|
||||
{
|
||||
"column": "adjust_amount",
|
||||
"dwd_sum": 360935.76,
|
||||
"ods_sum": 748219.39,
|
||||
"diff": -387283.63
|
||||
},
|
||||
{
|
||||
"column": "coupon_promotion_amount",
|
||||
"dwd_sum": 1043924.79,
|
||||
"ods_sum": 1960731.94,
|
||||
"diff": -916807.1499999999
|
||||
},
|
||||
{
|
||||
"column": "ledger_amount",
|
||||
"dwd_sum": 2329813.19,
|
||||
"ods_sum": 4552084.15,
|
||||
"diff": -2222270.9600000004
|
||||
},
|
||||
{
|
||||
"column": "member_discount_amount",
|
||||
"dwd_sum": 200164.42,
|
||||
"ods_sum": 363032.98,
|
||||
"diff": -162868.55999999997
|
||||
},
|
||||
{
|
||||
"column": "real_service_money",
|
||||
"dwd_sum": 0.0,
|
||||
"ods_sum": 0.0,
|
||||
"diff": 0.0
|
||||
},
|
||||
{
|
||||
"column": "real_table_charge_money",
|
||||
"dwd_sum": 831450.6,
|
||||
"ods_sum": 1676836.7,
|
||||
"diff": -845386.1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"dwd_table": "dwd.dwd_table_fee_log_ex",
|
||||
"ods_table": "ods.table_fee_transactions",
|
||||
"count": {
|
||||
"dwd": 20132,
|
||||
"ods": 38585,
|
||||
"diff": -18453
|
||||
},
|
||||
"amounts": [
|
||||
{
|
||||
"column": "fee_total",
|
||||
"dwd_sum": 0.0,
|
||||
"ods_sum": 0.0,
|
||||
"diff": 0.0
|
||||
},
|
||||
{
|
||||
"column": "mgmt_fee",
|
||||
"dwd_sum": 0.0,
|
||||
"ods_sum": 0.0,
|
||||
"diff": 0.0
|
||||
},
|
||||
{
|
||||
"column": "service_money",
|
||||
"dwd_sum": 0.0,
|
||||
"ods_sum": 0.0,
|
||||
"diff": 0.0
|
||||
},
|
||||
{
|
||||
"column": "used_card_amount",
|
||||
"dwd_sum": 0.0,
|
||||
"ods_sum": 0.0,
|
||||
"diff": 0.0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"dwd_table": "dwd.dwd_table_fee_adjust",
|
||||
"ods_table": "ods.table_fee_discount_records",
|
||||
"count": {
|
||||
"dwd": 3124,
|
||||
"ods": 4818,
|
||||
"diff": -1694
|
||||
},
|
||||
"amounts": [
|
||||
{
|
||||
"column": "ledger_amount",
|
||||
"dwd_sum": 370340.42,
|
||||
"ods_sum": 580703.61,
|
||||
"diff": -210363.19
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"dwd_table": "dwd.dwd_table_fee_adjust_ex",
|
||||
"ods_table": "ods.table_fee_discount_records",
|
||||
"count": {
|
||||
"dwd": 3124,
|
||||
"ods": 4818,
|
||||
"diff": -1694
|
||||
},
|
||||
"amounts": []
|
||||
},
|
||||
{
|
||||
"dwd_table": "dwd.dwd_store_goods_sale",
|
||||
"ods_table": "ods.store_goods_sales_records",
|
||||
"count": {
|
||||
"dwd": 17563,
|
||||
"ods": 17563,
|
||||
"diff": 0
|
||||
},
|
||||
"amounts": [
|
||||
{
|
||||
"column": "cost_money",
|
||||
"dwd_sum": 3116.75,
|
||||
"ods_sum": 3116.75,
|
||||
"diff": 0.0
|
||||
},
|
||||
{
|
||||
"column": "coupon_share_money",
|
||||
"dwd_sum": 0.0,
|
||||
"ods_sum": 0.0,
|
||||
"diff": 0.0
|
||||
},
|
||||
{
|
||||
"column": "ledger_amount",
|
||||
"dwd_sum": 373588.1,
|
||||
"ods_sum": 373588.1,
|
||||
"diff": 0.0
|
||||
},
|
||||
{
|
||||
"column": "real_goods_money",
|
||||
"dwd_sum": 351914.9,
|
||||
"ods_sum": 351914.9,
|
||||
"diff": 0.0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"dwd_table": "dwd.dwd_store_goods_sale_ex",
|
||||
"ods_table": "ods.store_goods_sales_records",
|
||||
"count": {
|
||||
"dwd": 17563,
|
||||
"ods": 17563,
|
||||
"diff": 0
|
||||
},
|
||||
"amounts": [
|
||||
{
|
||||
"column": "coupon_deduct_money",
|
||||
"dwd_sum": 0.0,
|
||||
"ods_sum": 0.0,
|
||||
"diff": 0.0
|
||||
},
|
||||
{
|
||||
"column": "discount_money",
|
||||
"dwd_sum": 21673.2,
|
||||
"ods_sum": 21673.2,
|
||||
"diff": 0.0
|
||||
},
|
||||
{
|
||||
"column": "member_discount_amount",
|
||||
"dwd_sum": 0.0,
|
||||
"ods_sum": 0.0,
|
||||
"diff": 0.0
|
||||
},
|
||||
{
|
||||
"column": "option_coupon_deduct_money",
|
||||
"dwd_sum": 0.0,
|
||||
"ods_sum": 0.0,
|
||||
"diff": 0.0
|
||||
},
|
||||
{
|
||||
"column": "option_member_discount_money",
|
||||
"dwd_sum": 0.0,
|
||||
"ods_sum": 0.0,
|
||||
"diff": 0.0
|
||||
},
|
||||
{
|
||||
"column": "point_discount_money",
|
||||
"dwd_sum": 0.0,
|
||||
"ods_sum": 0.0,
|
||||
"diff": 0.0
|
||||
},
|
||||
{
|
||||
"column": "point_discount_money_cost",
|
||||
"dwd_sum": 0.0,
|
||||
"ods_sum": 0.0,
|
||||
"diff": 0.0
|
||||
},
|
||||
{
|
||||
"column": "push_money",
|
||||
"dwd_sum": 0.0,
|
||||
"ods_sum": 0.0,
|
||||
"diff": 0.0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"dwd_table": "dwd.dwd_assistant_service_log",
|
||||
"ods_table": "ods.assistant_service_records",
|
||||
"count": {
|
||||
"dwd": 5281,
|
||||
"ods": 10219,
|
||||
"diff": -4938
|
||||
},
|
||||
"amounts": [
|
||||
{
|
||||
"column": "coupon_deduct_money",
|
||||
"dwd_sum": 11071.07,
|
||||
"ods_sum": 21950.93,
|
||||
"diff": -10879.86
|
||||
},
|
||||
{
|
||||
"column": "ledger_amount",
|
||||
"dwd_sum": 1653011.03,
|
||||
"ods_sum": 3196243.99,
|
||||
"diff": -1543232.9600000002
|
||||
},
|
||||
{
|
||||
"column": "real_service_money",
|
||||
"dwd_sum": 0.0,
|
||||
"ods_sum": 0.0,
|
||||
"diff": 0.0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"dwd_table": "dwd.dwd_assistant_service_log_ex",
|
||||
"ods_table": "ods.assistant_service_records",
|
||||
"count": {
|
||||
"dwd": 5281,
|
||||
"ods": 10219,
|
||||
"diff": -4938
|
||||
},
|
||||
"amounts": [
|
||||
{
|
||||
"column": "manual_discount_amount",
|
||||
"dwd_sum": 414.17,
|
||||
"ods_sum": 828.34,
|
||||
"diff": -414.17
|
||||
},
|
||||
{
|
||||
"column": "member_discount_amount",
|
||||
"dwd_sum": 0.0,
|
||||
"ods_sum": 0.0,
|
||||
"diff": 0.0
|
||||
},
|
||||
{
|
||||
"column": "service_money",
|
||||
"dwd_sum": 0.0,
|
||||
"ods_sum": 0.0,
|
||||
"diff": 0.0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"dwd_table": "dwd.dwd_assistant_trash_event",
|
||||
"ods_table": "ods.assistant_cancellation_records",
|
||||
"count": {
|
||||
"dwd": 100,
|
||||
"ods": 100,
|
||||
"diff": 0
|
||||
},
|
||||
"amounts": []
|
||||
},
|
||||
{
|
||||
"dwd_table": "dwd.dwd_assistant_trash_event_ex",
|
||||
"ods_table": "ods.assistant_cancellation_records",
|
||||
"count": {
|
||||
"dwd": 100,
|
||||
"ods": 100,
|
||||
"diff": 0
|
||||
},
|
||||
"amounts": []
|
||||
},
|
||||
{
|
||||
"dwd_table": "dwd.dwd_member_balance_change",
|
||||
"ods_table": "ods.member_balance_changes",
|
||||
"count": {
|
||||
"dwd": 5081,
|
||||
"ods": 9684,
|
||||
"diff": -4603
|
||||
},
|
||||
"amounts": []
|
||||
},
|
||||
{
|
||||
"dwd_table": "dwd.dwd_member_balance_change_ex",
|
||||
"ods_table": "ods.member_balance_changes",
|
||||
"count": {
|
||||
"dwd": 5081,
|
||||
"ods": 9684,
|
||||
"diff": -4603
|
||||
},
|
||||
"amounts": [
|
||||
{
|
||||
"column": "refund_amount",
|
||||
"dwd_sum": 0.0,
|
||||
"ods_sum": 0.0,
|
||||
"diff": 0.0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"dwd_table": "dwd.dwd_groupbuy_redemption",
|
||||
"ods_table": "ods.group_buy_redemption_records",
|
||||
"count": {
|
||||
"dwd": 12768,
|
||||
"ods": 27284,
|
||||
"diff": -14516
|
||||
},
|
||||
"amounts": [
|
||||
{
|
||||
"column": "coupon_money",
|
||||
"dwd_sum": 822390.0,
|
||||
"ods_sum": 1748666.0,
|
||||
"diff": -926276.0
|
||||
},
|
||||
{
|
||||
"column": "ledger_amount",
|
||||
"dwd_sum": 788754.37,
|
||||
"ods_sum": 1675417.16,
|
||||
"diff": -886662.7899999999
|
||||
},
|
||||
{
|
||||
"column": "member_discount_money",
|
||||
"dwd_sum": 0.0,
|
||||
"ods_sum": 0.0,
|
||||
"diff": 0.0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"dwd_table": "dwd.dwd_groupbuy_redemption_ex",
|
||||
"ods_table": "ods.group_buy_redemption_records",
|
||||
"count": {
|
||||
"dwd": 12768,
|
||||
"ods": 27284,
|
||||
"diff": -14516
|
||||
},
|
||||
"amounts": [
|
||||
{
|
||||
"column": "assistant_promotion_money",
|
||||
"dwd_sum": 7544.8,
|
||||
"ods_sum": 16557.98,
|
||||
"diff": -9013.18
|
||||
},
|
||||
{
|
||||
"column": "assistant_service_promotion_money",
|
||||
"dwd_sum": 0.0,
|
||||
"ods_sum": 0.0,
|
||||
"diff": 0.0
|
||||
},
|
||||
{
|
||||
"column": "assistant_service_share_money",
|
||||
"dwd_sum": 0.0,
|
||||
"ods_sum": 0.0,
|
||||
"diff": 0.0
|
||||
},
|
||||
{
|
||||
"column": "assistant_share_money",
|
||||
"dwd_sum": 2285.57,
|
||||
"ods_sum": 6697.18,
|
||||
"diff": -4411.610000000001
|
||||
},
|
||||
{
|
||||
"column": "good_service_share_money",
|
||||
"dwd_sum": 0.0,
|
||||
"ods_sum": 0.0,
|
||||
"diff": 0.0
|
||||
},
|
||||
{
|
||||
"column": "goods_promotion_money",
|
||||
"dwd_sum": 0.0,
|
||||
"ods_sum": 0.0,
|
||||
"diff": 0.0
|
||||
},
|
||||
{
|
||||
"column": "goods_share_money",
|
||||
"dwd_sum": 0.0,
|
||||
"ods_sum": 0.0,
|
||||
"diff": 0.0
|
||||
},
|
||||
{
|
||||
"column": "recharge_promotion_money",
|
||||
"dwd_sum": 0.0,
|
||||
"ods_sum": 0.0,
|
||||
"diff": 0.0
|
||||
},
|
||||
{
|
||||
"column": "recharge_share_money",
|
||||
"dwd_sum": 0.0,
|
||||
"ods_sum": 0.0,
|
||||
"diff": 0.0
|
||||
},
|
||||
{
|
||||
"column": "reward_promotion_money",
|
||||
"dwd_sum": 0.0,
|
||||
"ods_sum": 0.0,
|
||||
"diff": 0.0
|
||||
},
|
||||
{
|
||||
"column": "table_service_promotion_money",
|
||||
"dwd_sum": 0.0,
|
||||
"ods_sum": 0.0,
|
||||
"diff": 0.0
|
||||
},
|
||||
{
|
||||
"column": "table_service_share_money",
|
||||
"dwd_sum": 0.0,
|
||||
"ods_sum": 0.0,
|
||||
"diff": 0.0
|
||||
},
|
||||
{
|
||||
"column": "table_share_money",
|
||||
"dwd_sum": 382004.98,
|
||||
"ods_sum": 846145.6,
|
||||
"diff": -464140.62
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"dwd_table": "dwd.dwd_platform_coupon_redemption",
|
||||
"ods_table": "ods.platform_coupon_redemption_records",
|
||||
"count": {
|
||||
"dwd": 18311,
|
||||
"ods": 36678,
|
||||
"diff": -18367
|
||||
},
|
||||
"amounts": [
|
||||
{
|
||||
"column": "coupon_money",
|
||||
"dwd_sum": 1193916.0,
|
||||
"ods_sum": 2391858.0,
|
||||
"diff": -1197942.0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"dwd_table": "dwd.dwd_platform_coupon_redemption_ex",
|
||||
"ods_table": "ods.platform_coupon_redemption_records",
|
||||
"count": {
|
||||
"dwd": 18311,
|
||||
"ods": 36678,
|
||||
"diff": -18367
|
||||
},
|
||||
"amounts": []
|
||||
},
|
||||
{
|
||||
"dwd_table": "dwd.dwd_recharge_order",
|
||||
"ods_table": "ods.recharge_settlements",
|
||||
"count": {
|
||||
"dwd": 485,
|
||||
"ods": 3333,
|
||||
"diff": -2848
|
||||
},
|
||||
"amounts": []
|
||||
},
|
||||
{
|
||||
"dwd_table": "dwd.dwd_recharge_order_ex",
|
||||
"ods_table": "ods.recharge_settlements",
|
||||
"count": {
|
||||
"dwd": 485,
|
||||
"ods": 3333,
|
||||
"diff": -2848
|
||||
},
|
||||
"amounts": []
|
||||
},
|
||||
{
|
||||
"dwd_table": "dwd.dwd_payment",
|
||||
"ods_table": "ods.payment_transactions",
|
||||
"count": {
|
||||
"dwd": 24922,
|
||||
"ods": 36006,
|
||||
"diff": -11084
|
||||
},
|
||||
"amounts": [
|
||||
{
|
||||
"column": "pay_amount",
|
||||
"dwd_sum": 2424522.0,
|
||||
"ods_sum": 3652765.0,
|
||||
"diff": -1228243.0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"dwd_table": "dwd.dwd_refund",
|
||||
"ods_table": "ods.refund_transactions",
|
||||
"count": {
|
||||
"dwd": 51,
|
||||
"ods": 83,
|
||||
"diff": -32
|
||||
},
|
||||
"amounts": [
|
||||
{
|
||||
"column": "channel_fee",
|
||||
"dwd_sum": 0.0,
|
||||
"ods_sum": 0.0,
|
||||
"diff": 0.0
|
||||
},
|
||||
{
|
||||
"column": "pay_amount",
|
||||
"dwd_sum": -79176.5,
|
||||
"ods_sum": -94892.0,
|
||||
"diff": 15715.5
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"dwd_table": "dwd.dwd_refund_ex",
|
||||
"ods_table": "ods.refund_transactions",
|
||||
"count": {
|
||||
"dwd": 51,
|
||||
"ods": 83,
|
||||
"diff": -32
|
||||
},
|
||||
"amounts": [
|
||||
{
|
||||
"column": "balance_frozen_amount",
|
||||
"dwd_sum": 0.0,
|
||||
"ods_sum": 0.0,
|
||||
"diff": 0.0
|
||||
},
|
||||
{
|
||||
"column": "card_frozen_amount",
|
||||
"dwd_sum": 0.0,
|
||||
"ods_sum": 0.0,
|
||||
"diff": 0.0
|
||||
},
|
||||
{
|
||||
"column": "refund_amount",
|
||||
"dwd_sum": 0.0,
|
||||
"ods_sum": 0.0,
|
||||
"diff": 0.0
|
||||
},
|
||||
{
|
||||
"column": "round_amount",
|
||||
"dwd_sum": 0.0,
|
||||
"ods_sum": 0.0,
|
||||
"diff": 0.0
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"note": "行数/金额核对,金额字段基于列名包含 amount/money/fee/balance 的数值列自动扫描。"
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
# ETL 执行计时报告
|
||||
|
||||
- 开始时间: 2026-02-20 07:21:33.075
|
||||
- 结束时间: 2026-02-20 07:21:33.306
|
||||
- 总耗时: 230.9ms
|
||||
- 步骤数: 5
|
||||
|
||||
## 步骤汇总
|
||||
|
||||
| # | 步骤名称 | 开始时间 | 结束时间 | 耗时 |
|
||||
|---|---------|---------|---------|------|
|
||||
| 1 | ODS_ASSISTANT_ACCOUNT | 07:21:33.075 | 07:21:33.131 | 55.5ms |
|
||||
| 2 | ODS_MEMBER | 07:21:33.131 | 07:21:33.165 | 34.2ms |
|
||||
| 3 | DWD_LOAD_FROM_ODS | 07:21:33.165 | 07:21:33.246 | 80.4ms |
|
||||
| 4 | DWS_COACH_PERFORMANCE | 07:21:33.246 | 07:21:33.286 | 40.4ms |
|
||||
| 5 | CONSISTENCY_CHECK | 07:21:33.286 | 07:21:33.306 | 20.2ms |
|
||||
@@ -0,0 +1,16 @@
|
||||
# ETL 执行计时报告
|
||||
|
||||
- 开始时间: 2026-02-20 07:21:52.613
|
||||
- 结束时间: 2026-02-20 07:21:52.839
|
||||
- 总耗时: 225.8ms
|
||||
- 步骤数: 5
|
||||
|
||||
## 步骤汇总
|
||||
|
||||
| # | 步骤名称 | 开始时间 | 结束时间 | 耗时 |
|
||||
|---|---------|---------|---------|------|
|
||||
| 1 | ODS_ASSISTANT_ACCOUNT | 07:21:52.613 | 07:21:52.664 | 51.0ms |
|
||||
| 2 | ODS_MEMBER | 07:21:52.664 | 07:21:52.696 | 31.7ms |
|
||||
| 3 | DWD_LOAD_FROM_ODS | 07:21:52.696 | 07:21:52.777 | 81.1ms |
|
||||
| 4 | DWS_COACH_PERFORMANCE | 07:21:52.777 | 07:21:52.817 | 40.4ms |
|
||||
| 5 | CONSISTENCY_CHECK | 07:21:52.817 | 07:21:52.839 | 21.4ms |
|
||||
@@ -0,0 +1,13 @@
|
||||
# ETL 执行计时报告
|
||||
|
||||
- 开始时间: 2026-02-20 07:35:49.460
|
||||
- 结束时间: 2026-02-20 07:36:10.244
|
||||
- 总耗时: 20.78s
|
||||
- 步骤数: 2
|
||||
|
||||
## 步骤汇总
|
||||
|
||||
| # | 步骤名称 | 开始时间 | 结束时间 | 耗时 |
|
||||
|---|---------|---------|---------|------|
|
||||
| 1 | INCREMENT_ETL | 07:35:49.460 | 07:35:49.896 | 436.1ms |
|
||||
| 2 | CONSISTENCY_CHECK | 07:35:49.899 | 07:36:10.244 | 20.35s |
|
||||
@@ -0,0 +1,13 @@
|
||||
# ETL 执行计时报告
|
||||
|
||||
- 开始时间: 2026-02-20 07:48:41.194
|
||||
- 结束时间: 2026-02-20 09:14:14.761
|
||||
- 总耗时: 1h25m
|
||||
- 步骤数: 2
|
||||
|
||||
## 步骤汇总
|
||||
|
||||
| # | 步骤名称 | 开始时间 | 结束时间 | 耗时 |
|
||||
|---|---------|---------|---------|------|
|
||||
| 1 | FETCH_BEFORE_VERIFY | 07:48:41.194 | 09:13:42.279 | 1h25m |
|
||||
| 2 | CONSISTENCY_CHECK | 09:13:56.727 | 09:14:14.761 | 18.03s |
|
||||
@@ -0,0 +1,13 @@
|
||||
# ETL 执行计时报告
|
||||
|
||||
- 开始时间: 2026-02-21 15:29:21.753
|
||||
- 结束时间: 2026-02-21 15:39:10.470
|
||||
- 总耗时: 9m48.7s
|
||||
- 步骤数: 2
|
||||
|
||||
## 步骤汇总
|
||||
|
||||
| # | 步骤名称 | 开始时间 | 结束时间 | 耗时 |
|
||||
|---|---------|---------|---------|------|
|
||||
| 1 | INCREMENT_ETL | 15:29:21.754 | 15:39:08.328 | 9m46.6s |
|
||||
| 2 | CONSISTENCY_CHECK | 15:39:08.330 | 15:39:10.470 | 2.14s |
|
||||
@@ -0,0 +1,13 @@
|
||||
# ETL 执行计时报告
|
||||
|
||||
- 开始时间: 2026-02-21 19:27:49.606
|
||||
- 结束时间: 2026-02-21 19:30:18.170
|
||||
- 总耗时: 2m28.6s
|
||||
- 步骤数: 2
|
||||
|
||||
## 步骤汇总
|
||||
|
||||
| # | 步骤名称 | 开始时间 | 结束时间 | 耗时 |
|
||||
|---|---------|---------|---------|------|
|
||||
| 1 | INCREMENT_ETL | 19:27:49.606 | 19:30:15.874 | 2m26.3s |
|
||||
| 2 | CONSISTENCY_CHECK | 19:30:15.876 | 19:30:18.170 | 2.29s |
|
||||
@@ -0,0 +1,13 @@
|
||||
# ETL 执行计时报告
|
||||
|
||||
- 开始时间: 2026-02-21 19:41:02.997
|
||||
- 结束时间: 2026-02-21 19:52:22.423
|
||||
- 总耗时: 11m19.4s
|
||||
- 步骤数: 2
|
||||
|
||||
## 步骤汇总
|
||||
|
||||
| # | 步骤名称 | 开始时间 | 结束时间 | 耗时 |
|
||||
|---|---------|---------|---------|------|
|
||||
| 1 | INCREMENT_ETL | 19:41:02.997 | 19:52:20.126 | 11m17.1s |
|
||||
| 2 | CONSISTENCY_CHECK | 19:52:20.129 | 19:52:22.423 | 2.29s |
|
||||
@@ -0,0 +1,13 @@
|
||||
# ETL 执行计时报告
|
||||
|
||||
- 开始时间: 2026-02-21 19:57:02.636
|
||||
- 结束时间: 2026-02-21 20:08:57.619
|
||||
- 总耗时: 11m55.0s
|
||||
- 步骤数: 2
|
||||
|
||||
## 步骤汇总
|
||||
|
||||
| # | 步骤名称 | 开始时间 | 结束时间 | 耗时 |
|
||||
|---|---------|---------|---------|------|
|
||||
| 1 | INCREMENT_ETL | 19:57:02.636 | 20:08:55.481 | 11m52.8s |
|
||||
| 2 | CONSISTENCY_CHECK | 20:08:55.483 | 20:08:57.619 | 2.14s |
|
||||
@@ -0,0 +1,13 @@
|
||||
# ETL 执行计时报告
|
||||
|
||||
- 开始时间: 2026-02-21 20:19:52.765
|
||||
- 结束时间: 2026-02-21 20:31:29.279
|
||||
- 总耗时: 11m36.5s
|
||||
- 步骤数: 2
|
||||
|
||||
## 步骤汇总
|
||||
|
||||
| # | 步骤名称 | 开始时间 | 结束时间 | 耗时 |
|
||||
|---|---------|---------|---------|------|
|
||||
| 1 | INCREMENT_ETL | 20:19:52.765 | 20:31:27.045 | 11m34.3s |
|
||||
| 2 | CONSISTENCY_CHECK | 20:31:27.049 | 20:31:29.279 | 2.23s |
|
||||
@@ -0,0 +1,13 @@
|
||||
# ETL 执行计时报告
|
||||
|
||||
- 开始时间: 2026-02-21 20:45:18.898
|
||||
- 结束时间: 2026-02-21 21:14:45.329
|
||||
- 总耗时: 29m26.4s
|
||||
- 步骤数: 2
|
||||
|
||||
## 步骤汇总
|
||||
|
||||
| # | 步骤名称 | 开始时间 | 结束时间 | 耗时 |
|
||||
|---|---------|---------|---------|------|
|
||||
| 1 | INCREMENT_ETL | 20:45:18.898 | 21:14:42.448 | 29m23.6s |
|
||||
| 2 | CONSISTENCY_CHECK | 21:14:42.451 | 21:14:45.329 | 2.88s |
|
||||
@@ -0,0 +1,13 @@
|
||||
# ETL 执行计时报告
|
||||
|
||||
- 开始时间: 2026-02-21 21:25:11.381
|
||||
- 结束时间: 2026-02-21 21:26:39.028
|
||||
- 总耗时: 1m27.6s
|
||||
- 步骤数: 2
|
||||
|
||||
## 步骤汇总
|
||||
|
||||
| # | 步骤名称 | 开始时间 | 结束时间 | 耗时 |
|
||||
|---|---------|---------|---------|------|
|
||||
| 1 | INCREMENT_ETL | 21:25:11.381 | 21:26:36.913 | 1m25.5s |
|
||||
| 2 | CONSISTENCY_CHECK | 21:26:36.915 | 21:26:39.027 | 2.11s |
|
||||
@@ -0,0 +1,13 @@
|
||||
# ETL 执行计时报告
|
||||
|
||||
- 开始时间: 2026-02-21 21:33:37.838
|
||||
- 结束时间: 2026-02-21 21:35:01.943
|
||||
- 总耗时: 1m24.1s
|
||||
- 步骤数: 2
|
||||
|
||||
## 步骤汇总
|
||||
|
||||
| # | 步骤名称 | 开始时间 | 结束时间 | 耗时 |
|
||||
|---|---------|---------|---------|------|
|
||||
| 1 | INCREMENT_ETL | 21:33:37.838 | 21:34:59.810 | 1m22.0s |
|
||||
| 2 | CONSISTENCY_CHECK | 21:34:59.812 | 21:35:01.943 | 2.13s |
|
||||
@@ -0,0 +1,13 @@
|
||||
# ETL 执行计时报告
|
||||
|
||||
- 开始时间: 2026-02-21 22:38:56.302
|
||||
- 结束时间: 2026-02-21 22:40:27.434
|
||||
- 总耗时: 1m31.1s
|
||||
- 步骤数: 2
|
||||
|
||||
## 步骤汇总
|
||||
|
||||
| # | 步骤名称 | 开始时间 | 结束时间 | 耗时 |
|
||||
|---|---------|---------|---------|------|
|
||||
| 1 | INCREMENT_ETL | 22:38:56.302 | 22:40:07.841 | 1m11.5s |
|
||||
| 2 | CONSISTENCY_CHECK | 22:40:07.845 | 22:40:27.434 | 19.59s |
|
||||
@@ -0,0 +1,13 @@
|
||||
# ETL 执行计时报告
|
||||
|
||||
- 开始时间: 2026-02-21 22:48:43.973
|
||||
- 结束时间: 2026-02-21 22:50:13.110
|
||||
- 总耗时: 1m29.1s
|
||||
- 步骤数: 2
|
||||
|
||||
## 步骤汇总
|
||||
|
||||
| # | 步骤名称 | 开始时间 | 结束时间 | 耗时 |
|
||||
|---|---------|---------|---------|------|
|
||||
| 1 | INCREMENT_ETL | 22:48:43.973 | 22:49:54.509 | 1m10.5s |
|
||||
| 2 | CONSISTENCY_CHECK | 22:49:54.514 | 22:50:13.110 | 18.60s |
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user