{
  "start": "2025-07-01T00:00:00+08:00",
  "end": "2026-01-15T23:34:39+08:00",
  "cutoff": null,
  "window_days": 30,
  "window_hours": 0,
  "page_size": 100,
  "chunk_size": 200,
  "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": 448,
      "records_with_pk": 448,
      "missing": 0,
      "missing_samples": [],
      "pages": 7,
      "skipped_missing_pk": 0,
      "errors": 0,
      "error_detail": null
    },
    {
      "task_code": "ODS_SETTLEMENT_RECORDS",
      "table": "billiards_ods.settlement_records",
      "endpoint": "/Site/GetAllOrderSettleList",
      "pk_columns": [
        "id"
      ],
      "records": 21600,
      "records_with_pk": 21600,
      "missing": 0,
      "missing_samples": [],
      "pages": 221,
      "skipped_missing_pk": 0,
      "errors": 0,
      "error_detail": null
    },
    {
      "task_code": "ODS_TABLE_USE",
      "table": "billiards_ods.table_fee_transactions",
      "endpoint": "/Site/GetSiteTableOrderDetails",
      "pk_columns": [
        "id"
      ],
      "records": 9841,
      "records_with_pk": 9841,
      "missing": 0,
      "missing_samples": [],
      "pages": 99,
      "skipped_missing_pk": 0,
      "errors": 0,
      "error_detail": null
    },
    {
      "task_code": "ODS_ASSISTANT_LEDGER",
      "table": "billiards_ods.assistant_service_records",
      "endpoint": "/AssistantPerformance/GetOrderAssistantDetails",
      "pk_columns": [
        "id"
      ],
      "records": 4428,
      "records_with_pk": 4428,
      "missing": 0,
      "missing_samples": [],
      "pages": 48,
      "skipped_missing_pk": 0,
      "errors": 0,
      "error_detail": null
    },
    {
      "task_code": "ODS_ASSISTANT_ABOLISH",
      "table": "billiards_ods.assistant_cancellation_records",
      "endpoint": "/AssistantPerformance/GetAbolitionAssistant",
      "pk_columns": [
        "id"
      ],
      "records": 79,
      "records_with_pk": 79,
      "missing": 0,
      "missing_samples": [],
      "pages": 7,
      "skipped_missing_pk": 0,
      "errors": 0,
      "error_detail": null
    },
    {
      "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": [],
      "pages": 1,
      "skipped_missing_pk": 0,
      "errors": 0,
      "error_detail": null
    },
    {
      "task_code": "ODS_PAYMENT",
      "table": "billiards_ods.payment_transactions",
      "endpoint": "/PayLog/GetPayLogListPage",
      "pk_columns": [
        "id"
      ],
      "records": 11835,
      "records_with_pk": 11835,
      "missing": 1,
      "missing_samples": [
        {
          "id": 3052908806459589
        }
      ],
      "pages": 119,
      "skipped_missing_pk": 0,
      "errors": 0,
      "error_detail": null
    },
    {
      "task_code": "ODS_REFUND",
      "table": "billiards_ods.refund_transactions",
      "endpoint": "/Order/GetRefundPayLogList",
      "pk_columns": [
        "id"
      ],
      "records": 36,
      "records_with_pk": 36,
      "missing": 0,
      "missing_samples": [],
      "pages": 1,
      "skipped_missing_pk": 0,
      "errors": 0,
      "error_detail": null
    },
    {
      "task_code": "ODS_PLATFORM_COUPON",
      "table": "billiards_ods.platform_coupon_redemption_records",
      "endpoint": "/Promotion/GetOfflineCouponConsumePageList",
      "pk_columns": [
        "id"
      ],
      "records": 16086,
      "records_with_pk": 16086,
      "missing": 0,
      "missing_samples": [],
      "pages": 161,
      "skipped_missing_pk": 0,
      "errors": 0,
      "error_detail": null
    },
    {
      "task_code": "ODS_MEMBER",
      "table": "billiards_ods.member_profiles",
      "endpoint": "/MemberProfile/GetTenantMemberList",
      "pk_columns": [
        "id"
      ],
      "records": 552,
      "records_with_pk": 552,
      "missing": 0,
      "missing_samples": [],
      "pages": 6,
      "skipped_missing_pk": 0,
      "errors": 0,
      "error_detail": null
    },
    {
      "task_code": "ODS_MEMBER_CARD",
      "table": "billiards_ods.member_stored_value_cards",
      "endpoint": "/MemberProfile/GetTenantMemberCardList",
      "pk_columns": [
        "id"
      ],
      "records": 938,
      "records_with_pk": 938,
      "missing": 0,
      "missing_samples": [],
      "pages": 10,
      "skipped_missing_pk": 0,
      "errors": 0,
      "error_detail": null
    },
    {
      "task_code": "ODS_MEMBER_BALANCE",
      "table": "billiards_ods.member_balance_changes",
      "endpoint": "/MemberProfile/GetMemberCardBalanceChange",
      "pk_columns": [
        "id"
      ],
      "records": 2429,
      "records_with_pk": 2429,
      "missing": 1,
      "missing_samples": [
        {
          "id": 3052862467248261
        }
      ],
      "pages": 25,
      "skipped_missing_pk": 0,
      "errors": 0,
      "error_detail": null
    },
    {
      "task_code": "ODS_RECHARGE_SETTLE",
      "table": "billiards_ods.recharge_settlements",
      "endpoint": "/Site/GetRechargeSettleList",
      "pk_columns": [
        "id"
      ],
      "records": 407,
      "records_with_pk": 407,
      "missing": 0,
      "missing_samples": [],
      "pages": 8,
      "skipped_missing_pk": 0,
      "errors": 0,
      "error_detail": null
    },
    {
      "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": [],
      "pages": 1,
      "skipped_missing_pk": 0,
      "errors": 0,
      "error_detail": null
    },
    {
      "task_code": "ODS_GROUP_BUY_REDEMPTION",
      "table": "billiards_ods.group_buy_redemption_records",
      "endpoint": "/Site/GetSiteTableUseDetails",
      "pk_columns": [
        "id"
      ],
      "records": 8234,
      "records_with_pk": 8234,
      "missing": 0,
      "missing_samples": [],
      "pages": 83,
      "skipped_missing_pk": 0,
      "errors": 0,
      "error_detail": null
    },
    {
      "task_code": "ODS_INVENTORY_STOCK",
      "table": "billiards_ods.goods_stock_summary",
      "endpoint": "/TenantGoods/GetGoodsStockReport",
      "pk_columns": [
        "sitegoodsid"
      ],
      "records": 169,
      "records_with_pk": 169,
      "missing": 0,
      "missing_samples": [],
      "pages": 2,
      "skipped_missing_pk": 0,
      "errors": 0,
      "error_detail": null
    },
    {
      "task_code": "ODS_INVENTORY_CHANGE",
      "table": "billiards_ods.goods_stock_movements",
      "endpoint": "/GoodsStockManage/QueryGoodsOutboundReceipt",
      "pk_columns": [
        "sitegoodsstockid"
      ],
      "records": 28364,
      "records_with_pk": 28364,
      "missing": 0,
      "missing_samples": [],
      "pages": 288,
      "skipped_missing_pk": 0,
      "errors": 0,
      "error_detail": null
    },
    {
      "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": [],
      "pages": 1,
      "skipped_missing_pk": 0,
      "errors": 0,
      "error_detail": null
    },
    {
      "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": [],
      "pages": 1,
      "skipped_missing_pk": 0,
      "errors": 0,
      "error_detail": null
    },
    {
      "task_code": "ODS_STORE_GOODS",
      "table": "billiards_ods.store_goods_master",
      "endpoint": "/TenantGoods/GetGoodsInventoryList",
      "pk_columns": [
        "id"
      ],
      "records": 169,
      "records_with_pk": 169,
      "missing": 0,
      "missing_samples": [],
      "pages": 2,
      "skipped_missing_pk": 0,
      "errors": 0,
      "error_detail": null
    },
    {
      "task_code": "ODS_TABLE_FEE_DISCOUNT",
      "table": "billiards_ods.table_fee_discount_records",
      "endpoint": "/Site/GetTaiFeeAdjustList",
      "pk_columns": [
        "id"
      ],
      "records": 1646,
      "records_with_pk": 1646,
      "missing": 0,
      "missing_samples": [],
      "pages": 17,
      "skipped_missing_pk": 0,
      "errors": 0,
      "error_detail": null
    },
    {
      "task_code": "ODS_TENANT_GOODS",
      "table": "billiards_ods.tenant_goods_master",
      "endpoint": "/TenantGoods/QueryTenantGoods",
      "pk_columns": [
        "id"
      ],
      "records": 170,
      "records_with_pk": 170,
      "missing": 0,
      "missing_samples": [],
      "pages": 2,
      "skipped_missing_pk": 0,
      "errors": 0,
      "error_detail": null
    },
    {
      "task_code": "ODS_SETTLEMENT_TICKET",
      "table": "billiards_ods.settlement_ticket_details",
      "endpoint": "/Order/GetOrderSettleTicketNew",
      "pk_columns": [
        "ordersettleid"
      ],
      "records": 22241,
      "records_with_pk": 0,
      "missing": 0,
      "missing_samples": [],
      "pages": 226,
      "skipped_missing_pk": 22241,
      "errors": 0,
      "error_detail": null,
      "source_endpoint": "/PayLog/GetPayLogListPage"
    }
  ],
  "total_missing": 2,
  "total_errors": 0,
  "generated_at": "2026-01-16T02:07:24.368217+08:00"
}
