{
  "dim_site": [
    [
      "字段名",
      "类型",
      "来源字段",
      "说明",
      "关键角色"
    ],
    [
      "site_id",
      "bigint",
      "siteProfile.id",
      "门店主键 ID，唯一标识一家门店。与所有事实表中的 site_id 对应。",
      "主键"
    ],
    [
      "org_id",
      "bigint",
      "siteProfile.org_id",
      "上级组织 ID，用于区域组织划分。",
      "外键"
    ],
    [
      "shop_name",
      "string",
      "siteProfile.shop_name",
      "门店名称，展示用。",
      "-"
    ],
    [
      "business_tel",
      "string",
      "siteProfile.business_tel",
      "门店电话。",
      "-"
    ],
    [
      "full_address",
      "string",
      "siteProfile.full_address",
      "门店完整地址。",
      "-"
    ],
    [
      "tenant_id",
      "bigint",
      "siteProfile.tenant_id",
      "租户 ID。与其它表 tenant_id 对应。",
      "外键"
    ]
  ],
  "dim_site_Ex": [
    [
      "字段名",
      "类型",
      "来源字段",
      "说明",
      "关键角色"
    ],
    [
      "site_id",
      "bigint",
      "siteProfile.id",
      "门店主键 ID，唯一标识一家门店。与所有事实表中的 site_id 对应。",
      "主键"
    ],
    [
      "avatar",
      "string",
      "siteProfile.avatar",
      "门店头像 URL。",
      "-"
    ],
    [
      "address",
      "string",
      "siteProfile.address",
      "地址简写。",
      "-"
    ],
    [
      "longitude",
      "decimal",
      "siteProfile.longitude",
      "经度。",
      "-"
    ],
    [
      "latitude",
      "decimal",
      "siteProfile.latitude",
      "纬度。",
      "-"
    ],
    [
      "tenant_site_region_id",
      "bigint",
      "siteProfile.tenant_site_region_id",
      "地区编码。",
      "-"
    ],
    [
      "auto_light",
      "int",
      "siteProfile.auto_light",
      "是否自动控制灯光：1=是，2=否（根据系统约定）。",
      "-"
    ],
    [
      "light_status",
      "int",
      "siteProfile.light_status",
      "灯光状态，系统预留字段。",
      "-"
    ],
    [
      "light_type",
      "int",
      "siteProfile.light_type",
      "灯光类型，预留字段。",
      "-"
    ],
    [
      "light_token",
      "string",
      "siteProfile.light_token",
      "灯光控制令牌。",
      "-"
    ],
    [
      "site_type",
      "int",
      "siteProfile.site_type",
      "门店类型枚举（未在导出中说明，视系统配置）。",
      "-"
    ],
    [
      "site_label",
      "string",
      "siteProfile.site_label",
      "门店标签，展示用。",
      "-"
    ],
    [
      "attendance_enabled",
      "int",
      "siteProfile.attendance_enabled",
      "门店是否启用考勤功能：1=启用，2=不启用。",
      "-"
    ],
    [
      "attendance_distance",
      "int",
      "siteProfile.attendance_distance",
      "考勤打卡距离限制（米）。",
      "-"
    ],
    [
      "customer_service_qrcode",
      "string",
      "siteProfile.customer_service_qrcode",
      "客服二维码 URL。",
      "-"
    ],
    [
      "customer_service_wechat",
      "string",
      "siteProfile.customer_service_wechat",
      "客服微信号。",
      "-"
    ],
    [
      "fixed_pay_qrCode",
      "string",
      "siteProfile.fixed_pay_qrCode",
      "固定收款二维码。",
      "-"
    ],
    [
      "prod_env",
      "string",
      "siteProfile.prod_env",
      "环境标记（生产/测试）。",
      "-"
    ],
    [
      "shop_status",
      "int",
      "siteProfile.shop_status",
      "门店状态，未在文档解释。",
      "-"
    ],
    [
      "create_time",
      "datetime",
      "siteProfile.create_time",
      "门店创建时间。",
      "-"
    ],
    [
      "update_time",
      "datetime",
      "siteProfile.update_time",
      "门店最近更新时间。",
      "-"
    ]
  ],
  "dim_table": [
    [
      "字段名",
      "类型",
      "来源字段",
      "说明",
      "关键角色"
    ],
    [
      "table_id",
      "bigint",
      "id",
      "台桌主键，唯一标识一张台或包厢。",
      "主键"
    ],
    [
      "tenant_id",
      "bigint",
      "tenantId",
      "租户 ID。",
      "外键"
    ],
    [
      "site_id",
      "bigint",
      "siteId",
      "门店 ID。",
      "外键"
    ],
    [
      "table_name",
      "string",
      "tableName",
      "台桌名称/编号，如 A17、888。",
      "-"
    ],
    [
      "site_table_area_id",
      "bigint",
      "siteTableAreaId",
      "门店区 ID，用于区分 A区/B区/补时区等。",
      "外键"
    ],
    [
      "site_table_area_name",
      "string",
      "siteTableAreaName",
      "区域名称，如 “A区”“补时长”。",
      "-"
    ],
    [
      "tenant_table_area_id",
      "bigint",
      "tenantTableAreaId",
      "租户级区域 ID。",
      "外键"
    ],
    [
      "table_price",
      "decimal",
      "-",
      "台桌基础单价，从table_fee_transactions取值。\n方法：对应本表id，table_fee_transactions表的site_table_id。",
      "-"
    ]
  ],
  "dim_table_Ex": [
    [
      "字段名",
      "类型",
      "来源字段",
      "说明",
      "关键角色"
    ],
    [
      "table_id",
      "bigint",
      "id",
      "台桌主键，唯一标识一张台或包厢。",
      "主键"
    ],
    [
      "show_status",
      "int",
      "showStatus",
      "显示状态：1=正常台；其他值=特殊用途（包厢、补时长等）。",
      "-"
    ],
    [
      "is_online_reservation",
      "int",
      "isOnlineReservation",
      "是否可线上预约：1=是，2=否。",
      "-"
    ],
    [
      "table_cloth_use_time",
      "int",
      "tableClothUseTime",
      "已使用台呢时长（秒）。",
      "-"
    ],
    [
      "table_cloth_use_cycle",
      "int",
      "tableClothUseCycle",
      "台呢更换周期阈值（秒）。",
      "-"
    ],
    [
      "table_status",
      "int",
      "tableStatus",
      "当前台桌状态：1=空闲，2=使用中，3=暂停中，4=锁定。",
      "-"
    ],
    [
      "last_maintenance_time",
      "datetime",
      "lastMaintenanceTime",
      "最近保养时间（未在 JSON 中出现）。",
      "-"
    ],
    [
      "remark",
      "string",
      "remark",
      "备注信息。",
      "-"
    ]
  ],
  "dim_assistant": [
    [
      "字段名",
      "类型",
      "来源字段",
      "说明",
      "关键角色"
    ],
    [
      "assistant_id",
      "bigint",
      "id",
      "助教账号 ID，关联助教服务流水表。",
      "主键"
    ],
    [
      "user_id",
      "bigint",
      "user_id",
      "系统用户 ID，用于统一跨模块身份。",
      "外键"
    ],
    [
      "assistant_no",
      "string",
      "assistant_no",
      "助教工号/编号，业务识别用。",
      "-"
    ],
    [
      "real_name",
      "string",
      "real_name",
      "助教真实姓名。",
      "-"
    ],
    [
      "nickname",
      "string",
      "nickname",
      "前台展示昵称。",
      "-"
    ],
    [
      "mobile",
      "string",
      "mobile",
      "手机号码。",
      "-"
    ],
    [
      "tenant_id",
      "bigint",
      "tenant_id",
      "租户 ID。",
      "外键"
    ],
    [
      "site_id",
      "bigint",
      "site_id",
      "门店 ID。",
      "外键"
    ],
    [
      "team_id",
      "bigint",
      "team_id",
      "助教团队 ID。",
      "外键"
    ],
    [
      "team_name",
      "string",
      "team_name",
      "团队名称。",
      "-"
    ],
    [
      "level",
      "int",
      "level",
      "助教等级：8=管理员、10=初级、20=中级、30=高级、40=专家。",
      "-"
    ],
    [
      "entry_time",
      "datetime",
      "entry_time",
      "入职时间。",
      "-"
    ],
    [
      "resign_time",
      "datetime",
      "resign_time",
      "离职时间；远未来日期表示在职。",
      "-"
    ],
    [
      "leave_status",
      "int",
      "leave_status",
      "在职状态：0=在职，1=已离职。",
      "-"
    ],
    [
      "assistant_status",
      "int",
      "assistant_status",
      "账号启用状态：1=启用，2=停用/冻结。",
      "-"
    ]
  ],
  "dim_assistant_Ex": [
    [
      "字段名",
      "类型",
      "来源字段",
      "说明",
      "关键角色"
    ],
    [
      "assistant_id",
      "bigint",
      "id",
      "助教账号 ID，关联助教服务流水表。",
      "主键"
    ],
    [
      "gender",
      "int",
      "gender",
      "性别枚举：0=未填/保密，1=男，2=女。",
      "-"
    ],
    [
      "birth_date",
      "datetime",
      "birth_date",
      "出生日期，默认为 0001-01-01 表示未设置。",
      "-"
    ],
    [
      "avatar",
      "string",
      "avatar",
      "头像 URL。",
      "-"
    ],
    [
      "introduce",
      "string",
      "introduce",
      "个人简介文案（目前为空）。",
      "-"
    ],
    [
      "video_introduction_url",
      "string",
      "video_introduction_url",
      "视频介绍 URL。",
      "-"
    ],
    [
      "height",
      "float",
      "height",
      "身高（厘米），0 表示未填。",
      "-"
    ],
    [
      "weight",
      "float",
      "weight",
      "体重（公斤），0 表示未填。",
      "-"
    ],
    [
      "shop_name",
      "string",
      "shop_name",
      "门店名称。",
      "-"
    ],
    [
      "group_id",
      "bigint",
      "group_id",
      "上级分组 ID，未使用。",
      "-"
    ],
    [
      "group_name",
      "string",
      "group_name",
      "上级分组名称，空。",
      "-"
    ],
    [
      "person_org_id",
      "bigint",
      "person_org_id",
      "人事组织 ID，用于权限和报表分组。",
      "-"
    ],
    [
      "staff_id",
      "bigint",
      "staff_id",
      "预留员工 ID（全部为0）。",
      "-"
    ],
    [
      "staff_profile_id",
      "bigint",
      "staff_profile_id",
      "外部人事档案 ID（全部为0）。",
      "-"
    ],
    [
      "assistant_grade",
      "float",
      "assistant_grade",
      "平均评分（0 表示暂无）。",
      "-"
    ],
    [
      "sum_grade",
      "float",
      "sum_grade",
      "总评分累加值。",
      "-"
    ],
    [
      "get_grade_times",
      "int",
      "get_grade_times",
      "累计评分次数。",
      "-"
    ],
    [
      "charge_way",
      "int",
      "charge_way",
      "计费方式：2=计时，其他未出现。",
      "-"
    ],
    [
      "allow_cx",
      "int",
      "allow_cx",
      "是否允许促销计费：1=允许。",
      "-"
    ],
    [
      "is_guaranteed",
      "int",
      "is_guaranteed",
      "是否有保底：1=是。",
      "-"
    ],
    [
      "salary_grant_enabled",
      "int",
      "salary_grant_enabled",
      "薪资发放开关（值2，具体含义未知）。",
      "-"
    ],
    [
      "entry_type",
      "int",
      "entry_type",
      "入职类型：1=正式；其他未出现。",
      "-"
    ],
    [
      "entry_sign_status",
      "int",
      "entry_sign_status",
      "入职签约状态：0=未签约，1=已签约（未出现）。",
      "-"
    ],
    [
      "resign_sign_status",
      "int",
      "resign_sign_status",
      "离职签约状态，未出现非 0。",
      "-"
    ],
    [
      "work_status",
      "int",
      "work_status",
      "工作状态：1=在岗，2=离岗。与 leave_status 呼应。",
      "-"
    ],
    [
      "show_status",
      "int",
      "show_status",
      "前台展示状态：1=显示；其他值未出现。",
      "-"
    ],
    [
      "show_sort",
      "int",
      "show_sort",
      "前端排序序号。",
      "-"
    ],
    [
      "online_status",
      "int",
      "online_status",
      "在线状态：1=在线。",
      "-"
    ],
    [
      "is_delete",
      "int",
      "is_delete",
      "逻辑删除标记：0=未删除，1=已删除。",
      "-"
    ],
    [
      "criticism_status",
      "int",
      "criticism_status",
      "投诉状态：1=正常，2=有投诉。",
      "-"
    ],
    [
      "create_time",
      "datetime",
      "create_time",
      "账号创建时间。",
      "-"
    ],
    [
      "update_time",
      "datetime",
      "update_time",
      "账号最近修改时间。",
      "-"
    ],
    [
      "start_time",
      "datetime",
      "start_time",
      "配置生效开始时间。",
      "-"
    ],
    [
      "end_time",
      "datetime",
      "end_time",
      "配置生效结束时间。",
      "-"
    ],
    [
      "last_table_id",
      "bigint",
      "last_table_id",
      "最近服务的台桌 ID（未必存在）。",
      "-"
    ],
    [
      "last_table_name",
      "string",
      "last_table_name",
      "最近服务球台名称。",
      "-"
    ],
    [
      "last_update_name",
      "string",
      "last_update_name",
      "最近更新该账号的管理员。",
      "-"
    ],
    [
      "order_trade_no",
      "bigint",
      "order_trade_no",
      "最近关联的订单号（非外键，仅做展示）。",
      "-"
    ],
    [
      "ding_talk_synced",
      "int",
      "ding_talk_synced",
      "是否同步钉钉：1=已同步。",
      "-"
    ],
    [
      "site_light_cfg_id",
      "bigint",
      "site_light_cfg_id",
      "灯控配置 ID（未启用）。",
      "-"
    ],
    [
      "light_equipment_id",
      "string",
      "light_equipment_id",
      "灯控设备 ID（未启用）。",
      "-"
    ],
    [
      "light_status",
      "int",
      "light_status",
      "灯控状态（值2，具体含义未知）。",
      "-"
    ],
    [
      "is_team_leader",
      "int",
      "is_team_leader",
      "是否团队长：0=否，1=是。",
      "-"
    ],
    [
      "serial_number",
      "bigint",
      "serial_number",
      "",
      ""
    ]
  ],
  "dim_member": [
    [
      "字段名",
      "类型",
      "来源字段",
      "说明",
      "关键角色"
    ],
    [
      "member_id",
      "bigint",
      "id",
      "租户内会员主键。",
      "主键"
    ],
    [
      "system_member_id",
      "bigint",
      "system_member_id",
      "跨租户全局会员 ID。",
      "外键"
    ],
    [
      "tenant_id",
      "bigint",
      "tenant_id",
      "租户 ID。",
      "外键"
    ],
    [
      "register_site_id",
      "bigint",
      "register_site_id",
      "注册门店 ID。",
      "外键"
    ],
    [
      "mobile",
      "string",
      "mobile",
      "会员手机号。",
      "-"
    ],
    [
      "nickname",
      "string",
      "nickname",
      "昵称（未必是真实姓名）。",
      "-"
    ],
    [
      "member_card_grade_code",
      "int",
      "member_card_grade_code",
      "会员等级代码：1=金卡？2=银卡？3=钻石卡？4=黑卡？（按照 MD 文档枚举）。",
      "-"
    ],
    [
      "member_card_grade_name",
      "string",
      "member_card_grade_name",
      "等级名称，中文描述。",
      "-"
    ],
    [
      "create_time",
      "datetime",
      "create_time",
      "会员档案创建时间。",
      "-"
    ],
    [
      "update_time",
      "datetime",
      "update_time",
      "最近更新时间。",
      "-"
    ]
  ],
  "dim_member_Ex": [
    [
      "字段名",
      "类型",
      "来源字段",
      "说明",
      "关键角色"
    ],
    [
      "member_id",
      "bigint",
      "id",
      "租户内会员主键。",
      "主键"
    ],
    [
      "referrer_member_id",
      "bigint",
      "referrer_member_id",
      "推荐人会员 ID，营销分析用。",
      "-"
    ],
    [
      "point",
      "decimal",
      "point",
      "积分余额（暂未启用）。",
      "-"
    ],
    [
      "register_site_name",
      "string",
      "site_name",
      "注册门店名称。",
      "-"
    ],
    [
      "growth_value",
      "decimal",
      "growth_value",
      "成长值，暂未启用。",
      "-"
    ],
    [
      "user_status",
      "int",
      "user_status",
      "会员状态枚举：1=正常，其它值未出现。",
      "-"
    ],
    [
      "status",
      "int",
      "status",
      "帐户状态：1=正常；其它值未出现。",
      "-"
    ]
  ],
  "dim_member_card_account": [
    [
      "字段名",
      "类型",
      "来源字段",
      "说明",
      "关键角色"
    ],
    [
      "member_card_id",
      "bigint",
      "id",
      "会员卡账户主键，唯一标识一张具体卡。",
      "主键"
    ],
    [
      "tenant_id",
      "bigint",
      "tenant_id",
      "租户/品牌 ID，用于分隔不同业务主体。",
      "外键"
    ],
    [
      "register_site_id",
      "bigint",
      "register_site_id",
      "开卡门店 ID，对应 dim_site.site_id。",
      "外键"
    ],
    [
      "tenant_member_id",
      "bigint",
      "tenant_member_id",
      "对应会员档案中的 member_id（本租户内）。0 表示未绑定会员。",
      "外键"
    ],
    [
      "system_member_id",
      "bigint",
      "system_member_id",
      "全局会员 ID，用于跨租户统一会员身份。0 表示未绑定会员。",
      "外键"
    ],
    [
      "card_type_id",
      "bigint",
      "card_type_id",
      "卡种 ID，指向卡种配置表。与下面的 grade_code 共同定义卡类别。",
      "外键"
    ],
    [
      "member_card_grade_code",
      "bigint",
      "member_card_grade_code",
      "卡等级/卡类代码，区别不同类别卡。\n2790683528022853=储值卡，2790683528022856=活动抵用券，2790683528022855=台费卡，2790683528022858=酒水卡，2790683528022857=月卡",
      "-"
    ],
    [
      "member_card_grade_code_name",
      "string",
      "member_card_grade_code_name",
      "卡等级中文名称，与 member_card_grade_code 一一对应。",
      "-"
    ],
    [
      "member_card_type_name",
      "string",
      "member_card_type_name",
      "卡类型名称，通常与 grade_code_name 相同，纯展示字段。",
      "-"
    ],
    [
      "member_name",
      "string",
      "member_name",
      "持卡会员姓名快照，部分为空表示未绑定。",
      "-"
    ],
    [
      "member_mobile",
      "string",
      "member_mobile",
      "持卡会员手机号快照。",
      "-"
    ],
    [
      "balance",
      "decimal",
      "balance",
      "当前余额或额度。对储值卡表示余额，对其他卡表示剩余金额或次数。",
      "-"
    ],
    [
      "start_time",
      "datetime",
      "start_time",
      "卡片有效期开始时间。",
      "-"
    ],
    [
      "end_time",
      "datetime",
      "end_time",
      "卡片有效期结束时间。",
      "-"
    ],
    [
      "last_consume_time",
      "datetime",
      "last_consume_time",
      "最近一次消费时间；若为 \"1970-01-01\" 表示未消费过。",
      "-"
    ],
    [
      "status",
      "int",
      "status",
      "卡状态：1=正常可用；4=过期/停用。其他值在数据中未出现。",
      "-"
    ],
    [
      "is_delete",
      "int",
      "is_delete",
      "逻辑删除标记：0=未删除；1=已删除。",
      "-"
    ]
  ],
  "dim_member_card_account_Ex": [
    [
      "字段名",
      "字段名",
      "类型",
      "来源字段",
      "说明",
      "说明",
      "说明",
      "关键角色"
    ],
    [
      "member_card_id",
      "member_card_id",
      "bigint",
      "id",
      "会员卡账户主键，唯一标识一张具体卡。",
      "会员卡账户主键，唯一标识一张具体卡。",
      "会员卡账户主键，唯一标识一张具体卡。",
      "主键"
    ],
    [
      "site_name",
      "string",
      "site_name",
      "门店名称展示字段（全部相同）。",
      "门店名称展示字段（全部相同）。",
      "-"
    ],
    [
      "tenantName",
      "tenantName",
      "string",
      "tenantName",
      "租户名称（当前导出为空）。",
      "租户名称（当前导出为空）。",
      "租户名称（当前导出为空）。",
      "-"
    ],
    [
      "tenantAvatar",
      "tenantAvatar",
      "string",
      "tenantAvatar",
      "租户头像 URL（当前导出为空）。",
      "租户头像 URL（当前导出为空）。",
      "租户头像 URL（当前导出为空）。",
      "-"
    ],
    [
      "effect_site_id",
      "effect_site_id",
      "bigint",
      "effect_site_id",
      "卡片限定生效门店 ID。0 表示不限门店，配合 able_cross_site=1 表示全店通用。",
      "卡片限定生效门店 ID。0 表示不限门店，配合 able_cross_site=1 表示全店通用。",
      "卡片限定生效门店 ID。0 表示不限门店，配合 able_cross_site=1 表示全店通用。",
      "-"
    ],
    [
      "able_cross_site",
      "able_cross_site",
      "int",
      "able_cross_site",
      "是否允许跨门店使用该卡：1=允许跨店；0=仅限开卡门店。",
      "是否允许跨门店使用该卡：1=允许跨店；0=仅限开卡门店。",
      "是否允许跨门店使用该卡：1=允许跨店；0=仅限开卡门店。",
      "-"
    ],
    [
      "card_physics_type",
      "card_physics_type",
      "int",
      "card_physics_type",
      "物理卡类型：1=实体/标准卡；其他值未出现，含义未知。",
      "物理卡类型：1=实体/标准卡；其他值未出现，含义未知。",
      "物理卡类型：1=实体/标准卡；其他值未出现，含义未知。",
      "-"
    ],
    [
      "card_no",
      "card_no",
      "string",
      "card_no",
      "物理卡号或条码（当前全部为空）。",
      "物理卡号或条码（当前全部为空）。",
      "物理卡号或条码（当前全部为空）。",
      "-"
    ],
    [
      "bind_password",
      "bind_password",
      "string",
      "bind_password",
      "卡绑定密码（未启用）。",
      "卡绑定密码（未启用）。",
      "卡绑定密码（未启用）。",
      "-"
    ],
    [
      "use_scene",
      "use_scene",
      "string",
      "use_scene",
      "使用场景说明（当前为空）。",
      "使用场景说明（当前为空）。",
      "使用场景说明（当前为空）。",
      "-"
    ],
    [
      "denomination",
      "denomination",
      "decimal",
      "denomination",
      "面额或初始储值额度（当前均为0.0，未启用）。",
      "面额或初始储值额度（当前均为0.0，未启用）。",
      "面额或初始储值额度（当前均为0.0，未启用）。",
      "-"
    ],
    [
      "create_time",
      "create_time",
      "datetime",
      "create_time",
      "卡片创建时间。",
      "卡片创建时间。",
      "卡片创建时间。",
      "-"
    ],
    [
      "disable_start_time",
      "disable_start_time",
      "datetime",
      "disable_start_time",
      "卡片禁用开始时间，当前为默认值表示未禁用。",
      "卡片禁用开始时间，当前为默认值表示未禁用。",
      "卡片禁用开始时间，当前为默认值表示未禁用。",
      "-"
    ],
    [
      "disable_end_time",
      "disable_end_time",
      "datetime",
      "disable_end_time",
      "卡片禁用结束时间，当前为默认值表示未禁用。",
      "卡片禁用结束时间，当前为默认值表示未禁用。",
      "卡片禁用结束时间，当前为默认值表示未禁用。",
      "-"
    ],
    [
      "is_allow_give",
      "is_allow_give",
      "int",
      "is_allow_give",
      "是否允许转赠给他人：0=不允许；1=允许。",
      "是否允许转赠给他人：0=不允许；1=允许。",
      "是否允许转赠给他人：0=不允许；1=允许。",
      "-"
    ],
    [
      "is_allow_order_deduct",
      "is_allow_order_deduct",
      "int",
      "is_allow_order_deduct",
      "是否允许在订单层面统一扣款：0=不允许；1=允许。",
      "是否允许在订单层面统一扣款：0=不允许；1=允许。",
      "是否允许在订单层面统一扣款：0=不允许；1=允许。",
      "-"
    ],
    [
      "sort",
      "sort",
      "int",
      "sort",
      "前端排序序号。",
      "前端排序序号。",
      "前端排序序号。",
      "-"
    ],
    [
      "table_discount",
      "table_discount",
      "float",
      "table_discount",
      "台费折扣率（折扣百分比，10.0=不打折，9.0=九折等）。当前全部 10.0。",
      "台费折扣率（折扣百分比，10.0=不打折，9.0=九折等）。当前全部 10.0。",
      "台费折扣率（折扣百分比，10.0=不打折，9.0=九折等）。当前全部 10.0。",
      "-"
    ],
    [
      "goods_discount",
      "goods_discount",
      "float",
      "goods_discount",
      "商品折扣率，当前为 10.0 表示无折扣。",
      "商品折扣率，当前为 10.0 表示无折扣。",
      "商品折扣率，当前为 10.0 表示无折扣。",
      "-"
    ],
    [
      "assistant_discount",
      "assistant_discount",
      "float",
      "assistant_discount",
      "助教服务折扣率，当前为 10.0。",
      "助教服务折扣率，当前为 10.0。",
      "助教服务折扣率，当前为 10.0。",
      "-"
    ],
    [
      "assistant_reward_discount",
      "assistant_reward_discount",
      "float",
      "assistant_reward_discount",
      "助教奖励折扣率，当前为 10.0（未启用）。",
      "助教奖励折扣率，当前为 10.0（未启用）。",
      "助教奖励折扣率，当前为 10.0（未启用）。",
      "-"
    ],
    [
      "table_service_discount",
      "table_service_discount",
      "float",
      "table_service_discount",
      "台费服务类折扣率，当前为 10.0。",
      "台费服务类折扣率，当前为 10.0。",
      "台费服务类折扣率，当前为 10.0。",
      "-"
    ],
    [
      "goods_service_discount",
      "goods_service_discount",
      "float",
      "goods_service_discount",
      "商品服务折扣率，当前为 10.0。",
      "商品服务折扣率，当前为 10.0。",
      "商品服务折扣率，当前为 10.0。",
      "-"
    ],
    [
      "assistant_service_discount",
      "assistant_service_discount",
      "float",
      "assistant_service_discount",
      "助教服务类折扣率，当前为 10.0。",
      "助教服务类折扣率，当前为 10.0。",
      "助教服务类折扣率，当前为 10.0。",
      "-"
    ],
    [
      "coupon_discount",
      "coupon_discount",
      "float",
      "coupon_discount",
      "使用券的折扣比例（全部 10.0，未使用）。",
      "使用券的折扣比例（全部 10.0，未使用）。",
      "使用券的折扣比例（全部 10.0，未使用）。",
      "-"
    ],
    [
      "table_discount_sub_switch",
      "table_discount_sub_switch",
      "int",
      "table_discount_sub_switch",
      "台费折扣叠加开关：1=叠加其他折扣；2=不叠加，仅用卡折扣。",
      "台费折扣叠加开关：1=叠加其他折扣；2=不叠加，仅用卡折扣。",
      "台费折扣叠加开关：1=叠加其他折扣；2=不叠加，仅用卡折扣。",
      "-"
    ],
    [
      "goods_discount_sub_switch",
      "goods_discount_sub_switch",
      "int",
      "goods_discount_sub_switch",
      "商品折扣叠加开关，意义同上。",
      "商品折扣叠加开关，意义同上。",
      "商品折扣叠加开关，意义同上。",
      "-"
    ],
    [
      "assistant_discount_sub_switch",
      "assistant_discount_sub_switch",
      "int",
      "assistant_discount_sub_switch",
      "助教折扣叠加开关，意义同上。",
      "助教折扣叠加开关，意义同上。",
      "助教折扣叠加开关，意义同上。",
      "-"
    ],
    [
      "assistant_reward_discount_sub_switch",
      "assistant_reward_discount_sub_switch",
      "int",
      "assistant_reward_discount_sub_switch",
      "助教奖励折扣叠加开关（未启用）。",
      "助教奖励折扣叠加开关（未启用）。",
      "助教奖励折扣叠加开关（未启用）。",
      "-"
    ],
    [
      "goods_discount_range_type",
      "goods_discount_range_type",
      "int",
      "goods_discount_range_type",
      "商品折扣范围类型，未在文档说明具体含义。",
      "商品折扣范围类型，未在文档说明具体含义。",
      "商品折扣范围类型，未在文档说明具体含义。",
      "-"
    ],
    [
      "table_deduct_radio",
      "table_deduct_radio",
      "float",
      "table_deduct_radio",
      "台费抵扣比例（百分比）。100.0 表示允许全额抵扣；0=不允许。",
      "台费抵扣比例（百分比）。100.0 表示允许全额抵扣；0=不允许。",
      "台费抵扣比例（百分比）。100.0 表示允许全额抵扣；0=不允许。",
      "-"
    ],
    [
      "goods_deduct_radio",
      "goods_deduct_radio",
      "float",
      "goods_deduct_radio",
      "商品抵扣比例，意义同上。",
      "商品抵扣比例，意义同上。",
      "商品抵扣比例，意义同上。",
      "-"
    ],
    [
      "assistant_deduct_radio",
      "assistant_deduct_radio",
      "float",
      "assistant_deduct_radio",
      "助教抵扣比例，意义同上。",
      "助教抵扣比例，意义同上。",
      "助教抵扣比例，意义同上。",
      "-"
    ],
    [
      "table_service_deduct_radio",
      "table_service_deduct_radio",
      "float",
      "table_service_deduct_radio",
      "台费服务金抵扣比例。",
      "台费服务金抵扣比例。",
      "台费服务金抵扣比例。",
      "-"
    ],
    [
      "goods_service_deduct_radio",
      "goods_service_deduct_radio",
      "float",
      "goods_service_deduct_radio",
      "商品服务金抵扣比例。",
      "商品服务金抵扣比例。",
      "商品服务金抵扣比例。",
      "-"
    ],
    [
      "assistant_service_deduct_radio",
      "assistant_service_deduct_radio",
      "float",
      "assistant_service_deduct_radio",
      "助教服务金抵扣比例。",
      "助教服务金抵扣比例。",
      "助教服务金抵扣比例。",
      "-"
    ],
    [
      "assistant_reward_deduct_radio",
      "assistant_reward_deduct_radio",
      "float",
      "assistant_reward_deduct_radio",
      "助教奖励金抵扣比例（未启用）。",
      "助教奖励金抵扣比例（未启用）。",
      "助教奖励金抵扣比例（未启用）。",
      "-"
    ],
    [
      "coupon_deduct_radio",
      "coupon_deduct_radio",
      "float",
      "coupon_deduct_radio",
      "券抵扣比例（未启用）。",
      "券抵扣比例（未启用）。",
      "券抵扣比例（未启用）。",
      "-"
    ],
    [
      "cardSettleDeduct",
      "cardSettleDeduct",
      "float",
      "cardSettleDeduct",
      "结算时统一扣卡金额配置（当前为 0.0，未使用）。",
      "结算时统一扣卡金额配置（当前为 0.0，未使用）。",
      "结算时统一扣卡金额配置（当前为 0.0，未使用）。",
      "-"
    ],
    [
      "tableCardDeduct",
      "tableCardDeduct",
      "float",
      "tableCardDeduct",
      "台费扣卡金额配置，当前 0.0。",
      "台费扣卡金额配置，当前 0.0。",
      "台费扣卡金额配置，当前 0.0。",
      "-"
    ],
    [
      "tableServiceCardDeduct",
      "tableServiceCardDeduct",
      "float",
      "tableServiceCardDeduct",
      "台费服务金扣卡金额配置。",
      "台费服务金扣卡金额配置。",
      "台费服务金扣卡金额配置。",
      "-"
    ],
    [
      "goodsCarDeduct",
      "goodsCarDeduct",
      "float",
      "goodsCarDeduct",
      "商品扣卡金额配置。",
      "商品扣卡金额配置。",
      "商品扣卡金额配置。",
      "-"
    ],
    [
      "goodsServiceCardDeduct",
      "goodsServiceCardDeduct",
      "float",
      "goodsServiceCardDeduct",
      "商品服务金扣卡金额配置。",
      "商品服务金扣卡金额配置。",
      "商品服务金扣卡金额配置。",
      "-"
    ],
    [
      "assistantCardDeduct",
      "assistantCardDeduct",
      "float",
      "assistantCardDeduct",
      "助教扣卡金额配置。",
      "助教扣卡金额配置。",
      "助教扣卡金额配置。",
      "-"
    ],
    [
      "assistantServiceCardDeduct",
      "assistantServiceCardDeduct",
      "float",
      "assistantServiceCardDeduct",
      "助教服务金扣卡金额配置。",
      "助教服务金扣卡金额配置。",
      "助教服务金扣卡金额配置。",
      "-"
    ],
    [
      "assistantRewardCardDeduct",
      "assistantRewardCardDeduct",
      "float",
      "assistantRewardCardDeduct",
      "助教奖励金扣卡金额配置（未启用）。",
      "助教奖励金扣卡金额配置（未启用）。",
      "助教奖励金扣卡金额配置（未启用）。",
      "-"
    ],
    [
      "couponCardDeduct",
      "couponCardDeduct",
      "float",
      "couponCardDeduct",
      "使用券扣卡金额配置。",
      "使用券扣卡金额配置。",
      "使用券扣卡金额配置。",
      "-"
    ],
    [
      "deliveryFeeDeduct",
      "deliveryFeeDeduct",
      "float",
      "deliveryFeeDeduct",
      "配送费扣卡金额配置（未启用）。",
      "配送费扣卡金额配置（未启用）。",
      "配送费扣卡金额配置（未启用）。",
      "-"
    ],
    [
      "tableAreaId",
      "tableAreaId",
      "list",
      "tableAreaId",
      "可用台区 ID 列表，空表示不限台区。",
      "可用台区 ID 列表，空表示不限台区。",
      "可用台区 ID 列表，空表示不限台区。",
      "-"
    ],
    [
      "goodsCategoryId",
      "goodsCategoryId",
      "list",
      "goodsCategoryId",
      "可用商品分类 ID 列表，空表示不限制商品类别。",
      "可用商品分类 ID 列表，空表示不限制商品类别。",
      "可用商品分类 ID 列表，空表示不限制商品类别。",
      "-"
    ],
    [
      "pdAssisnatLevel",
      "pdAssisnatLevel",
      "list",
      "pdAssisnatLevel",
      "允许的陪打助教等级列表，空表示不限。",
      "允许的陪打助教等级列表，空表示不限。",
      "允许的陪打助教等级列表，空表示不限。",
      "-"
    ],
    [
      "cxAssisnatLevel",
      "cxAssisnatLevel",
      "list",
      "cxAssisnatLevel",
      "允许的促销助教等级列表，空表示不限。",
      "允许的促销助教等级列表，空表示不限。",
      "允许的促销助教等级列表，空表示不限。",
      "-"
    ]
  ],
  "dim_tenant_goods": [
    [
      "数据库字段名",
      "字段类型",
      "来源字段",
      "说明（含枚举值和取值说明）",
      "角色"
    ],
    [
      "tenant_goods_id",
      "BIGINT",
      "id",
      "租户级商品档案主键 ID，唯一标识一条商品档案。所有业务事实表（销售、库存等）中引用租户级商品时应指向此字段。",
      "主键"
    ],
    [
      "tenant_id",
      "BIGINT",
      "tenant_id",
      "租户/品牌 ID，用于区分不同商户。当前样本中全表同一值，但模型上应作为维表外键，用于关联租户维度。",
      "外键"
    ],
    [
      "supplier_id",
      "BIGINT",
      "supplier_id",
      "供应商 ID，用于关联供应商档案维度。当前样本全部为 0，说明门店尚未维护供应商信息或导出视图未包含真实供应商关联，但字段含义明确。",
      "外键"
    ],
    [
      "category_name",
      "VARCHAR(64)",
      "categoryName",
      "商品一级分类名称（可读名称），例如：零食、饮料、香烟、雪糕、小吃、酒水、面、槟榔等。真实分类关联通过 goods_category_id 与 goods_second_category_id 实现，此字段主要用于展示和直观分析。",
      "-"
    ],
    [
      "goods_category_id",
      "BIGINT",
      "goods_category_id",
      "商品一级分类 ID。与分类维表（例如 dim_goods_category）关联，构成商品分类的第一层。一个 goods_category_id 对应一个 category_name。",
      "外键"
    ],
    [
      "goods_second_category_id",
      "BIGINT",
      "goods_second_category_id",
      "商品二级分类 ID。与分类维表的二级节点关联，用于更细粒度的品类统计。取值数目约十四种，每个值属于某个一级分类之下。",
      "外键"
    ],
    [
      "goods_name",
      "VARCHAR(128)",
      "goods_name",
      "商品名称（前台展示名），如 “东方树叶”“红烧牛肉面”“百威 235 毫升”等。当前样本中基本唯一。作为用户认知的主显示名称，用于报表、前台展示、小票打印。",
      "-"
    ],
    [
      "goods_number",
      "VARCHAR(64)",
      "goods_number",
      "商品内部编号或自定义货号。当前样本中各记录不重复，如 “1”“2”“10”“11” 等。可用于与其他系统对接或人工查找，有一定对账和排错价值。",
      "-"
    ],
    [
      "unit",
      "VARCHAR(16)",
      "unit",
      "商品计量单位，例如：瓶、包、个、份、根、盒、杯、桶、盘、支等。用于解释数量含义，是销售数量与库存数量的度量单位。",
      "-"
    ],
    [
      "market_price",
      "DECIMAL(18,2)",
      "market_price",
      "商品标价或标准销售单价。例如 2、5、6、8、10、12、15、18、20、28 元。POS 默认销售价格，结算时的基础金额字段。",
      "-"
    ],
    [
      "goods_state",
      "INT",
      "goods_state",
      "商品状态枚举。当前样本全部为 1，推测含义为“正常”“已上架”或“有效”。其他值（数据中未出现）通常表示下架、停用或草稿状态。用于控制商品是否可销售。",
      "-"
    ],
    [
      "create_time",
      "DATETIME",
      "create_time",
      "商品档案创建时间，格式为 “YYYY-MM-DD HH:MM:SS”。每条记录唯一。用于增量抽取和审计，也可用于分析商品生命周期。",
      "-"
    ],
    [
      "update_time",
      "DATETIME",
      "update_time",
      "商品档案最近一次修改时间，可为空（表示自创建后未修改）。用于增量同步、变化跟踪和审计分析。",
      "-"
    ],
    [
      "is_delete",
      "INT",
      "is_delete",
      "逻辑删除标志。枚举：0 表示未删除（有效商品）；1 表示已逻辑删除（在前台不再展示）。当前样本全部为 0。用于软删除控制和历史数据保留。",
      "-"
    ]
  ],
  "dim_tenant_goods_Ex": [
    [
      "数据库字段名",
      "字段类型",
      "来源字段",
      "说明（含枚举值和取值说明）",
      "角色"
    ],
    [
      "tenant_goods_id",
      "BIGINT",
      "id",
      "租户级商品档案主键 ID，唯一标识一条商品档案。所有业务事实表（销售、库存等）中引用租户级商品时应指向此字段。",
      "主键"
    ],
    [
      "remark_name",
      "VARCHAR(128)",
      "remark_name",
      "商品备注名或别名，目前样本中均为空。设计用途为简写名、特殊展示名或内部备注，在当前门店尚未启用。",
      "-"
    ],
    [
      "pinyin_initial",
      "VARCHAR(128)",
      "pinyin_initial",
      "商品拼音首字母或助记码，用于前台按拼音检索，如 “DFSY,DFSX”“HSNRM,GSNRM”“SP” 等。主要为操作便利，对经营分析影响较小。",
      "-"
    ],
    [
      "goods_cover",
      "VARCHAR(512)",
      "goods_cover",
      "商品封面图片 URL，用于前端展示商品图片。多个商品可能共用同一图片。对经营和结算逻辑无直接影响。",
      "-"
    ],
    [
      "goods_bar_code",
      "VARCHAR(64)",
      "goods_bar_code",
      "商品条码（如 EAN 码）。当前样本全部为空。含义明确但尚未使用，未来可用于扫码收银或与第三方商品库对接。",
      "-"
    ],
    [
      "commodity_code",
      "VARCHAR(64)",
      "commodity_code",
      "对外商品编码或系列编码，用于与外部系统或其他内部模块对接。例如 “10000”“100000”“10000028”等。一个编码在多条商品上复用，说明它不是主键而是“系列标识”或“外部编码”。具体业务含义依赖上游系统定义。",
      "-"
    ],
    [
      "commodity_code_list",
      "VARCHAR(256)",
      "commodityCode",
      "商品编码列表的序列化形式，对应源 JSON 的数组字段（当前每条记录仅一个元素）。设计上支持 “一个商品多个编码” 场景，目前仅为 commodity_code 的冗余表现形式。",
      "-"
    ],
    [
      "min_discount_price",
      "DECIMAL(18,2)",
      "min_discount_price",
      "商品可售最低价（底价）。部分记录为 0.00，表示未设置底价或沿用系统默认规则。用于限制打折或手动改价的下限，防止亏损销售。",
      "-"
    ],
    [
      "cost_price",
      "DECIMAL(18,2)",
      "cost_price",
      "商品成本价，当前大多数为 0.00，仅少数录入 2.0、2.5、3.0 等。用于成本核算与毛利分析。虽当前门店未完整维护，但字段含义清晰，属于成本分析必备结构。",
      "-"
    ],
    [
      "cost_price_type",
      "INT",
      "cost_price_type",
      "成本价格类型枚举，用于标识成本价的来源或计算方式。已知取值：1 和 2。常见推测：1 表示手工录入成本；2 表示按最近进货价或加权平均价生成。具体含义需结合系统枚举字典确认。",
      "-"
    ],
    [
      "able_discount",
      "INT",
      "able_discount",
      "是否允许该商品参与折扣的标志。已知取值：1。按命名推断枚举约定为：1 表示允许参与打折；0 表示不允许参与打折（当前样本未出现）。配合活动、整单折扣等控制哪些商品可享优惠。",
      "-"
    ],
    [
      "sale_channel",
      "INT",
      "sale_channel",
      "销售渠道类型枚举。当前样本全部为 1，推测为“线下门店正常销售渠道”。理论上可扩展为不同渠道值，例如外卖、小程序、电商等，用于渠道维度分析。具体枚举说明依赖系统配置。",
      "-"
    ],
    [
      "is_warehousing",
      "INT",
      "is_warehousing",
      "是否纳入库存管理的标志。已知取值：1，表示纳入库存管理；0 则表示不纳入库存管理（虚拟商品等，当前未出现）。本门店所有商品均启用库存管理。",
      "-"
    ],
    [
      "is_in_site",
      "BOOLEAN",
      "isInSite",
      "是否在当前门店启用或上架。当前样本全部为 false。由于该文件是租户级商品档案视图，且 isInSite 全为 false，该字段在本视图的实际含义存在不确定性，可能仅在门店级商品表中才有明确业务意义。",
      "-"
    ],
    [
      "able_site_transfer",
      "INT",
      "able_site_transfer",
      "是否允许门店间调拨或门店级操作的枚举。已知取值：2 为绝大多数，0 为少数一条。按命名推测大致含义为：2 表示允许调拨或默认允许；0 表示禁止调拨。实际枚举定义需查阅系统配置，当前无法完全确定具体业务规则。",
      "-"
    ],
    [
      "",
      "",
      "",
      "",
      ""
    ],
    [
      "common_sale_royalty",
      "INT",
      "common_sale_royalty",
      "普通销售提成或佣金配置字段，单位和含义需结合上游系统（可能为金额或比例）。当前样本全部为 0，说明未启用商品级提成配置。",
      "-"
    ],
    [
      "point_sale_royalty",
      "INT",
      "point_sale_royalty",
      "积分销售相关的提成或赠送规则配置字段。当前样本全部为 0，同样未启用该功能。具体数值含义（百分比或固定值）需结合系统定义。",
      "-"
    ],
    [
      "out_goods_id",
      "BIGINT",
      "out_goods_id",
      "外部系统商品 ID，用于对接第三方平台或统一商品库时作为映射主键。目前样本全部为 0，说明尚未配置外部商品映射，具体对接规则依赖上游系统。",
      "-"
    ]
  ],
  "dim_store_goods": [
    [
      "数据库字段名",
      "字段类型",
      "来源字段",
      "说明（含枚举值和取值说明）",
      "角色"
    ],
    [
      "site_goods_id",
      "bigint",
      "id",
      "门店级商品 ID，本表主键；其它业务表中的 site_goods_id 与此对应，用于库存、销售等关联。",
      "主键"
    ],
    [
      "tenant_id",
      "bigint",
      "tenant_id",
      "租户/品牌 ID，同一品牌下多个门店共享，用于跨门店汇总分析。",
      "外键"
    ],
    [
      "site_id",
      "bigint",
      "site_id",
      "门店 ID，对应门店维度表主键。",
      "外键"
    ],
    [
      "tenant_goods_id",
      "bigint",
      "tenant_goods_id",
      "租户级（品牌级）商品 ID，用于关联 dim_tenant_goods，实现跨门店统一商品档案。",
      "外键"
    ],
    [
      "goods_name",
      "varchar",
      "goods_name",
      "商品名称，例如“合味道泡面”“地道肠”“茶位费”。",
      "-"
    ],
    [
      "goods_category_id",
      "bigint",
      "goods_category_id",
      "商品一级分类 ID，对应商品分类维表主键，与 category_level1_name 一一对应。",
      "外键"
    ],
    [
      "goods_second_category_id",
      "bigint",
      "goods_second_category_id",
      "商品二级分类 ID，其父分类为 goods_category_id。",
      "外键"
    ],
    [
      "category_level1_name",
      "varchar",
      "oneCategoryName",
      "一级分类名称，如“零食”“酒水”“服务费”，用于报表维度展示。",
      "-"
    ],
    [
      "category_level2_name",
      "varchar",
      "twoCategoryName",
      "二级分类名称，如“面”“洋酒”“纸巾”，用于更细粒度分类分析。",
      "-"
    ],
    [
      "batch_stock_qty",
      "int",
      "batch_stock_quantity",
      "当前成本批次的库存数量，用于按 cost_price 估算库存价值。",
      "-"
    ],
    [
      "sale_qty",
      "int",
      "sale_num",
      "截至导出时的销售数量（件），当前数据中与 total_sales_qty 相同。",
      "-"
    ],
    [
      "total_sales_qty",
      "int",
      "total_sales",
      "累计销售数量；当前导出周期下与 sale_qty 一致，为历史全量口径。",
      "-"
    ],
    [
      "sale_price",
      "decimal(18,2)",
      "sale_price",
      "商品标准销售价（挂牌价），单位为元。实际结算可能有折扣或券抵扣。",
      "-"
    ],
    [
      "created_at",
      "datetime",
      "create_time",
      "门店商品档案创建时间（在门店建立该商品档案时的时间点）。",
      "-"
    ],
    [
      "updated_at",
      "datetime",
      "update_time",
      "最近一次修改商品档案的时间（包括价格调整、状态变更等）。",
      "-"
    ],
    [
      "avg_monthly_sales",
      "decimal(18,4)",
      "average_monthly_sales",
      "平均月销量（件/月），由某个统计周期内销售数据折算而来，用于补货和品类管理分析。",
      "-"
    ],
    [
      "goods_state",
      "tinyint",
      "goods_state",
      "商品基础状态枚举：1=正常状态（主流值），2=特殊状态（如新建未完全启用或停售但未彻底下架，通常伴随 stock=0、days_on_shelf=0）。",
      "-"
    ],
    [
      "enable_status",
      "tinyint",
      "enable_status",
      "档案启用状态：1=启用；2=停用（推测，样本中未出现）；控制商品档案是否参与业务处理。",
      "-"
    ],
    [
      "send_state",
      "tinyint",
      "send_state",
      "销售端可售状态：1=可销售/可下单；其他值可能代表停售或仅内部使用（当前样本全部为 1）。",
      "-"
    ],
    [
      "is_deleted",
      "tinyint",
      "is_delete",
      "逻辑删除标志：0=未删除（有效档案）；1=已删除（逻辑删除，不再参与业务但保留历史引用）。",
      "-"
    ]
  ],
  "dim_store_goods_Ex": [
    [
      "数据库字段名",
      "字段类型",
      "来源字段",
      "说明（含枚举值和取值说明）",
      "角色"
    ],
    [
      "site_goods_id",
      "bigint",
      "id",
      "门店级商品 ID，本表主键；其它业务表中的 site_goods_id 与此对应，用于库存、销售等关联。",
      "主键"
    ],
    [
      "site_name",
      "varchar",
      "siteName",
      "门店名称，例如“朗朗桌球”，是对 site_id 的冗余展示，方便直接阅读。",
      "-"
    ],
    [
      "unit",
      "varchar",
      "unit",
      "销售计量单位，如“包”“瓶”“个”“份”“杯”等。",
      "-"
    ],
    [
      "goods_barcode",
      "varchar",
      "goods_bar_code",
      "商品条形码，用于扫码销售；当前样本多为空。",
      "-"
    ],
    [
      "goods_cover_url",
      "varchar",
      "goods_cover",
      "商品图片 URL，用于前端展示商品图片。",
      "-"
    ],
    [
      "pinyin_initial",
      "varchar",
      "pinyin_initial",
      "商品名称拼音首字母缩写，有时多个别名用逗号分隔，用于按字母快速检索和排序。",
      "-"
    ],
    [
      "stock_qty",
      "int",
      "stock",
      "当前主单位可用库存数量，以 unit 为单位。",
      "-"
    ],
    [
      "stock_secondary_qty",
      "int",
      "stock_A",
      "副单位库存数量；若商品存在双单位（如箱/瓶），用于记录副单位库存；当前门店未启用双单位库存，样本中为 0。",
      "-"
    ],
    [
      "safety_stock_qty",
      "int",
      "safe_stock",
      "安全库存阈值，低于该值时系统可提示补货；当前门店尚未配置，样本中为 0。",
      "-"
    ],
    [
      "cost_price",
      "decimal(18,4)",
      "cost_price",
      "商品单件成本价，单位元；部分商品为 0，表示未录入或由其它模块结转成本。",
      "-"
    ],
    [
      "cost_price_type",
      "tinyint",
      "cost_price_type",
      "成本类型枚举：1=固定成本价（按 cost_price 计），2=动态成本价（按采购单等方式结转，当前多数仍为暂估）。",
      "-"
    ],
    [
      "provisional_total_cost",
      "decimal(18,2)",
      "provisional_total_cost",
      "当前库存暂估总成本，单位元；通常约等于 batch_stock_qty × cost_price。",
      "-"
    ],
    [
      "total_purchase_cost",
      "decimal(18,2)",
      "total_purchase_cost",
      "当前库存总采购成本，单位元；当前样本中与 provisional_total_cost 相等，为后续精算成本预留。",
      "-"
    ],
    [
      "min_discount_price",
      "decimal(18,2)",
      "min_discount_price",
      "最低允许成交价（限价），单位元；收银改价时需保证成交价 ≥ 此值，为 0 时表示未设置限价或由其它规则控制。",
      "-"
    ],
    [
      "is_discountable",
      "tinyint",
      "able_discount",
      "是否允许参与折扣的标志：1=允许参与折扣；0=不参与任何折扣策略。当前样本全部为 1。",
      "-"
    ],
    [
      "days_on_shelf",
      "int",
      "days_available",
      "商品在架天数或可售天数，大致等于当前时间减去首次上架时间；0 通常表示刚建档或刚启用。",
      "-"
    ],
    [
      "audit_status",
      "tinyint",
      "audit_status",
      "审核状态枚举：2=审核通过（当前唯一值）；其他值可能代表待提交、待审核、审核不通过等。",
      "-"
    ],
    [
      "sale_channel",
      "tinyint",
      "sale_channel",
      "销售渠道枚举：当前样本全部为 1 表示线下门店渠道；其他值可用于区分外卖、线上商城等渠道。",
      "-"
    ],
    [
      "is_warehousing",
      "tinyint",
      "is_warehousing",
      "是否纳入库存管理：1=参与库存管理（有出入库流水）；0 或其他值可能表示不计库存（样本中全部为 1）。",
      "-"
    ],
    [
      "freeze_status",
      "tinyint",
      "freeze",
      "冻结状态：0=未冻结；非 0 可能表示锁定库存或禁止出库，具体业务规则需系统确认。",
      "-"
    ],
    [
      "forbid_sell_status",
      "tinyint",
      "forbid_sell_status",
      "禁止销售状态：1=未禁止，允许销售；2=被禁止销售，即使上架也不能卖（含义基于命名和行业惯例推测）。",
      "-"
    ],
    [
      "able_site_transfer",
      "tinyint",
      "able_site_transfer",
      "是否允许跨门店调拨或跨站点共享库存：2=不允许跨店调拨（当前主流值）；0=未配置（个别记录），含义为是否参与跨店调拨功能。",
      "-"
    ],
    [
      "custom_label_type",
      "tinyint",
      "custom_label_type",
      "自定义标签类型（基于字段名和取值推测）：2=使用自定义标签；1 可能表示使用系统默认标签。具体影响哪些标签功能需业务确认。",
      "-"
    ],
    [
      "option_required",
      "tinyint",
      "option_required",
      "是否需要额外选项或规格（基于字段名和取值推测）：1=不需要额外选项，按单规格销售；其他值可能表示必须选择配料或口味。当前样本全部为 1。",
      "-"
    ],
    [
      "remark",
      "varchar",
      "remark",
      "商品备注，可填写口味说明、供应商信息、注意事项等；当前样本全部为空。",
      "-"
    ],
    [
      "sort_order",
      "int",
      "sort",
      "前端展示排序权重，控制商品在列表中的显示顺序，具体规则（数值越大还是越小排前）由业务配置决定。",
      "-"
    ]
  ],
  "dim_goods_category": [
    [
      "数据库字段名",
      "字段类型",
      "来源字段",
      "说明（含枚举值和取值说明）",
      "角色（主键/外键/-）"
    ],
    [
      "category_id",
      "bigint",
      "id",
      "分类节点主键。来自分类树节点的 id，在整个商品分类维度内唯一。用于在事实表中作为商品分类外键引用。",
      "主键"
    ],
    [
      "tenant_id",
      "bigint",
      "tenant_id",
      "租户 ID（商户/品牌 ID）。当前所有节点取值相同，表示同一个租户下的分类树。事实表可通过该字段与租户维度或门店维度间接关联。",
      "外键"
    ],
    [
      "category_name",
      "varchar(50)",
      "category_name",
      "分类名称。一级大类示例：槟榔、器材、酒水、水果、零食、雪糕、香烟、其他、小吃。二级子类示例：槟榔、皮头、球杆、其他、饮料、酒水、茶水、咖啡、加料、洋酒、果盘、面、小吃等。用于前台展示和报表按细分类统计。",
      "-"
    ],
    [
      "alias_name",
      "varchar(50)",
      "alias_name",
      "分类别名。当前样例数据全部为空字符串，预留给业务方做简称或别名展示。对现阶段经营分析无影响。",
      "-"
    ],
    [
      "parent_category_id",
      "bigint",
      "pid",
      "父级分类 ID。根节点取值为 0，表示没有父分类；子节点取值为父分类的 id。与 category_id 共同形成树形层级关系。",
      "外键"
    ],
    [
      "business_name",
      "varchar(50)",
      "business_name",
      "业务大类名称。将多个细分类归入同一业务线。观测值与一级大类相同：槟榔、器材、酒水、水果、零食、雪糕、香烟、其他、小吃。子类的 business_name 继承所属根节点的大类名称。用于按业务线汇总库存和销售。",
      "-"
    ],
    [
      "tenant_goods_business_id",
      "bigint",
      "tenant_goods_business_id",
      "业务大类 ID。每个 business_name 对应唯一一个 tenant_goods_business_id，根节点和其下所有子节点共享同一取值。例如“酒水”大类及其子类饮料、茶水、咖啡、加料、洋酒拥有相同的业务 ID。可作为外键连接“业务线维度表”。",
      "外键"
    ],
    [
      "category_level",
      "tinyint",
      "由 pid 推导",
      "分类层级：1 表示一级大类（pid = 0），2 表示二级子类（pid ≠ 0）。方便在报表中区分大类与子类进行分组和展示层级控制。",
      "-"
    ],
    [
      "is_leaf",
      "tinyint",
      "由 categoryBoxes 推导",
      "是否叶子节点：1 表示叶子分类（categoryBoxes 为空列表），0 表示非叶子分类（存在子分类）。当前样例数据中，一级大类是非叶子节点，二级分类是叶子节点。用于树状导航或限制只能在叶子分类建商品。",
      "-"
    ],
    [
      "open_salesman",
      "tinyint",
      "open_salesman",
      "营业员开关控制。枚举含义根据业务系统定义，一般设计为：1 表示启用营业员/导购相关功能，2 表示关闭或不启用。当前样例所有分类取值为 2，说明这一套分类在库存模块中统一未启用营业员逻辑。对目前的经营分析影响较小。",
      "-"
    ],
    [
      "sort_order",
      "int",
      "sort",
      "分类排序序号。来自 sort 字段，用于前端展示顺序控制，数值越小越靠前。当前大部分分类为 0，仅少数为 1，说明排序配置较为粗略。对指标统计无实质影响。",
      "-"
    ],
    [
      "is_warehousing",
      "tinyint",
      "is_warehousing",
      "是否参与库存管理。枚举：1 表示参与库存管理，0 表示不参与（如服务类商品、手工费用）。当前文件中所有分类取值为 1，表示这一份分类树只包含“走库存”的商品分类。可在库存报表中用作过滤条件。",
      "-"
    ]
  ],
  "dim_goods_category_Ex": [
    [
      "数据库字段名",
      "字段类型",
      "来源字段",
      "说明（含枚举值和取值说明）",
      "角色（主键/外键/-）"
    ],
    [
      "category_id",
      "bigint",
      "id",
      "分类节点主键。来自分类树节点的 id，在整个商品分类维度内唯一。用于在事实表中作为商品分类外键引用。",
      "主键"
    ],
    [
      "tenant_id",
      "bigint",
      "tenant_id",
      "租户 ID（商户/品牌 ID）。当前所有节点取值相同，表示同一个租户下的分类树。事实表可通过该字段与租户维度或门店维度间接关联。",
      "外键"
    ],
    [
      "category_name",
      "varchar(50)",
      "category_name",
      "分类名称。一级大类示例：槟榔、器材、酒水、水果、零食、雪糕、香烟、其他、小吃。二级子类示例：槟榔、皮头、球杆、其他、饮料、酒水、茶水、咖啡、加料、洋酒、果盘、面、小吃等。用于前台展示和报表按细分类统计。",
      "-"
    ],
    [
      "alias_name",
      "varchar(50)",
      "alias_name",
      "分类别名。当前样例数据全部为空字符串，预留给业务方做简称或别名展示。对现阶段经营分析无影响。",
      "-"
    ],
    [
      "parent_category_id",
      "bigint",
      "pid",
      "父级分类 ID。根节点取值为 0，表示没有父分类；子节点取值为父分类的 id。与 category_id 共同形成树形层级关系。",
      "外键"
    ],
    [
      "business_name",
      "varchar(50)",
      "business_name",
      "业务大类名称。将多个细分类归入同一业务线。观测值与一级大类相同：槟榔、器材、酒水、水果、零食、雪糕、香烟、其他、小吃。子类的 business_name 继承所属根节点的大类名称。用于按业务线汇总库存和销售。",
      "-"
    ],
    [
      "tenant_goods_business_id",
      "bigint",
      "tenant_goods_business_id",
      "业务大类 ID。每个 business_name 对应唯一一个 tenant_goods_business_id，根节点和其下所有子节点共享同一取值。例如“酒水”大类及其子类饮料、茶水、咖啡、加料、洋酒拥有相同的业务 ID。可作为外键连接“业务线维度表”。",
      "外键"
    ],
    [
      "category_level",
      "tinyint",
      "由 pid 推导",
      "分类层级：1 表示一级大类（pid = 0），2 表示二级子类（pid ≠ 0）。方便在报表中区分大类与子类进行分组和展示层级控制。",
      "-"
    ],
    [
      "is_leaf",
      "tinyint",
      "由 categoryBoxes 推导",
      "是否叶子节点：1 表示叶子分类（categoryBoxes 为空列表），0 表示非叶子分类（存在子分类）。当前样例数据中，一级大类是非叶子节点，二级分类是叶子节点。用于树状导航或限制只能在叶子分类建商品。",
      "-"
    ],
    [
      "open_salesman",
      "tinyint",
      "open_salesman",
      "营业员开关控制。枚举含义根据业务系统定义，一般设计为：1 表示启用营业员/导购相关功能，2 表示关闭或不启用。当前样例所有分类取值为 2，说明这一套分类在库存模块中统一未启用营业员逻辑。对目前的经营分析影响较小。",
      "-"
    ],
    [
      "sort_order",
      "int",
      "sort",
      "分类排序序号。来自 sort 字段，用于前端展示顺序控制，数值越小越靠前。当前大部分分类为 0，仅少数为 1，说明排序配置较为粗略。对指标统计无实质影响。",
      "-"
    ],
    [
      "is_warehousing",
      "tinyint",
      "is_warehousing",
      "是否参与库存管理。枚举：1 表示参与库存管理，0 表示不参与（如服务类商品、手工费用）。当前文件中所有分类取值为 1，表示这一份分类树只包含“走库存”的商品分类。可在库存报表中用作过滤条件。",
      "-"
    ]
  ],
  "dim_groupbuy_package": [
    [
      "数据库字段名",
      "字段类型",
      "来源字段",
      "说明（含枚举与取值说明）",
      "角色"
    ],
    [
      "groupbuy_package_id",
      "bigint",
      "id",
      "门店侧团购套餐主键。每条记录一个套餐定义，供团购券核销记录指向。平台验券记录中的 group_package_id 通常指向这里。",
      "主键"
    ],
    [
      "tenant_id",
      "bigint",
      "tenant_id",
      "租户（品牌/商户）ID。本数据集中全表相同，表示同一品牌。",
      "外键（指向租户维）"
    ],
    [
      "site_id",
      "bigint",
      "site_id",
      "门店 ID，本表所有记录属于同一门店。与其他 JSON 的 site_id 一致。",
      "外键（指向门店维）"
    ],
    [
      "package_name",
      "varchar(200)",
      "package_name",
      "团购套餐名称，用于前台展示及核销界面，例如“早场特惠一小时”“KTV欢唱四小时”等。",
      "-"
    ],
    [
      "package_template_id",
      "bigint",
      "package_id",
      "上层套餐 ID 或总部/系统级套餐 ID。多个 groupbuy_package_id 可能共享同一个 package_template_id，表示同一业务套餐在不同门店或不同版本下的配置。",
      "外键（指向套餐模板维，后续可建）"
    ],
    [
      "selling_price",
      "decimal(10,2)",
      "selling_price",
      "团购售卖价，面向顾客在外部平台的成交价格。当前样本全部为 0，实际平台售价可能在外部系统，不在本地落地。",
      "-"
    ],
    [
      "coupon_face_value",
      "decimal(10,2)",
      "coupon_money",
      "券面值或内部结算面值。表示此套餐在门店侧可以抵扣的金额，用于验券或套餐流水时记账。例如“早场特惠一小时”可配置为 40.00，“KTV欢唱四小时”可配置为 200.00。当前样本为 0 但字段设计上非常关键。",
      "-"
    ],
    [
      "duration_seconds",
      "int",
      "duration",
      "套餐包含的时长，单位为秒。常见取值：3600 表示 1 小时，7200 表示 2 小时，14400 表示 4 小时。核销时可用于换算可用台费时长。",
      "-"
    ],
    [
      "start_time",
      "datetime",
      "start_time",
      "套餐整体生效开始时间。例如“2025-07-20 00:00:00”。通常从某日零点开始。",
      "-"
    ],
    [
      "end_time",
      "datetime",
      "end_time",
      "套餐整体生效结束时间。在该时间点之后不可使用。极大日期（如 9999-12-31 23:59:59）可视为长期有效。",
      "-"
    ],
    [
      "table_area_name",
      "varchar(100)",
      "table_area_name",
      "套餐适用的门店台区名称，例如“A区中八”“B区中八”“斯诺克”“包厢”“KTV”等。主要用于展示和过滤，配合区域 ID 列实现人类可读的说明。",
      "-"
    ],
    [
      "is_enabled",
      "int",
      "is_enabled",
      "启用状态枚举。1 表示启用或上架；2 表示停用或下架。侧重表示“配置是否上架”，与 effective_status 区分。",
      "-"
    ],
    [
      "is_deleted",
      "int",
      "is_delete",
      "逻辑删除标志。0 表示正常；1 表示逻辑删除（数据仍保留但不再使用）。当前样本全部为 0。",
      "-"
    ],
    [
      "create_time",
      "datetime",
      "create_time",
      "套餐配置在系统中的创建时间，用于审计和版本追踪。",
      "-"
    ],
    [
      "tenant_table_area_id_list",
      "varchar(512)",
      "tenant_table_area_id_list",
      "租户级台区分组 ID 列表。当前每条记录为一个大整数（例如 2791960001957765）字符串，表示“台区分组”主键。系统通过此分组再关联到具体多个台区。",
      "外键（指向台区分组维，后续可建）"
    ],
    [
      "card_type_ids",
      "varchar(255)",
      "card_type_ids",
      "允许使用本套餐的会员卡类型 ID 列表。当前样本统一为字符串“0”，表示未限制卡种，任意顾客或任意会员卡都可使用。若未来启用，将以分隔的 ID 列表形式记录限定卡种。",
      "外键（潜在指向卡种维）"
    ]
  ],
  "dim_groupbuy_package_Ex": [
    [
      "数据库字段名",
      "字段类型",
      "来源字段",
      "说明（含枚举与取值说明）",
      "角色"
    ],
    [
      "groupbuy_package_id",
      "bigint",
      "id",
      "门店侧团购套餐主键。每条记录一个套餐定义，供团购券核销记录指向。平台验券记录中的 group_package_id 通常指向这里。",
      "主键"
    ],
    [
      "site_name",
      "varchar(100)",
      "site_name",
      "门店名称，当前均为“朗朗桌球”。属于冗余展示字段，可用于报表标题。",
      "-"
    ],
    [
      "usable_count",
      "int",
      "usable_count",
      "可使用次数上限。当前全部为 9999999，用作“无限次使用”的哨兵值。若未来限制次数，只需配置为具体次数。",
      "-"
    ],
    [
      "date_type",
      "int",
      "date_type",
      "日期限制类型枚举。当前样本全部为 1。推测常见含义：1 表示“全部日期可用”；其他值可用于区分工作日、周末或指定日期等模式。",
      "-"
    ],
    [
      "usable_range",
      "varchar(255)",
      "usable_range",
      "日期范围说明的文本，例如“周一至周五”等。当前全部为空字符串，实际规则由 date_type 与时间段字段控制。",
      "-"
    ],
    [
      "date_info",
      "varchar(255)",
      "date_info",
      "更细粒度的日期信息，可能用于存储具体日期列表或节假日规则，形式可能是编码或 JSON 字符串。当前几乎全部为空，仅有极少记录为“0”。",
      "-"
    ],
    [
      "start_clock",
      "varchar(16)",
      "start_clock",
      "每日可用时间段的起始时间（第一段），字符串格式 HH:MM:SS，例如“10:00:00”“00:00:00”。与 end_clock 组合定义日内时段。",
      "-"
    ],
    [
      "end_clock",
      "varchar(16)",
      "end_clock",
      "每日可用时间段的结束时间（第一段），字符串格式 HH:MM:SS。与 start_clock 共同描述第一段可用时段。",
      "-"
    ],
    [
      "add_start_clock",
      "varchar(16)",
      "add_start_clock",
      "附加可用时段的起始时间（第二段），格式 HH:MM:SS。当前样本常见值为“00:00:00”或“10:00:00”。用于配置早场加夜场等双时段场景。",
      "-"
    ],
    [
      "add_end_clock",
      "varchar(16)",
      "add_end_clock",
      "附加可用时段的结束时间（第二段）。常见值如“1.00:00:00”“18:00:00”“23:59:00”。其中“1.00:00:00”表示跨至次日零点，用于表示“可用到第二天凌晨”的场景。",
      "-"
    ],
    [
      "area_tag_type",
      "int",
      "area_tag_type",
      "区域标记类型枚举。当前样本全部为 1。推测 1 表示“按台区标签限制”（如 A 区、B 区、中八、斯诺克、包厢、KTV 等）。其他取值可能对应按具体台桌或其它规则限用。",
      "-"
    ],
    [
      "table_area_id",
      "bigint",
      "table_area_id",
      "单一台区 ID。当前样本全部为 0。原始设计用于限定只能在一个具体区域使用，但由于已引入多选逻辑，实际使用已迁移到 tenant_table_area_id_list。",
      "-"
    ],
    [
      "tenant_table_area_id",
      "bigint",
      "tenant_table_area_id",
      "租户级台区 ID，单值版本。当前样本全部为 0。与 table_area_id 类似，已被多选列表字段取代。",
      "-"
    ],
    [
      "table_area_id_list",
      "varchar(512)",
      "table_area_id_list",
      "门店级台区 ID 列表。当前样本全部为空字符串。根据命名推测原本用于存储多个 table_area_id，实际实现已转向租户维度列表字段。",
      "-"
    ],
    [
      "group_type",
      "int",
      "group_type",
      "团购类型枚举。当前样本全部为 1。推测 1 表示“计时类/台费类套餐”。其他取值可能用于商品类套餐、代金券类等，需结合系统配置进一步确认。",
      "-"
    ],
    [
      "system_group_type",
      "int",
      "system_group_type",
      "系统级团购类型枚举。当前样本全部为 1。推测 1 表示“券码类团购”，即通过券码核销。其他取值可能为卡内套餐、内部套餐等，具体含义有待业务确认。",
      "-"
    ],
    [
      "package_type",
      "int",
      "type",
      "内部业务子类型枚举。样本中取值有 1 与 2，各占比不同。具体含义不明，可能区分不同产品线或套餐来源，例如“平台合作套餐”与“自定义套餐”等，需要参考业务文档。",
      "-"
    ],
    [
      "effective_status",
      "int",
      "effective_status",
      "当前有效状态枚举，由系统根据时间及配置动态计算。观测值：1 表示当前有效，可正常核销；3 表示失效或已过期（即使 is_enabled 仍为 1，也不可使用）。可用于分析时过滤失效套餐。",
      "-"
    ],
    [
      "max_selectable_categories",
      "int",
      "max_selectable_categories",
      "最大可选择分类数或子项数，具体含义未在样本和说明中体现，当前值全部为 0。可能用于“组合型套餐”中限制可选项目数量。",
      "-"
    ],
    [
      "creator_name",
      "varchar(100)",
      "creator_name",
      "创建人名称，例如“店长:郑丽珊”。主要用于审计追踪和后台展示。",
      "-"
    ]
  ],
  "dwd_settlement_head": [
    [
      "数据库字段名",
      "字段类型",
      "来源字段",
      "说明（含枚举值和取值说明）",
      "角色",
      "业务重要性"
    ],
    [
      "order_settle_id",
      "BIGINT",
      "settleList.id",
      "结账记录主键 ID（订单结算 ID），全系统统一的结账单号，用于关联台费流水、助教流水、小票等明细表。",
      "主键",
      ""
    ],
    [
      "tenant_id",
      "BIGINT",
      "settleList.tenantId",
      "租户/商户 ID（品牌维度），与各业务 JSON 中的 tenantId 一致。",
      "外键",
      "重要"
    ],
    [
      "site_id",
      "BIGINT",
      "settleList.siteId",
      "门店 ID，用于关联门店维表 dim_site。",
      "外键",
      "重要"
    ],
    [
      "site_name",
      "VARCHAR(100)",
      "settleList.siteName",
      "门店名称快照，冗余展示字段，推荐通过 site_id 关联维表获取标准名称。",
      "-",
      "重要"
    ],
    [
      "table_id",
      "BIGINT",
      "settleList.tableId",
      "结账关联的桌台 ID，对应台桌维表 dim_site_table 的主键。",
      "外键",
      "重要"
    ],
    [
      "settle_name",
      "VARCHAR(100)",
      "settleList.settleName",
      "结账对象名称，一般为 “区域 + 桌号”，如 “A区 A17”，便于报表展示。",
      "-",
      "重要"
    ],
    [
      "order_trade_no",
      "BIGINT",
      "settleList.settleRelateId",
      "交易号 / 订单流水号，与台费、助教等明细中的 order_trade_no 一致，用于按“交易维度”串联各业务明细。",
      "-",
      "重要"
    ],
    [
      "create_time",
      "DATETIME",
      "settleList.createTime",
      "结账创建时间（收银端点击“确认结账”的时间），格式：YYYY-MM-DD HH:MM:SS。",
      "-",
      "重要"
    ],
    [
      "pay_time",
      "DATETIME",
      "settleList.payTime",
      "实际支付完成时间，通常晚于 create_time，用于资金结算及对账分析。",
      "-",
      "重要"
    ],
    [
      "settle_type",
      "TINYINT",
      "settleList.settleType",
      "结账类型枚举。样本中主要有：1=正常结账；3=特殊类型结账（如挂账、补单、调整单等，具体需业务确认）。",
      "-",
      "重要"
    ],
    [
      "revoke_order_id",
      "BIGINT",
      "settleList.revokeOrderId",
      "若当前记录属于撤销链路，记录对应的撤销单或原单的结账 ID，形成自关联关系。样本中为 0。",
      "外键",
      "重要"
    ],
    [
      "member_id",
      "BIGINT",
      "settleList.memberId",
      "会员主键 ID，一般对应租户维度的会员 ID，用于关联 dim_member。",
      "外键",
      "重要"
    ],
    [
      "member_name",
      "VARCHAR(100)",
      "settleList.memberName",
      "会员姓名快照，冗余展示字段；当前样本多为空，推荐通过关联会员维表获取标准姓名。",
      "-",
      "重要"
    ],
    [
      "member_phone",
      "VARCHAR(50)",
      "settleList.memberPhone",
      "会员手机号快照，冗余展示字段，通常通过会员维表获取更可靠。",
      "-",
      "重要"
    ],
    [
      "member_card_account_id",
      "BIGINT",
      "settleList.tenantMemberCardId",
      "会员卡账户 ID，对应 dim_member_card_account 主键；当前样本多为 0，但结构上是“结账 → 具体卡账户”的外键。",
      "外键",
      "重要"
    ],
    [
      "member_card_type_name",
      "VARCHAR(100)",
      "settleList.memberCardTypeName",
      "会员卡类型名称快照，如“储值卡”“次卡”等，便于前端展示和报表查看。",
      "-",
      "重要"
    ],
    [
      "is_bind_member",
      "TINYINT(1)",
      "settleList.isBindMember",
      "本单是否绑定会员。0=否（散客）；1=是（存在 member_id）。样本中多为 0。",
      "-",
      "重要"
    ],
    [
      "member_discount_amount",
      "DECIMAL(18,2)",
      "settleList.memberDiscountAmount",
      "会员折扣产生的优惠金额（元），例如会员卡折扣减免的台费/商品金额，参与整单优惠拆分。",
      "-",
      "重要"
    ],
    [
      "consume_money",
      "DECIMAL(18,2)",
      "settleList.consumeMoney",
      "本次结账消费总额（原价小计），约等于台费 + 商品 + 助教 + 服务等项目原价金额之和，未扣除任何优惠。",
      "-",
      "重要"
    ],
    [
      "table_charge_money",
      "DECIMAL(18,2)",
      "settleList.tableChargeMoney",
      "本单台费（桌台计费部分）的金额（原价侧）。",
      "-",
      "重要"
    ],
    [
      "goods_money",
      "DECIMAL(18,2)",
      "settleList.goodsMoney",
      "本单商品销售原价金额，对应酒水、小吃等商品类消费。",
      "-",
      "重要"
    ],
    [
      "real_goods_money",
      "DECIMAL(18,2)",
      "settleList.realGoodsMoney",
      "商品实际计入金额，通常为 goods_money 扣除部分促销/折扣之后的金额。",
      "-",
      "重要"
    ],
    [
      "assistant_pd_money",
      "DECIMAL(18,2)",
      "settleList.assistantPdMoney",
      "助教“排钟 / 点钟 / 按时长服务”等项目的应计金额（原价侧），与助教流水中的 ledger_amount 汇总对应。",
      "-",
      "重要"
    ],
    [
      "assistant_cx_money",
      "DECIMAL(18,2)",
      "settleList.assistantCxMoney",
      "助教“超休”类助教项目金额（原价侧），是对助教收入的补充拆分维度，具体业务定义需结合助教模块确认。",
      "-",
      "重要"
    ],
    [
      "adjust_amount",
      "DECIMAL(18,2)",
      "settleList.adjustAmount",
      "手动减免，人工调价金额汇总（整单减免或特殊价格调整），通常正值表示减免额度。",
      "-",
      "重要"
    ],
    [
      "pay_amount",
      "DECIMAL(18,2)",
      "settleList.payAmount",
      "本单顾客“实付金额”（不含券面值这类虚拟抵扣），等于各支付渠道金额之和减去退款等调整。",
      "-",
      "重要"
    ],
    [
      "balance_amount",
      "DECIMAL(18,2)",
      "settleList.balanceAmount",
      "从会员储值余额账户中扣除的金额（储值卡消费部分）。",
      "-",
      "重要"
    ],
    [
      "recharge_card_amount",
      "DECIMAL(18,2)",
      "settleList.rechargeCardAmount",
      "充值卡支付金额（使用充值类卡片余额支付的金额），与储值/充值型卡资金来源相关。",
      "-",
      "重要"
    ],
    [
      "gift_card_amount",
      "DECIMAL(18,2)",
      "settleList.giftCardAmount",
      "礼品卡或代金卡支付金额。",
      "-",
      "重要"
    ],
    [
      "coupon_amount",
      "DECIMAL(18,2)",
      "settleList.couponAmount",
      "本单由优惠券（团购券、代金券等）实际抵扣的金额。",
      "-",
      "重要"
    ],
    [
      "rounding_amount",
      "DECIMAL(18,2)",
      "settleList.roundingAmount",
      "抹零 / 四舍五入产生的金额差值，例如按角、分抹零。",
      "-",
      "重要"
    ],
    [
      "point_amount",
      "DECIMAL(18,2)",
      "settleList.pointAmount",
      "积分相关金额或数量。根据系统配置可能表示“使用积分抵扣的金额”或“本单获得的积分折算金额”，文档未给出唯一定义。",
      "-",
      "重要"
    ],
    [
      "",
      "",
      "",
      "",
      "",
      ""
    ],
    [
      "",
      "",
      "",
      "",
      "",
      ""
    ]
  ],
  "dwd_settlement_head_Ex": [
    [
      "数据库字段名",
      "字段类型",
      "来源字段",
      "说明（含枚举值和取值说明）",
      "角色",
      "业务重要性"
    ],
    [
      "order_settle_id",
      "BIGINT",
      "settleList.id",
      "结账记录主键 ID（订单结算 ID），全系统统一的结账单号，用于关联台费流水、助教流水、小票等明细表。",
      "主键",
      ""
    ],
    [
      "serial_number",
      "INT",
      "settleList.serialNumber",
      "结账序列号或打印序号，当前样本全部为 0，具体业务用途未在文档中明确。",
      "-",
      "不重要"
    ],
    [
      "settle_status",
      "TINYINT",
      "settleList.settleStatus",
      "结账状态枚举。当前样本值均为 2，表示“已结算/已完成”；其他取值及含义未在样本和文档中出现，需后续补充。",
      "-",
      "不重要"
    ],
    [
      "can_be_revoked",
      "TINYINT(1)",
      "settleList.canBeRevoked",
      "本单是否仍允许撤销/冲正。0=否；1=是。样本中均为 0。主要用于运维控制，分析价值有限。",
      "-",
      "不重要"
    ],
    [
      "revoke_order_name",
      "VARCHAR(100)",
      "settleList.revokeOrderName",
      "撤销单名称/标识，用于人工识别撤销关系；当前样本为空。",
      "-",
      "不重要"
    ],
    [
      "revoke_time",
      "DATETIME",
      "settleList.revokeTime",
      "撤销时间。无撤销时通常为系统默认值（如 0001-01-01 00:00:00）。",
      "-",
      "不重要"
    ],
    [
      "is_first_order",
      "TINYINT(1)",
      "settleList.isFirst",
      "是否首单（新客首单）标记。0=否；1=是。当前样本全部为 0，且文档中说明为“推测用途”，具体业务定义需确认。",
      "-",
      "不重要"
    ],
    [
      "service_money",
      "DECIMAL(18,2)",
      "settleList.serviceMoney",
      "其他服务费金额（如包间服务费等），用于与台费、商品、助教金额区分。",
      "-",
      "不重要"
    ],
    [
      "cash_amount",
      "DECIMAL(18,2)",
      "settleList.cashAmount",
      "现金支付金额。",
      "-",
      "不重要"
    ],
    [
      "card_amount",
      "DECIMAL(18,2)",
      "settleList.cardAmount",
      "刷卡类支付金额（如银行卡/信用卡等），具体包含哪些通道需结合支付模块确认。",
      "-",
      "不重要"
    ],
    [
      "online_amount",
      "DECIMAL(18,2)",
      "settleList.onlineAmount",
      "线上支付金额汇总（如微信、支付宝、云闪付等），不区分具体通道。",
      "-",
      "不重要"
    ],
    [
      "refund_amount",
      "DECIMAL(18,2)",
      "settleList.refundAmount",
      "本单涉及的退款金额（元）。普通正常结账为 0，退单或部分退款时为正数。",
      "-",
      "不重要"
    ],
    [
      "prepay_money",
      "DECIMAL(18,2)",
      "settleList.prepayMoney",
      "本单使用的预付金/定金金额。",
      "-",
      "不重要"
    ],
    [
      "payment_method",
      "TINYINT",
      "settleList.paymentMethod",
      "支付方式整体标记（枚举）。当前样本值统一为 0，具体各枚举值对应的支付方式未在文档中说明，需业务确认。",
      "-",
      "不重要"
    ],
    [
      "coupon_sale_amount",
      "DECIMAL(18,2)",
      "settleList.couponSaleAmount",
      "优惠券本身的售卖金额/成本金额（例如顾客为购买套餐券支付的金额），当前样本多为 0。",
      "-",
      "不重要"
    ],
    [
      "all_coupon_discount",
      "DECIMAL(18,2)",
      "settleList.allCouponDiscount",
      "所有券类优惠折扣的汇总金额，用于统计“券优惠总额”。",
      "-",
      "不重要"
    ],
    [
      "goods_promotion_money",
      "DECIMAL(18,2)",
      "settleList.goodsPromotionMoney",
      "商品促销产生的优惠金额（如满减、买赠均摊到商品部分）。",
      "-",
      "不重要"
    ],
    [
      "assistant_promotion_money",
      "DECIMAL(18,2)",
      "settleList.assistantPromotionMoney",
      "助教项目参与活动/促销产生的优惠金额。",
      "-",
      "不重要"
    ],
    [
      "activity_discount",
      "DECIMAL(18,2)",
      "settleList.activityDiscount",
      "整单活动折扣金额（如整单打折、满减活动产生的优惠），不区分具体项目类别。",
      "-",
      "不重要"
    ],
    [
      "assistant_manual_discount",
      "DECIMAL(18,2)",
      "settleList.assistantManualDiscount",
      "针对助教服务的人工减免金额，与一般商品/台费折扣区分开。",
      "-",
      "不重要"
    ],
    [
      "point_discount_price",
      "DECIMAL(18,2)",
      "settleList.pointDiscountPrice",
      "积分抵扣对应的金额（售价侧），记录因积分使用而减少的应收金额。",
      "-",
      "不重要"
    ],
    [
      "point_discount_cost",
      "DECIMAL(18,2)",
      "settleList.pointDiscountCost",
      "积分抵扣对应的成本金额（成本侧），用于毛利和利润分析。",
      "-",
      "不重要"
    ],
    [
      "is_use_coupon",
      "TINYINT(1)",
      "settleList.isUseCoupon",
      "是否使用优惠券。0=未使用；1=使用。当前样本均为 0。",
      "-",
      "不重要"
    ],
    [
      "is_use_discount",
      "TINYINT(1)",
      "settleList.isUseDiscount",
      "是否使用折扣（包括会员折扣或其他整单折扣）。0=未使用；1=使用。当前样本多为 0。",
      "-",
      "不重要"
    ],
    [
      "is_activity",
      "TINYINT(1)",
      "settleList.isActivity",
      "是否参与营销活动。0=未参与；1=参与。",
      "-",
      "不重要"
    ],
    [
      "operator_name",
      "VARCHAR(100)",
      "settleList.operatorName",
      "结账操作员名称快照（通常带角色前缀，如“收银员:张三”），用于报表展示。",
      "-",
      "不重要"
    ],
    [
      "salesman_name",
      "VARCHAR(100)",
      "settleList.salesManName",
      "营业员/业务员名称，用于业绩归属及提成分析；样本中多为空。",
      "-",
      "不重要"
    ],
    [
      "order_remark",
      "VARCHAR(255)",
      "settleList.orderRemark",
      "订单备注，由收银员手工填写的文字说明，如特殊情况、赠送原因等，主要用于人工复盘。",
      "-",
      "不重要"
    ],
    [
      "operator_id",
      "BIGINT",
      "settleList.operatorId",
      "结账操作员用户 ID，用于关联员工/账号维度（如 dim_staff）。",
      "外键",
      "不重要"
    ],
    [
      "salesman_user_id",
      "BIGINT",
      "settleList.salesManUserId",
      "营业员用户 ID，可关联员工维度，用于业绩分析和提成计算。",
      "外键",
      "不重要"
    ]
  ],
  "dwd_table_fee_log": [
    [
      "数据库字段名",
      "字段类型",
      "来源字段",
      "说明（含枚举值、取值说明）",
      "角色"
    ],
    [
      "table_fee_log_id",
      "BIGINT",
      "id",
      "台费流水记录主键。每一条台费使用记录唯一一条。对应一次“台费计费单元”。",
      "主键"
    ],
    [
      "order_trade_no",
      "BIGINT",
      "order_trade_no",
      "订单交易号。整笔订单的主编号，用于把同一订单下的台费、商品、助教等多种明细串联在一起。可与支付记录中的交易号对应。",
      "外键"
    ],
    [
      "order_settle_id",
      "BIGINT",
      "order_settle_id",
      "结算单号 / 结账 ID。对应一次完整的结账操作。与 dwd_settlement_head 的主键关联。",
      "外键"
    ],
    [
      "order_pay_id",
      "BIGINT",
      "order_pay_id",
      "订单支付记录 ID。对应支付记录中的 id 或 relate_id（视具体模型）。用于追踪这条台费最终对应哪一条支付流水。",
      "外键"
    ],
    [
      "tenant_id",
      "BIGINT",
      "tenant_id",
      "租户 / 品牌 ID。本文件内所有记录属于同一租户。与其他表的 tenant_id 一致，用于品牌级过滤。",
      "外键"
    ],
    [
      "site_id",
      "BIGINT",
      "site_id",
      "门店 ID。当前样本为同一门店。与嵌套的 siteProfile.id 以及其他 JSON 中的 site_id 对应，用于门店维度关联。",
      "外键"
    ],
    [
      "site_table_id",
      "BIGINT",
      "site_table_id",
      "桌台 ID。对应“台桌基础表”的主键。用于确定具体哪一张台或包厢。",
      "外键"
    ],
    [
      "site_table_area_id",
      "BIGINT",
      "site_table_area_id",
      "门店内“台桌区域” ID（门店视角的区域，如 A 区、B 区、斯诺克区、包厢区）。与门店内部的区域维度对应。",
      "外键"
    ],
    [
      "site_table_area_name",
      "VARCHAR(64)",
      "site_table_area_name",
      "台桌区域名称，如 “A区”“B区”“斯诺克区”“VIP包厢” 等。主要用于报表展示和人工阅读。",
      "无"
    ],
    [
      "tenant_table_area_id",
      "BIGINT",
      "tenant_table_area_id",
      "租户层面的台桌区域 ID。用于品牌层统一定义的区域配置（一个区域可在多门店复用）。对应租户级区域维度。",
      "外键"
    ],
    [
      "member_id",
      "BIGINT",
      "member_id",
      "会员 ID。多数为 0 表示散客。非 0 时表示关联会员：0 表示散客或未使用会员；>0 对应会员档案中的 id。用于将台费流水关联到 dim_member。",
      "外键"
    ],
    [
      "ledger_name",
      "VARCHAR(64)",
      "ledger_name",
      "台号名称，例如 “A1”“A2”“S1”“VIP包厢” 等。等价于桌台维表中的展示名称，冗余在流水中作为快照。",
      "无"
    ],
    [
      "ledger_unit_price",
      "DECIMAL(18,2)",
      "ledger_unit_price",
      "台费结算时的计费单价（元/小时或元/单位时长）。与 ledger_count 配合计算原始应收台费。常见值如 48.0、58.0、68.0、88.0、98.0、116.0 等。",
      "无"
    ],
    [
      "ledger_count",
      "INT",
      "ledger_count",
      "计费时长单位数。与 ledger_unit_price 共同决定原始应收额。可与 real_table_use_seconds 换算关系约为：时长秒数 ≈ ledger_count × 计费粒度（例如 30 分钟、60 分钟）。",
      "无"
    ],
    [
      "ledger_amount",
      "DECIMAL(18,2)",
      "ledger_amount",
      "原始应收台费金额，按单价与计费时长计算出来的台费金额，尚未考虑会员、券、调账等各类优惠拆分。",
      "无"
    ],
    [
      "real_table_charge_money",
      "DECIMAL(18,2)",
      "real_table_charge_money",
      "实际向顾客收取的台费金额（现金 / 实付维度），不含券方承担、会员承担和内部调账部分。若为 0，则该笔台费完全由券、会员或内部调账承担。",
      "无"
    ],
    [
      "coupon_promotion_amount",
      "DECIMAL(18,2)",
      "coupon_promotion_amount",
      "由优惠券、活动、团购等促销承担的优惠金额，直接抵扣在台费上。常见值为与单价或整倍数相同，例如 48.0、96.0、136.0、144.0 等。若 real_table_charge_money 为 0 且该字段等于 ledger_amount，说明台费完全由促销承担。",
      "无"
    ],
    [
      "member_discount_amount",
      "DECIMAL(18,2)",
      "member_discount_amount",
      "由会员权益产生的优惠金额，例如会员折扣、会员免费台等。若 ledger_amount = real_table_charge_money = member_discount_amount，表示这笔台费由会员权益承担，但仍作为台费收入进行记录。",
      "无"
    ],
    [
      "adjust_amount",
      "DECIMAL(18,2)",
      "adjust_amount",
      "手动减免，调整金额 / 调账金额。用于将台费金额转移或冲减到其他项目（例如套餐、包厢统一计费）或做手工调整。若 ledger_amount 完全被 adjust_amount 抵消，则说明该笔台费被整体调出当前台费科目。",
      "无"
    ],
    [
      "real_table_use_seconds",
      "INT",
      "real_table_use_seconds",
      "台费实际计费时长（秒）。用于计算台费单价与费率分析。内部统一以秒为单位。",
      "无"
    ],
    [
      "add_clock_seconds",
      "INT",
      "add_clock_seconds",
      "加钟时长（秒）。在原有使用基础上追加的累计加钟时长，常见为 2400、4200 等 60 的倍数（对应 40 分钟、70 分钟等）。",
      "无"
    ],
    [
      "start_use_time",
      "DATETIME",
      "start_use_time",
      "台开始使用时间，即实际开台时间。与 ledger_start_time 相同，表示计费起算点。",
      "无"
    ],
    [
      "ledger_end_time",
      "DATETIME",
      "ledger_end_time",
      "台账计费结束时间。通常与 last_use_time 相差 1 秒。可理解为系统为计费进行的截断时刻。",
      "无"
    ],
    [
      "create_time",
      "DATETIME",
      "create_time",
      "台费流水记录创建时间，通常接近结账时间。用于区分计费期间与结账时间。",
      "无"
    ],
    [
      "ledger_status",
      "INT",
      "ledger_status",
      "台费状态。样本中全部为 1。含义：1 表示正常已结算台费。按命名推断，0 可能表示未结算，2 可能表示作废或撤销，需要结合后续数据确认。",
      "无"
    ],
    [
      "is_single_order",
      "INT",
      "is_single_order",
      "是否独立计费单元。枚举：1 表示该记录是独立结算的桌费；0 表示非独立结算条目（可能是合并结账、转台过程中的占位记录）。is_single_order = 0 的记录通常 ledger_count 与 real_table_use_seconds 为 0。",
      "无"
    ],
    [
      "is_delete",
      "INT",
      "is_delete",
      "逻辑删除标志。0 表示未删除（有效记录）；1 表示已逻辑删除（一般不参与统计）。当前样本全部为 0。",
      "无"
    ]
  ],
  "dwd_table_fee_log_Ex": [
    [
      "数据库字段名",
      "字段类型",
      "来源字段",
      "说明（含枚举值、取值说明）",
      "角色"
    ],
    [
      "table_fee_log_id",
      "BIGINT",
      "id",
      "台费流水记录主键。每一条台费使用记录唯一一条。对应一次“台费计费单元”。",
      "主键"
    ],
    [
      "operator_name",
      "VARCHAR(64)",
      "operator_name",
      "操作员姓名。为冗余展示字段，便于直接阅读而不必联表员工档案。",
      "无"
    ],
    [
      "salesman_name",
      "VARCHAR(64)",
      "salesman_name",
      "营业员姓名。当前样本为空。用于需要对营业员维度做业绩统计时作为冗余展示。",
      "无"
    ],
    [
      "used_card_amount",
      "DECIMAL(18,2)",
      "used_card_amount",
      "由储值卡、次卡等“卡内余额”直接抵扣到台费的金额。当前样本为 0，但语义明确，用于区分“卡扣款”与“现金收款”。",
      "无"
    ],
    [
      "service_money",
      "DECIMAL(18,2)",
      "service_money",
      "服务费 / 成本 /分成金额字段，类似助教流水里的 service_money。当前样本全为 0，门店未启用该字段，未来可能用于台费附加服务费或分成计算。",
      "无"
    ],
    [
      "mgmt_fee",
      "DECIMAL(18,2)",
      "mgmt_fee",
      "管理费字段。当前样本为 0。推测用于未来支持“台费附加管理费”功能。尚未实际启用。",
      "无"
    ],
    [
      "fee_total",
      "DECIMAL(18,2)",
      "fee_total",
      "附加费用合计值字段。当前样本为 0。设计上用于汇总管理费、服务费等附加费用。尚未实际启用。",
      "无"
    ],
    [
      "ledger_start_time",
      "DATETIME",
      "ledger_start_time",
      "台账计费起始时间。当前样本与 start_use_time 相同，表示计费与开台同时开始。",
      "无"
    ],
    [
      "last_use_time",
      "DATETIME",
      "last_use_time",
      "最后使用 / 操作时间，通常略晚于 ledger_end_time。可视为客人最后一次用台或最后一次加钟/操作的时间点。",
      "无"
    ],
    [
      "operator_id",
      "BIGINT",
      "operator_id",
      "操作员 ID。负责开台 / 结账的员工账号 ID。与员工 / 账号体系中的用户 ID 对应。",
      "外键"
    ],
    [
      "salesman_user_id",
      "BIGINT",
      "salesman_user_id",
      "营业员用户 ID。目前样本值为 0，表示门店暂未使用此字段做提成员工归属，但语义清晰。",
      "外键"
    ],
    [
      "salesman_org_id",
      "BIGINT",
      "salesman_org_id",
      "营业员所属机构 / 部门 ID。目前样本为 0。用于员工组织结构统计时的归属。",
      "外键"
    ]
  ],
  "dwd_table_fee_adjust": [
    [
      "数据库字段名",
      "字段类型",
      "来源字段",
      "说明（含枚举值和取值说明）",
      "角色"
    ],
    [
      "table_fee_adjust_id",
      "bigint",
      "id",
      "台费折扣 / 调整流水主键；一条台费打折或调账操作对应一条记录。",
      "主键"
    ],
    [
      "order_trade_no",
      "bigint",
      "order_trade_no",
      "订单交易号；与台费流水、结账记录等表中的同名字段一致，用于把本次台费调整挂到具体订单上。",
      "外键"
    ],
    [
      "order_settle_id",
      "bigint",
      "order_settle_id",
      "结算单 / 小票 ID；与小票、结账头表中的 order_settle_id 对应，用于关联同一次结账。",
      "外键"
    ],
    [
      "tenant_id",
      "bigint",
      "tenant_id",
      "租户 / 品牌 ID；标识该记录属于哪一个商户。",
      "外键"
    ],
    [
      "site_id",
      "bigint",
      "site_id",
      "门店 ID；与 dim_site、其它业务事实表中的 site_id 一致。",
      "外键"
    ],
    [
      "table_id",
      "bigint",
      "site_table_id",
      "台桌 ID；与 dim_table（site_tables_master.id）以及各类台费、助教流水中的 site_table_id 对应，标识哪一张台发生了折扣/调账。",
      "外键"
    ],
    [
      "table_area_id",
      "bigint",
      "tableProfile.site_table_area_id",
      "门店维度的台桌区域 ID；与 dim_table 中的 site_table_area_id 对应，例如 “斯诺克区”“VIP包厢”等区域。",
      "外键"
    ],
    [
      "table_area_name",
      "varchar(64)",
      "tableProfile.site_table_area_name",
      "台桌区域名称快照，例如 “斯诺克区”“A区”“VIP包厢”；冗余展示字段，可从 dim_table 通过 table_area_id 获取。",
      "-"
    ],
    [
      "tenant_table_area_id",
      "bigint",
      "tenant_table_area_id",
      "租户维度的“台桌区域 ID”；同一租户下跨门店复用的区域标识，用于在租户级别统计各区域的折扣分布。",
      "外键"
    ],
    [
      "ledger_amount",
      "decimal(18,2)",
      "ledger_amount",
      "台费调整金额；等于台费流水中对应记录的 adjust_amount。正数表示被减免/调账掉的台费金额（本批数据全部为正）；是衡量台费折扣规模的核心度量。",
      "-"
    ],
    [
      "ledger_status",
      "int",
      "ledger_status",
      "调整记录状态（枚举）。1：生效调整（当前有效的折扣/调账记录）；0：失效/被覆盖的历史记录（同一订单有多次调整时，旧记录会标记为 0，仅最新一条为 1）。",
      "-"
    ],
    [
      "is_delete",
      "int",
      "is_delete",
      "逻辑删除标记（枚举）。0：未删除（有效记录）；1：已逻辑删除（后台标记删除，不再参与业务统计）。当前数据全部为 0，但字段需保留以适配长期数据。",
      "-"
    ],
    [
      "adjust_time",
      "datetime",
      "create_time",
      "台费调整记录创建时间，即打折/调账操作被系统写入的时间戳，用于时间分析和与结账时间对比（判断是事前折扣还是事后调账）。",
      "-"
    ]
  ],
  "dwd_table_fee_adjust_Ex": [
    [
      "数据库字段名",
      "字段类型",
      "来源字段",
      "说明（含枚举值和取值说明）",
      "角色"
    ],
    [
      "table_fee_adjust_id",
      "bigint",
      "id",
      "台费折扣 / 调整流水主键；一条台费打折或调账操作对应一条记录。",
      "主键"
    ],
    [
      "adjust_type",
      "int",
      "adjust_type",
      "调整类型（枚举）。当前数据全部为 1。取值示例：1：台费打折 / 台费减免（本门店实际使用的唯一类型）；其他值：预留给台费转移、误操作恢复等其他类型（当前未出现，仅推测）。",
      "-"
    ],
    [
      "ledger_count",
      "int",
      "ledger_count",
      "调整次数计数，本数据中恒为 1，表示“一次调整事件”；与台费流水中的 ledger_count（计时长）含义不同。",
      "-"
    ],
    [
      "ledger_name",
      "varchar(128)",
      "ledger_name",
      "调账项目名称或打折原因名称（设计意图）；当前门店所有记录值为空字符串，未实际使用。作用暂不明确，保留以备后续业务启用。",
      "-"
    ],
    [
      "applicant_name",
      "varchar(64)",
      "applicant_name",
      "申请人姓名快照，通常包含角色前缀（如 “收银员:张三”）；是 applicant_id 的冗余展示字段，实际名称应以员工维表为准。",
      "-"
    ],
    [
      "operator_name",
      "varchar(64)",
      "operator_name",
      "操作员姓名快照；与 operator_id 对应的姓名冗余字段。",
      "-"
    ],
    [
      "applicant_id",
      "bigint",
      "applicant_id",
      "申请人 ID；发起本次台费折扣/调账的员工账号 ID，用于按员工维度统计折扣行为。",
      "外键"
    ],
    [
      "operator_id",
      "bigint",
      "operator_id",
      "实际执行调账操作的操作员 ID；当前样本中与 applicant_id 相同，但模型上允许“申请人 ≠ 操作人”。",
      "外键"
    ]
  ],
  "dwd_store_goods_sale": [
    [
      "数据库字段名",
      "字段类型",
      "来源字段",
      "说明（含枚举值和取值说明）",
      "角色",
      "业务重要性"
    ],
    [
      "store_goods_sale_id",
      "bigint",
      "id",
      "商品销售明细主键；每条记录代表一次订单中的一个商品行流水。",
      "主键",
      "-"
    ],
    [
      "order_trade_no",
      "bigint",
      "order_trade_no",
      "订单交易号（业务单号）；与台费、助教、团购等表的 order_trade_no 一致，用于把同一订单下各类消费串联起来。",
      "外键",
      "重要"
    ],
    [
      "order_settle_id",
      "bigint",
      "order_settle_id",
      "结账记录主键 ID；连接结账记录 / 结算头事实表。",
      "外键",
      "重要"
    ],
    [
      "order_pay_id",
      "bigint",
      "order_pay_id",
      "支付记录 ID；连接支付流水事实表，用于还原本条销售对应的收款信息。",
      "外键",
      "重要"
    ],
    [
      "order_goods_id",
      "bigint",
      "order_goods_id",
      "当前版本的订单内商品明细 ID；可在订单范围内唯一定位该商品行，用于与小票明细等做行级关联。",
      "外键",
      "重要"
    ],
    [
      "site_id",
      "bigint",
      "site_id",
      "门店 ID（系统主键）；与其它流水表中的 site_id 一致。",
      "外键",
      "重要"
    ],
    [
      "tenant_id",
      "bigint",
      "tenant_id",
      "租户/品牌 ID；同一品牌下多门店共享同一个 tenant_id。",
      "外键",
      "重要"
    ],
    [
      "site_goods_id",
      "bigint",
      "site_goods_id",
      "门店级商品 ID；连接门店商品档案 dim_store_goods，与库存变动记录中的 siteGoodsId 一致。",
      "外键",
      "重要"
    ],
    [
      "tenant_goods_id",
      "bigint",
      "tenant_goods_id",
      "租户级（品牌级）商品 ID；连接租户级商品档案维度表，一个 tenant_goods_id 在不同门店可对应多个 site_goods_id。",
      "外键",
      "重要"
    ],
    [
      "tenant_goods_category_id",
      "bigint",
      "tenant_goods_category_id",
      "租户级商品一级分类 ID；连接商品分类维度（如酒水、零食等）。",
      "外键",
      "重要"
    ],
    [
      "tenant_goods_business_id",
      "bigint",
      "tenant_goods_business_id",
      "租户级商品业务大类 ID（更高一层的业务分类，如“零食类”“酒水类”等）。",
      "外键",
      "重要"
    ],
    [
      "site_table_id",
      "bigint",
      "site_table_id",
      "球台 ID；非 0 表示该商品在某张台桌上点单，0 表示前台售卖或与台桌无关。连接台桌维度 dim_table。",
      "外键",
      "重要"
    ],
    [
      "ledger_name",
      "varchar(200)",
      "ledger_name",
      "销售项目名称（商品名），如“哇哈哈矿泉水”“地道肠”等；为当时销售时刻的名称快照。",
      "-",
      "重要"
    ],
    [
      "ledger_group_name",
      "varchar(100)",
      "ledger_group_name",
      "门店前台菜单分组名称，如“酒水”“零食”“小吃”等；与品牌统一分类是两套维度。",
      "-",
      "重要"
    ],
    [
      "ledger_unit_price",
      "decimal(18,2)",
      "ledger_unit_price",
      "结算单价（元/单位）；本次销售实际使用的单价。",
      "-",
      "重要"
    ],
    [
      "ledger_count",
      "int",
      "ledger_count",
      "销售数量（以商品单位计），如 1、2、6、36 等。",
      "-",
      "重要"
    ],
    [
      "ledger_amount",
      "decimal(18,2)",
      "ledger_amount",
      "原始应收金额（未考虑任何折扣/抵扣），通常接近 ledger_unit_price × ledger_count。",
      "-",
      "重要"
    ],
    [
      "discount_price",
      "decimal(18,2)",
      "discount_price",
      "折后单价（元/单位）；无折扣时等于 ledger_unit_price，有折扣时小于 ledger_unit_price。",
      "-",
      "重要"
    ],
    [
      "real_goods_money",
      "decimal(18,2)",
      "real_goods_money",
      "本行商品实际入账金额（已考虑折扣及其他抵扣后，实际计入营业额的金额）；一定不大于 ledger_amount。",
      "-",
      "重要"
    ],
    [
      "cost_money",
      "decimal(18,2)",
      "cost_money",
      "本行商品对应的成本金额，用于毛利和利润分析；源自商品档案成本价及成本核算逻辑。",
      "-",
      "重要"
    ],
    [
      "ledger_status",
      "tinyint",
      "ledger_status",
      "销售流水状态：1=正常有效；其他数值（当前数据未出现）一般表示“待结算”“作废”等。",
      "-",
      "重要"
    ],
    [
      "is_delete",
      "tinyint",
      "is_delete",
      "逻辑删除标志：0=正常有效；1=已删除（仅保留历史，不再参与前端展示及统计）（本批数据全部为 0）。",
      "-",
      "重要"
    ],
    [
      "create_time",
      "datetime",
      "create_time",
      "销售记录创建时间，通常为结账时间或录入时间；用于时间维度分析，与订单层时间字段对齐。",
      "-",
      "重要"
    ]
  ],
  "dwd_store_goods_sale_Ex": [
    [
      "数据库字段名",
      "数据库字段名",
      "数据库字段名",
      "字段类型",
      "来源字段",
      "来源字段",
      "说明（含枚举值和取值说明）",
      "说明（含枚举值和取值说明）",
      "说明（含枚举值和取值说明）",
      "说明（含枚举值和取值说明）",
      "角色",
      "业务重要性"
    ],
    [
      "store_goods_sale_id",
      "store_goods_sale_id",
      "store_goods_sale_id",
      "bigint",
      "id",
      "id",
      "商品销售明细主键；每条记录代表一次订单中的一个商品行流水。",
      "商品销售明细主键；每条记录代表一次订单中的一个商品行流水。",
      "商品销售明细主键；每条记录代表一次订单中的一个商品行流水。",
      "商品销售明细主键；每条记录代表一次订单中的一个商品行流水。",
      "主键",
      "-"
    ],
    [
      "legacy_order_goods_id",
      "legacy_order_goods_id",
      "legacy_order_goods_id",
      "bigint",
      "orderGoodsId",
      "orderGoodsId",
      "旧版订单商品明细 ID，兼容字段；当前接口已统一使用 order_goods_id，本批数据全部为 0。",
      "旧版订单商品明细 ID，兼容字段；当前接口已统一使用 order_goods_id，本批数据全部为 0。",
      "旧版订单商品明细 ID，兼容字段；当前接口已统一使用 order_goods_id，本批数据全部为 0。",
      "旧版订单商品明细 ID，兼容字段；当前接口已统一使用 order_goods_id，本批数据全部为 0。",
      "-",
      "不重要"
    ],
    [
      "site_name",
      "site_name",
      "site_name",
      "varchar(100)",
      "siteName",
      "siteName",
      "门店名称，对 site_id 的冗余文本（例如“朗朗桌球”），用于展示。",
      "门店名称，对 site_id 的冗余文本（例如“朗朗桌球”），用于展示。",
      "门店名称，对 site_id 的冗余文本（例如“朗朗桌球”），用于展示。",
      "门店名称，对 site_id 的冗余文本（例如“朗朗桌球”），用于展示。",
      "-",
      "不重要"
    ],
    [
      "legacy_site_id",
      "legacy_site_id",
      "legacy_site_id",
      "bigint",
      "siteId",
      "siteId",
      "历史兼容门店 ID；当前接口统一使用 site_id，本批数据 siteId 全部为 0。",
      "历史兼容门店 ID；当前接口统一使用 site_id，本批数据 siteId 全部为 0。",
      "历史兼容门店 ID；当前接口统一使用 site_id，本批数据 siteId 全部为 0。",
      "历史兼容门店 ID；当前接口统一使用 site_id，本批数据 siteId 全部为 0。",
      "-",
      "不重要"
    ],
    [
      "goods_remark",
      "goods_remark",
      "goods_remark",
      "varchar(255)",
      "goods_remark",
      "goods_remark",
      "商品备注/口味说明/特殊说明；部分记录为空，部分与商品名相同。",
      "商品备注/口味说明/特殊说明；部分记录为空，部分与商品名相同。",
      "商品备注/口味说明/特殊说明；部分记录为空，部分与商品名相同。",
      "商品备注/口味说明/特殊说明；部分记录为空，部分与商品名相同。",
      "-",
      "不重要"
    ],
    [
      "option_value_name",
      "option_value_name",
      "option_value_name",
      "varchar(200)",
      "option_value_name",
      "option_value_name",
      "商品选项名称（规格/口味，如大杯/小杯、不加冰等）；当前门店未启用多规格，样本中全部为空。",
      "商品选项名称（规格/口味，如大杯/小杯、不加冰等）；当前门店未启用多规格，样本中全部为空。",
      "商品选项名称（规格/口味，如大杯/小杯、不加冰等）；当前门店未启用多规格，样本中全部为空。",
      "商品选项名称（规格/口味，如大杯/小杯、不加冰等）；当前门店未启用多规格，样本中全部为空。",
      "-",
      "不重要"
    ],
    [
      "operator_name",
      "operator_name",
      "operator_name",
      "varchar(100)",
      "operator_name",
      "operator_name",
      "操作员姓名冗余，如“收银员:郑丽珊”；用于展示，不作为关联键。",
      "操作员姓名冗余，如“收银员:郑丽珊”；用于展示，不作为关联键。",
      "操作员姓名冗余，如“收银员:郑丽珊”；用于展示，不作为关联键。",
      "操作员姓名冗余，如“收银员:郑丽珊”；用于展示，不作为关联键。",
      "-",
      "不重要"
    ],
    [
      "open_salesman_flag",
      "open_salesman_flag",
      "open_salesman_flag",
      "tinyint",
      "openSalesman",
      "openSalesman",
      "是否启用营业员机制标志：1=启用营业员/提成体系（需指定 salesman_* 字段）；2=未启用营业员体系（本批数据全部为 2）。",
      "是否启用营业员机制标志：1=启用营业员/提成体系（需指定 salesman_* 字段）；2=未启用营业员体系（本批数据全部为 2）。",
      "是否启用营业员机制标志：1=启用营业员/提成体系（需指定 salesman_* 字段）；2=未启用营业员体系（本批数据全部为 2）。",
      "是否启用营业员机制标志：1=启用营业员/提成体系（需指定 salesman_* 字段）；2=未启用营业员体系（本批数据全部为 2）。",
      "-",
      "不重要"
    ],
    [
      "salesman_user_id",
      "salesman_user_id",
      "salesman_user_id",
      "bigint",
      "salesman_user_id",
      "salesman_user_id",
      "营业员用户 ID（系统账号 ID）；当前样本全部为 0，说明门店未启用营业员业绩统计。",
      "营业员用户 ID（系统账号 ID）；当前样本全部为 0，说明门店未启用营业员业绩统计。",
      "营业员用户 ID（系统账号 ID）；当前样本全部为 0，说明门店未启用营业员业绩统计。",
      "营业员用户 ID（系统账号 ID）；当前样本全部为 0，说明门店未启用营业员业绩统计。",
      "外键",
      "不重要"
    ],
    [
      "salesman_name",
      "salesman_name",
      "salesman_name",
      "varchar(100)",
      "salesman_name",
      "salesman_name",
      "营业员姓名；当前样本全部为空字符串。",
      "营业员姓名；当前样本全部为空字符串。",
      "营业员姓名；当前样本全部为空字符串。",
      "营业员姓名；当前样本全部为空字符串。",
      "-",
      "不重要"
    ],
    [
      "salesman_role_id",
      "salesman_role_id",
      "salesman_role_id",
      "bigint",
      "salesman_role_id",
      "salesman_role_id",
      "营业员角色 ID（例如某角色代码对应“销售员”角色）；当前样本全部为 0。",
      "营业员角色 ID（例如某角色代码对应“销售员”角色）；当前样本全部为 0。",
      "营业员角色 ID（例如某角色代码对应“销售员”角色）；当前样本全部为 0。",
      "营业员角色 ID（例如某角色代码对应“销售员”角色）；当前样本全部为 0。",
      "外键",
      "不重要"
    ],
    [
      "sales_man_org_id",
      "sales_man_org_id",
      "sales_man_org_id",
      "bigint",
      "sales_man_org_id",
      "sales_man_org_id",
      "营业员所属组织/部门 ID；当前样本全部为 0，未启用按组织分组统计。",
      "营业员所属组织/部门 ID；当前样本全部为 0，未启用按组织分组统计。",
      "营业员所属组织/部门 ID；当前样本全部为 0，未启用按组织分组统计。",
      "营业员所属组织/部门 ID；当前样本全部为 0，未启用按组织分组统计。",
      "外键",
      "不重要"
    ],
    [
      "discount_money",
      "discount_money",
      "discount_money",
      "decimal(18,2)",
      "discount_money",
      "discount_money",
      "本行商品的直接价格优惠金额（打折让利部分）；在简单场景下满足：ledger_amount − discount_money ≈ real_goods_money（不含积分、券抵扣）。",
      "本行商品的直接价格优惠金额（打折让利部分）；在简单场景下满足：ledger_amount − discount_money ≈ real_goods_money（不含积分、券抵扣）。",
      "本行商品的直接价格优惠金额（打折让利部分）；在简单场景下满足：ledger_amount − discount_money ≈ real_goods_money（不含积分、券抵扣）。",
      "本行商品的直接价格优惠金额（打折让利部分）；在简单场景下满足：ledger_amount − discount_money ≈ real_goods_money（不含积分、券抵扣）。",
      "-",
      "不重要"
    ],
    [
      "returns_number",
      "returns_number",
      "returns_number",
      "int",
      "returns_number",
      "returns_number",
      "退货数量；当前样本全部为 0，如发生退货则记录退回的件数。",
      "退货数量；当前样本全部为 0，如发生退货则记录退回的件数。",
      "退货数量；当前样本全部为 0，如发生退货则记录退回的件数。",
      "退货数量；当前样本全部为 0，如发生退货则记录退回的件数。",
      "-",
      "不重要"
    ],
    [
      "coupon_deduct_money",
      "coupon_deduct_money",
      "coupon_deduct_money",
      "decimal(18,2)",
      "coupon_deduct_money",
      "coupon_deduct_money",
      "优惠券/团购券直接抵扣到本条商品明细上的金额；当前样本为 0，说明券更多在订单级处理。",
      "优惠券/团购券直接抵扣到本条商品明细上的金额；当前样本为 0，说明券更多在订单级处理。",
      "优惠券/团购券直接抵扣到本条商品明细上的金额；当前样本为 0，说明券更多在订单级处理。",
      "优惠券/团购券直接抵扣到本条商品明细上的金额；当前样本为 0，说明券更多在订单级处理。",
      "-",
      "不重要"
    ],
    [
      "member_discount_amount",
      "member_discount_amount",
      "member_discount_amount",
      "decimal(18,2)",
      "member_discount_amount",
      "member_discount_amount",
      "由会员折扣针对本行商品产生的优惠金额；当前样本全部为 0，折扣通常体现在 discount_money 中。",
      "由会员折扣针对本行商品产生的优惠金额；当前样本全部为 0，折扣通常体现在 discount_money 中。",
      "由会员折扣针对本行商品产生的优惠金额；当前样本全部为 0，折扣通常体现在 discount_money 中。",
      "由会员折扣针对本行商品产生的优惠金额；当前样本全部为 0，折扣通常体现在 discount_money 中。",
      "-",
      "不重要"
    ],
    [
      "point_discount_money",
      "point_discount_money",
      "point_discount_money",
      "decimal(18,2)",
      "point_discount_money",
      "point_discount_money",
      "由积分抵扣的金额（顾客用积分兑换的抵现金额）。",
      "由积分抵扣的金额（顾客用积分兑换的抵现金额）。",
      "由积分抵扣的金额（顾客用积分兑换的抵现金额）。",
      "由积分抵扣的金额（顾客用积分兑换的抵现金额）。",
      "-",
      "不重要"
    ],
    [
      "point_discount_money_cost",
      "point_discount_money_cost",
      "point_discount_money_cost",
      "decimal(18,2)",
      "point_discount_money_cost",
      "point_discount_money_cost",
      "积分抵扣对应的成本金额（积分成本、营销费用等核算用）。",
      "积分抵扣对应的成本金额（积分成本、营销费用等核算用）。",
      "积分抵扣对应的成本金额（积分成本、营销费用等核算用）。",
      "积分抵扣对应的成本金额（积分成本、营销费用等核算用）。",
      "-",
      "不重要"
    ],
    [
      "package_coupon_id",
      "package_coupon_id",
      "package_coupon_id",
      "bigint",
      "package_coupon_id",
      "package_coupon_id",
      "套餐券 ID；当商品来自套餐拆分或与套餐券关联时，用于追溯对应的套餐业务（当前样本为 0）。",
      "套餐券 ID；当商品来自套餐拆分或与套餐券关联时，用于追溯对应的套餐业务（当前样本为 0）。",
      "套餐券 ID；当商品来自套餐拆分或与套餐券关联时，用于追溯对应的套餐业务（当前样本为 0）。",
      "套餐券 ID；当商品来自套餐拆分或与套餐券关联时，用于追溯对应的套餐业务（当前样本为 0）。",
      "-",
      "不重要"
    ],
    [
      "order_coupon_id",
      "order_coupon_id",
      "order_coupon_id",
      "bigint",
      "order_coupon_id",
      "order_coupon_id",
      "订单级优惠券 ID；整单使用某张券时，可用于记录该券对本行商品的分摊关系（当前样本为 0）。",
      "订单级优惠券 ID；整单使用某张券时，可用于记录该券对本行商品的分摊关系（当前样本为 0）。",
      "订单级优惠券 ID；整单使用某张券时，可用于记录该券对本行商品的分摊关系（当前样本为 0）。",
      "订单级优惠券 ID；整单使用某张券时，可用于记录该券对本行商品的分摊关系（当前样本为 0）。",
      "-",
      "不重要"
    ],
    [
      "member_coupon_id",
      "member_coupon_id",
      "member_coupon_id",
      "bigint",
      "member_coupon_id",
      "member_coupon_id",
      "会员券 ID（如会员专享优惠券）；当前样本为 0，为会员权益预留字段。",
      "会员券 ID（如会员专享优惠券）；当前样本为 0，为会员权益预留字段。",
      "会员券 ID（如会员专享优惠券）；当前样本为 0，为会员权益预留字段。",
      "会员券 ID（如会员专享优惠券）；当前样本为 0，为会员权益预留字段。",
      "-",
      "不重要"
    ],
    [
      "option_price",
      "option_price",
      "option_price",
      "decimal(18,2)",
      "option_price",
      "option_price",
      "商品选项（规格/加料等）的附加价格；当前门店未启用此功能，样本为 0。",
      "商品选项（规格/加料等）的附加价格；当前门店未启用此功能，样本为 0。",
      "商品选项（规格/加料等）的附加价格；当前门店未启用此功能，样本为 0。",
      "商品选项（规格/加料等）的附加价格；当前门店未启用此功能，样本为 0。",
      "-",
      "不重要"
    ],
    [
      "option_member_discount_money",
      "option_member_discount_money",
      "option_member_discount_money",
      "decimal(18,2)",
      "option_member_discount_money",
      "option_member_discount_money",
      "由会员折扣作用在“选项价格”上的优惠金额；当前样本为 0。",
      "由会员折扣作用在“选项价格”上的优惠金额；当前样本为 0。",
      "由会员折扣作用在“选项价格”上的优惠金额；当前样本为 0。",
      "由会员折扣作用在“选项价格”上的优惠金额；当前样本为 0。",
      "-",
      "不重要"
    ],
    [
      "option_coupon_deduct_money",
      "option_coupon_deduct_money",
      "option_coupon_deduct_money",
      "decimal(18,2)",
      "option_coupon_deduct_money",
      "option_coupon_deduct_money",
      "由优惠券抵扣“选项价格”的金额；当前样本为 0。",
      "由优惠券抵扣“选项价格”的金额；当前样本为 0。",
      "由优惠券抵扣“选项价格”的金额；当前样本为 0。",
      "由优惠券抵扣“选项价格”的金额；当前样本为 0。",
      "-",
      "不重要"
    ],
    [
      "push_money",
      "push_money",
      "push_money",
      "decimal(18,2)",
      "push_money",
      "push_money",
      "本行商品对应的提成金额（营业员/业务员提成）；当前样本为 0，说明提成体系未启用。",
      "本行商品对应的提成金额（营业员/业务员提成）；当前样本为 0，说明提成体系未启用。",
      "本行商品对应的提成金额（营业员/业务员提成）；当前样本为 0，说明提成体系未启用。",
      "本行商品对应的提成金额（营业员/业务员提成）；当前样本为 0，说明提成体系未启用。",
      "-",
      "不重要"
    ],
    [
      "is_single_order",
      "is_single_order",
      "is_single_order",
      "tinyint",
      "is_single_order",
      "is_single_order",
      "是否作为独立明细参与订单结算：1=作为独立明细参与订单；0=在特殊业务中可能合并为打包项目（当前样本全部为 1）。",
      "是否作为独立明细参与订单结算：1=作为独立明细参与订单；0=在特殊业务中可能合并为打包项目（当前样本全部为 1）。",
      "是否作为独立明细参与订单结算：1=作为独立明细参与订单；0=在特殊业务中可能合并为打包项目（当前样本全部为 1）。",
      "是否作为独立明细参与订单结算：1=作为独立明细参与订单；0=在特殊业务中可能合并为打包项目（当前样本全部为 1）。",
      "-",
      "不重要"
    ],
    [
      "sales_type",
      "sales_type",
      "sales_type",
      "tinyint",
      "sales_type",
      "sales_type",
      "销售类型：1=正常销售（当前样本全部为 1）；常见扩展用法：2=赠品；3=内部消耗；4=盘点调整等。",
      "销售类型：1=正常销售（当前样本全部为 1）；常见扩展用法：2=赠品；3=内部消耗；4=盘点调整等。",
      "销售类型：1=正常销售（当前样本全部为 1）；常见扩展用法：2=赠品；3=内部消耗；4=盘点调整等。",
      "销售类型：1=正常销售（当前样本全部为 1）；常见扩展用法：2=赠品；3=内部消耗；4=盘点调整等。",
      "-",
      "不重要"
    ],
    [
      "operator_id",
      "bigint",
      "operator_id",
      "operator_id",
      "operator_id",
      "操作员 ID（录入本条销售的员工）；与其它流水中的 operator_id 一致，可统一做员工维度分析。",
      "操作员 ID（录入本条销售的员工）；与其它流水中的 operator_id 一致，可统一做员工维度分析。",
      "外键",
      "重要"
    ]
  ],
  "dwd_assistant_service_log": [
    [
      "数据库字段名",
      "字段类型",
      "来源字段",
      "说明（含枚举值和取值说明）",
      "角色（主键/外键/-）"
    ],
    [
      "assistant_service_id",
      "bigint",
      "id",
      "助教服务流水主键，系统内唯一标识一次助教服务记录。",
      "主键"
    ],
    [
      "order_trade_no",
      "bigint",
      "order_trade_no",
      "订单交易号，用于与台费、商品、支付等同一订单下的其他明细串联。",
      "外键"
    ],
    [
      "order_settle_id",
      "bigint",
      "order_settle_id",
      "结算单号，对应结账记录、小票中的结算主键。",
      "外键"
    ],
    [
      "order_pay_id",
      "bigint",
      "order_pay_id",
      "支付记录主键 ID，用于关联支付流水。",
      "外键"
    ],
    [
      "order_assistant_id",
      "bigint",
      "order_assistant_id",
      "订单中“助教项目明细”的内部 ID，一笔订单中多段助教服务时用于区分。",
      "外键"
    ],
    [
      "order_assistant_type",
      "int",
      "order_assistant_type",
      "助教服务类型枚举：1 表示常规助教服务（如基础课）；2 表示附加类助教服务（如附加课）；其他值预留。",
      "-"
    ],
    [
      "tenant_id",
      "bigint",
      "tenant_id",
      "租户/品牌 ID，用于区分商户。",
      "外键"
    ],
    [
      "site_id",
      "bigint",
      "site_id",
      "门店 ID，对应门店维表中的门店主键。",
      "外键"
    ],
    [
      "site_table_id",
      "bigint",
      "site_table_id",
      "球台/包厢 ID，对应台桌维表主键。",
      "外键"
    ],
    [
      "tenant_member_id",
      "bigint",
      "tenant_member_id",
      "商户维度会员 ID，对应会员档案主键；0 表示非会员或散客。",
      "外键"
    ],
    [
      "system_member_id",
      "bigint",
      "system_member_id",
      "系统级会员 ID，用于跨门店识别同一会员。",
      "外键"
    ],
    [
      "assistant_no",
      "varchar(64)",
      "assistantNo",
      "助教编号/工号，如 “27”；与助教档案中的工号一致。",
      "-"
    ],
    [
      "nickname",
      "varchar(64)",
      "nickname",
      "助教对外昵称，如“佳怡”“周周”；用于展示，不参与业务逻辑。",
      "-"
    ],
    [
      "site_assistant_id",
      "bigint",
      "site_assistant_id",
      "门店维度助教 ID，对应助教账号维表主键。",
      "外键"
    ],
    [
      "user_id",
      "bigint",
      "user_id",
      "助教对应的系统用户 ID，对应账号体系中的 user_id。",
      "外键"
    ],
    [
      "assistant_team_id",
      "bigint",
      "assistant_team_id",
      "助教团队 ID，用于分组统计团队业绩。",
      "外键"
    ],
    [
      "person_org_id",
      "bigint",
      "person_org_id",
      "助教所属人事组织/部门 ID，如“助教部”；用于组织维度分析。",
      "外键"
    ],
    [
      "assistant_level",
      "int",
      "assistant_level",
      "助教等级编码：8=助教管理；10=初级；20=中级；30=高级；用于薪酬/评价分层。",
      "外键"
    ],
    [
      "level_name",
      "varchar(64)",
      "levelName",
      "助教等级名称，与 assistant_level 对应，如“初级”“中级”“高级”“助教管理”。",
      "-"
    ],
    [
      "skill_id",
      "bigint",
      "skill_id",
      "助教服务课程/技能 ID，应对应课程/技能配置表。",
      "外键"
    ],
    [
      "skill_name",
      "varchar(64)",
      "skillName",
      "助教服务课程/技能名称，如“基础课”“附加课”。",
      "-"
    ],
    [
      "ledger_unit_price",
      "decimal(10,2)",
      "ledger_unit_price",
      "助教服务标准单价（原价），例如按小时或按节课的标价。",
      "-"
    ],
    [
      "ledger_amount",
      "decimal(10,2)",
      "ledger_amount",
      "按标准单价计算的应收金额，近似等于 ledger_unit_price×计费时长换算后的金额。",
      "-"
    ],
    [
      "projected_income",
      "decimal(10,2)",
      "projected_income",
      "实际计入门店收入的金额，已经考虑会员权益、券抵扣等后的结果。",
      "-"
    ],
    [
      "coupon_deduct_money",
      "decimal(10,2)",
      "coupon_deduct_money",
      "由优惠券、团购券等直接抵扣到本次助教服务上的金额；0 表示未使用券。",
      "-"
    ],
    [
      "income_seconds",
      "int",
      "income_seconds",
      "计费秒数（用于计算应收收入的时间长度），通常为按分钟取整的秒数。",
      "-"
    ],
    [
      "real_use_seconds",
      "int",
      "real_use_seconds",
      "实际服务时长（秒），真实消耗的时间，用于分析助教工作量。",
      "-"
    ],
    [
      "add_clock",
      "int",
      "add_clock",
      "加钟秒数，在原有预约基础上临时增加的服务时间，数值为 60 的倍数。",
      "-"
    ],
    [
      "create_time",
      "datetime",
      "create_time",
      "助教流水记录创建时间，接近下单/结算时间。",
      "-"
    ],
    [
      "start_use_time",
      "datetime",
      "start_use_time",
      "助教实际开始服务时间，通常与 ledger_start_time 一致。",
      "-"
    ],
    [
      "last_use_time",
      "datetime",
      "last_use_time",
      "助教最后一次服务时间，通常与 ledger_end_time 一致。",
      "-"
    ],
    [
      "is_delete",
      "int",
      "is_delete",
      "逻辑删除标志：0 未删除；1 已逻辑删除，用于保留历史数据。",
      "-"
    ]
  ],
  "dwd_assistant_service_log_Ex": [
    [
      "数据库字段名",
      "字段类型",
      "来源字段",
      "说明（含枚举值和取值说明）",
      "角色（主键/外键/-）"
    ],
    [
      "assistant_service_id",
      "bigint",
      "id",
      "助教服务流水主键，系统内唯一标识一次助教服务记录。",
      "主键"
    ],
    [
      "table_name",
      "varchar(64)",
      "tableName",
      "球台名称，如 “A17”“S1”，与 site_table_id 冗余，用于展示。",
      "-"
    ],
    [
      "assistant_name",
      "varchar(64)",
      "assistantName",
      "助教姓名，如“何海婷”；与助教档案中的真实姓名一致。",
      "-"
    ],
    [
      "ledger_name",
      "varchar(128)",
      "ledger_name",
      "助教计费项目名称，如“2-佳怡”等，通常为展示用组合字段。",
      "-"
    ],
    [
      "ledger_group_name",
      "varchar(128)",
      "ledger_group_name",
      "助教项目所属的计费分组/套餐分组名称，目前导出数据中为空，未看到实际使用场景。",
      "-"
    ],
    [
      "ledger_count",
      "int",
      "ledger_count",
      "台账计费时长（秒），通常与 real_use_seconds 接近或相等。\n取income_seconds",
      "-"
    ],
    [
      "member_discount_amount",
      "decimal(10,2)",
      "member_discount_amount",
      "由会员卡折扣产生的优惠金额，当前样本中为 0，但字段语义明确。",
      "-"
    ],
    [
      "manual_discount_amount",
      "decimal(10,2)",
      "manual_discount_amount",
      "收银员手动减免金额（人工改价）；当前导出数据中为 0。",
      "-"
    ],
    [
      "service_money",
      "decimal(10,2)",
      "service_money",
      "与助教结算的金额或服务成本金额，当前数据全部为 0，具体结算规则未见启用。",
      "-"
    ],
    [
      "returns_clock",
      "int",
      "returns_clock",
      "退钟秒数（取消加钟或提前结束退回的时间），当前样本中全部为 0，未见业务使用。",
      "-"
    ],
    [
      "ledger_start_time",
      "datetime",
      "ledger_start_time",
      "台账计费起始时间。",
      "-"
    ],
    [
      "ledger_end_time",
      "datetime",
      "ledger_end_time",
      "台账计费结束时间，可作为本次服务结束时间。",
      "-"
    ],
    [
      "ledger_status",
      "int",
      "ledger_status",
      "助教流水状态：当前数据为 1，表示正常有效；其他值预留给已作废、未结算等状态。",
      "-"
    ],
    [
      "is_confirm",
      "int",
      "is_confirm",
      "确认状态：当前样本为 2，一般含义为 1=待确认，2=已确认/已完成（含义基于字段名和现有值推断）。",
      "-"
    ],
    [
      "is_single_order",
      "int",
      "is_single_order",
      "是否单独订单：1 表示助教服务作为单独订单结算；0 表示与其他项目合单结算。当前样本全部为 1。",
      "-"
    ],
    [
      "is_not_responding",
      "int",
      "is_not_responding",
      "是否存在“未响应/爽约”等异常：0 表示正常；1 表示未响应或爽约（基于字段名推断，当前数据均为 0）。",
      "-"
    ],
    [
      "is_trash",
      "int",
      "is_trash",
      "是否已废除：0 表示正常有效；1 表示已废除，与助教废除记录表（assistant_cancellation_records）对应。",
      "-"
    ],
    [
      "trash_applicant_id",
      "bigint",
      "trash_applicant_id",
      "提出废除申请的员工 ID，用于追溯谁发起了废除操作。",
      "外键"
    ],
    [
      "trash_applicant_name",
      "varchar(64)",
      "trash_applicant_name",
      "废除申请人姓名，仅用于展示，与 trash_applicant_id 冗余。",
      "-"
    ],
    [
      "trash_reason",
      "varchar(255)",
      "trash_reason",
      "废除原因文案，如“顾客取消”“录入错误”，便于分析异常原因。",
      "-"
    ],
    [
      "salesman_user_id",
      "bigint",
      "salesman_user_id",
      "营业员/销售员用户 ID，大多为 0，当前门店未明显使用此维度。",
      "外键"
    ],
    [
      "salesman_name",
      "varchar(64)",
      "salesman_name",
      "营业员/销售员姓名，多数为空字符串。",
      "-"
    ],
    [
      "salesman_org_id",
      "bigint",
      "salesman_org_id",
      "营业员所属组织/部门 ID，多数为 0，尚未看到实际业务使用。",
      "外键"
    ],
    [
      "skill_grade",
      "int",
      "skill_grade",
      "课程技能评分（整数），当前样本全为 0，评价功能尚未启用。",
      "-"
    ],
    [
      "service_grade",
      "int",
      "service_grade",
      "服务态度评分（整数），当前样本全为 0。",
      "-"
    ],
    [
      "composite_grade",
      "decimal(5,2)",
      "composite_grade",
      "综合评分（技能+服务等加权结果），当前样本为 0。",
      "-"
    ],
    [
      "sum_grade",
      "decimal(10,2)",
      "sum_grade",
      "累计评分总和，用于计算平均分，当前样本为 0。",
      "-"
    ],
    [
      "get_grade_times",
      "int",
      "get_grade_times",
      "获得评价的次数，当前样本为 0。",
      "-"
    ],
    [
      "grade_status",
      "int",
      "grade_status",
      "评价状态枚举：当前样本为 1，一般含义为“未评价/正常”，其他状态未见实际值。",
      "-"
    ],
    [
      "composite_grade_time",
      "datetime",
      "composite_grade_time",
      "最近一次综合评分时间或评价更新时间，当前为默认时间 “0001-01-01 00:00:00”。",
      "-"
    ]
  ],
  "dwd_assistant_trash_event": [
    [
      "数据库字段名",
      "字段类型",
      "来源字段（JSON 路径）",
      "说明（含枚举与取值）",
      "角色（主键/外键/-）"
    ],
    [
      "assistant_trash_event_id",
      "bigint",
      "id",
      "助教废除事件主键。与源 JSON 中 id 一一对应，单表内唯一。没有业务含义，只作为技术主键使用。",
      "主键"
    ],
    [
      "site_id",
      "bigint",
      "siteId",
      "门店 ID。与其他 JSON 中的 siteId / site_id 含义一致。用来关联 dim_site。当前样例全部为同一门店（朗朗桌球），但设计上支持多门店。",
      "外键（指向 dim_site）"
    ],
    [
      "table_id",
      "bigint",
      "tableId",
      "台桌 ID。对应 site_tables_master.json 中的 id。用于定位哪一张球台发生了助教废除，用于后续软关联台费流水、助教流水时的重要条件。",
      "外键（指向 dim_table）"
    ],
    [
      "table_area_id",
      "bigint",
      "tableAreaId",
      "台桌区域 ID。应与台桌维或区域维中的 area_id 一致，用于按区域统计（A 区/B 区/VIP 包厢等）。",
      "外键（潜在指向 dim_table_area）"
    ],
    [
      "assistant_no",
      "varchar(32)",
      "assistantOn",
      "助教编号（工号/序号），如 '2'、'4'、'27' 等。与助教档案表 assistant_accounts_master.assistant_no、助教流水中的 assistantNo 一致，用于标识哪位助教。枚举：在门店内是有限编号集合，但并非硬编码含义。",
      "外键（指向 dim_assistant）"
    ],
    [
      "assistant_name",
      "varchar(64)",
      "assistantName",
      "助教姓名/昵称，如 “泡芙”“佳怡”等。为冗余展示字段，真实姓名以助教档案为准。当前数据中与档案一致。",
      "-"
    ],
    [
      "charge_minutes_raw",
      "int",
      "pdChargeMinutes",
      "助教被废除前“已计费时长（分钟）”的原始值。单位为分钟。示例：214、3600、10800 等。0 表示尚未发生有效计费就被废除。当前数据中存在异常大值（例如 10800），这一业务含义需结合实际规则理解，但本字段原样保留。枚举：数值型，无固定枚举。",
      "-"
    ],
    [
      "abolish_amount",
      "decimal(18,2)",
      "assistantAbolishAmount",
      "与本次助教废除操作关联的金额，单位元。字面含义为“助教废除金额”。当前样例均为非负数，如 5.83、570.00、0.00 等。正负方向：按照 ODS/JSON 原样保留，暂不在数仓层赋予“收入/支出”的方向含义，后续在 DWS 层按业务规则解释（例如是退还顾客、扣除收益等）。",
      "-"
    ],
    [
      "trash_reason",
      "varchar(255)",
      "trashReason",
      "废除原因的文本说明，例如可以写“顾客临时取消”“误操作”等。当前样例中全部为空字符串，说明前台并未使用该字段。但从结构上看，是一个自由文本字段，不是枚举。",
      "-"
    ],
    [
      "create_time",
      "datetime",
      "createTime",
      "这条废除记录创建的时间，格式 YYYY-MM-DD HH:MM:SS。代表系统正式记录“废除操作”的时刻，用于和助教服务流水按时间窗口做软关联（结合 site、table、assistant 等条件）。",
      "-"
    ]
  ],
  "dwd_assistant_trash_event_Ex": [
    [
      "数据库字段名",
      "字段类型",
      "来源字段（JSON 路径）",
      "说明（含枚举与取值）",
      "角色（主键/外键/-）"
    ],
    [
      "assistant_trash_event_id",
      "bigint",
      "id",
      "助教废除事件主键。与源 JSON 中 id 一一对应，单表内唯一。没有业务含义，只作为技术主键使用。",
      "主键"
    ],
    [
      "table_name",
      "varchar(64)",
      "tableName",
      "台桌名称/编号，便于直观看报表，如 “C1”“B9”“VIP1”等。文案冗余自台桌维度。枚举：在门店范围内是有限集合，但不是固定编码表。",
      "-"
    ],
    [
      "table_area_name",
      "varchar(64)",
      "tableArea",
      "台桌区域名称（中文），如 “A区”“B区”“C区”“VIP包厢”“补时长”等。展示用文本，具体层级信息由区域维表提供。",
      "-"
    ]
  ],
  "dwd_member_balance_change": [
    [
      "数据库字段名",
      "字段类型",
      "来源字段（member_balance_changes.json）",
      "说明（含枚举值和取值说明）",
      "角色"
    ],
    [
      "balance_change_id",
      "BIGINT",
      "id",
      "余额变动记录主键 ID，来源于源系统的余额变更流水 ID，唯一标识一条余额变动事件。",
      "主键"
    ],
    [
      "tenant_id",
      "BIGINT",
      "tenant_id",
      "租户/品牌 ID，在整体系统中唯一标识一家商户。当前样本中为同一值。",
      "外键"
    ],
    [
      "site_id",
      "BIGINT",
      "site_id",
      "本次余额变动发生的门店 ID。通常对应具体门店；样本中：非 0 为“朗朗桌球”，0 代表平台级/虚拟门店场景（如活动抵用券结算）。",
      "外键"
    ],
    [
      "register_site_id",
      "BIGINT",
      "register_site_id",
      "办卡门店 ID（卡注册门店）。与 site_id 区分：register_site_id=当初办卡门店，site_id=本次余额变动实际发生门店。当前样本中全部相同。",
      "外键"
    ],
    [
      "tenant_member_id",
      "BIGINT",
      "tenant_member_id",
      "租户维度会员 ID（同一租户内的会员主键），用于关联会员档案。",
      "外键"
    ],
    [
      "system_member_id",
      "BIGINT",
      "system_member_id",
      "系统全局会员 ID（跨租户统一的会员标识）。当前只有一个门店，但结构上允许同一人跨租户共享该 ID。",
      "外键"
    ],
    [
      "tenant_member_card_id",
      "BIGINT",
      "tenant_member_card_id",
      "会员卡账户 ID（租户内唯一的一张具体卡，例如某人的储值卡/酒水卡/台费卡/活动抵用券等）。本次余额变动作用于这张卡。",
      "外键"
    ],
    [
      "card_type_id",
      "BIGINT",
      "card_type_id",
      "卡种类型 ID。与 card_type_name 一一对应，用于区分不同卡种（储值卡/活动抵用券/酒水卡/台费卡）。",
      "外键"
    ],
    [
      "card_type_name",
      "VARCHAR(32)",
      "memberCardTypeName",
      "卡种名称（中文）：• 储值卡：通用储值卡；• 活动抵用券：活动送券型卡；• 酒水卡：指定用于酒水类消费；• 台费卡：指定用于台费消费。",
      "-"
    ],
    [
      "member_name",
      "VARCHAR(64)",
      "memberName",
      "会员姓名/称呼（如“曾丹烨”“葛先生”“胡先生”），主要用于运营、客服和人工识别。",
      "-"
    ],
    [
      "member_mobile",
      "VARCHAR(20)",
      "memberMobile",
      "会员手机号（完整号码字符串），是会员识别、营销触达的重要字段。",
      "-"
    ],
    [
      "balance_before",
      "DECIMAL(18,2)",
      "before",
      "本次变动前的卡内余额，单位：元。可为 0、数百、数千等。",
      "-"
    ],
    [
      "change_amount",
      "DECIMAL(18,2)",
      "account_data",
      "本次余额变动金额，单位：元：• 正数：余额增加（充值、赠送、调整加款等）；• 负数：余额减少（消费扣款、退款冲减、活动抵扣等）。所有记录严格满足：balance_after = balance_before + change_amount（浮点精度内）。",
      "-"
    ],
    [
      "balance_after",
      "DECIMAL(18,2)",
      "after",
      "本次变动后的卡内余额，单位：元。由 before + account_data 计算而得，在源数据中已给出。",
      "-"
    ],
    [
      "from_type",
      "INT",
      "from_type",
      "余额变动来源类型枚举（控制业务含义与方向）：• 1：日常消费扣款 —— change_amount 为负数，payment_method=0，表示用卡支付消费被扣余额；• 3：充值增加 —— change_amount 为正数，payment_method=4，表示顾客通过外部支付为卡充值（扫码、银行卡等）；• 4：调整/赠送增加 —— change_amount 为正数，payment_method=3，通常为后台赠送或手工加款；• 7：充值退款 —— change_amount 为负数，remark='充值退款'，表示对历史充值做退款，以减少卡内余额方式体现；• 9：活动抵用券相关余额冲减 —— change_amount 为负数，卡种为“活动抵用券”，site_id=0，表示活动券额度被扣回或结算；• 2：其他增加 —— 当前仅 1 条正数样本（+1865.80），具体业务类型不明，但可确定为余额增加类。总体上：1/7/9 为减余额类，2/3/4 为加余额类。",
      "-"
    ],
    [
      "payment_method",
      "INT",
      "payment_method",
      "支付/变动渠道枚举（与源系统支付方式枚举一致）：• 0：内部结算/无外部支付 —— 日常消费扣款、内部扣减、退款冲减等场景，新资金流不在本记录中产生；• 3：赠送/后台调整渠道 —— 与 from_type=4 搭配出现，表示此余额增加不是顾客付钱，而是后台发放或内部调账；• 4：充值外部支付渠道 —— 与 from_type=3 搭配出现，代表顾客通过某外部渠道完成充值（具体是微信/支付宝/银行卡等需要结合支付枚举表进一步映射）。",
      "-"
    ],
    [
      "change_time",
      "DATETIME",
      "create_time",
      "余额变动时间（记录创建时间），格式 YYYY-MM-DD HH:MM:SS。通常紧邻实际交易发生时间，用于按时间线分析资金变动。",
      "-"
    ],
    [
      "is_delete",
      "TINYINT",
      "is_delete",
      "逻辑删除标记：• 0：正常记录（当前样本全部为 0）；• 1：逻辑删除（标记为删除但数据库保留，用于追溯）。分析时通常需要过滤掉 is_delete=1 的记录。",
      "-"
    ],
    [
      "remark",
      "VARCHAR(255)",
      "remark",
      "余额变动备注信息。当前样本中主要为：• 空字符串：无额外说明；• 充值退款：明确标记该条记录为“充值退款”业务，与 from_type=7 完全对应。后续可能出现其他业务备注。",
      "-"
    ]
  ],
  "dwd_member_balance_change_EX": [
    [
      "数据库字段名",
      "字段类型",
      "来源字段（member_balance_changes.json）",
      "说明（含枚举值和取值说明）",
      "角色"
    ],
    [
      "balance_change_id",
      "BIGINT",
      "id",
      "余额变动记录主键 ID，来源于源系统的余额变更流水 ID，唯一标识一条余额变动事件。",
      "主键"
    ],
    [
      "pay_site_name",
      "VARCHAR(64)",
      "paySiteName",
      "余额变动发生门店名称，对应 site_id 的中文名。示例：朗朗桌球；当 site_id = 0 时通常为空字符串。纯展示冗余。",
      "-"
    ],
    [
      "register_site_name",
      "VARCHAR(64)",
      "registerSiteName",
      "办卡门店名称，对应 register_site_id 的中文名。当前样本全部为 朗朗桌球，属于冗余展示。",
      "-"
    ],
    [
      "refund_amount",
      "DECIMAL(18,2)",
      "refund_amount",
      "退款金额字段。在当前样本数据中全部为 0.00，推测用于区分“退回卡内余额”和“原路退回”等更细的退款模式，但目前未启用。",
      "-"
    ],
    [
      "operator_id",
      "BIGINT",
      "operator_id",
      "操作员 ID，执行本次余额变动操作的员工账号主键。可关联员工/账号维度。",
      "外键"
    ],
    [
      "operator_name",
      "VARCHAR(64)",
      "operator_name",
      "操作员名称及职位说明，例如：收银员:郑丽珊、店长:谢晓洪 等，是对 operator_id 的可读冗余。",
      "-"
    ]
  ],
  "dwd_groupbuy_redemption": [
    [
      "数据库字段名",
      "字段类型",
      "来源字段（group_buy_redemption_records.json）",
      "说明（含枚举与取值说明）",
      "角色（主键/外键/-）",
      "业务重要性"
    ],
    [
      "redemption_id",
      "bigint",
      "id",
      "团购券核销流水主键。一条记录代表一次团购券使用在某次台费上的一条核销明细。",
      "主键",
      ""
    ],
    [
      "tenant_id",
      "bigint",
      "tenant_id",
      "租户/品牌 ID。与其他表统一的租户标识，用于品牌维度聚合。",
      "外键",
      "重要"
    ],
    [
      "site_id",
      "bigint",
      "site_id",
      "门店 ID。与门店维度及其他业务事实中的 site_id 一致。",
      "外键",
      "重要"
    ],
    [
      "table_id",
      "bigint",
      "table_id",
      "球台 ID。与台桌维度表中的 id 对应，用于确定具体哪一张球台。",
      "外键",
      "重要"
    ],
    [
      "tenant_table_area_id",
      "bigint",
      "tenant_table_area_id",
      "租户级台区组合 ID。与团购套餐定义中的 tenant_table_area_id_list 元素对应，表示该券实际使用时所在的台区组合。用于校验券的适用台区是否匹配实际台桌。",
      "外键",
      "重要"
    ],
    [
      "table_charge_seconds",
      "int",
      "table_charge_seconds",
      "本次结算中该球台总计计费的秒数（整台计费时间）。当台上除了券覆盖时长之外还有额外计费时间时，该值会大于券核销时长。",
      "-",
      "重要"
    ],
    [
      "order_trade_no",
      "bigint",
      "order_trade_no",
      "订单交易号。与台费流水、商品销售、助教服务、小票详情等表的 order_trade_no 一致，用于将同一笔结账中的所有明细串联起来。",
      "外键",
      "重要"
    ],
    [
      "order_settle_id",
      "bigint",
      "order_settle_id",
      "结算单 ID。与结账记录和小票详情中的结算主键对应，用于从团购券核销记录跳转到整单结算。",
      "外键",
      "重要"
    ],
    [
      "order_coupon_id",
      "bigint",
      "order_coupon_id",
      "订单中的“券使用记录 ID”。与平台或内部券核销表中的主键一致，用于在订单内部定位这条券使用记录。当前与 coupon_origin_id 数值相等。",
      "外键",
      "重要"
    ],
    [
      "coupon_origin_id",
      "bigint",
      "coupon_origin_id",
      "上游系统或第三方平台中该券记录的主键 ID。可在平台验券记录中查到券的来源平台、原订单等。当前与 order_coupon_id 数值一致，但语义是“券来源 ID”。",
      "外键",
      "重要"
    ],
    [
      "promotion_activity_id",
      "bigint",
      "promotion_activity_id",
      "促销活动 ID。每条记录对应一个活动主键，用于识别券所属的促销活动或团购活动。",
      "外键",
      "重要"
    ],
    [
      "promotion_coupon_id",
      "bigint",
      "promotion_coupon_id",
      "团购套餐定义 ID。与 group_buy_packages.json 中的 id 一一对应，表示当前使用的是哪一种团购套餐（例如某款“一小时套餐”“两小时套餐”）。",
      "外键",
      "重要"
    ],
    [
      "order_coupon_channel",
      "tinyint",
      "order_coupon_channel",
      "券渠道类型枚举。观测值：1（大量记录）、2（少量记录）。用于区分券的来源渠道，例如不同团购平台或内部券。具体数值与渠道名称的映射由业务配置决定。",
      "外键",
      "重要"
    ],
    [
      "ledger_unit_price",
      "decimal(18,2)",
      "ledger_unit_price",
      "本次券在台费侧对应的标准单价，单位元/小时。典型值如 29.9、39.9、59.9、69.9 等。与门店台费计费规则中的单价相对应，用于计算券对应的金额。",
      "-",
      "重要"
    ],
    [
      "ledger_count",
      "int",
      "ledger_count",
      "本次券实际核销的计费秒数。大部分记录等于 promotion_seconds，少数略小于标准时长，表示这张券只覆盖了本次台费的一部分时长。",
      "-",
      "重要"
    ],
    [
      "ledger_amount",
      "decimal(18,2)",
      "ledger_amount",
      "本次团购券实际冲抵台费的金额。大部分记录中该值与 coupon_money 相等，少数存在小数差异，来源于按单价与秒数换算的结果。",
      "-",
      "重要"
    ],
    [
      "coupon_money",
      "decimal(18,2)",
      "coupon_money",
      "本次核销时，团购券在门店侧对应的金额额度（可抵扣金额）。同一种 promotion_coupon_id 下，该值固定，例如某套餐固定为 48.00 元、某套餐固定为 96.00 元等。",
      "-",
      "重要"
    ],
    [
      "promotion_seconds",
      "int",
      "promotion_seconds",
      "团购套餐定义的标准时长权益，单位秒。观测枚举值为 3600、7200、14400，分别对应 1 小时、2 小时、4 小时。与团购套餐定义表中的 duration 字段一致。",
      "-",
      "重要"
    ],
    [
      "coupon_code",
      "varchar(64)",
      "coupon_code",
      "团购券券码字符串。每条记录一个唯一券码，例如“0107892475999”。用于与平台验券记录、券购买记录等做一一对应，追踪券的全生命周期。",
      "外键",
      "重要"
    ],
    [
      "is_single_order",
      "tinyint",
      "is_single_order",
      "是否作为单独订单行。观测值：1 为主，表示以独立条目方式结算；0 为个别记录，表示嵌入某种组合结算结构。具体业务含义依赖上层订单结构设计。",
      "-",
      "重要"
    ],
    [
      "is_delete",
      "tinyint",
      "is_delete",
      "逻辑删除标记。0 表示正常记录，1 表示逻辑删除但数据仍保留用于追溯。当前样本全部为 0，用于过滤有效记录。",
      "-",
      "重要"
    ],
    [
      "ledger_name",
      "varchar(128)",
      "ledger_name",
      "团购项目记账名称，如“全天A区中八一小时”“B区桌球一小时”“中八、斯诺克包厢两小时”等。通常与团购套餐名称相近，用于报表展示和套餐维度分析。",
      "-",
      "重要"
    ],
    [
      "create_time",
      "datetime",
      "create_time",
      "本条团购券核销流水的创建时间，通常即核销时间，格式为“YYYY-MM-DD HH:MM:SS”。用于时间维度分析和数据分区。",
      "-",
      "重要"
    ]
  ],
  "dwd_groupbuy_redemption_Ex": [
    [
      "数据库字段名",
      "字段类型",
      "来源字段（group_buy_redemption_records.json）",
      "说明（含枚举与取值说明）",
      "角色（主键/外键/-）"
    ],
    [
      "redemption_id",
      "bigint",
      "id",
      "团购券核销流水主键。一条记录代表一次团购券使用在某次台费上的一条核销明细。",
      "主键"
    ],
    [
      "site_name",
      "varchar(64)",
      "siteName",
      "门店名称。当前样本全部为同一门店，仅作冗余展示。",
      "-"
    ],
    [
      "table_name",
      "varchar(64)",
      "tableName",
      "球台名称或台号。如 A7、A11、B1 等。用于业务报表展示与人工识别。",
      "-"
    ],
    [
      "table_area_name",
      "varchar(64)",
      "tableAreaName",
      "台区名称。观测枚举值包括 A区、B区、斯诺克区、麻将房。实际取值随门店台区配置变化。",
      "-"
    ],
    [
      "order_pay_id",
      "bigint",
      "order_pay_id",
      "支付流水 ID。部分记录为 0，表示未在当前导出范围内关联到具体支付记录。真实含义为“指向支付记录表中的支付流水”。",
      "外键"
    ],
    [
      "goods_option_price",
      "decimal(18,2)",
      "goodsOptionPrice",
      "商品规格价格，用于商品类促销分摊时使用。当前在团购券核销场景中全部为 0，仅作为结构预留。",
      "-"
    ],
    [
      "goods_promotion_money",
      "decimal(18,2)",
      "goods_promotion_money",
      "本次券使用中分摊到“商品”部分的促销金额。当前所有记录为 0，说明本门店的团购券未用于商品抵扣。",
      "-"
    ],
    [
      "table_service_promotion_money",
      "decimal(18,2)",
      "table_service_promotion_money",
      "本次券使用中分摊到“台费服务费”部分的促销金额。当前样本全部为 0，结构上用于支持更细粒度的费用拆分。",
      "-"
    ],
    [
      "assistant_promotion_money",
      "decimal(18,2)",
      "assistant_promotion_money",
      "本次券使用中分摊到“助教服务”的促销金额。当前全部为 0，说明团购券尚未用于助教服务的抵扣。",
      "-"
    ],
    [
      "assistant_service_promotion_money",
      "decimal(18,2)",
      "assistant_service_promotion_money",
      "进一步细分助教服务对应的促销金额。当前为 0，仅预留结构以支持复杂场景。",
      "-"
    ],
    [
      "reward_promotion_money",
      "decimal(18,2)",
      "reward_promotion_money",
      "本次促销中属于“奖励金、积分”等来源的促销金额分摊。当前为 0，预留用于积分或奖励金同时参与活动时的金额拆分。",
      "-"
    ],
    [
      "recharge_promotion_money",
      "decimal(18,2)",
      "recharge_promotion_money",
      "来自“充值赠送”等储值优惠的促销金额分摊。当前为 0，预留用于将来区分“券优惠”和“充值赠送优惠”的场景。",
      "-"
    ],
    [
      "offer_type",
      "tinyint",
      "offer_type",
      "优惠类型枚举。当前样本值全部为 1，表示本门店使用的团购券均为同一类型（例如“套餐券”）。其他取值可能对应满减、折扣、代金券等优惠类型，在本数据中未出现。",
      "-"
    ],
    [
      "ledger_status",
      "tinyint",
      "ledger_status",
      "流水状态。观测值全部为 1。常规含义为：1 表示正常有效记录；其他值预留用于表示作废、撤销、未生效等状态。当前导出仅包含正常状态记录。",
      "-"
    ],
    [
      "operator_id",
      "bigint",
      "operator_id",
      "执行本次券核销操作的操作员 ID。可与员工维度表对接，用于分析不同操作员的核销行为与绩效。",
      "外键"
    ],
    [
      "operator_name",
      "varchar(64)",
      "operator_name",
      "操作员名称及角色说明，例如“收银员:郑丽珊”。与 operator_id 冗余，对报表展示友好，但不参与模型关联。",
      "-"
    ],
    [
      "salesman_user_id",
      "bigint",
      "salesman_user_id",
      "营业员用户 ID。当前全部为 0，表示本门店在团购券场景未单独记录营业员信息。",
      "外键"
    ],
    [
      "salesman_name",
      "varchar(64)",
      "salesman_name",
      "营业员姓名。当前为空字符串。结构上用于记录拉单或促销的业务员信息。",
      "-"
    ],
    [
      "salesman_role_id",
      "bigint",
      "salesman_role_id",
      "营业员角色 ID。当前为 0，预留用于标识营业员在组织中的角色类型。",
      "-"
    ],
    [
      "salesman_org_id",
      "bigint",
      "sales_man_org_id",
      "营业员所属组织 ID。来源字段为 sales_man_org_id，DWD 层统一命名为 salesman_org_id。当前为 0，用于将来对接组织架构维度。",
      "-"
    ],
    [
      "ledger_group_name",
      "varchar(128)",
      "ledger_group_name",
      "团购项目的记账分组名称。当前全部为空，预留给将来按团购项目大类分组（例如“团购台费”“团购包厢”）使用。",
      "-"
    ]
  ],
  "dwd_platform_coupon_redemption": [
    [
      "数据库字段名",
      "字段类型",
      "来源字段",
      "说明（含枚举值和取值说明）",
      "角色"
    ],
    [
      "platform_coupon_redemption_id",
      "bigint",
      "id",
      "平台券核销记录在本系统内的主键 ID。长整型分布式 ID，用于唯一标识本次核销流水。",
      "主键"
    ],
    [
      "tenant_id",
      "bigint",
      "tenant_id",
      "租户 ID，品牌级别标识。例如整套系统中的“朗朗桌球”品牌。与其他表的 tenant_id 一致，用于划分租户数据域。",
      "外键"
    ],
    [
      "site_id",
      "bigint",
      "site_id",
      "门店 ID。与门店维度 dim_site.site_id 对应，用于区分不同门店。siteProfile.id 与此字段相同，本表不再冗余门店快照。",
      "外键"
    ],
    [
      "coupon_code",
      "varchar(64)",
      "coupon_code",
      "第三方团购券券码，顾客出示的核销码。当前样本中全表唯一，可视为业务自然主键，用于验券、对账、查询。",
      "-"
    ],
    [
      "coupon_channel",
      "tinyint",
      "coupon_channel",
      "券来源渠道枚举，表示第三方平台渠道编号。观测值：1，2。具体含义需结合系统配置，一般可理解为：1 表示平台渠道 1（主平台），2 表示平台渠道 2（其他入口或子平台）。",
      "-"
    ],
    [
      "coupon_name",
      "varchar(200)",
      "coupon_name",
      "第三方团购券产品名称，例如“【全天可用】中八桌球一小时（A区）”“1小时中八台球【11月特惠】（A区）”等。用于报表展示和区分不同团购产品。",
      ""
    ],
    [
      "sale_price",
      "decimal(10,2)",
      "sale_price",
      "顾客在第三方平台实际支付的团购售价，例如 11.11、29.90、39.90 等。始终小于 coupon_money，体现“折后价”。",
      "-"
    ],
    [
      "coupon_money",
      "decimal(10,2)",
      "coupon_money",
      "券面值或套餐价值，即系统认为该券可抵扣的金额，例如 48.00、58.00、68.00、96.00、116.00、288.00。与 coupon_name 有固定对应关系。",
      "-"
    ],
    [
      "coupon_free_time",
      "int",
      "coupon_free_time",
      "券附带的赠送时长，单位：秒。当前样本全部为 0，表示无独立赠送时长。若未来有赠送时间型券，则该字段存储赠送的秒数。",
      "-"
    ],
    [
      "channel_deal_id",
      "bigint",
      "channel_deal_id",
      "渠道侧团购商品 ID（第三方平台 dealId）。值域有限（约 9 个值），与 coupon_name 一一对应。用于对接第三方接口和按平台商品维度统计。",
      "- 或 外键（预留）"
    ],
    [
      "deal_id",
      "bigint",
      "deal_id",
      "平台/系统侧团购商品 ID。多数记录为非 0 整数，也有部分为 0。与 coupon_name 存在稳定对应关系，0 表示内部未配置或未同步。未来可作为内部团购商品维度外键。",
      "外键（预留）"
    ],
    [
      "group_package_id",
      "bigint",
      "group_package_id",
      "内部“团购套餐”定义表主键 ID。当前样本中全部为 0，表示平台券尚未映射到自有团购套餐；从设计上是预留的外键字段。",
      "外键"
    ],
    [
      "site_order_id",
      "bigint",
      "site_order_id",
      "门店内部订单 ID。本次平台券核销所挂靠的店内订单号。用于与结账记录、台费流水、商品销售等事实表通过订单维度关联。",
      "外键"
    ],
    [
      "table_id",
      "bigint",
      "table_id",
      "使用团购券的球台 ID。与 dim_site_table.table_id 对应，用于统计每张球台的第三方平台引流情况。",
      "外键"
    ],
    [
      "certificate_id",
      "varchar(64)",
      "certificate_id",
      "第三方平台侧券实例 ID（凭证 ID），通常为 16–19 位数字字符串。用于与外部平台对账与查询核销结果。存在重复值，不能单独作为唯一键。",
      "-"
    ],
    [
      "verify_id",
      "varchar(64)",
      "verify_id",
      "第三方平台核销记录 ID。大部分记录为空，少量有值。存在时可用于精确反查平台侧核销记录。",
      "-"
    ],
    [
      "use_status",
      "tinyint",
      "use_status",
      "券使用状态枚举。观测值：1、2。1 表示已使用/已核销（正常消耗）；2 表示已退款/已撤销或使用后反冲的状态。是判断券生命周期状态的核心字段。",
      "-"
    ],
    [
      "is_delete",
      "tinyint",
      "is_delete",
      "逻辑删除标志。0 表示未删除；1 表示已逻辑删除。与 use_status 独立：即便业务状态异常（如 use_status=2），也可能 is_delete 仍为 0 以保留记录。",
      "-"
    ],
    [
      "create_time",
      "datetime",
      "create_time",
      "系统记录创建时间，即核销记录写入本系统的时间。格式为 YYYY-MM-DD HH:MM:SS。通常与 consume_time 相差约 1 秒。",
      "-"
    ],
    [
      "consume_time",
      "datetime",
      "consume_time",
      "券被核销/使用的业务时间，代表实际团购券使用发生的时间点。后续按核销日期统计核销量时以该字段为准。",
      "-"
    ]
  ],
  "dwd_platform_coupon_redemption_Ex": [
    [
      "数据库字段名",
      "字段类型",
      "来源字段",
      "说明（含枚举值和取值说明）",
      "角色"
    ],
    [
      "platform_coupon_redemption_id",
      "bigint",
      "id",
      "平台券核销记录在本系统内的主键 ID。长整型分布式 ID，用于唯一标识本次核销流水。",
      "主键"
    ],
    [
      "coupon_cover",
      "varchar(255)",
      "coupon_cover",
      "券封面图片地址 URL，用于前端展示团购券图片。对经营分析和结算逻辑无影响。",
      "-"
    ],
    [
      "coupon_remark",
      "varchar(255)",
      "coupon_remark",
      "券描述或备注信息，用于展示券规则、说明文字。未参与计算和关联逻辑。",
      "-"
    ],
    [
      "groupon_type",
      "tinyint",
      "groupon_type",
      "团购券类型枚举。当前样本全部为 1。推断含义：1 表示标准团购券，其他值预留为次卡、套餐券、权益券等类型。",
      "-"
    ],
    [
      "operator_id",
      "bigint",
      "operator_id",
      "执行验券操作的员工/收银员账号 ID。当前样本中多数为同一值。可与员工/账号维度表关联。",
      "外键"
    ],
    [
      "operator_name",
      "varchar(50)",
      "operator_name",
      "操作员姓名或显示名，例如“收银员:郑丽珊”。是 operator_id 的冗余展示字段，用于报表展示。",
      "-"
    ]
  ],
  "dwd_recharge_order": [
    [
      "数据库字段名",
      "字段类型",
      "来源字段（JSON 路径）",
      "说明（含枚举/取值说明）",
      "角色（主键/外键/-）"
    ],
    [
      "recharge_order_id",
      "bigint",
      "id",
      "充值结算记录主键；唯一标识一条充值/撤销记录。",
      "主键"
    ],
    [
      "tenant_id",
      "int",
      "tenantId",
      "租户/品牌 ID；与其他 JSON 中 tenantId 含义一致。",
      "外键（dim_tenant）"
    ],
    [
      "site_id",
      "int",
      "siteId",
      "门店 ID；与 siteProfile.id 一致，用于关联门店维度。",
      "外键（dim_site）"
    ],
    [
      "member_id",
      "bigint",
      "memberId",
      "会员 ID；对应会员档案中的 tenantMemberInfos.id。标识给哪个会员充值。",
      "外键（dim_member）"
    ],
    [
      "member_name_snapshot",
      "varchar",
      "memberName",
      "会员姓名/昵称快照，可能是名称或手机号字符串。",
      "-"
    ],
    [
      "member_phone_snapshot",
      "varchar",
      "memberPhone",
      "会员手机号快照。",
      "-"
    ],
    [
      "tenant_member_card_id",
      "bigint",
      "tenantMemberCardId",
      "会员卡实例 ID（某张具体卡）；可关联 dim_member_card_account。",
      "外键（dim_member_card_account）"
    ],
    [
      "member_card_type_name",
      "varchar",
      "memberCardTypeName",
      "会员卡类型名称；当前样例主要有：“储值卡”、“月卡”。",
      "-"
    ],
    [
      "settle_relate_id",
      "bigint",
      "settleRelateId",
      "结算关联 ID；用于与支付记录等跨表关联（类似业务单 ID）。",
      "外键（与支付/结算域软关联）"
    ],
    [
      "settle_type",
      "tinyint",
      "settleType",
      "结算类型枚举：5=“充值订单”（正常充值）；7=“充值撤销”（冲销记录）。",
      "-"
    ],
    [
      "settle_name",
      "varchar",
      "settleName",
      "结算类型名称：\"充值订单\"、\"充值撤销\"；前端展示用。",
      "-"
    ],
    [
      "is_first",
      "tinyint",
      "isFirst",
      "是否首充标记。取值：1 或 2。理论含义类似“是否首充”，但 1/2 的精确定义需系统字典确认。",
      "-"
    ],
    [
      "pay_amount",
      "decimal(18,2)",
      "payAmount",
      "本条记录的充值金额（可为正/负）：正数=实际充值金额；负数=撤销流水金额（settleType=7）。",
      "-"
    ],
    [
      "refund_amount",
      "decimal(18,2)",
      "refundAmount",
      "对该充值订单的退款金额（通常为正数）；原始充值单上为已退款金额，对应会有一条负数的“充值撤销”记录。",
      "-"
    ],
    [
      "point_amount",
      "decimal(18,2)",
      "pointAmount",
      "计入会员账户的储值/积分金额；多数情况下等于 pay_amount 的绝对值；撤销记录一般为 0。",
      "-"
    ],
    [
      "cash_amount",
      "decimal(18,2)",
      "cashAmount",
      "现金收款金额；样本中少数为 3000/5000，其余为 0。",
      "-"
    ],
    [
      "payment_method",
      "tinyint",
      "paymentMethod",
      "支付方式编码。样本取值：1、2、4；具体对应渠道（现金/微信/支付宝/银行卡等）需系统“支付方式字典”确认。",
      "-"
    ],
    [
      "create_time",
      "datetime",
      "createTime",
      "充值记录创建时间（收银完成时间）；用于时间分区、统计。",
      "-"
    ],
    [
      "pay_time",
      "datetime",
      "payTime",
      "支付完成时间；通常与 create_time 接近或相同。",
      "-"
    ]
  ],
  "dwd_recharge_order_Ex": [
    [
      "数据库字段名",
      "字段类型",
      "来源字段（JSON 路径）",
      "说明（含枚举/取值说明）",
      "角色（主键/外键/-）"
    ],
    [
      "recharge_order_id",
      "bigint",
      "id",
      "充值结算记录主键；唯一标识一条充值/撤销记录。",
      "主键"
    ],
    [
      "site_name_snapshot",
      "varchar",
      "siteName",
      "门店名称快照，如“朗朗桌球”；仅用于展示，门店改名后本字段不变。",
      "-"
    ],
    [
      "settle_status",
      "tinyint",
      "settleStatus",
      "结算状态；当前数据全部为 2，推测 2=已完成。其它状态未出现在样本中。",
      "-"
    ],
    [
      "is_bind_member",
      "boolean",
      "isBindMember",
      "是否绑定为会员/其他绑定标记；当前所有记录为 False，而又都有 memberId，实际业务含义不清。",
      "-"
    ],
    [
      "is_activity",
      "boolean",
      "isActivity",
      "是否关联营销活动；当前全部为 False，表示样本周期内充值未绑定活动。",
      "-"
    ],
    [
      "is_use_coupon",
      "boolean",
      "isUseCoupon",
      "本次充值是否使用优惠券；当前样本全部为 False。结构上预留“充值用券”的能力。",
      "-"
    ],
    [
      "is_use_discount",
      "boolean",
      "isUseDiscount",
      "是否使用折扣（如充值折扣）；样本中全为 False。",
      "-"
    ],
    [
      "can_be_revoked",
      "boolean",
      "canBeRevoked",
      "当前记录是否仍可撤销；样本中全为 False（导出时均不可撤销）。",
      "-"
    ],
    [
      "online_amount",
      "decimal(18,2)",
      "onlineAmount",
      "线上支付金额（如微信、支付宝等）；当前样本为 0，但字段为支付渠道拆分预留。",
      "-"
    ],
    [
      "balance_amount",
      "decimal(18,2)",
      "balanceAmount",
      "从账户余额中支付的金额；充值场景通常为 0（用余额充值没有实际意义）。",
      "-"
    ],
    [
      "card_amount",
      "decimal(18,2)",
      "cardAmount",
      "从其他储值卡或某种卡余额支付的金额；当前样本全为 0。",
      "-"
    ],
    [
      "coupon_amount",
      "decimal(18,2)",
      "couponAmount",
      "使用券直接支付的金额（如储值券）；当前样本为 0。",
      "-"
    ],
    [
      "recharge_card_amount",
      "decimal(18,2)",
      "rechargeCardAmount",
      "充值到卡上的金额（与 point_amount 区分不同资金属性）；样本为 0，结构预留。",
      "-"
    ],
    [
      "gift_card_amount",
      "decimal(18,2)",
      "giftCardAmount",
      "赠送卡金额（如买 1000 送 100 的赠送部分）；当前样本为 0。",
      "-"
    ],
    [
      "prepay_money",
      "decimal(18,2)",
      "prepayMoney",
      "预付款金额（订金）；当前样本为 0，充值未启用此场景。",
      "-"
    ],
    [
      "consume_money",
      "decimal(18,2)",
      "consumeMoney",
      "消费总金额；在充值文件中全部为 0，实际用于消费场景（台费/商品）的结算模型复用字段。",
      "-"
    ],
    [
      "goods_money",
      "decimal(18,2)",
      "goodsMoney",
      "商品消费金额（充值记录中为 0）。",
      "-"
    ],
    [
      "real_goods_money",
      "decimal(18,2)",
      "realGoodsMoney",
      "实际应计商品金额（扣除折扣后）；充值记录中为 0。",
      "-"
    ],
    [
      "table_charge_money",
      "decimal(18,2)",
      "tableChargeMoney",
      "台费金额；充值记录中为 0，来自通用结算模型。",
      "-"
    ],
    [
      "service_money",
      "decimal(18,2)",
      "serviceMoney",
      "服务项目金额（如助教、其他服务）；充值中为 0。",
      "-"
    ],
    [
      "activity_discount",
      "decimal(18,2)",
      "activityDiscount",
      "营销活动折扣金额；当前样本为 0。",
      "-"
    ],
    [
      "all_coupon_discount",
      "decimal(18,2)",
      "allCouponDiscount",
      "各类优惠券、团购券综合折扣金额；样本为 0。",
      "-"
    ],
    [
      "goods_promotion_money",
      "decimal(18,2)",
      "goodsPromotionMoney",
      "商品促销优惠金额；样本为 0。",
      "-"
    ],
    [
      "assistant_promotion_money",
      "decimal(18,2)",
      "assistantPromotionMoney",
      "助教相关促销优惠金额；样本为 0。",
      "-"
    ],
    [
      "assistant_pd_money",
      "decimal(18,2)",
      "assistantPdMoney",
      "助教配单金额/相关费用；样本为 0。",
      "-"
    ],
    [
      "assistant_cx_money",
      "decimal(18,2)",
      "assistantCxMoney",
      "助教冲销/促销相关金额；样本为 0。",
      "-"
    ],
    [
      "assistant_manual_discount",
      "decimal(18,2)",
      "assistantManualDiscount",
      "助教手工减免金额；样本为 0。",
      "-"
    ],
    [
      "coupon_sale_amount",
      "decimal(18,2)",
      "couponSaleAmount",
      "券/套餐销售金额（售卖券时使用）；充值场景中为 0。",
      "-"
    ],
    [
      "member_discount_amount",
      "decimal(18,2)",
      "memberDiscountAmount",
      "因会员折扣产生的优惠金额；在充值样本中为 0。",
      "-"
    ],
    [
      "point_discount_price",
      "decimal(18,2)",
      "pointDiscountPrice",
      "积分抵扣产生的价差（价格部分）；样本为 0。",
      "-"
    ],
    [
      "point_discount_cost",
      "decimal(18,2)",
      "pointDiscountCost",
      "积分抵扣对应的成本金额；样本为 0。",
      "-"
    ],
    [
      "adjust_amount",
      "decimal(18,2)",
      "adjustAmount",
      "手工调整金额（非抹零）；样本为 0。",
      "-"
    ],
    [
      "rounding_amount",
      "decimal(18,2)",
      "roundingAmount",
      "抹零金额（四舍五入产生的差额）；样本为 0。",
      "-"
    ],
    [
      "operator_id",
      "bigint",
      "operatorId",
      "操作该笔充值的收银员/员工 ID。",
      "外键（将来可关联 dim_staff）"
    ],
    [
      "operator_name_snapshot",
      "varchar",
      "operatorName",
      "操作员姓名快照，便于直接阅读；与 operator_id 对应。",
      "-"
    ],
    [
      "salesman_user_id",
      "bigint",
      "salesManUserId",
      "营业员用户 ID；当前样本全部为 0。",
      "外键（潜在 dim_staff）"
    ],
    [
      "salesman_name",
      "varchar",
      "salesManName",
      "营业员/销售员姓名；样本为空字符串。",
      "-"
    ],
    [
      "order_remark",
      "varchar",
      "orderRemark",
      "充值订单备注，如手工说明；当前样本为空。",
      "-"
    ],
    [
      "table_id",
      "int",
      "tableId",
      "台桌 ID；充值场景下全部是 0，表示该订单不挂具体球台。",
      "-"
    ],
    [
      "serial_number",
      "int",
      "serialNumber",
      "流水/小票序号；当前样本全部为 0，本门店未启用。",
      "-"
    ],
    [
      "revoke_order_id",
      "bigint",
      "revokeOrderId",
      "撤销相关订单 ID（被撤销原单或撤销单指针）；样本中存在值但逻辑未完全启用。",
      "-"
    ],
    [
      "revoke_order_name",
      "varchar",
      "revokeOrderName",
      "撤销单名称/说明；样本全为空。",
      "-"
    ],
    [
      "revoke_time",
      "datetime",
      "revokeTime",
      "撤销时间；当前样本为空，撤销信息主要通过负数流水与 refund_amount 表达。",
      "-"
    ]
  ],
  "dwd_payment": [
    [
      "数据库字段名",
      "字段类型",
      "来源字段",
      "说明（含枚举值和取值说明）",
      "角色（主键/外键/−）"
    ],
    [
      "payment_id",
      "bigint",
      "payment_transactions.id",
      "支付流水主键ID。与源系统 id 一致。每条支付流水唯一标识一条支付行为（包括金额为 0 的记录）。",
      "主键"
    ],
    [
      "site_id",
      "bigint",
      "payment_transactions.site_id",
      "门店ID。当前样本中全部为同一门店 2790685415443269。在数仓中外键关联 dim_site.site_id。",
      "外键"
    ],
    [
      "relate_type",
      "int",
      "payment_transactions.relate_type",
      "业务关联类型枚举，用来区分这条支付流水对应哪一类业务单据：• 2：结账单支付，对应结账记录 settlement_records 中的结账单；• 5：会员卡充值/账户变动类支付，对应会员余额/充值业务单号，在会员余额变更或充值结算中复用；• 1：其他业务类型，目前样本中仅有 1 条记录，具体业务含义待业务侧补充。",
      "−"
    ],
    [
      "relate_id",
      "bigint",
      "payment_transactions.relate_id",
      "关联业务记录ID，配合 relate_type 使用，是一个“多态外键”：• 当 relate_type = 2 时：relate_id = settlement_records.settleList.id（结账记录主键，对应 dwd_settlement_head_di.order_settle_id）；• 当 relate_type = 5 时：relate_id = 会员卡余额变动/充值业务单号，在会员余额变更流水中同名字段使用；• 当 relate_type = 1 时：关联具体业务尚未确认，仅可视为预留类型。",
      "外键（多业务类型）"
    ],
    [
      "pay_amount",
      "decimal(18,2)",
      "payment_transactions.pay_amount",
      "本次支付金额，单位元。为收入类字段，当前样本全部为非负数：• 正数：实际通过该支付方式收取的金额；• 0：仍生成支付流水，但实收金额为 0（例如整单由会员优惠、团购券、余额等抵扣），当前样本中有 140 条记录金额为 0。",
      "−"
    ],
    [
      "pay_status",
      "int",
      "payment_transactions.pay_status",
      "支付状态枚举。当前样本中仅出现：• 2：支付成功。其它可能的状态（未支付、支付中、失败、已退款等）在本次导出中未出现，需以后按系统支付状态配置补充。由于本 JSON 仅导出成功记录，可以视作“成功支付流水视图”。",
      "−"
    ],
    [
      "payment_method",
      "int",
      "payment_transactions.payment_method",
      "支付方式枚举。当前样本中出现的取值：• 2：共 140 条记录；• 4：共 60 条记录。具体取值与“支付方式配置表”对应，例如可能代表现金、扫码支付、银行卡等。由于配置表未导出，在数仓中应作为枚举码字段，通过后续 dim_payment_method 进行解码。不要在数仓层擅自写死“2=微信、4=支付宝”等含义。",
      "外键（预期关联支付方式维度）"
    ],
    [
      "online_pay_channel",
      "int",
      "payment_transactions.online_pay_channel",
      "线上支付通道枚举。用于进一步细分线上渠道，例如：• 0：无线上通道/线下，或未区分具体线上通道（当前样本全部为 0）；• 1：微信（推测，未在样本中出现）；• 2：支付宝（推测，未在样本中出现）。目前门店在当前时间段内尚未使用该字段进行实际区分，业务含义需结合正式配置确认。",
      "−"
    ],
    [
      "create_time",
      "datetime",
      "payment_transactions.create_time",
      "支付流水创建时间，格式 YYYY-MM-DD HH:MM:SS。通常是发起支付请求的时间。当前样本中 create_time 与 pay_time 多数相同，但模型上允许两者不同（例如异步支付）。",
      "−"
    ],
    [
      "pay_time",
      "datetime",
      "payment_transactions.pay_time",
      "支付完成时间（支付成功时间戳），格式 YYYY-MM-DD HH:MM:SS。用于统计资金实际入账时间，以及与结账时间进行对齐分析。",
      "−"
    ],
    [
      "pay_date",
      "date",
      "由 payment_transactions.pay_time 派生",
      "支付日期分区字段，从 pay_time 截取 YYYY-MM-DD 得到。例如 pay_time = '2025-11-09 23:35:57' 时，pay_date = '2025-11-09'。用于 DWD 表按天分区和日粒度汇总。",
      "−"
    ]
  ],
  "dwd_refund": [
    [
      "数据库字段名",
      "字段类型",
      "来源字段",
      "说明（含枚举值和取值说明）",
      "角色（主键/外键/-）"
    ],
    [
      "refund_id",
      "bigint",
      "id",
      "退款流水主键。每条退款记录唯一 ID（雪花ID风格长整型）。",
      "主键"
    ],
    [
      "tenant_name",
      "varchar(64)",
      "tenantName",
      "租户名称，例如“朗朗桌球”。与租户维度中的名称冗余。",
      "-"
    ],
    [
      "pay_sn",
      "bigint",
      "pay_sn",
      "支付流水内部序号。退款记录中样本全部为 0，未看到实际使用场景，含义未从文档中说明。",
      "-"
    ],
    [
      "refund_amount",
      "decimal(18,2)",
      "refund_amount",
      "设计上应为“本次退款金额（正数）”。当前样本全部为 0.00，系统实际使用的是 pay_amount 记录金额，此字段暂未启用。",
      "-"
    ],
    [
      "round_amount",
      "decimal(18,2)",
      "round_amount",
      "退款过程中的舍入/抹零金额（例如因四舍五入产生的差额）。当前样本全部为 0.00。",
      "-"
    ],
    [
      "balance_frozen_amount",
      "decimal(18,2)",
      "balance_frozen_amount",
      "与会员余额相关的“冻结金额”，如先冻结再退款的流程。当前样本全部为 0.00，且 member_id/member_card_id 为 0，说明本批退款没有涉及会员余额冻结。",
      "-"
    ],
    [
      "card_frozen_amount",
      "decimal(18,2)",
      "card_frozen_amount",
      "与某张会员卡余额相关的冻结金额。样本全部为 0.00，未实际使用。",
      "-"
    ],
    [
      "pay_status",
      "int",
      "pay_status",
      "退款状态枚举。样本中全部为 2。结合支付记录：2 表示“成功/已完成”。其他可能值（0=未处理，1=处理中等）未在样本中出现，具体以系统枚举为准。",
      "-"
    ],
    [
      "action_type",
      "int",
      "action_type",
      "资金动作类型枚举。样本全部为 2。根据分析：1=支付，2=退款。退款流水恒为 2，用于与支付流水区分。",
      "-"
    ],
    [
      "is_revoke",
      "int",
      "is_revoke",
      "是否为“撤销型”退款。枚举：0=正常退款；1=撤销原支付（撤销而非普通退货）。当前样本全部为 0。",
      "-"
    ],
    [
      "is_delete",
      "int",
      "is_delete",
      "逻辑删除标志。枚举：0=未删除；1=已逻辑删除（保留记录，仅标记）。当前样本全部为 0。",
      "-"
    ],
    [
      "check_status",
      "int",
      "check_status",
      "审核状态。样本全部为 1。推断：1=已审核/通过；其他值可能表示“待审核”“审核拒绝”等，具体需以系统字典为准。",
      "-"
    ],
    [
      "online_pay_channel",
      "int",
      "online_pay_channel",
      "线上支付渠道枚举。样本中全部为 0。推断：0=线下或默认渠道；其他值（若有）可能代表微信、支付宝等子渠道。目前门店未实际使用该拆分。",
      "-"
    ],
    [
      "online_pay_type",
      "int",
      "online_pay_type",
      "在线退款类型。样本全部为 0。推断：0=原路退回；其他值（若有）可能表示“退到余额”“退到其他银行卡”等。当前数据仅有默认策略。",
      "-"
    ],
    [
      "pay_terminal",
      "int",
      "pay_terminal",
      "退款终端类型枚举。样本全部为 1。推断：1=前台收银端；其他值可能为小程序、自助机、后台等。用于区分退款来源终端。",
      "-"
    ],
    [
      "pay_config_id",
      "int",
      "pay_config_id",
      "支付配置 ID，例如某个具体支付通道（微信商户号、银联通道等）的配置主键。样本全部为 0，说明当前未按此粒度区分或未导出。",
      "外键"
    ],
    [
      "cashier_point_id",
      "int",
      "cashier_point_id",
      "收银点编号，例如前台1、前台2、自助机等。样本全部为 0，未实际区分收银点。",
      "-"
    ],
    [
      "operator_id",
      "bigint",
      "operator_id",
      "执行退款操作的操作员 ID。样本全部为 0，说明导出中未包含操作员信息。若填充，对内部风控与员工考核很重要。",
      "外键"
    ],
    [
      "channel_payer_id",
      "varchar(128)",
      "channel_payer_id",
      "支付渠道侧的付款人标识，如微信 openid、银行卡号掩码等。样本全部为空字符串，未使用。",
      "-"
    ],
    [
      "channel_pay_no",
      "varchar(128)",
      "channel_pay_no",
      "第三方支付平台交易号（如微信支付单号、支付宝交易号等）。当前样本全部为空。若将来填充，对资金对账非常关键。",
      "-"
    ]
  ]
}