{ "mode": "window", "window": { "start": "2025-07-01T00:00:00+08:00", "end": "2026-01-29T23:00:00+08:00", "segments": 1 }, "windows": [ { "mode": "window", "window": { "start": "2025-07-01T00:00:00+08:00", "end": "2026-01-29T23:00:00+08:00", "label": "segment_1", "granularity": "window" }, "api_to_ods": { "window_split_unit": "none", "window_compensation_hours": 0, "start": "2025-07-01T00:00:00+08:00", "end": "2026-01-29T23:00:00+08:00", "cutoff": null, "window_days": 212, "window_hours": 0, "page_size": 200, "chunk_size": 500, "sample_limit": 50, "compare_content": true, "content_sample_limit": 50, "store_id": 2790685415443269, "base_url": "https://pc.ficoo.vip/apiprod/admin/v1/", "results": [ { "task_code": "ODS_ASSISTANT_ACCOUNT", "table": "billiards_ods.assistant_accounts_master", "endpoint": "/PersonnelManagement/SearchAssistantInfo", "pk_columns": [ "id" ], "records": 138, "records_with_pk": 138, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 2, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_SETTLEMENT_RECORDS", "table": "billiards_ods.settlement_records", "endpoint": "/Site/GetAllOrderSettleList", "pk_columns": [ "id" ], "records": 21517, "records_with_pk": 21517, "missing": 0, "missing_samples": [], "mismatch": 1414, "mismatch_samples": [ { "id": 3049693993911621, "content_hash": "9f772f6b67992140c11a3edfd4280daf41943b81deee248567e57eef496b677a" }, { "id": 3049687290709893, "content_hash": "8184f3c5939bac17cc1ca3c7bab38e9d41845a02f7c35254751af88c1732f798" }, { "id": 3049677155829061, "content_hash": "0f3f46d2fe7bc58599b820f185d9427ef3ac5bb33ee6d48069663891d2226bd1" }, { "id": 3049675185374533, "content_hash": "008bb915b905c95a4450199feaacc7d42522e4d56eae17696e96d94d34a3ddc0" }, { "id": 3049667688630149, "content_hash": "3ab493d8f6e5f303f271f6d861a13efa79769984e42fd68cd532c594b85c7920" }, { "id": 3049666963637573, "content_hash": "252cd7ace58aa07331331b52832fe56a5f444ba664cad0950d6d8af6b10807ac" }, { "id": 3049659193771333, "content_hash": "b8da694790a7d29a6a366cde1dc48cb5432debda36d978c7137a4138ac2eb67e" }, { "id": 3049652151338309, "content_hash": "cd81f391cf96431eb7680e08c3ead92d4fe09f4dfef15c100704c5aa58836ede" }, { "id": 3049651460162885, "content_hash": "ad9968864c822f87790c548162a318ed676b5768195d106911621d03f4dad87c" }, { "id": 3049650087413637, "content_hash": "613c5a822e133cf0841b893ae00699cdaee11a05ec79dfddf7619198f82abe3f" }, { "id": 3049648237200709, "content_hash": "d900582e6c326729dab1400a7fb6524f547291904e8d50926148f4a1f9e06481" }, { "id": 3049643525916357, "content_hash": "3884a413e857cb9ef4acbf2aa1851ab510b0f25c7c4bc1148df45425b59f5d7e" }, { "id": 3049641004762821, "content_hash": "ed493cbfd955d6c94af43baddd92dcc1b23c29f760a9ace8e84bcea69fa098c0" }, { "id": 3049630673766149, "content_hash": "6dfb5ebb77b3ddc150e4dfc3ad5bdbabd66b48276fa11b049a87adbe93ddf16a" }, { "id": 3049624218273669, "content_hash": "3dea2089a02bd2452e1ffd962be3140db095412365e9d828b80abe3a7d77f101" }, { "id": 3049616331622277, "content_hash": "6b3fc091c526c98098b01dba9da6988fff2fc971382f21b5a0b20878301851f3" }, { "id": 3049611097736901, "content_hash": "95710f0b572ed137621eb1aca919bb975c4ae3c34a74e53b6c08fdf6c6d237e4" }, { "id": 3049610645292741, "content_hash": "b40ecd1415b8f8bf47ff14f5125219d674cc18c90287590e2ff11bcdf4cca481" }, { "id": 3049609302263685, "content_hash": "c5ad8c316857bbea598641392514dedf8a77d7f0d03d342fb404726803dfae33" }, { "id": 3049604443588485, "content_hash": "f70cec0f75df0e066bced00870ee0b0bc4a9f38c2e323b2cb097cfcf99c3ab8e" }, { "id": 3049585745823493, "content_hash": "b076d76ec229408c8ed5b80b166f9f367706c19465d7122178d70773cb2856bb" }, { "id": 3049577520187141, "content_hash": "151a87959c8d7f491936405de9ec17901b10537cafd45d1aeeeab274805ede88" }, { "id": 3049572749264773, "content_hash": "bc27c5a83bfc85b5600d938a94b6c4ca365cba5f6a721c5a0f718a1094d782cb" }, { "id": 3049570033305349, "content_hash": "ff62cd72a46cfa2d63a604623246de7086dc4e52df3bf8eb959dfa17bccc58a6" }, { "id": 3049564231485189, "content_hash": "5b7a6bac1199df4d095e107e93042ae741192efa826c8dee6370e2e41bd05a02" }, { "id": 3049556197147973, "content_hash": "f46ccebbf9343ca244caef29557e2e94d624422fab224e8a1e527b75f49b3b40" }, { "id": 3049555436045637, "content_hash": "e4b208436d0450fef16f7f348702602ce94a4d537399852e28d6e8e0b1a77356" }, { "id": 3049525102298437, "content_hash": "e029fd231746cbc833e3e1802e9776a89e47022c685f4744d001ddee94c2fc56" }, { "id": 3049505399539461, "content_hash": "f24d1429bf16c65bcf54a89841e60de5d76e85cc297960da2e40e0f89091b485" }, { "id": 3049489313564421, "content_hash": "bf028f166f7016c79716874bf63d8e803c3657bb8bfe482a2c38247635d8c537" }, { "id": 3049480004437765, "content_hash": "99dc95af93980d6cc2cbda0da7aaead3659ac40cc1581c3f8eee87fcc5418669" }, { "id": 3049444425041669, "content_hash": "af1df14fb6715e8cd22b427d1229051616be3ef457cdda242b78c5050933faf1" }, { "id": 3049435269187333, "content_hash": "10bdf29c85c7cb4ef888f86a71949e29c3ce713a68075be26f9442d85ff5f9eb" }, { "id": 3049409664124229, "content_hash": "ed5116f2ad3b2777a9d512762f8e35ac6ba66070fe05de831e80702868d0a921" }, { "id": 3049376012338885, "content_hash": "60e5336194019bd96bbb6ab52089955ac5bd21addf8bc85b00b6f3da0994d0ef" }, { "id": 3049350366070085, "content_hash": "a2fed47f7f10ff89090da0ee99ffb54171a6cc0c85f59dc193cf8c7d69048e0f" }, { "id": 3049316448290117, "content_hash": "662679c4bce27211bd86afe1bb77288b57cfc0270d23dbce907d2ae61254fdce" }, { "id": 3049314064533253, "content_hash": "0828ce614791e159be4a156d8e8c3b218c7dbdf1f3b0c021bf02c9ba4ce6a058" }, { "id": 3049310935221957, "content_hash": "b737bf9195579231d9ded3391f87541c09c18d0244b61a3a93ca6062f89b1813" }, { "id": 3048861492757829, "content_hash": "63352d296478a6bbe733a9d964c4387dcd8d70cfc6215fc7a154a8e4321441ab" }, { "id": 3048840159921477, "content_hash": "1f5cd39953ed5660d8481e112e8eedc6d498d793738bda206dd9819af4b3acd7" }, { "id": 3048839651444613, "content_hash": "c907465b29f37a9f77c3855bf5294eae62488d3b5981b6f7b7df73f4554083c1" }, { "id": 3048760090445701, "content_hash": "cf6a6b582d379eaf2f995734bbe2dc98761c3141240645ae60266787ade7114b" }, { "id": 3048755614156485, "content_hash": "d3534c26f95d6aca9b445b47ea8c62cadd8b756ce4a471ac462d5471fefd5ae4" }, { "id": 3048747724457285, "content_hash": "374b83cee63f0ff4eecec744e1a3403b1c5026d0cc195c98a7573945e873841f" }, { "id": 3048744895448965, "content_hash": "497c9cee85f5a8e5692baa06fbf9988d6e425768c65ddf0265d889e9beaaa6e4" }, { "id": 3048738683684613, "content_hash": "b13776a1fa555a23477aa4cbb35e196c6cc93b5b6d3aa1ff5d2b7ef429cf93a7" }, { "id": 3048699584055045, "content_hash": "d045c0d63bfc2386b4e8bc1589d57fb93ee31f1d9abaaa71a074ea228a362941" }, { "id": 3048697132844805, "content_hash": "03fa89e4812877afea0015d0b09fe5caae8025d40ff1a78cbca38a5b74483b86" }, { "id": 3048672071059205, "content_hash": "6cff23966cc3356a2f486777f8d1b29d280c4ce98312c78314a798ad2e38b2e9" } ], "pages": 109, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_TABLE_USE", "table": "billiards_ods.table_fee_transactions", "endpoint": "/Site/GetSiteTableOrderDetails", "pk_columns": [ "id" ], "records": 10104, "records_with_pk": 10104, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 51, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_ASSISTANT_LEDGER", "table": "billiards_ods.assistant_service_records", "endpoint": "/AssistantPerformance/GetOrderAssistantDetails", "pk_columns": [ "id" ], "records": 4529, "records_with_pk": 4529, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 25, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_ASSISTANT_ABOLISH", "table": "billiards_ods.assistant_cancellation_records", "endpoint": "/AssistantPerformance/GetAbolitionAssistant", "pk_columns": [ "id" ], "records": 84, "records_with_pk": 84, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 2, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_STORE_GOODS_SALES", "table": "billiards_ods.store_goods_sales_records", "endpoint": "/TenantGoods/GetGoodsSalesList", "pk_columns": [ "id" ], "records": 0, "records_with_pk": 0, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 1, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_PAYMENT", "table": "billiards_ods.payment_transactions", "endpoint": "/PayLog/GetPayLogListPage", "pk_columns": [ "id" ], "records": 11908, "records_with_pk": 11908, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 60, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_REFUND", "table": "billiards_ods.refund_transactions", "endpoint": "/Order/GetRefundPayLogList", "pk_columns": [ "id" ], "records": 39, "records_with_pk": 39, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 1, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_PLATFORM_COUPON", "table": "billiards_ods.platform_coupon_redemption_records", "endpoint": "/Promotion/GetOfflineCouponConsumePageList", "pk_columns": [ "id" ], "records": 17277, "records_with_pk": 17277, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 87, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_MEMBER", "table": "billiards_ods.member_profiles", "endpoint": "/MemberProfile/GetTenantMemberList", "pk_columns": [ "id" ], "records": 556, "records_with_pk": 556, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 3, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_MEMBER_CARD", "table": "billiards_ods.member_stored_value_cards", "endpoint": "/MemberProfile/GetTenantMemberCardList", "pk_columns": [ "id" ], "records": 945, "records_with_pk": 945, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 5, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_MEMBER_BALANCE", "table": "billiards_ods.member_balance_changes", "endpoint": "/MemberProfile/GetMemberCardBalanceChange", "pk_columns": [ "id" ], "records": 2501, "records_with_pk": 2501, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 13, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_RECHARGE_SETTLE", "table": "billiards_ods.recharge_settlements", "endpoint": "/Site/GetRechargeSettleList", "pk_columns": [ "id" ], "records": 414, "records_with_pk": 414, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 4, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_GROUP_PACKAGE", "table": "billiards_ods.group_buy_packages", "endpoint": "/PackageCoupon/QueryPackageCouponList", "pk_columns": [ "id" ], "records": 18, "records_with_pk": 18, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 1, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_GROUP_BUY_REDEMPTION", "table": "billiards_ods.group_buy_redemption_records", "endpoint": "/Site/GetSiteTableUseDetails", "pk_columns": [ "id" ], "records": 8230, "records_with_pk": 8230, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 42, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_INVENTORY_STOCK", "table": "billiards_ods.goods_stock_summary", "endpoint": "/TenantGoods/GetGoodsStockReport", "pk_columns": [ "sitegoodsid" ], "records": 172, "records_with_pk": 172, "missing": 0, "missing_samples": [], "mismatch": 1, "mismatch_samples": [ { "sitegoodsid": 2794695801917573, "content_hash": "3a668d320cf4ff80b913277ddcd574cbd97cd6cbf59bfa3435253c92a6b52508" } ], "pages": 1, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_INVENTORY_CHANGE", "table": "billiards_ods.goods_stock_movements", "endpoint": "/GoodsStockManage/QueryGoodsOutboundReceipt", "pk_columns": [ "sitegoodsstockid" ], "records": 28811, "records_with_pk": 28811, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 145, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_TABLES", "table": "billiards_ods.site_tables_master", "endpoint": "/Table/GetSiteTables", "pk_columns": [ "id" ], "records": 74, "records_with_pk": 74, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 1, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_GOODS_CATEGORY", "table": "billiards_ods.stock_goods_category_tree", "endpoint": "/TenantGoodsCategory/QueryPrimarySecondaryCategory", "pk_columns": [ "id" ], "records": 9, "records_with_pk": 9, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 1, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_STORE_GOODS", "table": "billiards_ods.store_goods_master", "endpoint": "/TenantGoods/GetGoodsInventoryList", "pk_columns": [ "id" ], "records": 172, "records_with_pk": 172, "missing": 0, "missing_samples": [], "mismatch": 1, "mismatch_samples": [ { "id": 2794695801917573, "content_hash": "e274058282aaec4d786710db076b6225620fc74de08763643510828c34a485a2" } ], "pages": 1, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_TABLE_FEE_DISCOUNT", "table": "billiards_ods.table_fee_discount_records", "endpoint": "/Site/GetTaiFeeAdjustList", "pk_columns": [ "id" ], "records": 1782, "records_with_pk": 1782, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 9, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_TENANT_GOODS", "table": "billiards_ods.tenant_goods_master", "endpoint": "/TenantGoods/QueryTenantGoods", "pk_columns": [ "id" ], "records": 173, "records_with_pk": 173, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 1, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_SETTLEMENT_TICKET", "table": "billiards_ods.settlement_ticket_details", "endpoint": "/Order/GetOrderSettleTicketNew", "pk_columns": [ "ordersettleid" ], "records": 22176, "records_with_pk": 0, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 113, "skipped_missing_pk": 22176, "errors": 0, "error_detail": null, "source_endpoint": "/PayLog/GetPayLogListPage" } ], "total_missing": 0, "total_mismatch": 1416, "total_errors": 0, "generated_at": "2026-01-31T05:40:58.602950+08:00" }, "ods_to_dwd": { "tables": [ { "dwd_table": "billiards_dwd.dwd_settlement_head", "ods_table": "billiards_ods.settlement_records", "windowed": false, "window_col": null, "count": { "dwd": 23366, "ods": 23712, "diff": -346 }, "amounts": [], "mismatch": null, "mismatch_samples": [], "mismatch_error": "join_keys_or_compare_cols_unavailable" }, { "dwd_table": "billiards_dwd.dwd_settlement_head_ex", "ods_table": "billiards_ods.settlement_records", "windowed": false, "window_col": null, "count": { "dwd": 23366, "ods": 23712, "diff": -346 }, "amounts": [], "mismatch": null, "mismatch_samples": [], "mismatch_error": "join_keys_or_compare_cols_unavailable" }, { "dwd_table": "billiards_dwd.dwd_table_fee_log", "ods_table": "billiards_ods.table_fee_transactions", "windowed": true, "window_col": null, "count": { "dwd": null, "ods": null, "diff": null }, "amounts": [], "mismatch": null, "mismatch_samples": [], "error": "AttributeError: 'tuple' object has no attribute 'items'" }, { "dwd_table": "billiards_dwd.dwd_table_fee_log_ex", "ods_table": "billiards_ods.table_fee_transactions", "windowed": true, "window_col": null, "count": { "dwd": null, "ods": null, "diff": null }, "amounts": [], "mismatch": null, "mismatch_samples": [], "error": "AttributeError: 'tuple' object has no attribute 'items'" }, { "dwd_table": "billiards_dwd.dwd_table_fee_adjust", "ods_table": "billiards_ods.table_fee_discount_records", "windowed": false, "window_col": null, "count": { "dwd": 2849, "ods": 2943, "diff": -94 }, "amounts": [ { "column": "ledger_amount", "dwd_sum": 329604.44, "ods_sum": 348842.08, "diff": -19237.640000000014 } ], "mismatch": 0, "mismatch_samples": [], "mismatch_error": null }, { "dwd_table": "billiards_dwd.dwd_table_fee_adjust_ex", "ods_table": "billiards_ods.table_fee_discount_records", "windowed": true, "window_col": null, "count": { "dwd": null, "ods": null, "diff": null }, "amounts": [], "mismatch": null, "mismatch_samples": [], "error": "AttributeError: 'tuple' object has no attribute 'items'" }, { "dwd_table": "billiards_dwd.dwd_store_goods_sale", "ods_table": "billiards_ods.store_goods_sales_records", "windowed": true, "window_col": null, "count": { "dwd": null, "ods": null, "diff": null }, "amounts": [], "mismatch": null, "mismatch_samples": [], "error": "AttributeError: 'tuple' object has no attribute 'items'" }, { "dwd_table": "billiards_dwd.dwd_store_goods_sale_ex", "ods_table": "billiards_ods.store_goods_sales_records", "windowed": false, "window_col": null, "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 } ], "mismatch": 0, "mismatch_samples": [], "mismatch_error": null }, { "dwd_table": "billiards_dwd.dwd_assistant_service_log", "ods_table": "billiards_ods.assistant_service_records", "windowed": true, "window_col": null, "count": { "dwd": null, "ods": null, "diff": null }, "amounts": [], "mismatch": null, "mismatch_samples": [], "error": "AttributeError: 'tuple' object has no attribute 'items'" }, { "dwd_table": "billiards_dwd.dwd_assistant_service_log_ex", "ods_table": "billiards_ods.assistant_service_records", "windowed": true, "window_col": null, "count": { "dwd": null, "ods": null, "diff": null }, "amounts": [], "mismatch": null, "mismatch_samples": [], "error": "AttributeError: 'tuple' object has no attribute 'items'" }, { "dwd_table": "billiards_dwd.dwd_assistant_trash_event", "ods_table": "billiards_ods.assistant_cancellation_records", "windowed": false, "window_col": null, "count": { "dwd": 98, "ods": 100, "diff": -2 }, "amounts": [], "mismatch": null, "mismatch_samples": [], "mismatch_error": "join_keys_or_compare_cols_unavailable" }, { "dwd_table": "billiards_dwd.dwd_assistant_trash_event_ex", "ods_table": "billiards_ods.assistant_cancellation_records", "windowed": false, "window_col": null, "count": { "dwd": 98, "ods": 100, "diff": -2 }, "amounts": [], "mismatch": null, "mismatch_samples": [], "mismatch_error": "join_keys_or_compare_cols_unavailable" }, { "dwd_table": "billiards_dwd.dwd_member_balance_change", "ods_table": "billiards_ods.member_balance_changes", "windowed": false, "window_col": null, "count": { "dwd": 4745, "ods": 4858, "diff": -113 }, "amounts": [], "mismatch": 0, "mismatch_samples": [], "mismatch_error": null }, { "dwd_table": "billiards_dwd.dwd_member_balance_change_ex", "ods_table": "billiards_ods.member_balance_changes", "windowed": false, "window_col": null, "count": { "dwd": 4745, "ods": 4858, "diff": -113 }, "amounts": [ { "column": "refund_amount", "dwd_sum": 0.0, "ods_sum": 0.0, "diff": 0.0 } ], "mismatch": 0, "mismatch_samples": [], "mismatch_error": null }, { "dwd_table": "billiards_dwd.dwd_groupbuy_redemption", "ods_table": "billiards_ods.group_buy_redemption_records", "windowed": true, "window_col": null, "count": { "dwd": null, "ods": null, "diff": null }, "amounts": [], "mismatch": null, "mismatch_samples": [], "error": "AttributeError: 'tuple' object has no attribute 'items'" }, { "dwd_table": "billiards_dwd.dwd_groupbuy_redemption_ex", "ods_table": "billiards_ods.group_buy_redemption_records", "windowed": false, "window_col": null, "count": { "dwd": 11427, "ods": 11735, "diff": -308 }, "amounts": [ { "column": "assistant_promotion_money", "dwd_sum": 7544.8, "ods_sum": 7544.8, "diff": 0.0 }, { "column": "assistant_service_promotion_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": "recharge_promotion_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 } ], "mismatch": 0, "mismatch_samples": [], "mismatch_error": null }, { "dwd_table": "billiards_dwd.dwd_platform_coupon_redemption", "ods_table": "billiards_ods.platform_coupon_redemption_records", "windowed": true, "window_col": null, "count": { "dwd": null, "ods": null, "diff": null }, "amounts": [], "mismatch": null, "mismatch_samples": [], "error": "AttributeError: 'tuple' object has no attribute 'items'" }, { "dwd_table": "billiards_dwd.dwd_platform_coupon_redemption_ex", "ods_table": "billiards_ods.platform_coupon_redemption_records", "windowed": false, "window_col": null, "count": { "dwd": 16977, "ods": 17277, "diff": -300 }, "amounts": [], "mismatch": 0, "mismatch_samples": [], "mismatch_error": null }, { "dwd_table": "billiards_dwd.dwd_recharge_order", "ods_table": "billiards_ods.recharge_settlements", "windowed": false, "window_col": null, "count": { "dwd": 455, "ods": 462, "diff": -7 }, "amounts": [], "mismatch": null, "mismatch_samples": [], "mismatch_error": "join_keys_or_compare_cols_unavailable" }, { "dwd_table": "billiards_dwd.dwd_recharge_order_ex", "ods_table": "billiards_ods.recharge_settlements", "windowed": false, "window_col": null, "count": { "dwd": 455, "ods": 462, "diff": -7 }, "amounts": [], "mismatch": null, "mismatch_samples": [], "mismatch_error": "join_keys_or_compare_cols_unavailable" }, { "dwd_table": "billiards_dwd.dwd_payment", "ods_table": "billiards_ods.payment_transactions", "windowed": true, "window_col": null, "count": { "dwd": null, "ods": null, "diff": null }, "amounts": [], "mismatch": null, "mismatch_samples": [], "error": "AttributeError: 'tuple' object has no attribute 'items'" }, { "dwd_table": "billiards_dwd.dwd_refund", "ods_table": "billiards_ods.refund_transactions", "windowed": true, "window_col": null, "count": { "dwd": null, "ods": null, "diff": null }, "amounts": [], "mismatch": null, "mismatch_samples": [], "error": "AttributeError: 'tuple' object has no attribute 'items'" }, { "dwd_table": "billiards_dwd.dwd_refund_ex", "ods_table": "billiards_ods.refund_transactions", "windowed": false, "window_col": null, "count": { "dwd": 45, "ods": 46, "diff": -1 }, "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 } ], "mismatch": 0, "mismatch_samples": [], "mismatch_error": null } ], "total_count_diff": -1639, "total_mismatch": 118581 }, "generated_at": "2026-01-31T05:41:18.992643+08:00" } ], "api_to_ods": { "total_missing": 0, "total_mismatch": 1416, "total_errors": 0 }, "total_missing": 0, "total_mismatch": 1416, "total_errors": 0, "generated_at": "2026-01-31T05:41:18.992668+08:00", "backfill_result": { "total_missing": 190, "total_mismatch": 1416, "backfilled": 1416, "errors": 0, "details": [ { "task_code": "ODS_SETTLEMENT_RECORDS", "missing": 10, "mismatch": 1414, "backfilled": 1414, "error": null }, { "task_code": "ODS_ASSISTANT_LEDGER", "missing": 1, "mismatch": 0, "backfilled": 0, "error": null }, { "task_code": "ODS_INVENTORY_STOCK", "missing": 0, "mismatch": 1, "backfilled": 1, "error": null }, { "task_code": "ODS_INVENTORY_CHANGE", "missing": 179, "mismatch": 0, "backfilled": 0, "error": null }, { "task_code": "ODS_STORE_GOODS", "missing": 0, "mismatch": 1, "backfilled": 1, "error": null } ] }, "post_check": { "mode": "window", "window": { "start": "2025-07-01T00:00:00+08:00", "end": "2026-01-29T23:00:00+08:00", "segments": 1 }, "windows": [ { "mode": "window", "window": { "start": "2025-07-01T00:00:00+08:00", "end": "2026-01-29T23:00:00+08:00", "label": "segment_1", "granularity": "window" }, "api_to_ods": { "window_split_unit": "none", "window_compensation_hours": 0, "start": "2025-07-01T00:00:00+08:00", "end": "2026-01-29T23:00:00+08:00", "cutoff": null, "window_days": 212, "window_hours": 0, "page_size": 200, "chunk_size": 500, "sample_limit": 50, "compare_content": true, "content_sample_limit": 50, "store_id": 2790685415443269, "base_url": "https://pc.ficoo.vip/apiprod/admin/v1/", "results": [ { "task_code": "ODS_ASSISTANT_ACCOUNT", "table": "billiards_ods.assistant_accounts_master", "endpoint": "/PersonnelManagement/SearchAssistantInfo", "pk_columns": [ "id" ], "records": 138, "records_with_pk": 138, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 2, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_SETTLEMENT_RECORDS", "table": "billiards_ods.settlement_records", "endpoint": "/Site/GetAllOrderSettleList", "pk_columns": [ "id" ], "records": 21517, "records_with_pk": 21517, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 109, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_TABLE_USE", "table": "billiards_ods.table_fee_transactions", "endpoint": "/Site/GetSiteTableOrderDetails", "pk_columns": [ "id" ], "records": 10104, "records_with_pk": 10104, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 51, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_ASSISTANT_LEDGER", "table": "billiards_ods.assistant_service_records", "endpoint": "/AssistantPerformance/GetOrderAssistantDetails", "pk_columns": [ "id" ], "records": 4529, "records_with_pk": 4529, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 25, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_ASSISTANT_ABOLISH", "table": "billiards_ods.assistant_cancellation_records", "endpoint": "/AssistantPerformance/GetAbolitionAssistant", "pk_columns": [ "id" ], "records": 84, "records_with_pk": 84, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 2, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_STORE_GOODS_SALES", "table": "billiards_ods.store_goods_sales_records", "endpoint": "/TenantGoods/GetGoodsSalesList", "pk_columns": [ "id" ], "records": 0, "records_with_pk": 0, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 1, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_PAYMENT", "table": "billiards_ods.payment_transactions", "endpoint": "/PayLog/GetPayLogListPage", "pk_columns": [ "id" ], "records": 11908, "records_with_pk": 11908, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 60, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_REFUND", "table": "billiards_ods.refund_transactions", "endpoint": "/Order/GetRefundPayLogList", "pk_columns": [ "id" ], "records": 39, "records_with_pk": 39, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 1, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_PLATFORM_COUPON", "table": "billiards_ods.platform_coupon_redemption_records", "endpoint": "/Promotion/GetOfflineCouponConsumePageList", "pk_columns": [ "id" ], "records": 17277, "records_with_pk": 17277, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 87, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_MEMBER", "table": "billiards_ods.member_profiles", "endpoint": "/MemberProfile/GetTenantMemberList", "pk_columns": [ "id" ], "records": 556, "records_with_pk": 556, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 3, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_MEMBER_CARD", "table": "billiards_ods.member_stored_value_cards", "endpoint": "/MemberProfile/GetTenantMemberCardList", "pk_columns": [ "id" ], "records": 945, "records_with_pk": 945, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 5, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_MEMBER_BALANCE", "table": "billiards_ods.member_balance_changes", "endpoint": "/MemberProfile/GetMemberCardBalanceChange", "pk_columns": [ "id" ], "records": 2501, "records_with_pk": 2501, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 13, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_RECHARGE_SETTLE", "table": "billiards_ods.recharge_settlements", "endpoint": "/Site/GetRechargeSettleList", "pk_columns": [ "id" ], "records": 414, "records_with_pk": 414, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 4, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_GROUP_PACKAGE", "table": "billiards_ods.group_buy_packages", "endpoint": "/PackageCoupon/QueryPackageCouponList", "pk_columns": [ "id" ], "records": 18, "records_with_pk": 18, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 1, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_GROUP_BUY_REDEMPTION", "table": "billiards_ods.group_buy_redemption_records", "endpoint": "/Site/GetSiteTableUseDetails", "pk_columns": [ "id" ], "records": 8230, "records_with_pk": 8230, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 42, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_INVENTORY_STOCK", "table": "billiards_ods.goods_stock_summary", "endpoint": "/TenantGoods/GetGoodsStockReport", "pk_columns": [ "sitegoodsid" ], "records": 172, "records_with_pk": 172, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 1, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_INVENTORY_CHANGE", "table": "billiards_ods.goods_stock_movements", "endpoint": "/GoodsStockManage/QueryGoodsOutboundReceipt", "pk_columns": [ "sitegoodsstockid" ], "records": 28811, "records_with_pk": 28811, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 145, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_TABLES", "table": "billiards_ods.site_tables_master", "endpoint": "/Table/GetSiteTables", "pk_columns": [ "id" ], "records": 74, "records_with_pk": 74, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 1, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_GOODS_CATEGORY", "table": "billiards_ods.stock_goods_category_tree", "endpoint": "/TenantGoodsCategory/QueryPrimarySecondaryCategory", "pk_columns": [ "id" ], "records": 9, "records_with_pk": 9, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 1, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_STORE_GOODS", "table": "billiards_ods.store_goods_master", "endpoint": "/TenantGoods/GetGoodsInventoryList", "pk_columns": [ "id" ], "records": 172, "records_with_pk": 172, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 1, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_TABLE_FEE_DISCOUNT", "table": "billiards_ods.table_fee_discount_records", "endpoint": "/Site/GetTaiFeeAdjustList", "pk_columns": [ "id" ], "records": 1782, "records_with_pk": 1782, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 9, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_TENANT_GOODS", "table": "billiards_ods.tenant_goods_master", "endpoint": "/TenantGoods/QueryTenantGoods", "pk_columns": [ "id" ], "records": 173, "records_with_pk": 173, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 1, "skipped_missing_pk": 0, "errors": 0, "error_detail": null, "compare_content": true, "content_hash_supported": true }, { "task_code": "ODS_SETTLEMENT_TICKET", "table": "billiards_ods.settlement_ticket_details", "endpoint": "/Order/GetOrderSettleTicketNew", "pk_columns": [ "ordersettleid" ], "records": 22176, "records_with_pk": 0, "missing": 0, "missing_samples": [], "mismatch": 0, "mismatch_samples": [], "pages": 113, "skipped_missing_pk": 22176, "errors": 0, "error_detail": null, "source_endpoint": "/PayLog/GetPayLogListPage" } ], "total_missing": 0, "total_mismatch": 0, "total_errors": 0, "generated_at": "2026-01-31T06:00:58.194488+08:00" }, "ods_to_dwd": { "tables": [ { "dwd_table": "billiards_dwd.dwd_settlement_head", "ods_table": "billiards_ods.settlement_records", "windowed": false, "window_col": null, "count": { "dwd": 23366, "ods": 23712, "diff": -346 }, "amounts": [], "mismatch": null, "mismatch_samples": [], "mismatch_error": "join_keys_or_compare_cols_unavailable" }, { "dwd_table": "billiards_dwd.dwd_settlement_head_ex", "ods_table": "billiards_ods.settlement_records", "windowed": false, "window_col": null, "count": { "dwd": 23366, "ods": 23712, "diff": -346 }, "amounts": [], "mismatch": null, "mismatch_samples": [], "mismatch_error": "join_keys_or_compare_cols_unavailable" }, { "dwd_table": "billiards_dwd.dwd_table_fee_log", "ods_table": "billiards_ods.table_fee_transactions", "windowed": true, "window_col": null, "count": { "dwd": null, "ods": null, "diff": null }, "amounts": [], "mismatch": null, "mismatch_samples": [], "error": "AttributeError: 'tuple' object has no attribute 'items'" }, { "dwd_table": "billiards_dwd.dwd_table_fee_log_ex", "ods_table": "billiards_ods.table_fee_transactions", "windowed": true, "window_col": null, "count": { "dwd": null, "ods": null, "diff": null }, "amounts": [], "mismatch": null, "mismatch_samples": [], "error": "AttributeError: 'tuple' object has no attribute 'items'" }, { "dwd_table": "billiards_dwd.dwd_table_fee_adjust", "ods_table": "billiards_ods.table_fee_discount_records", "windowed": false, "window_col": null, "count": { "dwd": 2849, "ods": 2943, "diff": -94 }, "amounts": [ { "column": "ledger_amount", "dwd_sum": 329604.44, "ods_sum": 348842.08, "diff": -19237.640000000014 } ], "mismatch": 0, "mismatch_samples": [], "mismatch_error": null }, { "dwd_table": "billiards_dwd.dwd_table_fee_adjust_ex", "ods_table": "billiards_ods.table_fee_discount_records", "windowed": true, "window_col": null, "count": { "dwd": null, "ods": null, "diff": null }, "amounts": [], "mismatch": null, "mismatch_samples": [], "error": "AttributeError: 'tuple' object has no attribute 'items'" }, { "dwd_table": "billiards_dwd.dwd_store_goods_sale", "ods_table": "billiards_ods.store_goods_sales_records", "windowed": true, "window_col": null, "count": { "dwd": null, "ods": null, "diff": null }, "amounts": [], "mismatch": null, "mismatch_samples": [], "error": "AttributeError: 'tuple' object has no attribute 'items'" }, { "dwd_table": "billiards_dwd.dwd_store_goods_sale_ex", "ods_table": "billiards_ods.store_goods_sales_records", "windowed": false, "window_col": null, "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 } ], "mismatch": 0, "mismatch_samples": [], "mismatch_error": null }, { "dwd_table": "billiards_dwd.dwd_assistant_service_log", "ods_table": "billiards_ods.assistant_service_records", "windowed": true, "window_col": null, "count": { "dwd": null, "ods": null, "diff": null }, "amounts": [], "mismatch": null, "mismatch_samples": [], "error": "AttributeError: 'tuple' object has no attribute 'items'" }, { "dwd_table": "billiards_dwd.dwd_assistant_service_log_ex", "ods_table": "billiards_ods.assistant_service_records", "windowed": true, "window_col": null, "count": { "dwd": null, "ods": null, "diff": null }, "amounts": [], "mismatch": null, "mismatch_samples": [], "error": "AttributeError: 'tuple' object has no attribute 'items'" }, { "dwd_table": "billiards_dwd.dwd_assistant_trash_event", "ods_table": "billiards_ods.assistant_cancellation_records", "windowed": false, "window_col": null, "count": { "dwd": 98, "ods": 100, "diff": -2 }, "amounts": [], "mismatch": null, "mismatch_samples": [], "mismatch_error": "join_keys_or_compare_cols_unavailable" }, { "dwd_table": "billiards_dwd.dwd_assistant_trash_event_ex", "ods_table": "billiards_ods.assistant_cancellation_records", "windowed": false, "window_col": null, "count": { "dwd": 98, "ods": 100, "diff": -2 }, "amounts": [], "mismatch": null, "mismatch_samples": [], "mismatch_error": "join_keys_or_compare_cols_unavailable" }, { "dwd_table": "billiards_dwd.dwd_member_balance_change", "ods_table": "billiards_ods.member_balance_changes", "windowed": false, "window_col": null, "count": { "dwd": 4745, "ods": 4858, "diff": -113 }, "amounts": [], "mismatch": 0, "mismatch_samples": [], "mismatch_error": null }, { "dwd_table": "billiards_dwd.dwd_member_balance_change_ex", "ods_table": "billiards_ods.member_balance_changes", "windowed": false, "window_col": null, "count": { "dwd": 4745, "ods": 4858, "diff": -113 }, "amounts": [ { "column": "refund_amount", "dwd_sum": 0.0, "ods_sum": 0.0, "diff": 0.0 } ], "mismatch": 0, "mismatch_samples": [], "mismatch_error": null }, { "dwd_table": "billiards_dwd.dwd_groupbuy_redemption", "ods_table": "billiards_ods.group_buy_redemption_records", "windowed": true, "window_col": null, "count": { "dwd": null, "ods": null, "diff": null }, "amounts": [], "mismatch": null, "mismatch_samples": [], "error": "AttributeError: 'tuple' object has no attribute 'items'" }, { "dwd_table": "billiards_dwd.dwd_groupbuy_redemption_ex", "ods_table": "billiards_ods.group_buy_redemption_records", "windowed": false, "window_col": null, "count": { "dwd": 11427, "ods": 11735, "diff": -308 }, "amounts": [ { "column": "assistant_promotion_money", "dwd_sum": 7544.8, "ods_sum": 7544.8, "diff": 0.0 }, { "column": "assistant_service_promotion_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": "recharge_promotion_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 } ], "mismatch": 0, "mismatch_samples": [], "mismatch_error": null }, { "dwd_table": "billiards_dwd.dwd_platform_coupon_redemption", "ods_table": "billiards_ods.platform_coupon_redemption_records", "windowed": true, "window_col": null, "count": { "dwd": null, "ods": null, "diff": null }, "amounts": [], "mismatch": null, "mismatch_samples": [], "error": "AttributeError: 'tuple' object has no attribute 'items'" }, { "dwd_table": "billiards_dwd.dwd_platform_coupon_redemption_ex", "ods_table": "billiards_ods.platform_coupon_redemption_records", "windowed": false, "window_col": null, "count": { "dwd": 16977, "ods": 17277, "diff": -300 }, "amounts": [], "mismatch": 0, "mismatch_samples": [], "mismatch_error": null }, { "dwd_table": "billiards_dwd.dwd_recharge_order", "ods_table": "billiards_ods.recharge_settlements", "windowed": false, "window_col": null, "count": { "dwd": 455, "ods": 462, "diff": -7 }, "amounts": [], "mismatch": null, "mismatch_samples": [], "mismatch_error": "join_keys_or_compare_cols_unavailable" }, { "dwd_table": "billiards_dwd.dwd_recharge_order_ex", "ods_table": "billiards_ods.recharge_settlements", "windowed": false, "window_col": null, "count": { "dwd": 455, "ods": 462, "diff": -7 }, "amounts": [], "mismatch": null, "mismatch_samples": [], "mismatch_error": "join_keys_or_compare_cols_unavailable" }, { "dwd_table": "billiards_dwd.dwd_payment", "ods_table": "billiards_ods.payment_transactions", "windowed": true, "window_col": null, "count": { "dwd": null, "ods": null, "diff": null }, "amounts": [], "mismatch": null, "mismatch_samples": [], "error": "AttributeError: 'tuple' object has no attribute 'items'" }, { "dwd_table": "billiards_dwd.dwd_refund", "ods_table": "billiards_ods.refund_transactions", "windowed": true, "window_col": null, "count": { "dwd": null, "ods": null, "diff": null }, "amounts": [], "mismatch": null, "mismatch_samples": [], "error": "AttributeError: 'tuple' object has no attribute 'items'" }, { "dwd_table": "billiards_dwd.dwd_refund_ex", "ods_table": "billiards_ods.refund_transactions", "windowed": false, "window_col": null, "count": { "dwd": 45, "ods": 46, "diff": -1 }, "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 } ], "mismatch": 0, "mismatch_samples": [], "mismatch_error": null } ], "total_count_diff": -1639, "total_mismatch": 118581 }, "generated_at": "2026-01-31T06:01:15.314372+08:00" } ], "api_to_ods": { "total_missing": 0, "total_mismatch": 0, "total_errors": 0 }, "total_missing": 0, "total_mismatch": 0, "total_errors": 0, "generated_at": "2026-01-31T06:01:15.314392+08:00" } }