{
  "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",
      "创建人名称，例如“店长:郑丽珊”。主要用于审计追踪和后台展示。",
      "-"
    ]
  ]
}